編譯一個內核及分區格式化

                                                       編譯一個內核
首先,配置好編譯環境:用yum裝幾個軟件包yum groupinstall "Development Libraise" "Development Tools"這是文本字符界面,裝上這兩組包就能夠完成編譯環境;若想用圖形界面還可裝"X software Development" "KDE software Development"這兩組包;還須要知道一些硬件信息,可用cat /proc/cpuinfo顯示CPU的信息,用cat /proc/interrupts顯示中斷號,用hal-device列出搜有硬件信息,用hal-device-manager在圖形化界面看硬件平臺。下面只介紹用文本字符界面的環境:
環境配置好了,就要開始編譯源碼包:
1.)從網上下載Linux的內核壓縮包(以linux-2.6.28.10tar.gz爲例),並把它放到/usr/src內,並用tar解壓縮包。
2.)建立一個連接文件ln -sv linux-2.6.28.10    linux,而後ls -al肯定linux是linux-2.6.28.10的軟連接文件,在cd linux進入目錄linux中。
3.)執行命令make menuconfig進入文本字符編輯界面,可對內核進行編輯,
具體編輯內容可參考: http://lamp.linux.gov.cn/Linux/kernel_options.html,編輯完成後保存後退出,保存文件爲.config。
4.)執行make命令開始編譯(大約40多分鐘)。
5.)編譯後輸入make modules_install和make install安裝。
最後,待安裝結束,重啓Linux,選擇linux-2.6.28.10可正常啓動Linux操做系統,由此一個源碼的內核包就被編譯爲一個二進制包,內核編譯完成。
 

                                                       內核的職責
1.)系統初始化
2.)進程調度
3.)內存管理
4.)安全方面,selinux和防火牆
5.)緩衝預緩存
6.)支持標準網絡協議
 

                                                        uname命令
uname:打印系統信息
      -a          顯示全部系統信息
      -s          顯示內核的名字
      -n          顯示nodename(主機名)
      -r          顯示內核的發行版本號
      -v          顯示內核的版本號
      -m          顯示硬件平臺
      -p          顯示處理器類型
      -i          顯示硬件平臺架構
      -o          現實操做系統
 

                                                       主分區的類型
5           Extended            擴展分區
82          Linux swap          交換分區
83          Linux               ext2,ext3分區
8e          Linux LVM           LVM分區
fd          Linux RAID auto     RAID分區
 

                                                          分區命令
fdisk -l                                顯示硬盤分區表狀況
fdisk   /dev/sda(設備名稱)
      p          列出當前分區表
      n          建立一個新分區
      d          刪除一個分區
      t          改變分區change system id
      u          顯示分區大小時,用扇區表示大小
      q          推出不保存
      w          保存並退出
partprobe        內核重讀硬盤分區表
mkfs  -t ext3 /dev/sda1  ==  mkfs.ext3  把/dev/sda1分區以ext3形式格式化
mkfs  -t ext3 /dev/sda2  ==  mkfs.ext2  把/dev/sda2分區以ext2形式格式化
mkswap    /dev/sda3                     建立交換分區       
mke2fs  [options]  device
         -b                             指定塊的大小
         -c                             在格式化系統時檢查是否有壞塊
         -i                             指定字節與Inode的比率,比率越大,inode號越小,但不能小於塊的大小
         -m                             指定了爲管理員用戶(以維護數據)預留的空間佔整個空間的比率,默認爲5%
         -n                             作測試,看格式化以後會出現什麼狀況
         -N                             指定Inodes的數目,你能夠創多個Inode號,但有上線
         -L                             指定卷標
         -E                             引用擴展選項,指定調帶大小,加速RAM
         -j                             可以使ext2文件系統升級爲ext3文件系統,可升級但不可降級
         -J                             記錄日誌,對忽然斷電的狀況可檢查日誌已恢復數據
e2lable  /dev/sda1                              查看ext2/ext3的卷標
e2lable  /dev/sda1  root                改變設備/dev/sda1的卷標爲root
blkid                                   查看設備卷標,UUID等信息
fsck                                    檢查並修復一個Linux文件系統
         -t                             指定文件系統的類型
         -a                             檢查是不是自動修復系統的
         -i                             交互式的說明是否要修復系統
tune2fs                                 只能對ext2修改
tune2fs  -m  10    /dev/sda1            把爲管理員用戶(以維護數據)預留的空間佔整個空間的比率調整爲10%
tune2fs  -o  acl,user_xattr  /dev/sda1  爲設備設定默認的選項
tune2fs  -i0 -c0     /dev/sda1          -i表示調整時間間隔自檢,默認180天在自檢,0表示關閉;-c表示掛載多少此後自檢,0表示關閉
 
                                                     mount命令
mount [options]  -o [options]  /dev/device /path to mount_point
       -r                               只讀掛載          
       -w                               讀寫掛載
       -a                               表示掛載/etc/fstab中的每個文件系統
       -t                               表示文件系統類型
       --bind                           再是綁定到掛載點
                      ro                只讀掛載
                      rw                讀寫掛載      
                      sync              同步寫入
                      async             異步寫入(暫存與內存)
                      defaults          默認選項
                      auto              是否容許自動掛載
                      dev               支持特殊設備文件
                      exec              是否執行二進制文件
                      nouser            禁止普通用戶掛載文件系統
                      netdev            表示網絡設備,判斷服務是否在線
                      remount           從新掛載
                      suid              是否支持帶suid位的文件系統
                      acl               是否啓動acl列表
                       
fuser -v  /mount_point                  看誰在使用此設備     
fuser -km /mount_point                  強行剔除使用此設備的用戶和進程
/etc/fstab是在系統啓動時自動掛載文件系統的列表;文件由6段組成:設備:掛載點:文件系統類型:掛在選項:轉儲頻率:開始時檢查文件的次序
/etc/mtab是當前系統已經掛載的文件系統的信息
                          內核模塊(.ko) 內核模塊的優點:他能夠減小內核的體積;增長彈性;提升運行時間。 每個內核都會有一個內核模塊與之對應,存放內核模塊的目錄在/lib/modules/$(uname -r)/內。 與內核模塊有關的命令: lsmod                顯示以加載模塊的詳細信息 modprobe             加載模塊(後跟模塊名)    modprobe -l          列出加載的模塊 modprobe -s          錯誤信息記錄到日誌中去 modprobe -r          卸載模塊 modinfo              顯示模塊的摘要信息 insmod               加載模塊(後跟模塊的全路徑) AN initrd RAM disk的重建:mkinitrd /boot/initrd-$(uname -r).img $(uname -r)
相關文章
相關標籤/搜索