http://linux.chinaunix.net/techdoc/system/2008/10/10/1037409.shtml http://www.linuxidc.com/Linux/2012-04/58644.htm http://blog.renren.com/share/257197565/6676265612 http://blog.163.com/vic_kk/blog/static/4947052420108132423450/ .code32 gas as gld ld .align 2 .align 4 .align 3 .align 8 1.搭建编译环境 在ubuntu下,安装C语言开发环境(主要是gnu的一些Toolchains)。 $ sudo apt-get install build-essential 2.安装包含as86和ld86的软件包bin86 2.1 查找as86和ld86两个工具所在的软件包 $ apt-cache search as86 ld86 2.2 安装该软件包 $ apt-get install bin86 3.安装bochs $ sudo apt-get install bochs vgabios bochs-x bochsbios bochs-doc 4. 下载两个文件包: http://www.oldlinux.org/oldlinux/attachment.php?aid=658 name : linux-0.11-081030.tar.gz : 如果下不下来,google之。 http://oldlinux.org/Linux.old/bochs/linux-0.11-devel-060625.zip name : linux-0.11-devel-060625.zip这个应该可以下下来。 5. 修改Makefile。 GCC4.x 默认检查stack安全,会导致出现__stack_chk_fail错误。将linux-0.11-081030.tar.gz解压,cd进入linux-0.11目录修改下面三个Makefile文件: ./linux-0.11/kernel/Makefile、 ./linux-0.11/kernel/chr_dev/Makefile、 ./linux-0.11/fs/Makefile 三个文件,在 CFLAGS参数中加入-fno-stack-protector 6. make 运行之后,如果无错,那么会得到Image文件。 $ make 7. 解压linux-0.11-devel-060625.zip , 拷出hdc-0.11-new.img 文件到linux-0.11文件夹中(与Image在同一个文件夹中) 8. 编写bxrc文件如下: romimage: file=/usr/share/bochs/BIOS-bochs-latest#注意用绝对路径(原因见参考1) megs: 16 vgaromimage: file=/usr/share/vgabios/vgabios.bin#注意用绝对路径(原因见参考1) vga: extension=vbe floppya: 1_44="Image", status=inserted floppyb: 1_44=diska.img, 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 parport1: enable=0 vga_update_interval: 300000 keyboard_serial_delay: 200 #floppy_command_delay: 50000 必须注释掉不然出错 ips: 4000000 mouse: enabled=0 private_colormap: enabled=0 fullscreen: enabled=0 screenmode: name="sample" 9. 运行bochs $ bochs -f bochsrc.bxrc 参考1:Ubuntu下bochs虚拟机的安装配置(http://www.kanwenzhang.com/software/ubuntu/c/6823/kwz2_26823.html) 参考2:ubutu 搭建bochs 调试linux0.11(http://hi.baidu.com/ju136/blog/item/2058330a69effb37b0351d7e.html) 参考3:ubuntu 8.04 编译 linux 0.11 - 及实验运行(http://www.kanwenzhang.com/software/ubuntu/c/6823/kwz2_26823.html) |
linux 编译的问题
最新推荐文章于 2018-07-11 03:18:46 发布