Ramdisk文件系统的制作-V0.2

2014年4月6日 | 由 helight | 800字 | 阅读大约需要2分钟 | 归档于 linux 应用 | 标签 #linux 应用

作者:许振文

Ramdisk文件系统:

BusyBox制作Ramdisk文件系统.busybox是一个集成了一百多个最常用linux命令和工具的软件,
http服务器和一个telnet服务器,1M左右的大小.BusyBox源代码可以从
http://www.busybox.net下载,压缩包大小为1.3 MB左右。下面是如何使用编译BusyBox的过程。

busybox配置编译:

busybox到本地文件夹并解压

#tar jxvf busybox-1.10.1.tar.bz2 


# cd busybox-1.10.1/


 Makefile

ARCH                =arm

CROSS_COMPILE     =arm-linux-
 

$make menuconfig

Busybox Settings >

General Configuration >

[*] Support for devfs

Build Options >

[*] Build BusyBox as a static binary (no shared libs)

/* 将busybox编译为静态连接,少了启动时找动态库的麻烦 */

Installation Options

Don't use /usr

Init Utilities >

[*] init

[*] Support reading an inittab file

/* 支持init读取/etc/inittab配置文件,一定要选上 */

linux基本命令选项,,.
taskset和insmod_main编译错误
tasket命令和对2.22.4insmod支持就可以了

建立根文件系统结构:



#mkdir rootfs


#cd rootfs


#mkdir bin dev etc lib proc sbin tmp usr var


#chmod 777 tmp


#mkdir usr/bin usr/lib usr/sbin


#mkdir var/lib var/lock var/log var/run var/tmp


#chmod 1777 var/tmp


宿

#cd rootfs/dev


#mknod -m 660 console c 5 1


linuxrc文件 :

$ vim rootfs/linuxrc

#!/bin/sh


echo "Hello linux--helight"

exec /sbin/init

chmod 775 linuxrc

lib里面还要拷入一些库文件便

#cp -rfd /usr/local/arm/3.4.1/arm-linux/lib/* ./lib  (注意-d,保持库文件的链接关系)


#mkdir initrd

制作文件系统:

#dd if=/dev/zero ōf=initrd.img bs=1k count=8192


#/sbin/mke2fs -F -v -m0 initrd.img


#mount -o loop initrd.img initrd


#cp -avd rootfs/* initrd


#umount


#gzip -9 initrd.img