编译 linux 0.01
编译 linux 0.01
1.下载linux-0.11-devel-060625(这个有gar,编译时要用),bochs 2.5
2.建新硬盘img
用bochs自带的bxp_w_picpath建,按<linux-0.11内核完全解析>里的说明进行,也是256M.
然后fdisk,mkfs,然后把mkdir root, 然后把/bin,/dev,/usr复制过来,这样硬盘的minix系统就OK了。
2.按这个patch修改内核代码:
http://www.oldlinux.org/oldlinux/viewthread.php?tid=4827
只能手动改,那个patch从网页上COPY下来,不能用了。
boot.s里的|改!,用vi的一个命令就搞定了,好在用不了几分钟.
*** 为了防止将来的linux0.01启动后报 HD controller not ready. ***
*** 需要修改hd.c -> controller_ready() ***
*** 1000改为100000 ***
*** (inb(HD_STATUS)&0xc0)!=0x40 改为 (inb(HD_STATUS)&0x80) ***
*** 这个参考 http://www.eetop.cn/blog/html/15/193015-21187.html ***
*** 还要改下硬盘的参数:(config.h) ***
*** #elif defined(LINUS_HD) ***
*** #define HD_TYPE { 16,63,520,300,980,0} ***
3.把修改后的代码放到linux-0.11-devel-060625
修改后的代码打个包:
tar cf linux.tar linux (在centos或redhat打包,然后用WinSCP取出来)
然后把linux.tar通过winp_w_picpath放入rootp_w_picpath-0.11,(也可以在centos,或redhat里进行)
然后启动bochs(用bochs-hd那个),启动后,把rootp_w_picpath放入A盘,(最初放在B盘,怎么都不好用).
然后mdir a:看一下,会看到linux.tar
然后mcopy a:linux.tar /usr/src2(在哪里都行,在/mnt里也行)
另外,删除文件可用mdel a:filename
4.然后就进入/usr/src2,解开linux.tar: tar xf linux.tar
然后cd linux,然后make
5.把生成的Image再通过rootp_w_picpath-0.11传出来.
mcopy Image a:
再用winp_w_picpath从rootp_w_picpath-0.11里取出这个Image,新建个目录linux0.01,把linux-0.01-devel-060625里的bochs-hd.bxrc弄过来。
改里面的参数:
floppya: 1_44="Image", status=inserted #这个Image就是编译生成的,只要和实际的文件对应就行了。
ata0-master: type=disk, path="hd256.img", mode=flat, cylinders=520, heads=16, spt=63
6.启动,OK了.
转载于:https://blog.51cto.com/11210601/1744517
编译 linux 0.01相关推荐
- linux 0.01内核分析与操作系统设计 pdf,《Linux 0.01内核分析与操作系统设计——创造你自己的操作系统》...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 readme 本光盘为<Linux 0.0.1内核分析与操作系统设计--创造你自己的操作系统>一书的配套光盘,读者可自由取其源文件做学习,研究 ...
- linux1.0内核下载,《Linux 0.01 内核分析与操作系统设计》(Linxu 0.01Source)
中文名: Linux_0_01_内核分析与操作系统设计 英文名: Linxu 0.01Source 发行时间: 2003年 地区: 大陆 对白语言: 普通话 简介: 清华 卢军<Linux0.0 ...
- Linux0.1源码分析,《Linux 0.01内核分析与操作系统设计——创造你自己的操作系统》...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 readme 本光盘为<Linux 0.0.1内核分析与操作系统设计--创造你自己的操作系统>一书的配套光盘,读者可自由取其源文件做学习,研究 ...
- Linux 0.01 内存管理
源码下载 Linux 源码下载路径位于 https://mirrors.edge.kernel.org/pub/linux/kernel/,这篇博客所需要的 0.01 版本源码通过点击链接 https ...
- Linux 0.01 源代码目录分布
目录名 所属文件 boot 核心引导代码 fs 文件系统 include 头文件 init Init 进程,系统中执行的第一个进程 kernel 系统调用 lib 库代码 mm 内存管理 tools ...
- Linux Kernel 0.01 的编译和运行
Linux Kernel 0.01 的编译和运行 本文操作环境均在 Linux 系统中实现. ===================================================== ...
- Linux 0.11 实验环境搭建
如果想学习Linux 0.11,实验环境是必不可少的.最好是能编译,能运行,能调试. 如今大家都是用64位的Linux操作系统,而且是高版本的GCC(4.0以上),所以环境搭建是个难题.要么就是编译后 ...
- windows下编译linux内核,windows上可编译Linux内核
编译过程: 1). 解压后默认的文件夹位置是在D:\Linux-0.11,如果你不是将文件解压到该目录下, 你要修改MinGW32目录下的MinGW32.bat文件,将里面的PATH指向MinGW32 ...
- vs2015编译linux源码,使用Visual Studio 2017(VS2017)编译OpenCC 1.0.4 (Open Chinese Convert)源代码...
摘要:本文介绍了Win7 64位环境下OpenCC(Open Chinese Convert) 1.0.4源码编译全过程,除VS2017外,VS2013以上版本也应该基本同样适用,其他版本的Windo ...
最新文章
- jquery源码分析(七)——事件模块 event(二)
- ubuntu16.04安装CUDA 8.0(很详尽,包括一些坑的解决方法)
- 获取族_批量添加族参数(上)
- 搞定所有的跨域请求问题
- Java中的命令设计模式
- Java多线程学习三十二:Callable 和 Runnable 的不同?
- 在Linux环境下安装和配置phpmyadmin
- 利用ISCSI存储技术构建IP存储网络(实战篇)
- 支持nvme的linux_linux里的nvme驱动代码分析
- Linux学习笔记之CentOS7的 wheel组
- 美工建模-PR视频剪辑自学教程
- 电脑自动操作软件_六大写作软件功能解说,网络作家不可错过的码字软件宝典...
- 【Excel】数据透视表—按年、季度、月份汇总报表
- css边框图片的使用场景
- VS连接数据库运行后显示对象名无效
- cron 每隔3天_crontab实现每隔多少天执行一次脚本的两种方法
- JavaScript实现的简单烟花特效代码1.15
- Easypack之Alpine容器系列:Redmine
- 我为什么选择Firefox作为主力浏览器
- 看完 GitHub 上这几个奇葩项目后,我忍不住笑了 233333