第二记 在Bochs上加载Linux0.11

第二记 在Bochs上加载Linux0.11

1. 需要的东西

A. linux-0.11-081030.tar.gz

B. linux-0.11-devel-040329.zip

2. 编译linux0.11内核

linux 0.11源码文件在linux-0.11-081030.tar.gz中,进入目录解压后的目录linux-0.11
1. ubuntu 8.04 gcc 版本为4.2.4,但是GCC4.x 默认检查stack安全,会导致出现__stack_chk_fail错误,所以在编译之前应先修改Makefile:
    linux-0.11/Makefile
    linux-0.11/kernel/Makefile
    linux-0.11/kernel/chr_dev/Makefile
    linux-0.11/kernel/blk_dev/Makefile
    linux-0.11/fs/Makefile
    在 CFLAGS参数中加入-fno-stack-protector
2. Make的时候还有一个错误的地方,提示“elif”,将其改成else即可

3. 在第二步出问题后,进入第三步make clean一下,然后再make

3. 配置文件及映像(不懂完全照搬)

我将linux-0.11-devel-040329.zip的文件都解压到linux0.11的目录下,由于各种原因不成功(总是出现在配置文件上有问题,不知道是版本的问题还是怎么了)

东拼西凑最后终于出来了,其中的道道还是不大清楚。linux-0.11-devel-040329.zip解压如下:

第二记 在Bochs上加载Linux0.11_第1张图片

配置文件如下:

#gdbstub:enabled=1, port=1234, text_base=0, data_base=0, bss_base=0

romimage: file=$BXSHARE/BIOS-bochs-latest #, address=0xf0000

megs: 16

vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest

#floppyb: 1_44=./rootimage-0.11-for-orig, status=inserted

floppya: 1_44="bootimage-0.11-hd", status=inserted

ata0-master: type=disk, path="hdc-0.11-new.img", mode=flat, cylinders=410, heads=16, spt=38

boot: a

log: bochsout.txt

vga_update_interval: 300000

keyboard_serial_delay: 200

keyboard_paste_delay: 100000

#floppy_command_delay: 50000

#ips: 100000000

private_colormap: enabled=0

fullscreen: enabled=0

cpu: count=1

i440fxsupport: enabled=1

4. Bochs -f bochsrc-fd1-gdb.bxrc(这是我的配置文件名)

运行界面:

第二记 在Bochs上加载Linux0.11_第2张图片 第二记 在Bochs上加载Linux0.11_第3张图片

你可能感兴趣的:(第二记 在Bochs上加载Linux0.11)