第二记 在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解压如下:


配置文件如下:

#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(这是我的配置文件名)

运行界面:



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值