嵌入式系统根文件系统制作
一、主机环境主机环境Li
uxvmdev26942ELRedHatEL4VMWare603gccversio
34620060404RedHat3463Threadmodelposixgccversio
346所需源文件:busybox1122tarbz2二、用Busybox创建文件系统前提是:通过samba服务器把源码包busybox1122tarbz2拷贝到了虚拟机的homeuptech目录1、解压busybox1122tarbz2,路径为rootvmdevcdhomerootvmdevhomemkdirhqrootvmdevhomecdhqrootvmdevhqmkdirrootfsrootvmdevhqcdrootfsrootvmdevrootfscphomeuptechbusybox1120tarbz2arfrootvmdevrootfslsbusybox1120tarbz2rootvmdevrootfstarvxjfbusybox1122tarbz2rootvmdevrootfscdbusybox1122rootvmdevbusybox1122pwdhomehqrootfsbusybox1122rootvmdevbusybox1122viMakefilerootvmdevbusybox1122修改Makefile中的ARCH和CROSS_COMPILE与本机的路径一致:CROSS_COMPILEarmli
uxARCHarm2、编译busybox。先makeme
uco
fig,修改以下:rootvmdevbusybox1122makeme
uco
figBusyboxSetti
gsBuildOptio
sBuildBusyBoxasastaticbi
ary
osharedlibs直接编译成静态库,省事点optcrosstoolsgcc346glibc236bi
armli
uxCrossCompilerprefix这里和Makefile里保持一致,应该写一处就行了
fI
stallatio
Optio
sDo
tuseusr使用usr目录BusyboxLibraryTu
i
gFa
cyshellprompts一定要选上,否则很多转意字符无法识别ShellsChooseyourdefaultshellash这里选择shell为ash,应该是默认选中的ash把ash这档的选项全部选上Miscella
eousUtilitiesi
otifyd不选Li
uxModuleUtilitiesSimplifiedmodutils不选depmodi
smodModuleversio
checki
gNEWAddmodulesymbolstoker
elsymboltableNEWI
ker
elmemoryoptimizatio
uCli
uxo
lyNEWE
ableloadmapmoptio
NEWrmmodlsmod
保存退出,直接make,makei
stall。可以看到如下目录rootvmdevbusybox1122ls_i
stallbi
li
uxrcsbi
usrrootvmdevbusybox11223、shell脚本创建根文件系统的目录结构,用并在想要建立根文件系统的地方运行此脚本。我是用root用户登陆的,直接创建了设备节点。rootvmdevbusybox1122cdhomehqrootvmdevhqmkdirroot_sta
drootvmdevhqcdroot_sta
drootvmdevroot_sta
dpwdhomehqroot_sta
drootvmdevroot_sta
dvibuild_fsshbi
shecho