aboutsummaryrefslogtreecommitdiff
path: root/Hurd/CrossHurd.mdwn
blob: 58d4e8615a224e9a12f43dc7747b176ad2ec0c8d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
This will eventually become an installation guide for the Debian crosshurd package (GNU/Hurd cross install only). However for the time being it will I am setting it up as a diet version of Hurd/InstalNotes, adapted for crosshurd.

-- [[Main/JoachimNilsson]] - 14 Mar 2004

## <a name="Reserving_partitions"> Reserving partitions </a>

You need a swap and root partition, much like any other UNIX system. Two things to remember:

1. Root partition &lt;2.0 GiB
2. Root partition: mke2fs -o hurd

     # mke2fs -o hurd /dev/DEVICE

## <a name="Bootstrapping"> Bootstrapping </a>

After having installed the Debian crosshurd package you need to mount your newly created Hurd partition.

    mkdir /gnu
    mount /dev/DEVICE /gnu

Now, simply run the crosshurd program and follow the onscreen directions. **Do** select the usr symlink.

    crosshurd

## <a name="Rebooting"> Rebooting </a>

Before we reboot you must setup a Hurd entry in the menu.lst file of Grub. Do it like this and remember, **no trailing spaces**!

    title GNU (kernel GNUmach 1.3)
      root (hdX,Y)
      kernel /boot/gnumach.gz root=device:hdXs(Y+1) -s
      module /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 /lib/ld.so.1 /hurd/exec $(exec-task=task-create)

The notation of Grub, and of the Hurd, can be somewhat bisarre on first sight. Consult the [[InstallNotes]] for a thorough explanation.

N.B. the '-s' on the kernel line, it is "single user mode", which you need for the first two reboots.

OK, reboot now.

## <a name="First_steps"> First steps </a>

Set TERM variable and run native-install script.

    export TERM=mach
    ./native-install

At the end native-install wants you to reboot and run it again. Do so and remember to set the TERM variable as well.

After the second reboot and native-install run you can remove the '-s' in the kernel line above and boot GNU/Hurd as a normal user.

## <a name="Logging_in"> Logging in </a>

Finally, a complete bootstrapped GNU system.

Login as root, add swap partition to /etc/fstab (using nano), setup network and do the old Debian thing of dancing with dselect for a couple of hours.

## <a name="References"> References </a>

* [[InstallNotes]]
* [[GetNetworkRunning]]
* [[HurdConsole]]