全部博文(20)
分类: LINUX
2007-12-05 00:36:03
1 建立根文件系统结构
#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 准备链接库 (主要是拷贝交叉编译环境下的一些文件)
#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制作系统应用程序
3.1 下载busybox()并解压。
3.2 进入解压后的目录,配置Busybox
更改目录下的Makefile文件。更改地方为:
ARCH ?= arm //根据需要配置不同的架构
CROSS_COMPILE ?=arm-xscale-linux- //就是交叉编译工具
然后进入下面的工作:
在配置过程中要注意的是加载根文件系统的安装路径(在其中的一项中配置,现在想不起来了,自己去找找吧)
$make menuconfig
具体的配置过程就不说了,根据不同需要进行选择就可以了。
$make
$make install
4 准备所需的设备文件
可以直接拷贝宿主机上的,或者自建几个就是。
#cd rootfs/dev
#mknod -m 600 console c 5 1
5 在rootfs/目录下创建linuxrc文件
内容如下:
$ vim rootfs/linuxrc
#!/bin/sh
echo "Hello linux ,gggggg"
exec /sbin/init
然后修改权限:chmod 775 linuxrc
6 制作initrd映象文件
#mkdir initrd (initrd目录和rootfs目录同级)
#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 initrd
#gzip -9 initrd.img