(linux根文件系统实验指导.doc
文本预览下载声明
嵌入式系统根文件系统制作
一、主机环境?Linux vm-dev 2.6.9-42.EL RedHatEL4, VMWare6.0.3;?gcc version 3.4.6(Red Hat 3.4.6-3) Thread model: posixgcc version 3.4.6?所需源文件:?busybox-1.12.2.tar.bz2;
二、用Busybox创建文件系统?busybox-1.12.2.tar.bz2拷贝到了虚拟机的/home/uptech目录
1、解压busybox-1.12.2.tar.bz2,路径为[root@vm-dev ~]cd /home
[root@vm-dev home]mkdir hq
[root@vm-dev home]# cd hq
[root@vm-dev hq]#mkdir rootfs
[root@vm-dev hq]# cd rootfs
[root@vm-dev rootfs]#cp /home/uptech/busybox-1.12.0.tar.bz2 . -arf
[root@vm-dev rootfs]# ls
busybox-1.12.0.tar.bz2
[root@vm-dev rootfs]# tar -vxjf busybox-1.12.2.tar.bz2
[root@vm-dev rootfs]# cd busybox-1.12.2
[root@vm-dev busybox-1.12.2]# pwd
/home/hq/rootfs/busybox-1.12.2
[root@vm-dev busybox-1.12.2]# vi Makefile
[root@vm-dev busybox-1.12.2]#
修改Makefile中的ARCH和CROSS_COMPILE与本机的路径一致:CROSS_COMPILE ?= arm-linux- ...ARCH ?= arm
2、编译busybox。先make menuconfig,修改以下: [root@vm-dev busybox-1.12.2]# make menuconfig
Busybox Settings ????Build Options ????????[*] Build BusyBox as a static binary (no shared libs)????????//直接编译成静态库,省事点????????(/opt/crosstools/gcc-3.4.6-glibc-2.3.6/bin/arm-linux-) Cross Compiler prefix????????//这里和Makefile里保持一致,应该写一处就行了????Installation Options ????????[ ] Dont use /usr????????//使用usr目录Busybox Library Tuning
[*] Fancy shell prompts
//一定要选上,否则很多转意字符无法识别Shells ????Choose your default shell (ash) ????//这里选择shell为ash,应该是默认选中的???????? ash????????//把ash这档的选项全部选上Miscellaneous Utilities
[ ] inotifyd
//不选
Linux Module Utilities
[ ] Simplified modutils// 不选
[ ] depmod
[*] insmod
[ ] Module version checking (NEW)
[ ] Add module symbols to kernel symbol table (NEW)
[ ] In kernel memory optimization (uClinux only) (NEW)
[ ] Enable load map (-m) option (NEW)
[*] rmmod
[*] lsmod
保存退出,直接make,make install。[root@vm-dev busybox-1.12.2]# ls _install/
bin linuxrc sbin usr
[root@vm-dev busybox-1.12.2]#
3、用shell脚本创建根文件系统的目录结构,并在想要建立根文件
显示全部