summaryrefslogtreecommitdiff
path: root/Main/BootProcess.mdwn
blob: 27b7cfe6f32406d630c6c4d38cd9ab71ec29e8ff (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
This is just a working document for me to learn the GNU/Hurd boot/init process. Please feel free to modify!

\*\* Just a note. These notes are based on a Debian CD installation so your mileage may vary.

Frickin' wiki lost my first draft...

----

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

[GRUB](http://www.gnu.org/software/grub/) (GRand Unified Bootloader) is the default (and as far as I know the only supported ) bootloader for GNU/Hurd and is the initial process.

GRUB can be used for booting multiple Operating Systems on a given machine. Device naming convention for GRUB is different than that of the Hurd. Where the first partition on the primary IDE drive in GNU/Hurd is hd0s1, in GRUB it is (hd0,0). In the case of GNU/Hurd, the first thing that GRUB loads is kernel image.

Here is a copy of GNU/Hurd multi-user entry from menu.lst

    # Entry 2:  1st partition on first HDD
    title  GNU/Hurd (IDE 1st partition - hd0s1 multi-user)
    root   (hd0,0)
    kernel /boot/gnumach.gz root=device:hd0s1
    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 first two lines are primarily informational and are what get displayed on the GRUB boot menu.

The line "root (hd0,0)" tells GRUB where to look for the root partition. Notice that the (hd0,0) is using GRUB naming conventions.

The next line loads the gnumach kernel image itself. Notice here the root=device:hd0s1 argument. This is now using GNU/Hurd device naming convention, telling the Hurd where the root partition exists.

----

-- [[Main/BarryDeFreese]] - 29 May 2003