Ubuntu 18.04环境下Linux 0.11 内核编译及在bochs 2.6.9中的调试运行
2022-05-02 16:45:44 7KB linux 0.11 bochs2.6.9 ubuntu18.04
1
1、下载一个带有 gcc 1.40 编译环境的 Linux 0.11 系统软件包。 http://oldlinux.org/Linux.old/bochs/linux-0.11-devel-040329.zip 2、解压linux-0.11-devel-040329.zip 3、安装Bochs: 在解压的目录里有Bochs安装文件:Bochs-2.1.1.exe,点击安装 4、把解压下的大多数文件拷贝到安装目录下(除了Bochs-2.1.1.exe) 5、双击bochsrc-hd.bxrc运行,能运行起来说明,安装成功 6、运行bochs, 在进入目录/usr/src/linux后键入make命令, 即可编译 Linux 0.11 内核源代码 make clean ## 来清除所有编译好的*.o文件或其它模块 make ## 重新编译 出现错误: gcc-cc1: Invalid option "string-insns" 请将每个Makefile文件中的-mstring-insns参数去掉。每个子目录中都有一个,kernel目录下还有三个驱动程序子目录(math, blk_drv, chr_drv) (/usr/src/linux,fs,lib,kernel,kernel/blk_drv,kernel/chr_drv,kernel/math) 同时,到/usr/local/bin中把ar 改名为gar, 或者复制一个 修改完后再执行 make clean make 7、make成功后生成引导启动映象文件Image。若需要输出这个Image文件, 可以首先备份bootimage-0.11-hd文件, 然后使用下面命令就会把bootimage-0.11-hd替换成新的引导启动文件 dd bs=8192 if=Image of=/dev/fd0 注意此处是把编译完的Image(启动映象文件)输出到/dev/fd0,注意此处的/dev/fd0实际上就是bochs中定义的floppya: 1_44="bootimage-0.11-hd", status=inserted,也就是要替换"bootimage-0.11-hd" 8、直接重新启动 Bochs 即可使用该新编译生成的 bootimage-0.11-hd 来引导系统。 9、如果不相信,可以修改bootsect.s然后重新编译,就可以看到启动的时候 Loading system...create by happy (还要执行# dd bs=8192 if=Image of=/dev/fd0) 嘿嘿,可以任意修改,主要修改几个地方: ! Print some inane message mov ah,#0x03 ! read cursor pos xor bh,bh int 0x10 mov cx,#47 mov bx,#0x0007 ! page 0, attribute 7 (normal) mov bp,#msg1 mov ax,#0x1301 ! write string, move cursor int 0x10 msg1: .byte 13,10 .ascii "Loading system ...this is create by happy" .byte 13,10,13,10 .org 508
2022-03-28 00:22:59 15.46MB linux
1
为什么用 Visual Studio 2013 就不用多说了吧,绝对比任何专用的源代码阅读软件都强悍。 查看函数调用层次一类的功能,为分析源代码提供最大的方便。 而且 MASM Intel 格式的汇编代码,可比 GCC AT&T 格式的便于阅读多了。 编辑汇编代码,推荐使用 Notepad++,完美支持 MASM 语法高亮。 首先下载我修改好的 VS 版 Linux 0.11 源码,解压后打开解决方案。 右键点击 Image 项目,重新生成,按 Ctrl + F5 运行即可。 会启动调试版的 Bochs 虚拟机,加载新编译的软盘镜像运行。 虚拟硬盘内,带 gcc 1.40 编译环境,可以自己写程序测试各个系统调用功能。 阅读代码中有不明白的,直接插入 printk,重新生成运行,几秒钟的事。
2022-03-27 22:07:21 10.92MB Linux 0.11
1
使用docker搭建Linux 0.11 实验环境 对于学习linux内核的同学,Linux 0.11源码绝对是首选。但由于现在的硬件架构以及编译器的版本对于搭建Linux 0.11的实验环境会有一定的困难,因此本文目的是基于docker容器搭建一个纯净的Linux 0.11的环境。为你学习linux内核源码提供便利。 希望你的Linux内核学习之路能从这里开始。 获取源码 从github上获取Linux 0.11实验环境。 (base) frank@deepin:~/git$ git clone https://github.com/tinyclub/cloud-lab.git 正克隆到 '
2022-03-07 11:36:40 581KB c do doc
1
以内核源代码为基础,介绍了完整的linux内核实现原理 ·选择早期linux内核进行介绍,排除了目前内核中复杂而庞大的实现细节 ·整个内核代码仅有14000行 ·提供可运行相关内核的完整实验系统 本书对早期的linux操作系统内核(v0.11)全部源代码文件进行了详细的注释和说明,旨在让读者能够在短时间内对linux的工作机理获得全面而深刻的理解,为进一步学习和研究linux系统打下坚实的基础。书中首先介绍了linux系统的发展历史,着重说明了各个内核版本之间的重要区别,给出了选择0.11版作为研究对象的原因;然后依据内核源代码的组织结构对所有代码进行了详细注释。在注释的同时,还介绍了读者应该了解的相关知识,并给出了相关的硬件信息。本书还介绍了内核源代码的组织结构及相互关系。 本书适合作为计算机专业学生学习操作系统课程的实践教材和参考书,也适合linux操作系统爱好者自学,还可供具有一定基础的技术人员作为嵌入式开发应用的参考书。 *************************************************************** 请注意: 下载完,评论的同时,请点击评论框上方的五角星(共5个五角星),这样你的被扣的积分就可以返还了。 如果只评论,不点击小五角星,积分不会返还。 一定要先下载完,再评论。如果先评论后下载,或者在下载的过程中评论,积分同样不会返还。 *************************************************************** 更多linux、ARM和C语言资源请参考: http://blog.csdn.net/arkofnoach/archive/2010/10/23/5960560.aspx
2022-02-11 16:16:48 5.54MB linux内核完全注释 修正版v2.0 赵炯 pdf
1
适合学习操作系统的学生,使用linux-0.11做实验能更好的领悟操作系统
2021-12-27 09:00:57 15.22MB 操作系统 linux 源码 linux-0.11
1
Linux内核0.11源码和完全注释(赵炯)
2021-09-28 21:06:00 4.59MB linux内核 linux源码 linux-0.11 linux_0.11
1
linux-0.11源代码,本人认为对嵌入式,linux内核研究,操作系统原理与设计都有一定的帮助!
2021-08-28 10:53:48 1.01MB linux linux内核 源码
1
Linux内核0.11完全注释 A Heavy Commented Linux Kernel Source Code Linux Version 0.11
2021-08-27 14:21:58 8.05MB linux 0.11 源代码
1
本书对Linux早期操作系统内核(v0.11)全部代码文件进行了详细全面的注释和说明,旨在使读者能够在尽量短的时间内对Linux的工作机理获得全面而深刻的理解,为进一步学习和研究Linux系统打下坚实的基础.书中首先以Linux源代码版本的变迁历史为主线,详细介绍了Linux系统的发展历史,着重说明了各个内核版本之间的重要区别和改进方面,给出了选择0.11(0.95)版作为研究的对象的原因。然后本书依据内核源代码的组织结构对所有内核程序和文件进行了注释和详细说明。 在注释的同时,还介绍了读者应该了解的相关知识,并给出了相关的硬件信息。本书带介绍了内核源代码的组织结构信相互关系。 本书适合作为计算机专业学生学习操作系统课程的实践教材和参考书,也适合Linrx操作系统爱好者自学,还可以供具有一定基础的技术人员作为嵌入式开发应用的参考书。
2021-08-18 16:05:07 5.17MB Linux 0.11 内核 PDF
1