快速业务通道

使用Busybox做一个小巧的Linux操作系统

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

1.基础知识

一个操作系统可以简单的抽象为,引导程序 内核 文件系统.

vmlinuz是Linux 内核的镜像文件,可以被引导程序加载,从而启动Linux系统.

initrd的全称是boot loader initialized RAM disk,它是系统启动时所使用的根文件系统映像文件,这个文件系统中包含几个驱动模块,用来装载实际的根文件系统,比如一个IDE或SCSI硬盘的驱动模块,内核装入这个模块之后用它来驱动硬盘,挂接硬盘到ramdisk的某个子目录,然后再用其中的pivot_root命令,将硬盘文件系统变成根文件系统,并开始执行init进程,此时init ram disk被umount,寿终正寝.

由此可见,我们可以用vmlinuz initrd.img做一个文件系同长驻内存的迷你Linux.

现在进入正题了:

2.编译内核

cd /usr/src/……——进入内核源代码目录,没有的话去官方网站,随便下

make menuconfig——配置编译选项请注意一定加入RAM disk support 和initial RAM disk

(initrd) support 的支持(在block device中).另外最好将ext3文件系统编入内核,不要编成模块.配置完毕后保存为.config(默认)

make bzImage——编译

在许多内核编译参考中还有

make modules

make modules_install两步

但我们这里没有加入对modules的支持,不需要.生成的bzImage文件在usr/src/linux/arch/……/boot中,省略的根据你的机器架构决定,make过程中会有提示,比如我的是x86_64. 注意这个文件非常重要,其实就是我们最终的vmlinuz.

3.busybox

busybox是一个集成了一百多个最常用linux命令和工具的软件,它甚至还集成了一个http服务器和一个telnet服务器,而所有这一切功能却只有区区1M左右的大小.我们平时用的那些linux命令就好比是分力式的电子元件,而busybox就好比是一个集成电路,把常用的工具和命令集成压缩在一个可执行文件里,功能基本不变,而大小却小很多倍,在嵌入式linux应用中,busybox有非常广的应用,另外,大多数linux发行版的安装程序中都有busybox的身影,安装linux的时候案ctrl alt F2就能得到一个控制台,而这个控制台中的所有命令都是指向busybox的链接.在我们的迷你Linux中,需要的也正是busybox的命令和工具. 拥有帝国一切,皆有可能。欢迎访问phome.net

下载 http://busybox.net/downloads/

使用过程中许多高版本都出现编译错误,用了一个最原始的版本busybox-1.00

#cp busybox-1.00.tar.gz /tmp/bunny

#cd /tmp/bunny

#tar xvfz busybox-1.00.tar.gz

#cd busybox-1.00

#make menuconfig ——编译配置

下面是需要编译进busybox的功能选项,其他的可以根据需要自选.

General Configuration应该选的选项

Show verbose applet usage messages

Runtime SUID/SGID configuration via /etc/busybox.conf

Build Options

Build BusyBox as a static binary (no shared libs)

这个选项是一定要选择的,这样才能把busybox编译成静态链接的可执行文件,运行时才独立于其他函数库.否则必需要其他库文件才能运行,在单一个linux内核不能使他正常工作.

Installation Options

Don''t use /usr

这个选项也一定要选,否则make install 后busybox将安装在原系统的/usr下,这将覆盖掉系统原有的命令.选择这个选项后,make install后会在busybox目录下生成一个叫_install的目录,里面有busybox和指向它的链接.

其他选项都是一些linux基本命令选项,自己需要哪些命令就编译进去,一般用默认的就可以了.

配置好后退出并保存.config.

make

make install

编译好后在busybox目录下生成子目录_install,里面的内容:

bin

linuxrc -> bin

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号