亚洲欧美精品沙发,日韩在线精品视频,亚洲Av每日更新在线观看,亚洲国产另类一区在线5

<pre id="hdphd"></pre>

  • <div id="hdphd"><small id="hdphd"></small></div>
      學習啦>學習電腦>操作系統(tǒng)>Linux教程>

      基本制作過程

      時間: 若木635 分享
      基本制作過程
      創(chuàng)建目錄和文件
      在imgae目錄下創(chuàng)建dev, proc , sys , etc ,mnt 四個目錄
       
      創(chuàng)建如下兩個設備文件
       
       mknod  -m 600 dev/console c 5 1 
       mknod -m 600 dev/null c  1 3 
      proc,dev,sys都是用來mount內(nèi)核信息的。
       
      etc是用來放配制文件的。
       
      更詳細請看“Linux 目錄詳解”
      測試一下
      加載內(nèi)核信息
      首先要加載內(nèi)核信息。其中$INITRD為一環(huán)境變量,保存鏡像文件夾的位置如“/initrd”。
       
      mount -v --bind /dev $INITRD/dev
      mount -vt devpts devpts $INITRD/dev/pts 
      mount -vt tmpfs shm $INITRD/dev/shm 
      mount -vt proc proc $INITRD/proc
      mount -vt sysfs sysfs $INITRD/sys
      更改根文件系統(tǒng)
      chroot $INITRD /bin/sh 
      命令進入busybox的環(huán)境。出現(xiàn)shell的命令提示符,可以試著輸入幾個命令,看看執(zhí)行結(jié)果。例如,輸入 fdisk -l 命令看看是否能顯示
      mdev自動生成/dev下的設備文件
      上節(jié)用chroot方法試驗busybox時,為了簡單,是用“綁定”的方式把主機的/dev中的設備文件映射到image目錄下的dev目錄。在initramfs上,這種方法顯然不能使用。
       
      生成系統(tǒng)的設備文件,現(xiàn)在通常都是用udev動態(tài)生成,而initramfs為了做到通用,動態(tài)生成的要求是必須的。在busybox中有一個mdev命令,就是用來動態(tài)生成設備文件,填充到/dev目錄的。
       
      在系統(tǒng)啟動時,用
       
       mdev -s 
      命令可以根據(jù)內(nèi)核的sysfs文件系統(tǒng)在/dev目錄中自動生成相應的設備文件。
       
      命令執(zhí)行前,需要先掛載內(nèi)核的proc和sysfs虛擬文件系統(tǒng)。
      最簡init文件
      在image目錄下寫一個最簡單的init腳本,這也默認我們是用initramfs制作鏡像了,linuxrc文件可以刪除,只有在制作initrd時都用它。
       
      #!/bin/sh 
      mount -t proc proc /proc 
      mount -t sysfs sysfs /sys 
      mdev -s 
      /bin/sh 
      系統(tǒng)最終會啟動到一個shell交互環(huán)境,和測試一下中類似。前提是dev,proc,sys目錄已經(jīng)創(chuàng)建。
       
      為init文件設置可執(zhí)行權(quán)限,當前目錄為鏡像根目錄:
       
      chmod +x init 
      有些busybox配置中,mdev命令需要讀取/etc/mdev.conf文件,為了避免出錯信息,我們創(chuàng)建一個空文件。
       
      touch etc/mdev.conf 
      mdev.conf文件是用 來控制mdev生成的設備文件的讀寫權(quán)限的,在這里我們不需要對設備文件設置特別的權(quán)限,就使用mdev缺省的660的權(quán)限設置。有關(guān)mdev的設備文件 權(quán)限的控制詳細信息,可參考busybox源碼樹docs目錄下的mdev.txt文件。 
      75378