linux嵌入式根檔案系統製作學習筆記
阿新 • • 發佈:2019-02-19
根檔案製作方法1.取得busybox原始碼,編譯並安裝根檔案 1)在busybox主目錄下執行make menuconfig 選擇元件編譯 make menuconfig 2)修改busybox主目錄下的makefile,使用交叉編譯器進行編譯 CROSS_COMPILE ?= arm-linux- 3)用make命令啟動編譯 4)編譯完成後 使用make install命令安裝根檔案 ,但是注意需要指定安裝目錄,否則會破壞編譯伺服器。 make CONFIG_PEREFIX=/work/nfs_root/first_fs install2.在根檔案目錄下新建lib子目錄 拷貝交叉編譯器glibc庫檔案到lib目錄下
/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux$ mkdir /work//nf s_root/first_fs/lib
/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux$ cp *.so* /work/ nfs_root/first_fs/lib/ -d3.新建console和null的裝置檔案/work/nfs_root/first_fs$ mknod mkdir dev/
/work/nfs_root/first_fs$ sudo mknod console c 5 1
/work/nfs_root/first_fs$ sudo mknod null c 1 34.構造etc/inittab1)建立etc 目錄和inittab檔案/work/nfs_root/first_fs$ mkdir etc
/work/nfs_root/first_fs$ cd etc
/work/nfs_root/first_fs/etc$ vi inittab2)在inittab新增啟動項(增加shell和啟動指令碼)console::askfirst:-/bin/sh
::sysinit:/etc/init.d/rcS3)inittab檔案加入可執行屬性 chmod +x etc/inittab5.構造 etc/init.d/rcS 1)建立init.d目錄和rcS檔案 2)在rcS檔案中增加如下內容 mount -a
mkdir /dev/pts
mount -t devpts devpts /dev/pts
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s 3)rcs檔案加入可執行屬性 chmod +x etc/init.d/rcS6.構造 etc/fstab 1)建立fstab檔案 2)在fstab檔案中加入以下內容# device mount-point type options dump fsck order
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
tmpfs /dev tmpfs defaults 0 0
/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux$ mkdir /work//nf s_root/first_fs/lib
/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux$ cp *.so* /work/ nfs_root/first_fs/lib/ -d3.新建console和null的裝置檔案/work/nfs_root/first_fs$ mknod mkdir dev/
/work/nfs_root/first_fs$ sudo mknod console c 5 1
/work/nfs_root/first_fs$ sudo mknod null c 1 34.構造etc/inittab1)建立etc
/work/nfs_root/first_fs$ cd etc
/work/nfs_root/first_fs/etc$ vi inittab2)在inittab新增啟動項(增加shell和啟動指令碼)console::askfirst:-/bin/sh
::sysinit:/etc/init.d/rcS3)inittab檔案加入可執行屬性 chmod +x etc/inittab5.構造 etc/init.d/rcS 1)建立init.d目錄和rcS檔案
mkdir /dev/pts
mount -t devpts devpts /dev/pts
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
tmpfs /dev tmpfs defaults 0 0