快速业务通道

精通init ramfs构建step by step (三)

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-05-11

七、什么是busybox

  busybox号称是嵌入式Linux中的瑞士军刀——小巧、功能齐全.它把许多常用的Linux命令都集成到一个单一的可执行程序中,只用这一个可执行程序(即busybox)加上Linux内核就可以构建一个基本的Linux系统.busybox程序非常小巧,包含全部命令可执行文件大小也只有750多K.busybox是完全模块化的,可以很容易地在编译时增加、删除其中包含的命令.

  busybox的这些特点,它广泛应用于LiveCD、应急修复盘、安装盘等系统中.我们也是以它为基础,构建init ramfs.

  八、busybox的配置、编译和安装

  (1)去http://busybox.net 去下载最新的源码,解压展开.

  (2)用

  make menuconfig

  命令启动配置界面配置,配置busybox的特性、选择要包含在busybox的命令(busybox称为applet);

  也可以用

  make defconfig

  命令做缺省配置,包含全部的applet.

  另外两个配置命令是

  make allyesconfig——最大配置

  make allnoconfig——最小配置

  它们和make defconfig命令都可以用来作为自定义配置的初始配置,然后再用make menuconfing命令做定制化配置.

  为了简单,我们用make defconfig做缺省配置.

  (3)用

  make

  命令编译busybox软件.

  (4)用

  make CONFIG_PREFIX=<安装目录> install

  命令安装.如果在命令行中省略CONFIG_PREFIX变量的赋值,则会安装缺省值 ./_install 目录下.CONFIG_PREFIX可以在make menuconfig的配置界面中修改.

  我们用make CONFIG_PREFIX=~/initramfs-test/image 命令把busybox安装到init ramfs的构建目录中.

  (5)缺省配置下,busybox动态链接到glibc,要把它用到的动态库复制到init ramfs的构建目录中.用ldd命令查看busybox用到了哪些动态库文件及相应的文件路径,然后把它们复制到相应的目录下即可.

  我们编译的busybox需要向image/lib目录下复制

  ld-linux.so.2

  libc.so.6

  libcrypt.so.1

  libm.so.6

  动态库文件.

  九、在image下创建必要的目录和设备文件 拥有帝国一切,皆有可能。欢迎访问phome.net

  (1)在imgae目录下创建

  proc , sys , etc ,mnt

  四个目录

  (2)hello world 已经创建了console 设备文件,我们再用

  mknod -m 600 dev/null c 1 3

  命令创建另一个基本的设备文件.

  十、试验一下

  busybox的构建和准备工作做完了,我们试验一下吧:

  在image目录下以root用户权限——

  (1)用

  mount -vt proc proc =proc

  mount -vt sysfs sysfs =sys

  命令安装内核虚拟文件系统

  (2)用

  mount -v -o bind /dev dev

  命令绑定/dev的设备文件到image/dev

  (3)用

  chroot . /bin/sh

  命令进入busybox的环境.出现shell的命令提示符,可以试着输入几个命令,看看执行结果.例如,输入 fdisk -l 命令看看是否能显示硬盘的分区.

拥有帝国一切,皆有可能。欢迎访问phome.net

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号