制作ramdisk的全过程
时间:2006-08-18 11:09:00 来源:本站搜集整理 作者:Eric
http://www.linuxforum.net/forum/showflat.php?Board=embedded&Number=613905&page=&view=&sb=
1 建立根文件系统结构
#cd /home/fortis/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 准备链接库
#cd ${OBJ_LIB}/lib (${OBJ_LIB}是交叉编译环境的目录)
#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制作系统应用程序
(1)下载busybox-1.1.2, 解压
(2)#make defconfig
(3)#make menuconfig (主要修改以下配置)
busybox settings --->
build options --->
build busybox as a static binary(no shared libs)
do you want to build busybox with a cross compiler?
(这里写上交叉编译器的前缀)
linux Ext2 FS progs --->
将这下面的选项都去掉了,否则编译会出错,不知什么原因。
(4)#make TARGET_ARCH=arm PREFIX=/home/fortis/rootfs all install
4 准备所需的设备文件
#cd /home/fortis/rootfs/dev
#mknod -m 600 console c 5 1
5 制作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 /home/fortis/rootfs/* initrd
#umount
#gzip -9<initrd.img>initrd.bin
initrd.bin 就是是最终要放到目标开发板上的根文件系统
1 建立根文件系统结构
#cd /home/fortis/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 准备链接库
#cd ${OBJ_LIB}/lib (${OBJ_LIB}是交叉编译环境的目录)
#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制作系统应用程序
(1)下载busybox-1.1.2, 解压
(2)#make defconfig
(3)#make menuconfig (主要修改以下配置)
busybox settings --->
build options --->
build busybox as a static binary(no shared libs)
do you want to build busybox with a cross compiler?
(这里写上交叉编译器的前缀)
linux Ext2 FS progs --->
将这下面的选项都去掉了,否则编译会出错,不知什么原因。
(4)#make TARGET_ARCH=arm PREFIX=/home/fortis/rootfs all install
4 准备所需的设备文件
#cd /home/fortis/rootfs/dev
#mknod -m 600 console c 5 1
5 制作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 /home/fortis/rootfs/* initrd
#umount
#gzip -9<initrd.img>initrd.bin
initrd.bin 就是是最终要放到目标开发板上的根文件系统
下一篇:用GDB调试程序
文章评论
共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面