Linux是我们熟悉的GUN操作系统,几乎成了GUN的代名词了,可是原本Hurd 才是GUN计划中预期的操作系统核心。 那么究竟什么是GUN Hurd呢,这里引用wiki和百度百科上的关于Hurd的解释,也许对你认识Hurd有些帮助。
来自Wiki的解释
GNU Hurd 是一系列基于 GNU Mach 或者 L4 微内核的守护进程,这一套守护进程最终形成了 GNU 操作系统。GNU 计划从1990年开始开发 GNU Hurd,并且将它作为一个遵循 GPL 的自由软件发布。Hurd 的目标是从功能、安全性和稳定性上全面超越 Unix 内核,而同时又能保持对其的兼容性,为此 Hurd 遵守 POSIX 标准。
「HURD」是一个间接递归缩写,来自「HIRD of Unix Replacing Daemons」,其中「HIRD」表示「HURD of Interfaces Representing Depth」。
架构
微内核的选择
Hurd基于GNU Mach作微内核进行开发。這是由Richard Stallman做出的技術决定
2005年,Hurd开发者Neal Walfield完成了L4/Hurd基本的内存管理框架,Marcus Brinkmann移植了glibc的重要部分
基于GNU/Hurd的发行版
Bee GNU/Hurd
Debian GNU/Hurd
Superunprivileged.org GNU/Hurd Live CD
與 Linux 的差别
如果沒有Hurd的出現而已經有Linux的話,FSF可能不會研發Hurd。但在Linux之前,Hurd就已經被做出來了。而GNU希望這先進的架構能夠讓自由軟體更具有威力。
事實上,GNU的作業系統中預期的核心就是Hurd。而不是Linux,一般常見的Linux平台又可稱為GNU/Linux作業系統。而真正的GNU OS則是維持Hurd作為未來的發展計畫。
来自百度百科:
GNU Hurd 是 GNU 工程中取代 Unix 的核心。 Hurd 是一组运行在 Mach 微内核上的服务器,用来实现 Unix 或其他核心(如 Linux)实现了的文件系统、网络协议、及文件访问控制等其他功能。
目前,Hurd 运行在 IA32 系统上。未来 Hurd 应该,而且可能会被移植到其他硬件系统或微内核上。
Hurd 的优点
Hurd 不是一个已知的最先进的内核,但它有一些诱人的特点:
它是自由软件
任何人在遵守 GNU General Public License (GPL) 的条件下,都可以使用、修改或重新发布它。
它的兼容性
Hurd 提供了一个熟悉的编程和用户环境。对于所有的意图和目的来说,Hurd 都是一个现代的类 Unix 的内核。 Hurd 使用了 GNU C 库,而此库的开发紧紧追踪 ANSI/ISO、BSD、POSIX、Single Unix、SVID 及 X/Open 等标准。
可持续发展的构造
与其他流行的内核软件不同,Hurd 拥有面向对象的结构,这就使得它不断发展而不用改变当前的设计。这种结构将有助于完成 Hurd 主要的重设计和修改而不必完全重写代码。
它的规模很大
Hurd 实现了强有力的多线程,以便它在单处理器和对称多处理器上都可以高效运行。 Hurd 的接口设计成允许透明网络组的共有,但这个特性尚未实现。
它是可扩展的
对於学习怎样成为一个内核黑客或者在内核技术中实现新想法来说, Hurd 是一个有吸引力的平台。系统的每一个部分都设计成可修改和扩展的。
它是稳定的
在开发和测试新的 Hurd 内核组件时,可能不需重新启动机器(即使是意外的)。运行自己的内核组件不会妨碍其他用户,而且这并不需要特殊的系统权限。由於这种设计,扩展内核的程序是安全的:除非他们认可这种改动或者你是系统管理员,否则你的修改不可能影响到其他用户。
它已经存在
Hurd 是正在工作中的真实的软件。不是一个研究项目或提案。你可以开始使用并开发它,而根本不必等待。
Hurd 的含义
据 Thomas Bushnell,BSG,Hurd 的主设计师所述:
『Hurd』代表『Hird of Unix-Replacing Daemons』,而『Hird』又代表了『Hurd of Interfaces Representing Depth』。据我所知,这里,我们拥有了第一个以一对双关语命名的软件。
附:
菜鸟Debian Gnu/Hurd使用日记
(一) 安装Hurd
(所使用的系统是Debian Gnu/hurd K8)
破碎细胞
QQ:171767853
<cool_tml@yahoo.com.cn>
如欲转载,请保持文章的完整性.
最后一次更新:2005年1月2日
前言
1.准备工作
先下载光盘iso文件,我是在debian的网站上下载的iso文件.
网址:[url]http://eu.hurd.gnuab.org/pub/debian-cd/[/url]
[url]http://na.hurd.gnuab.org/pub/debian-cd/[/url]
然后刻盘.(不知道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 sw 0 0
/dev/hd0s8 / ext2 rw 1 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的快乐吧
相关文章
[错误报告] [推荐] [收藏] [打印] [关闭] [返回顶部]


已有