歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Mini6410基於Linux2.6.36內核制作initramfs文件系統

Mini6410基於Linux2.6.36內核制作initramfs文件系統

日期:2017/3/1 10:23:58   编辑:Linux編程

根文件系統一般包括:

1)基本的文件系統結構,包含一些必須的目錄,比如:/dev,/proc,/bin,/etc,/lib,/usr,/tmp;

2)基本程序運行所需的庫函數,如:libc/uC-libc;

3)基本的系統配置文件,如:rc,inittab等腳本文件;

4)必要的設備支持文件,如:/dev/hd*,/dev/tty,/dev/fdO;

5)基本的應用程序,如:sh,ls,cp,mv等。 

根文件系統的制作就是生成包含上述各種文件的文件系統的過程,可通過直接拷貝宿主機上交叉編譯器處的文件來制作根文件系統,但是這種方法制作的根文件系統一般過於龐大。也可通過一些工具如busybox來制作根文件系統,用busybox制作的根文件系統可以做到短小精悍並且運行效率較高。寫成shell文件便於操作,有些人將BusyBox稱為Linux工具裡的瑞士軍刀.

根文件系統是linux啟動時使用的第一個文件系統。沒有根文件系統,linux將無法正常啟動。根文件系統:有一系列的目錄組成,目錄中包含了應用程序、c庫、以及相關的配置文件。

step1:創建根文件系統目錄

cd /opt/FriendlyARM/mini6410/linux

mkdir rootfs

cd rootfs

mkdir bin dev etc lib proc sbin sys usr mnt tmp var

mkdir usr/bin usr/lib usr/sbin lib/modules

step2:創建設備文件:

cd dev/

mknod -m 666 console c 5 1

mknod -m 666 null c 1 3

cd ..

step3:安裝/etc(配置文件可以從其他做好的嵌入式系統中cp)

tar etc.tar.gz –C /xxx/rootfs

step4:編譯內核模塊:

進入Linux內核目錄(linux 2.6.36)

make modules ARCH=arm CROSS_COMPILE=arm-linux-

step5:安裝內核模塊

make modules_install ARCH=arm INSTALL_MOD_PATH=/xxx/rootfs

step6: 配置busybox

Busybox: 嵌入式開發中的瑞士軍刀

進入busybox目錄執行

make menuconfig

a.進入 Busybox Settings à
build Options->
選中 “Build busybox as a static binary”, 靜態鏈接
Cross Compiler prefix (arm-linux-)
Installation Options->
選中 “Don‘t use /usr”, 選中該項可以避免busybox 被安裝到宿主系統的/usr目錄下,破壞宿主系統
Busybox Installation Prefix (/xxx/rootfs)
該選項表明編譯後的busybox的安裝位置

step7: 編譯,安轉busybox

make ARCH=arm CROSS_COMPILE=arm-linux-
make install

配置內核使內核支持此文件系統:在generalsetup中:

Copyright © Linux教程網 All Rights Reserved