busybox制作ramdisk全过程

 busybox制作ramdisk全过程

<script type="text/javascript">function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}</script>
 
ramdisk 制作全过程
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 $file-*.so /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(http://www.busybox.net/)并解压。 3.2 进入解压后的目录,配置Busybox $ make menuconfig Busybox Settings > General Configuration > [*] Support for devfs Build Options > [*] Build BusyBox as a static binary (no shared libs) /* 将busybox编译为静态连接,少了启动时找动态库的麻烦 */ [*] Do you want to build BusyBox with a Cross Compiler? (/usr/local/arm/3.3.2/bin/armlinux) Cross Compiler prefix/* 指定交叉编译工具路径 */ Init Utilities >
[*] init [*] Support reading an inittab file /* 支持init读取/etc/inittab配置文件,一定要选上 */ Shells > Choose your default shell (ash) > /* (X) ash 选中ash,这样生成的时候才会生成bin/sh文件 * 看看我们前头的linuxrc脚本的头一句: * #!/bin/sh 是由bin/sh来解释执行的 */ [*] ash Coreutils > [*] cp [*] cat [*] ls [*] mkdir [*] echo (basic SuSv3 version taking no options) [*] env [*] mv [*] pwd [*] rm [*] touch Editors > [*] vi Linux System Utilities > [*] mount [*] umount [*] Support loopback mounts [*] Support for the old /etc/mtab file Networking Utilities > [*] inetd /* * 支持inetd超级服务器 */ 3.3 编译并安装Busybox(如果busybox编译不过去就还个版本的编译工具) $make TARGET_ARCH=arm CROSS=armlinux/ PREFIX=/home/arm/dev_home/rootfs/my_rootfs/ all install PREFIX指明安装路径:就是我们根文件系统所在路径。
4 准备所需的设备文件
可以直接拷贝宿主机上的,或者自建几个就是。
#cd rootfs/dev
#mknod -m 600 console c 5 1
5 创建linuxrc文件 内容如下: $ vim rootfs/linuxrc #!/bin/sh
echo "Hello linux ,gggggg" exec /sbin/init 然后修改权限:chmod 775 linuxrc
6 制作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 rootfs/* initrd
#umount
#gzip -9 initrd.img
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值