1. 程式人生 > >建立最小根檔案系統

建立最小根檔案系統

開發板 : JZ2440

Linux核心 : Linux-2.6.22.6

Busybox1.29.3

最小根檔案系統所需的部分

1./dev/console   /dev/null  :建立根檔案系統所必備的,指出了所需要的標準輸入,標準輸出,標準錯誤裝置終端。

2.init 程式: 當busybox安裝好時,init程式檔案已有。

3./etc/inittab: 

4.配置檔案指定的應用程式;

5.c庫

一、編譯安裝busybox:生成init

  make menuconfig :建立一個.config的檔案

  make  CROSS_COMPILE := arm-linux-

  make CONFIG_PREFIX=/path install :將busybox安裝到指定的檔案中;

  (不要直接make,避免對其他檔案造成損壞,新建目錄/work/nfs_root/first_fs,安裝於此)

安裝完成後有  bin  linuxrc->bin/busybox   sbin  usr  目錄

二、建立/dev/console   /dev/null 

  檢視裝置檔案中兩個檔案的相關資訊,並以此建立

  crw

  c表示字元裝置檔案,b表示塊裝置檔案,l表示符號連結檔案,r表示可讀許可權,w表示可寫許可權。

  5, 1 與1, 3表示主從裝置

  sudo mknod console c 5 1

  sudo mknod null c 1 3

三、init程式已在busybox中建成

四、建立/etc/inittab

  若不建立,則使用預設配置項

  /etc/inittab檔案中的每一個條目用來定義一個子程序,並確定啟動方法

  此處只新增console::askfirst:-bin/sh

五、配置檔案指定的應用程式;

  .現只做最小根檔案系統,所以沒有指定的使用者程式

六、C庫

  glibc庫所在的位置:/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib

  進入目錄看到主要的分類

  

  此處只需要用到動態庫檔案.so

  建立lib目錄,並複製庫檔案

  cp *.so* /work/nfs_root/first_fs/lib/ -d

 (-d:當複製符號連線時,把目標檔案或目錄也建立為符號連線,並指向與原始檔或目錄連線的原始檔案或目錄;)

最小根檔案系統

  

如何將根檔案系統燒寫到儲存裝置上去?

  製作yaffs檔案系統映像檔案,見下節