cramfs文件系统制作。/*嵌入式博客3_7*/

今天学习嵌入式cramfs文件系统的制作。

操作环境,ubuntu11.04。工具:busybox1.13.0、cross-arm-linux-4.2.2-eabi交叉编译器。

一、安装busybox1.13.0

在这一阶段真的是把我给害苦了,因为不是很清楚busybox1.13.0的配置原理,所以上面的很多选项都是尝试的做的。好了直接说一下安装步骤。

1、下载。2.解压。3、创建路径mkdir/rootfs

4、先对对busybox下Makefile文件的做一些修改。

#vi Makefile

1)搜索命令/ARCH ?=

将这一行的内容改为ARCH =arm,注意我就是在这里出现的错误,不知道为什么我的只有将这个问号去掉才能编译成功,而网上很多帖子是不用去掉这个问号的。

2)搜索命令/CROSS_COMPILE ?=

将这一行改写成CROSS_COMPILE=/usr/local/arm/usr/bin/arm-linux-

这里/usr/local/arm/usr/bin/arm-linux- 是我自己的交叉编译器的路径,你要将它改写成你自己的编译器路径。


5、对dusybox 的一些配置(重要)

make menucong执行命令后会出现(上图)


6、进入:Busybox Setting-----> 
       build option--> 


进入,注意第一行,和最后一行,第一行代表了你的文件系统是否要共享libs库函数,这一条需要选上,到最后就可以不用认为的添加libs库文件了。

最后一行代表你的交叉编译器路径,我的是/usr/local/arm/4.2.2-eabi/usr/bin/arm-linux-。你按自己的路径正确填写。


退出进入图二,选第四行,选择installation option


第三行选择你要将busybox安装在那个路径下,我这里选择的是/rootfs。这里有一点我也现在还是不是很清楚,在最后几步里,cramfs文件系统也要从这个目录产生。自己在了解一下是不是可以将这两者分开在两个目录下。

7、这样就可以执行命令make了

#make

#make install

8、进入/rootfs下查看是否生成了bin 、sbin和linuxc的文件,如果已经生成了,就证明你已经成功了一半了

9、对/rootfs下的文件进行一些处理

# mkdir boot dev etc home lib mnt proc root sys tmp var  usr

执行上面的命令,创建一些基本的文件目录  

10、建立及复制文件系统所需要的文件

1)、在/rootfs/dev/目录下建立console和null节点文件(要有root权限)

执行命令

/rootfs/dev# mknod -m 666 console c 5 1 
/rootfs/dev# mknod -m 666 null c 1 3 

12、在/rootfs/etc/目录下建立fstab和inittab文件

进入/rootfs/etc/目录,创建 fstab 文件,其内容如下: 
none    /proc    proc    defaults     0     0 
none    /dev/pts  devpts mode=0622          0       0 
tmpfs    /dev/shm  tmpfs    defaults     0     0 
进入/rootfs/etc/目录,创建 inittab 文件,其内容如下: 
#[inittab] 
::sysinit:/etc/init.d/rcS 
::askfirst:-/bin/sh 
::restart:/sbin/init 
::ctrlaltdel:/sbin/reboot 
::shutdown:/bin/umount -a –r 
::shutdown:/sbin/swapoff –a 
最后在提示符下输入: 
/rootfs/etc# chmod +x fstab inittab 

13、在/rootfs/etc/init.d/目录下建立rcS文件

进入/rootfs/etc/目录,创建 init.d 目录,在该目录下创建 rcS 文件,其
内容如下: 
#! /bin/sh export PATH=/sbin:/bin:/usr/sbin:/usr/bin 
echo "running /etc/init.d/rcS" 
echo " mount -t proc proc /proc" 
mount -t proc proc /proc 
echo " mount -t sysfs /sys /sys" 
mount -t sysfs /sys /sys 
# echo " mount -t tmpfs /tmpfs /dev " 
#/mount -t tmpfs /tmpfs /dev 
#echo "mount ramfs filesystem to /var" 
#/mount -t ramfs none /var 
#echo "starting udevd..." 
#/udevd --daemon 
#/udevstart 
#ln -s /dev/rtc0 /dev/rtc 
#/mount -t yaffs2 /dev/mtdblock1 /home/ 
#hostname SBC6020 
#ifconfig lo 127.0.0.1 netmask 255.0.0.0 
#ifconfig eth1 192.192.192.200 netmask 255.255.255.0 
#ifconfig eth0 hw ether 00:11:22:33:44:55 
#ifconfig eth0 192.168.0.1 netmask 255.255.255.0 
#/opt/apache/bin/apachectl start 
#exec /etc/init.d/rcS.local 
最后在提示符下输入: 
/rootfs/etc/init.d# chmod +x rcS 

14、到这里基本上已经完成了,然后在执行最后一步命令生成cramfs文件系统

#mkcramfs  rootfs  demo.cramfs 

如果你没有安装mkcramfs的脚本文件的话,系统会提示你的,使用apt-get install下载相应的脚本就行了

下一篇博客:配置TFTP及NFS。



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值