制作ramdisk文件系统

         近段时间跟老板做些嵌入式的实验,顺便学了下ramdisk文件系统的制作,为防忘记,写篇日志提醒提醒。

         由于实验采用的是龙芯的板子,所以很多地方是基于mips来写的。网上也有很多ramdisk文件系统制作的帖子,各有各的优缺点,我这就算是一个新的参考吧。

 

         介绍下我的环境:Ubuntu 8.04 

                                 内核版本:2.6.18.1

                                 gcc版本号忘记了

 

busybox1.1.3.tar解压到你的工作目录下,如:/home/xx/,以下用变量${YOURDIR}表示。

1建立根文件系统结构

 

${YOURDIR}#mkdir rootfs

 

${YOURDIR}#cd rootfs

 

${YOURDIR}/rootfs#mkdir bin dev etc lib proc sbin tmp usr var

 

${YOURDIR}/rootfs#chmod 1777 tmp

 

${YOURDIR}/rootfs#mkdir usr/bin usr/lib usr/sbin

 

${YOURDIR}/rootfs#mkdir var/lib var/lock var/log var/run var/tmp

 

${YOURDIR}/rootfs#chmod 1777 var/tmp

 

2使用busybox制作系统应用程序

 

2.1进入busybox解压后的目录,配置busybox

 

${YOURDIR}/busybox1.1.3$make menuconfig

 

配置时几个注意的地方:

a.最好选上BusyboxSettings/Build Options/Build BusyBox as a static binary项,表示不依赖动态库;

b.Busybox Settings/Build Options/Do you want to build BusyBox with aCrossCompiler需选上,并输入交叉编译工具的前缀,如:$PATH/mipsel-linux-,注意不是mipsel-linux-gcc

c.Busybox Settings/Installation Options设置为${YOURDIR}/rootfs

d.Shells/ Choose your default shell设置为ash

e.选上InitUtilities/initInitUtilities/Support reading an inittab file

其他配置看需要进行选取。

 

2.2编译并安装Busybox

${YOURDIR}/busybox1.1.3$make

${YOURDIR}/busybox1.1.3$make install

 

2.3准备所需的设备文件

可以直接拷贝宿主机上的,或者自建几个,如:

${YOURDIR}#cd rootfs/dev

${YOURDIR}/rootfs/dev#mknod -m 600 console c 5 1

在直接拷贝的时候,应加上cp-dpR这三个选项,否则会出现问题。

 

2.4准备配置文件

一般是直接拷贝宿主机上/etc/下的所有文件到自己根文件系统的/etc/下边。

/sbin/init拷贝到新生成的文件系统根目录下,或手工建立一个指向/bin/busybox的链接init;

 

2.5生成镜像文件

对不同的文件系统采用不同的生成工具,如生成cramfs使用命令:

#mkfs.cramfs ./rootfs ./rootfs.cramfs

 

到此为止,文件系统算是大致完成了,对于是否要制作镜像文件,看具体应用而定。在此我们不制作镜像文件,直接编译到内核中。

 

3配置内核加载文件系统

 

a.{YOURDIR}/rootfs/内的文件拷贝到内核文件夹下的arch/mips/ramdisk/里边;完成后对内核进行配置:输入makemenuconfig

b.进入DeviceDrivers / Block devices,选中以下几项:

>>Loopbackdevice support

>>RAMdisksupport

         >>Defaultnumber of RAM disks (16)

         >>DefaultRAM disk size(kbytes) (4096)

>>DefaultRAM disk block size(bytes) (1024)

>>InitialRAM filesystem and RAM disk support

c.进入 GeneralSetup,选中 Initramfssource file,指定 ramdisk的路径,即:arch/mips/ramdisk

 

4编译内核,加载到目标机上运行。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值