基于S3C2440的嵌入式Linux根文件系統(tǒng)構(gòu)建
3.3 編譯安裝busybox
在編譯之前,首先需要修改busybox根目錄下的Makefile,使用交叉編譯器。
將189行的ARCH?=$(SUBARCH)修改為ARCH?=arm,164行的CROSS_COMPILE?=修改為CROSS_COMPILE?=arm_linux-修改后執(zhí)行make命令編譯busybox。然后安裝busybox,將busybox安裝/home/work /rootby目錄下,在安裝之前需要在pc機(jī)上執(zhí)行“mkdir/home/work/rootby”命令建立rootby目錄,然后執(zhí)行“make CONFIG_PREFIX =/home/work/rootby install”命令完成安裝。安裝完成后生成如圖2所示文件、目錄。本文引用地址:http://butianyuan.cn/article/151587.htm
4 構(gòu)建根文件
開發(fā)板的根文件系統(tǒng)在主機(jī)上的目錄為/home/work/rootby。在此目錄下使用mkdir命令建立dev,etc,home,lib,mnt,proc,root,sys,tmp目錄。
4.1 創(chuàng)建etc目錄下的文件
在/home/work/rootby/etc目錄下存放各種配置文件。這些文件都是可選的,它們依賴于系統(tǒng)中所擁有的應(yīng)用程序,依賴于這些程序是否需要配置文件。
4.1.1 創(chuàng)建etc/inittab文件
init進(jìn)程根據(jù)/etc/inittab文件來創(chuàng)建其他子進(jìn)程,比如調(diào)用腳本文件配置ip地址、掛接其他文件系統(tǒng),最后啟動(dòng)shell等。
參考busybox源碼下面的“examples/inittab”文件,創(chuàng)建inittab代碼如下:
在busybox的參考文件中控制臺(tái)是ttySAC0,而在s3c24xx系列器件的串口驅(qū)動(dòng)里采用s3c2410_serialx做為設(shè)備名,使用串口0作為控制臺(tái),這里使用s3c2410_serialO作為控制臺(tái)。
4.1.2 創(chuàng)建etc/init.d/rcS文件
rcS文件是一個(gè)腳本文件,借助啟動(dòng)腳本可以設(shè)置各種程序開機(jī)后自動(dòng)運(yùn)行,也可進(jìn)行其他系統(tǒng)設(shè)置,這有點(diǎn)類似于Windows系統(tǒng)中的Autobat自動(dòng)批處理文件。創(chuàng)建的文件內(nèi)容如下(實(shí)際內(nèi)容可能與此不完全一致):
注意最后還要改變它的屬性使它能夠執(zhí)行,執(zhí)行chmod+x etc/init.d/rcS命令。
評(píng)論