在VM上学习嵌入式Linux系统的构建之一--编译内核

折腾了多次,终于让内核再VM上跑起来了,步骤如下:

1、下载内核

·我用的是linux-2.4.20.tar.gz (google一下,多的是),拷到工作目录,解压。

说明:我在VM上装了个Redhat9.0, 在XP上下载,通过VM的共享目录拷到Redhat中。

2、配置内核

·好多配置选项,因为不懂,就更改了一个选项: 把cpu的结构设为i386。

   make menuconfig (用其他的也一样:xconfig等等)

·建立依耐关系

   make dep

·编译内核

   make arc=i386 bzImage  (还能用zImage和vmLinuz,有什么不同,还要学习)

·在 linux-2.4.20/arc/i386/boot/ 下生成bzImage。

注意:有可能报错找不到uudeocde命令,是sharutils包的工具,好像说是redhat默认没有装,随便下一个装一下,我用的是sharutils-4.6.3.tar.gz。

3、建立iso印像

·把loadlin.exe bzImage 拷到一个目录下,把bzImage 重命名为vmlinuz

·写一个bat脚本自动运行loadlin : loadlin vmlinuz       命名为  autoboot.bat

4、运行准备

·新建一个虚拟机,选linux虚拟机

·把cdrom的内容设为iso印像

·新建一个软驱,把一个DOS启动印像装在这个软驱中,我用的是  MSDOS710.IMG

5、运行

·启动虚拟机,进入DOS。

·iso被识别为从C:,经入C盘,看见autoboot.bat,loadlin.exe, bzImage  这3个文件。

·运行autoboot.bat, 内核启动起来了,报错:不能挂在根文件系统。当然报错,因为根本没有啊:)

给个截图:

 

至此,一个内核运行起来了,下一步要坐根文件系统了:)

展开阅读全文

没有更多推荐了,返回首页