日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]Linux下用Busy Box制作Ramdisk全過程

1 建立根文件系統(tǒng)結(jié)構(gòu)


#mkdir rootfs



#cd rootfs


#mkdir bin dev etc lib proc sbin tmp usr var


#chmod 1777 tmp


#mkdir usr/bin usr/lib usr/sbin


#mkdir var/lib var/lock var/log var/run var/tmp


#chmod 1777 var/tmp



2 準(zhǔn)備鏈接庫


#cd ${OBJ_LIB}/lib (${OBJ_LIB}是交叉編譯環(huán)境的目錄)


#for file in libc libcrypt libdl libm


>libpthread libresolv libutil


>do


>cp $file-*.so /home/fortis/rootfs/lib


>cp -d $file.so.[*0-9] /home/fortis/rootfs/lib


>done


#cp -d ld*.so* /home/fortis/rootfs/lib



3 使用busybox制作系統(tǒng)應(yīng)用程序


3.1 下載busybox(http://www.busybox.net/)并解壓。

3.2 進(jìn)入解壓后的目錄,配置Busybox

$make menuconfig

Busybox Settings >

General Configuration >

[*] Support for devfs

Build Options >

[*] Build BusyBox as a static binary (no shared libs)

/* 將busybox編譯為靜態(tài)連接,少了啟動(dòng)時(shí)找動(dòng)態(tài)庫的麻煩 */

[*] Do you want to build BusyBox with a Cross Compiler?

(/usr/local/arm/3.3.2/bin/armlinux)

Cross Compiler prefix/* 指定交叉編譯工具路徑 */

Init Utilities >


[*] init

[*] Support reading an inittab file

/* 支持init讀取/etc/inittab配置文件,一定要選上 */

Shells >

Choose your default shell (ash) >

/* (X) ash 選中ash,這樣生成的時(shí)候才會(huì)生成bin/sh文件

* 看看我們前頭的linuxrc腳本的頭一句:

* #!/bin/sh 是由bin/sh來解釋執(zhí)行的

*/

[*] ash

Coreutils >

[*] cp

[*] cat

[*] ls

[*] mkdir

[*] echo (basic SuSv3 version taking no options)

[*] env

[*] mv

[*] pwd

[*] rm

[*] touch

Editors >

[*] vi

Linux System Utilities >

[*] mount

[*] umount

[*] Support loopback mounts

[*] Support for the old /etc/mtab file

Networking Utilities >

[*] inetd

/*

* 支持inetd超級(jí)服務(wù)器


*/

3.3 編譯并安裝Busybox

$make TARGET_ARCH=arm CROSS=armlinux

PREFIX=/home/arm/dev_home/rootfs/my_rootfs/ all install

PREFIX指明安裝路徑:就是我們根文件系統(tǒng)所在路徑。


4 準(zhǔn)備所需的設(shè)備文件


可以直接拷貝宿主機(jī)上的,或者自建幾個(gè)就是。



#cd rootfs/dev


#mknod -m 600 console c 5 1


5 創(chuàng)建linuxrc文件

內(nèi)容如下:

$ vim rootfs/linuxrc

#!/bin/sh


echo "Hello linux ,gggggg"


exec /sbin/init

然后修改權(quán)限:chmod 775 linuxrc



6 制作initrd映象文件


#mkdir initrd


#dd if=/dev/zero of=initrd.img bs=1k count=8192


#/sbin/mke2fs -F -v -m0 initrd.img


#mount -o loop initrd.img initrd


#cp -av rootfs/* initrd


#umount


#gzip -9 initrd.img

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉