linux ramdisk 工具,Linux下用Busy Box制作Ramdisk全过程(转帖+部分完善) - 薛正华的专栏 - CSDN博客.pdf...

Linux下用BusyBox制作Ramdisk全过程(转帖部分完善)-薛正华的专栏-CSDN博客

Linux下用Busy Box制作Ramdisk全过程(转帖+部分完善) 收藏

/software_zone/2008/0625/947526.shtml

1.基础知识

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

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

initrd 的全称是 boot loader initialized RAM disk,它是系统启动时所使用的根文

件系统映像文件,这个文件系统中包含几个驱动模块,用来装载实际的根文件系统,比如

一个 IDE 或 SCSI 硬盘的驱动模块,内核装入这个模块之后用它来驱动硬盘,挂接硬盘到

ramdisk 的某个子目录,然后再用其中的 pivot_root 命令,将硬盘文件系统变成根文件

系统,并开始执行 init 进程,此时 init ram disk 被 umount,寿终正寝。

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

x。

现在进入正题了:

2.编译内核

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

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

al RAM disk

(initrd) support 的支持(在 block device 中)。另外最好将ext3 文件系统编入内

核,不要编成模块。配置完毕后保存为.config(默认)

make bzImage编译

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

make modules

make modules_install 两步

但我们这里没有加入对 modules 的支持,所以不需要。生成的 bzImage 文件在 us

r/src/linux/arch/.../boot 中,省略的根据你的机器架构决定,make 过程中会有提示,

比如我的是x86_64. 注意这个文件非常重要,其实就是我们最终的 vmlinuz.

(我们做的就没有上面两步,也能成功,大家注意要把许多东西编译到内核里才能

用,如把网卡、磁盘驱动等,还有一些系统命令如果内核里没有的话不支持,如:moun

t、brctl 等。如还有一种方法就是在一个完整的 OS 上查看一些软件所依赖的库函数,然

后再打到 ramdisk 的对应目录)如下例:

[root@localhost zhxue]# which brctl

/usr/sbin/brctl

[root@localhost zhxue]# ldd /usr/sbin/brctl

linux-gate.so.1 => (0x009ad000)

libsysfs.so.2 => /usr/lib/libsysfs.so.2 (0x00abd000)

libc.so.6 => /lib/i686/nosegneg/libc.so.6 (0

/lib/ld-linux.so.2 (0

3.busybox

busybox 是一个集成了一百多个最常用 linux 命令和工具的软件,它甚至还集成了一

个 http 服务器和一个 telnet 服务器,而所有这一切功能却只有区区 1M 左右的大小.我们

平时用的那些 linux 命令就好比是分力式的电子元件,而 busybox 就好比是一个集成电路,

把常用的工具和命令集成压缩在一个可执行文件里,功能基本不变,而大小却小很多倍,在嵌

入式 linux 应用中,busybox 有非常广的应用,另外,大多数 linux 发行版的安装程序中都有

busybox 的身影,安装 linux 的时候案 ctrl alt F2 就能得到一个控制台,而这个控制台中的

所有命令都是指向 busybox 的链接.在我们的迷你 Linux 中,需要的也正是 busybox 的

命令和工具。

下载 /downloads/

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

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

#cd /tmp/bunny

#tar xvfz busybox-1.0

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值