免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4875 | 回复: 18
打印 上一主题 下一主题

[原]菜鸟Gnu/Hurd使用日记(一)安装Hurd [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-02-18 19:57 |只看该作者 |正序浏览
菜鸟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的内容如下:(标记背景为灰色的文字表示处在同一行)

  1. default 0

  2. timeout 10

  3. title Hurd

  4. kernel (hd0,7)/boot/gnumach.gz root=device:hd0s8

  5. 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)

  6. module (hd0,7)/lib/ld.so.1 /hurd/exec $(exec-task=task-create)

  7. title Hurd (single user)

  8. kernel (hd0,7)/boot/gnumach.gz root=device:hd0s8 -s

  9. 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)

  10. module (hd0,7)/lib/ld.so.1 /hurd/exec $(exec-task=task-create)
复制代码


        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”分区设置.  
      我的分区表如下:

  1. /dev/hda1       Fedora的”/boot”    Bootable
  2. /dev/hda2       Fedora的”/usr”
  3. /dev/hda3       Fedora的”/mydoc”
  4. /dev/hda5       Fedora的”/”
  5. /dev/hda6       Fedora的swap
  6. /dev/hda7       Hurd的swap          256MB
  7. /dev/hda8       Hurd的根目录”/”   1700MB
复制代码

        
      注意: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文件:

  1. # <file system>; <mount point>; <type>; <options>;        <dump>; <pass>;
  2. /dev/hd0s7               none                  swap               sw        0        0
  3. /dev/hd0s8               /                  ext2               rw        1        1
复制代码

    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]

论坛徽章:
0
19 [报告]
发表于 2005-02-19 13:32 |只看该作者

[原]菜鸟Gnu/Hurd使用日记(一)安装Hurd

原帖由 "speed_fj" 发表:
资料都公开的 我国数学也不错 也改没有技术盲点阿 我国开发不出来 或者不成功 所以我纳闷呀

其实没必要直接开发 LINUX不是给我们很好机会吗

说OS开发难 的确 听说WIN2000开发化了20亿美金 天那 还那么多BUG 虽..........


自由软件 最安全 也最不安全

至于windows,完全是牺牲安全性和性能,提高易用性

论坛徽章:
0
18 [报告]
发表于 2005-02-18 22:55 |只看该作者

[原]菜鸟Gnu/Hurd使用日记(一)安装Hurd

资料都公开的 我国数学也不错 也改没有技术盲点阿 我国开发不出来 或者不成功 所以我纳闷呀

其实没必要直接开发 LINUX不是给我们很好机会吗

说OS开发难 的确 听说WIN2000开发化了20亿美金 天那 还那么多BUG 虽然功能超强(最佩服的就是不培训也基本会用)

论坛徽章:
0
17 [报告]
发表于 2005-02-18 22:30 |只看该作者

[原]菜鸟Gnu/Hurd使用日记(一)安装Hurd

[quote]原帖由 "speed_fj"]谢谢 写个内核真那么难吗[/quote 发表:


如果很简单的话  那为什么我们国家还没有一个自己的象样的内核?

论坛徽章:
0
16 [报告]
发表于 2005-02-18 22:27 |只看该作者

[原]菜鸟Gnu/Hurd使用日记(一)安装Hurd

原帖由 "speed_fj" 发表:
谢谢 写个内核真那么难吗 我看过一点点linux1.0.x的内核 只是一点部分的代码 (水平一般 看一本讲解书的)

这个内核应该大多都差不多的把 是不时就一些数据类型定义上有点差别 算法应该还都差不多一路的吧  是马 ..........


算法应该也有差别吧
1.结构的不同,会导致算法的差异
2.开发的人不同,应该不会写出相同的代码来吧

linux的代码我还没看呢,没时间啊,所以不敢乱说
不过Gnu Mach和hurd都是开放原代码的
你可以看看 比较一下

论坛徽章:
0
15 [报告]
发表于 2005-02-18 22:20 |只看该作者

[原]菜鸟Gnu/Hurd使用日记(一)安装Hurd

谢谢 写个内核真那么难吗 我看过一点点linux1.0.x的内核 只是一点部分的代码 (水平一般 看一本讲解书的)

这个内核应该大多都差不多的把 是不时就一些数据类型定义上有点差别 算法应该还都差不多一路的吧  是马 请赐教

论坛徽章:
0
14 [报告]
发表于 2005-02-18 22:08 |只看该作者

[原]菜鸟Gnu/Hurd使用日记(一)安装Hurd

好象误导你了

Gnu Mach是内核
Hurd是一系列server  来执行一些原来由内核来完成的工作

Debian Gnu/Hurd 应该是发行版吧

论坛徽章:
0
13 [报告]
发表于 2005-02-18 22:02 |只看该作者

[原]菜鸟Gnu/Hurd使用日记(一)安装Hurd

[quote]原帖由 "speed_fj"]微内核是不时stable点 越简单越不容易出错[/quote 发表:


理论上是

但微内核只是把一些原本在内核里的功能 外移 了(就是不集中在一个kernel里了)

在进程间的通信上 难度也许还要大些

至于稳定性  不能单纯地看结构吧  还得看代码的设计等等...

论坛徽章:
0
12 [报告]
发表于 2005-02-18 21:57 |只看该作者

[原]菜鸟Gnu/Hurd使用日记(一)安装Hurd

微内核是不时stable点 越简单越不容易出错

论坛徽章:
0
11 [报告]
发表于 2005-02-18 21:53 |只看该作者

[原]菜鸟Gnu/Hurd使用日记(一)安装Hurd

原帖由 "speed_fj" 发表:
不是太懂 内核再应该怎么发展呢?

功能还能加什么阿 无非IO控制 中断控制 进程作业控制 无非就是稳定性能性能上做发展  还有就是带多点驱动 只是这些吗?

我不懂的 想问一下

hurd使用的内核是Mach(将来可能是L4),属于微内核,
而Linux是巨内核

结构不同。
就灵活性来说,微内核应该要好些吧,但实现起来却要复杂些,而且在资源消耗上可能会比巨内核大些

但总得来说 微内核 是一个新的发展方向,概念要先进一些
我应该没说错吧

我也是菜鸟一个啊
  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP