+ -
当前位置:首页 → 问答吧 → 小白请教一些内核编译的问题

小白请教一些内核编译的问题

时间:2010-07-13

来源:互联网

原来是在arm下进行开发,现在要移植arm下的东西到X86

arm下的内核是通过交叉编译然后make zImage得到的zImage镜像,然后通过网络下载的方式加载的。

现在在X86下是直接拷贝内核源码到安装好的linux操作系统中,然后make install, 在boot下多了一个vmlinuz.2.6.21.4的一个镜像文件,看到grub的menulist启动用的就是这个

那么zImage和这个vmlinuz.2.6.21.4有何区别呢?

还有以前我是用的busybox定制的文件系统,那么现在我还想用busybox定制文件系统,然后用自己的内核+自己的文件系统,而不是用安装光盘的,应该怎么弄呢?

作者: 527639827   发布时间: 2010-07-13

Linux 基本内核有两个版本:zImage 和bzImage,前者大小限制在大约 508 KB,后者用于更大的内核(最大约 2.5 MB)。通常,现代的 Linux 发行商都使用 bzImage 内核格式以支持更多的特性。您可能会认为,由于 zImage 中的“z”表示 gzip 压缩,那么 bzImage 中的“bz”表示这里使用的是 bzip2 压缩。但是,“b”只是表示“big”,使用的还是 gzip 压缩。两种情况下,由于都是安装在 /boot/ 目录中,所以基本内核通常都被重新命名为 vmlinuz。通常,文件 /vmlinuz 会是一个指向某个版本名称文件的链接,比如 /boot/vmlinuz-2.6.10-5-386。

如果你想要zImage的话,应该在make install之前make zImage的。
我不知道你的busybox是怎么回事,如果是普通Linux版本的话,make install以后,安装程序会自动更新的grub.conf文件,在其中添加用新内核启动的选项。
新的内核,会从/lib/modules/`uname -r`中加载module。如果你编译了新的内核,那么/lib/modules中,应该会有对应新内核版本的文件夹。

作者: mengyingchuxian   发布时间: 2010-07-16

热门下载

更多