用bochs安装linux0.11内核
2012-02-23 17:07
896 查看
参考:http://www.oldlinux.org/oldlinux/forumdisplay.php?fid=4
1.先用gcc编译linux0.11内核(不含文件系统)
这是别人修改后可以gcc编译的,源码已经放到:
\\Cnpc0165-cd\Books\Computer\kernel\linix-0.11\linux-0.11-060618-gcc4
步骤:
make clean
make
之后生成Image这就是内核(含bootsect即MBR)
2.安装bochs2.2.1
![](http://svn.cd.cienet.com.cn:8081/blog/wp-includes/js/tinymce/plugins/wordpress/img/trans.gif)
\\Cnpc0165-cd\Books\Computer\kernel\linix-0.11\Bochs-2.1.1.exe
修改配置
###############################################################
# bochsrc.bxrc file for Tinix.
###############################################################
# how much memory the emulated machine will have
megs: 32
# filename of ROM images
romimage: file=$BXSHARE/BIOS-bochs-latest, address=0xf0000
vgaromimage: $BXSHARE/VGABIOS-elpin-2.40
# what disk images will be used
#虚拟软盘A作为启动盘,就是内核Image
floppya: 1_44=Image, status=inserted
floppyb: 1_44=rootimage-0.11, status=inserted
#虚拟硬盘作为文件系统
ata0-master: type=disk, path="hdc-0.11.img", mode=flat, cylinders=121, heads=16, spt=63
# choose the boot disk.
boot: a
# where do we send log messages?
log: bochsout.txt
# disable the mouse, since Tinix is text only
mouse: enabled=0
# enable key mapping, using US layout as default.
keyboard_mapping: enabled=1, map=$BXSHARE/keymaps/x11-pc-us.map
3.文件系统制作,必须是minix的(0.11内核只认minix)
先用bxIamge创建一个256M的虚拟硬盘hdc.img
将创建的256MB硬盘Image文件hdc.img进行分区并创建MINIX文件系统,将在这个Image文件中创建1个分区,并且建立成MINIX文件系统。
(1)将hdc.img做为从盘挂到Bochs下已有的模拟系统中(例如SLS Linux):
编辑SLS Linux系统的Bochs配置文件bochsrc.bxrc。在ata0-master一行下加入我们的硬盘Image文件的配置参数行:
ata0-slave:type=disk, path=..\Linux-0.11\hdc.img,cylinders=520, heads=16, spt=63
(2)在Bochs下运行SLS Linux
(3)利用fdisk命令在hdc.img文件中建立1个分区。
由于SLS Linux默认建立的分区类型是支持MINIX2.0文件系统的81类型(Linux/MINIX),因此需要使用fdisk的t命令把类型修改成80(Old MINIX)类型。 这里请注意,我们已经把hdc.img挂接成SLS Linux系统下的第2个硬盘。在SLS Linux下第2个硬盘整体的设备名称是/dev/hdb
>fdisk /dev/hdb
>(m for help):
>n //新建分区
>1 //起始柱面
>+63M //结束柱面
>t //改变文件类型
>L
>80 //80 为minix格式
(4) 再次进入SLS Linux模拟系统后,我们使用mkfs命令在刚建立的第1个分区上创建MINIX文件系统。命令与信息如下所示。这里创建了具有64000个数据块的分区(一个数据块为1KB字节)。
mkfs /dev/hdb1 64000
(5)将软盘内容复制到硬盘
(a)用软盘启动:
先放入boot盘,再放入root盘
(b)若还想格式化hdc.img:
mkfs /dev/hdb1 64000
(c)把软盘上的根文件系统复制到硬盘上
[/mnt]#for i in bin dev etc usr tmp
> do
> cp +recursive +verbose /$i $i
>done
注解: 这个时候我们就可以mount我们的hdc.img了,然后把上面的文件拷贝到我们的硬盘上,在拷贝的时候同时建立了硬盘上的文件和i节点的对应关系,一个i节点是否可用又是由i节点位图对应的位来确定的,此处我们需要知道的就是在我们的硬盘上文件和i节点的已经建立对应关系。
具体制作文件系统参考:http://www.cnblogs.com/hongzg1982/articles/2115286.html
1.先用gcc编译linux0.11内核(不含文件系统)
这是别人修改后可以gcc编译的,源码已经放到:
\\Cnpc0165-cd\Books\Computer\kernel\linix-0.11\linux-0.11-060618-gcc4
步骤:
make clean
make
之后生成Image这就是内核(含bootsect即MBR)
2.安装bochs2.2.1
![](http://svn.cd.cienet.com.cn:8081/blog/wp-includes/js/tinymce/plugins/wordpress/img/trans.gif)
\\Cnpc0165-cd\Books\Computer\kernel\linix-0.11\Bochs-2.1.1.exe
修改配置
###############################################################
# bochsrc.bxrc file for Tinix.
###############################################################
# how much memory the emulated machine will have
megs: 32
# filename of ROM images
romimage: file=$BXSHARE/BIOS-bochs-latest, address=0xf0000
vgaromimage: $BXSHARE/VGABIOS-elpin-2.40
# what disk images will be used
#虚拟软盘A作为启动盘,就是内核Image
floppya: 1_44=Image, status=inserted
floppyb: 1_44=rootimage-0.11, status=inserted
#虚拟硬盘作为文件系统
ata0-master: type=disk, path="hdc-0.11.img", mode=flat, cylinders=121, heads=16, spt=63
# choose the boot disk.
boot: a
# where do we send log messages?
log: bochsout.txt
# disable the mouse, since Tinix is text only
mouse: enabled=0
# enable key mapping, using US layout as default.
keyboard_mapping: enabled=1, map=$BXSHARE/keymaps/x11-pc-us.map
3.文件系统制作,必须是minix的(0.11内核只认minix)
先用bxIamge创建一个256M的虚拟硬盘hdc.img
将创建的256MB硬盘Image文件hdc.img进行分区并创建MINIX文件系统,将在这个Image文件中创建1个分区,并且建立成MINIX文件系统。
(1)将hdc.img做为从盘挂到Bochs下已有的模拟系统中(例如SLS Linux):
编辑SLS Linux系统的Bochs配置文件bochsrc.bxrc。在ata0-master一行下加入我们的硬盘Image文件的配置参数行:
ata0-slave:type=disk, path=..\Linux-0.11\hdc.img,cylinders=520, heads=16, spt=63
(2)在Bochs下运行SLS Linux
(3)利用fdisk命令在hdc.img文件中建立1个分区。
由于SLS Linux默认建立的分区类型是支持MINIX2.0文件系统的81类型(Linux/MINIX),因此需要使用fdisk的t命令把类型修改成80(Old MINIX)类型。 这里请注意,我们已经把hdc.img挂接成SLS Linux系统下的第2个硬盘。在SLS Linux下第2个硬盘整体的设备名称是/dev/hdb
>fdisk /dev/hdb
>(m for help):
>n //新建分区
>1 //起始柱面
>+63M //结束柱面
>t //改变文件类型
>L
>80 //80 为minix格式
(4) 再次进入SLS Linux模拟系统后,我们使用mkfs命令在刚建立的第1个分区上创建MINIX文件系统。命令与信息如下所示。这里创建了具有64000个数据块的分区(一个数据块为1KB字节)。
mkfs /dev/hdb1 64000
(5)将软盘内容复制到硬盘
(a)用软盘启动:
先放入boot盘,再放入root盘
(b)若还想格式化hdc.img:
mkfs /dev/hdb1 64000
(c)把软盘上的根文件系统复制到硬盘上
[/mnt]#for i in bin dev etc usr tmp
> do
> cp +recursive +verbose /$i $i
>done
注解: 这个时候我们就可以mount我们的hdc.img了,然后把上面的文件拷贝到我们的硬盘上,在拷贝的时候同时建立了硬盘上的文件和i节点的对应关系,一个i节点是否可用又是由i节点位图对应的位来确定的,此处我们需要知道的就是在我们的硬盘上文件和i节点的已经建立对应关系。
具体制作文件系统参考:http://www.cnblogs.com/hongzg1982/articles/2115286.html
相关文章推荐
- Ubuntu 12.10安装Bochs 2.6, 调试linux-0.11内核
- ubuntu9.04下用bochs安装及调试linux0.11内核
- ubuntu8.04下bochs安装及调试linux 0.11内核
- Ubuntu 12.04安装带调试功能的Bochs 2.6.2, 调试linux 0.11 内核
- Ubuntu 12.04安装Bochs 2.6.2, 调试linux 0.11 内核
- Linux 0.11内核编译和bochs上的实验环境的搭建
- ubuntu 8.04 bochs 调试linux 0.11内核
- Bochs下编译安装Linux-0.11版本
- 利用bochs调试linux 0.11内核
- Ubuntu10.04搭建linux-0.11编译环境(1.bochs安装和使用)
- SUSE 11.2 下使用bochs调试linux-0.11内核(原创)
- 在ubuntu 下用 bochs安装编译linux 0.11 并运行
- Linux 0.11内核编译和bochs上的实验环境的搭建
- linux-0.11完全剖析第二天: bochs+ubuntu 14.04 运行简单的多任务内核
- ubuntu+bochs2.2.1+gdb+gcc3.4.1+linux0.11=内核雏形研究神器
- 终于可以通过GDB和BOCHS调试LINUX0.11内核了
- Ubuntu10.04搭建linux-0.11编译环境(1.bochs安装和使用)
- bochs调试linux 0.11内核
- 利用bochs调试linux 0.11内核
- ubuntu 8.04 bochs 调试linux 0.11内核 .