-----------------創(chuàng)建rootfs文件夾------------------- BusyBox-1.9.2版本
1. 下載busybox1.9.2,,并解壓縮。 下載busybox源代碼:http:///downloads/busybox-1.9.2.tar.bz2 交叉編譯工具:arm-linux-gcc-3.4.1 解壓源碼:tar -jxvf busybox-1.9.2.tar.bz2
2. 修改Makefile中的174行的 arch和編譯工具鏈頭,。 ARCH ?= arm CROSS_COMPILE ?= /usr/local/arm/3.4.1/bin/arm-linux-
3. make menuconfig. 修改編譯配置選項(xiàng)。 Busybox Setting-----> build option--> [ ] Build BusyBox as a static binary (no shared libs) [*] Build shared libbusybox [*] Produce a binary for each applet, linked against libbusybox [*] Produce additional busybox binary linked against libbusybox [ ] Build with Large File Support (for accessing files > 2 GB)
installation option--> [*] Don't use /usr Applets links (as soft-links) ---> (./_install) BusyBox installation prefix
Busybox Library Tuning --->
MD5: Trade Bytes for Speed [*] Faster /proc scanning code (+100 bytes) [*] Support for /etc/networks
[*] Support for /etc/networks [*] Additional editing keys [*] vi-style line editing commands [*] History saving [*] Tab completion [*] Username completion [*] Fancy shell prompts
Linux Module Utilities ---> [*] Support version 2.6.x Linux kernels
[*] insmod [*] Enable load map (-m) option [*] Symbols in load map [*] rmmod [*] lsmod [*] lsmod pretty output for 2.6.x Linux kernels [*] modprobe [ ] Multiple options parsing [ ] Fancy alias parsing --- Options common to multiple modutils [ ] Support tainted module checking with new kernels [ ] Support version 2.2.x to 2.4.x Linux kernels
[*] Support version 2.6.x Linux kernels
shell -à [*] alias support 其他的用默認(rèn)值 -----------------------編譯busybox----------------------- make 【 _install】 cp -Rfv * /my_roofs (3)inittab文件 (4)創(chuàng)建/etc/init.d文件夾和rcS,,在rcS中添加 echo "^ Welcome to YAFFS root filesystem! ^" echo "^ soso ^" echo "^^^^^^^^^^^^^^^^09-3-18^^^^^^^^^^^^^^^^^^^^" ln -s /dev/vc/0 /dev/tty1 echo "# mount all..........." echo "# Starting mdev........." /sbin/ifconfig lo 127.0.0.1
(6)創(chuàng)建mdev.conf文件 (空文件) (7)復(fù)制主機(jī)/etc/下面的文件passwd, group, shadow 文件到/etc 修改passwd中用戶(hù)使用的shell名稱(chēng)。FC6上默認(rèn)的為bash,而vivi只支持ash,。 (8)修改各文件和文件夾的權(quán)限 -------------yaffs文件系統(tǒng)映像的制作--------- --------------cramfs文件系統(tǒng)映像的制作(cramfs壓縮率比較高)------------
下載源碼 移植新下載的linux源碼中是沒(méi)有超級(jí)終端的命令的,需要自己添加,。添加完了,,就開(kāi)發(fā)板就可以PC通過(guò)串口傳輸文件了。 步驟: 1,、 下載軟件 rzsz-3.48.tar.gz,。 http://freeware./source/rzsz/rzsz-3.48.tar.gz下載。 2,、解壓 tar zxvf rzsz-3.48.tar.gz
3,、安裝 cd src
vi Makefile
修改CC=arm-linux-gcc
保存退出
make posix 。
注意:這個(gè)軟件安裝與常規(guī)的GNU軟件不同—沒(méi)有configure(配置)及make install (安裝過(guò)程),。
我的是S3C2410的交叉編譯器,,不同的平臺(tái)只是交叉編譯器不一樣而已。
輸入命令make posix后,,如果編譯成功,,在輸入 ls命令,你將發(fā)現(xiàn),,多了很多文件
COPYING gz minirb.c rc rz.c sz undos.doc zmodem.h
crc.c mailer.rz minirb.doc README rz.doc sz.c zcommand zmr.c
crc.doc Makefile rb rx sb sz.doc zcommandi zupl.t
crctab.c Makefile~ rbsb.c rz sx undos.c zm.c
將rb,rx,rc,rz,sb,sx,sz,zcommand
zcommandi拷貝到你制作的根文件系統(tǒng)的bin目錄下,,然后在將交叉編譯器下的ld-2.5.so libc-2.5.so
libcrypt.so.1 libgcc_s.so.1 libm.so.6 ld-linux.so.3 libcrypt-2.5.so
libc.so.6
libm-2.5.so等庫(kù)(可能版本不同,,相應(yīng)的數(shù)字,但只要是這幾個(gè)文件即可)拷貝到根文件系統(tǒng)的lib目錄下,,然后再重新制作該根文件系統(tǒng),,下載到
開(kāi)發(fā)板,重新啟動(dòng),,可以試一下rz和sz |
|