[原]菜鸟Gnu/Hurd使用日记(一)安装Hurd
发表于:2007-07-04来源:作者:点击数:
标签:
菜鸟DebianGnu/Hurd使用日记(一)安装Hurd (所使用的系统是DebianGnu/hurdK8) 破碎细胞 QQ:171767853 cool_tml@yahoo.com.cn 如欲转载,请保持文章的完整性. 最后一次更新:2005年1月2日 前言 1.准备工作 先下载光盘iso文件,我是在debian的网站上下载的iso文件.
菜鸟Debian Gnu/Hurd使用日记(一) 安装Hurd
(所使用的系统是Debian Gnu/hurd K8)
破碎细胞
QQ:171767853
<cool_tml@yahoo.com.cn>
如欲转载,请保持文章的完整性.
最后一次更新:2005年1月2日
前言
1.准备工作
先
下载光盘iso文件,我是在debian的网站上下载的iso文件.
网址:
http://eu.hurd.gnuab.org/pub/debian-cd/ http://na.hurd.gnuab.org/pub/debian-cd/ 然后刻盘.(不知道vmware是否能运行hurd,感兴趣的兄弟可以尝试一下)
(更新: VMWare Workstation 4.0.5 build-6030可以运行Hurd)
在安装之前,还要准备一张可以引导系统的grub软盘,因为Debian Gnu/Hurd现在还没有自
己的引导程序.
我是这样做的:
a)插入一张软盘,在终端里运行
mkfs.ext2 -b 4096 /dev/fd0
(不知道为什么,只有用”-b 4096”参数制作的ext2软盘才能在Hurd里挂上去,以方
便在Hurd下修改里面的数据)
b)把制作好软盘挂在系统上
mount /dev/fd0 /mnt/floppy
c)在软盘里建立文件夹boot,然后在boot文件夹里建立文件夹grub
cd /mnt/floppy
mkdir boot
cd boot
mkdir grub
d)把硬盘里的文件stage1和stage2复制到文件夹grub下
(以fedora2为例)
cd /boot/grub
cp stage1 /mnt/floppy/boot/grub/
cp stage2 /mnt/floppy/boot/grub/
e)在软盘grub目录下建立一个文本文件menu.lst(这就是grub的菜单文件)
这里,还有一点需要注意,Hurd的设备命名方式和Linux有所不同,它采用了类似BSD的命名方式.IDE硬盘的名称是hd,第一个IDE硬盘的第一个分区就是:hd0s1;第二个IDE硬盘的第2个分区就是:hd1s2,依此类推.软盘还是fd0.光盘也是hd,例如,我的硬盘是hd0,我的光盘就是hd2(光盘的后面不用加”s*”).
我的menu.lst的内容如下:(标记背景为灰色的文字表示处在同一行)
[code:1:9922b058dc]
default 0
timeout 10
title Hurd
kernel (hd0,7)/boot/gnumach.gz root=device:hd0s8
module (hd0,7)/hurd/ext2fs.static --multiboot-command-line=${kernel-command-line} --host-priv-port=${host-port} --device-master-port=${device-port} --exec-server-task=${exec-task} -T typed ${root} $(task-create) $(task-resume)
module (hd0,7)/lib/ld.so.1 /hurd/exec $(exec-task=task-create)
title Hurd (single user)
kernel (hd0,7)/boot/gnumach.gz root=device:hd0s8 -s
module (hd0,7)/hurd/ext2fs.static --multiboot-command-line=${kernel-command-line} --host-priv-port=${host=port} --device-master-port=${device-port} --exec-server-task=${exec-task} -T typed ${root} $(task-create) $(task-resume)
module (hd0,7)/lib/ld.so.1 /hurd/exec $(exec-task=task-create)
[/code:1:9922b058dc]
f)卸载软盘
umount /mnt/floppy
g)在终端里运行
grub
h)在grub>提示符下执行
root (fd0) 回车
setup (fd0) 回车
这样,一张grub启动盘,就做好了.
2.安装系统
要安装Hurd,你需要有一定的空闲空间,或者一个ext2分区.
(注意:Hurd现在还不能支持大于2GB的分区,默认的安装的分区是ext2,另外Hurd可以和Linux共用同一个swap分区)
a)把Debian Gnu/Hurd K8 CD1放入光驱里,重新启动计算机.
b)光盘将自动引导,当出现”boot”提示符时,直接按回车.
c)出现菜单时,选择第一项”Initial Keyboard Configuration”配置键盘.一般选择默认的就可以了.
d)选择第二项”Partition a Hard Disk”分区设置.
我的分区表如下:
[code:1:9922b058dc]
/dev/hda1 Fedora的”/boot” Bootable
/dev/hda2 Fedora的”/usr”
/dev/hda3 Fedora的”/mydoc”
/dev/hda5 Fedora的”/”
/dev/hda6 Fedora的swap
/dev/hda7 Hurd的swap 256MB
/dev/hda8 Hurd的根目录”/” 1700MB
[/code:1:9922b058dc]
注意:1)如果想要使用Grub在硬盘上来引导系统,grub所在的那个分区必须为bootable.
2)在设置分区类型的时候,Hurd的swap应该设置为”Linux swap”(82),Hurd的根
目录应该设置为”Linux Ext2”(83),而不是”GNU Hurd or srv”(63).
设置好后,就选”write”(将分区表写进硬盘)并输入”yes”,然后”quit”(退出).
e)下面回到第一级菜单,选择”Initialize a GNU/Hurd Partition”,设置Hurd的根目录.
f)回到第一级菜单,选择”Install Base System”,安装基本系统,这一步一路回车就可以了.
g)选择”Reboot”,取出光盘,插入引导软盘.
3.安装/设置软件
a)系统重起以后,出现软盘的grub引导菜单,选择”Hurd (single uesr)”进入.
b)这时会出现很多启动信息,你需要留意你机器硬盘,光盘的设备名,这是很有用的.
c)出现shell提示符后,键入”/native-install”来运行一个初步设置脚本.执行完后,脚本会提示你重起计算机,你reboot就可以了.
d)第二次引导,依然使用”single user”(单用户模式)进入,再一次执行”/native-install”.这次完成后就重起,并以多用户模式(就是grub启动菜单的第一项)进入.
f)当出现”login”提示符时,键入”login root”进入系统.
g)你可以用passwd命令来修改root的密码.但现在首先要做的是:
1)增加设备名
我是这样做的:
cd /dev
./MAKEDEV hd0s7 (这是swap分区)
./MAKEDEV hd2 (这是光驱)
2)编辑/etc/fstab
这是我的fstab文件:
[code:1:9922b058dc]
# <file system> <mount point> <type> <options><dump> <pass>
/dev/hd0s7 none swap sw0 0
/dev/hd0s8 / ext2 rw1 1
[/code:1:9922b058dc]
h)建立cdrom目录
mkdir /cdrom
把光盘放入光驱,并挂载光盘:
settrans /cdrom /hurd/iso9660fs /dev/hd2
i)安装基本的软件
/cdrom/upgrade/install.sh
j)安装图形界面(XFree86等)
/cdrom/upgrade/gui.sh
4.设置硬盘引导程序
如果你原来的硬盘上没有Grub,而你又不想每次都用软盘引导,你可以把软盘上的grub目录以及里面的内容复制到硬盘的/boot目录下.然后把软盘插入软驱,并重新启动,但出现系统选择菜单时,按”c”进入Grub的命令行模式,运行:
root (hd0,7) <--括号里的分区就是你硬盘上/boot目录所在的分区,如果你不知道
它到底在哪里,你可以执行”find /boot/gnumach.gz”,Grub会
显示出分区来.
setup (hd0)
ok!这样Debian Gnu/Hurd 就基本设置好了.
尽情享受探索Hurd的快乐吧
在下一篇文章里,我将介绍怎样设置运行XFree86.[/code]
破碎细胞 回复于:2005-02-18 20:37:17 |
哎~~~~~~~~~
真是“结庐在人境,而无车马喧”啊~~~~~~~~~~~~~`
|
水中风铃 回复于:2005-02-18 20:50:01 |
长见识了,多谢共享,能不能详细介绍一下HURD,我只找到下面的资料 http://www.gnu.org/software/hurd/hurd.cn.html
|
破碎细胞 回复于:2005-02-18 21:19:28 |
估计国内玩Hurd的不多 好的资料都在国外: :D http://hurd.gnufans.org/bin/view/Hurd/WebHome 这个站不错
|
speed_fj 回复于:2005-02-18 21:31:28 |
请问hurd是什么东西?
|
水中风铃 回复于:2005-02-18 21:32:05 |
[quote:7db2f6dcfc="破碎细胞"][/quote:7db2f6dcfc]
嗯,我刚开始学LINUX,HURD还是第一次听说呢!
|
破碎细胞 回复于:2005-02-18 21:36:41 |
[quote:7dbe1206ef="speed_fj"]请问hurd是什么东西?[/quote:7dbe1206ef] GNU Hurd 是 GNU 工程中取代 Unix 的核心。 Hurd 是一组运行在 Mach 微内核上的服务器,用来实现 Unix 或其他核心(如 Linux)实现了的文件系统、网络协议、及文件访问控制等其他功能。
目前,Hurd 运行在 IA32 系统上。未来 Hurd 应该,而且可能会被移植到其他硬件系统或微内核上。
这里有详细的 http://www.gnu.org/software/hurd/hurd.cn.html
|
speed_fj 回复于:2005-02-18 21:46:02 |
哦 编程的 研究内核做实验的 是吗?
|
speed_fj 回复于:2005-02-18 21:47:44 |
不是太懂 内核再应该怎么发展呢?
功能还能加什么阿 无非IO控制 中断控制 进程作业控制 无非就是稳定性能性能上做发展 还有就是带多点驱动 只是这些吗?
我不懂的 想问一下
|
破碎细胞 回复于:2005-02-18 21:48:24 |
[quote:40837clearcase/" target="_blank" >cc994="speed_fj"]哦 编程的 研究内核做实验的 是吗?[/quote:40837cc994]
目前是吧~~~因为还是在开发之中
如果正式版发行了,就可以用广泛的用途了,和Linux或者其他操作系统一样
|
破碎细胞 回复于:2005-02-18 21:53:02 |
[quote:26dc2f54ca="speed_fj"]不是太懂 内核再应该怎么发展呢?
功能还能加什么阿 无非IO控制 中断控制 进程作业控制 无非就是稳定性能性能上做发展 还有就是带多点驱动 只是这些吗?
我不懂的 想问一下[/quote:26dc2f54ca] hurd使用的内核是Mach(将来可能是L4),属于微内核, 而Linux是巨内核
结构不同。 就灵活性来说,微内核应该要好些吧,但实现起来却要复杂些,而且在资源消耗上可能会比巨内核大些
但总得来说 微内核 是一个新的发展方向,概念要先进一些 :D 我应该没说错吧
我也是菜鸟一个啊
|
speed_fj 回复于:2005-02-18 21:57:05 |
微内核是不时stable点 越简单越不容易出错
|
破碎细胞 回复于:2005-02-18 22:02:00 |
[quote:4c8036c22d="speed_fj"]微内核是不时stable点 越简单越不容易出错[/quote:4c8036c22d]
理论上是
但微内核只是把一些原本在内核里的功能 外移 了(就是不集中在一个kernel里了)
在进程间的通信上 难度也许还要大些
至于稳定性 不能单纯地看结构吧 还得看代码的设计等等...
|
破碎细胞 回复于:2005-02-18 22:08:02 |
好象误导你了
Gnu Mach是内核 Hurd是一系列server 来执行一些原来由内核来完成的工作
Debian Gnu/Hurd 应该是发行版吧
|
speed_fj 回复于:2005-02-18 22:20:31 |
谢谢 写个内核真那么难吗 我看过一点点linux1.0.x的内核 只是一点部分的代码 (水平一般 看一本讲解书的)
这个内核应该大多都差不多的把 是不时就一些数据类型定义上有点差别 算法应该还都差不多一路的吧 是马 请赐教
|
破碎细胞 回复于:2005-02-18 22:27:19 |
[quote:563211f446="speed_fj"]谢谢 写个内核真那么难吗 我看过一点点linux1.0.x的内核 只是一点部分的代码 (水平一般 看一本讲解书的)
这个内核应该大多都差不多的把 是不时就一些数据类型定义上有点差别 算法应该还都差不多一路的吧 是马 ..........[/quote:563211f446]
算法应该也有差别吧 1.结构的不同,会导致算法的差异 2.开发的人不同,应该不会写出相同的代码来吧
linux的代码我还没看呢,没时间啊,所以不敢乱说 不过Gnu Mach和hurd都是开放原代码的 你可以看看 比较一下 :)
|
破碎细胞 回复于:2005-02-18 22:30:27 |
[quote:9e5b7c679d="speed_fj"]谢谢 写个内核真那么难吗[/quote:9e5b7c679d]
如果很简单的话 那为什么我们国家还没有一个自己的象样的内核?
|
speed_fj 回复于:2005-02-18 22:55:21 |
资料都公开的 我国数学也不错 也改没有技术盲点阿 我国开发不出来 或者不成功 所以我纳闷呀
其实没必要直接开发 LINUX不是给我们很好机会吗
说OS开发难 的确 听说WIN2000开发化了20亿美金 天那 还那么多BUG 虽然功能超强(最佩服的就是不培训也基本会用)
|
破碎细胞 回复于:2005-02-19 13:32:08 |
[quote:6618a6c57e="speed_fj"]资料都公开的 我国数学也不错 也改没有技术盲点阿 我国开发不出来 或者不成功 所以我纳闷呀
其实没必要直接开发 LINUX不是给我们很好机会吗
说OS开发难 的确 听说WIN2000开发化了20亿美金 天那 还那么多BUG 虽..........[/quote:6618a6c57e]
自由软件 最安全 也最不安全
至于windows,完全是牺牲安全性和性能,提高易用性
|
原文转自:http://www.ltesting.net