seteuid0's blog
Themed by Diary.
搭建linux0.11系统环境

要学习Linux0.11的内核代码必须要有一个运行环境来做实验,本文简要介绍如何搭建该环境。 环境:ubuntu14.10 x86_64 Linux0.11的内核可以说是古董级的,所以必须要祭出模拟器了,有2中搭建方案bochs或qemu

使用bochs仿真器:

1、使用发行版的bochs,通过apt-get安装,需要安装如下软件包,如果缺包在之后的运行中就会有各种问题,此处忽略。当然你也可以从http://sourceforge.net/projects/bochs/files/Disk%20Images/ 处下载安装。ii bochs 2.6-2 amd64 IA-32 PC emulator ii bochs-doc 2.6-2 all Bochs upstream documentation ii bochs-term 2.6-2 amd64 Terminal (ncurses-based) plugin for Bochs ii bochs-wx 2.6-2 amd64 WxWindows plugin for Bochs ii bochs-x 2.6-2 amd64 X11 plugin for Bochs ii bochsbios 2.6-2 all BIOS for the Bochs emulator2、下载虚拟文件系统:地址:http://www.oldlinux.org/Linux.old/bochs/linux-0.11-devel-040329.zip 3、由于bochs的变化,所以需要修改配置文件,我修改bochsrc-hd.bxrc后的内容如下:``` megs: 16 floppya: 1_44=“bootimage-0.11-hd”, status=inserted floppyb: 1_44=diskb.img, status=inserted ata0-master: type=disk, path=“hdc-0.11.img”, mode=flat, cylinders=121, heads=16, spt=63 boot: a log: bochsout.txt parport1: enable=0 vga_update_interval: 300000 keyboard_serial_delay: 200 keyboard_paste_delay: 100000 cpu: count=1, ips=1000000 mouse: enabled=0 private_colormap: enabled=0 fullscreen: enabled=0 screenmode: name=“sample” i440fxsupport: enabled=0


### 使用qemu:

1、编译内核,我使用从https://github.com/peterx/linux-cd/archive/master.zip下载的修改后的linux0.11的内核版本。使用gcc version 4.9.1的时候,需要Makefile.header的CFLAGS里面添加-fno-stack-protector参数。 2、同样使用bochs中下载的系统镜像,使用如下命令启动。(注意参数中的Image是步骤1中编译后生成的文件)```
qemu-system-x86\_64 -m 16M -boot a -fda ../../linux-cd/linux-0.11-20110805/Image -hda ./hdc-0.11.img
```ok,qemu的界面出现了