菜鸟Debian Gnu/Hurd使用日记(一)安装Hurd

(所使用的系统是Debian Gnu/hurd K8)
谭孟泷(破碎细胞)
QQ:171767853
<[email protected]>;
如欲转载,请保持文章的完整性.

最后一次更新: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的内容如下:(标记背景为灰色的文字表示处在同一行)

 
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)

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

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

 
# <file system>; <mount point>; <type>; <options>;        <dump>; <pass>;
/dev/hd0s7               none                  swap               sw        0        0
/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