summaryrefslogtreecommitdiff
path: root/Hurd/GrubNotes.mdwn
blob: 4ff5fe692e8d561ba781bef83a9ce3659b8143f2 (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
While [Neal's install guide](http://web.walfield.org/papers/hurd-installation-guide/english/hurd-install-guide.html) is very good it does not have complete information regarding the GRUB boot loader. The syntax is also different from Lilo's and so to scratch my own itch I'm creating this quick reference. The [Grub manual](http://www.gnu.org/manual/grub/html_mono/grub.html) is another good reference.

* update-grub is **Debian specific** and very nice. It will automatically create a /boot/grub/menu.lst file for the kernels in /boot/. It will also append a manually configured set for other partitions like the GNU/Hurd.
* grub-floppy is a **Debian specific** boot floppy creation script.
* mkbimage is a **Debian specific** boot disk image creation script.
* <http://khazad.dyndns.org/packages/grub-disk/> contains a Debian packaged makefile for creating CD &amp; floppy images.
* essential Grub commands &amp; disk syntax
  * root
  * kernel
  * module
  * boot
* sample file

    title           GNU/Linux
    root            (hd0,11)
    kernel          /boot/vmlinuz-2.4.18 root=/dev/hda12 ro
    initrd          /boot/initrd.img-2.4.18
    savedefault

    title           GNU/Hurd
    root            (hd0,15)
    kernel          /boot/oskit-mach root=device:hd0s16 --
    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)
    savedefault

    title           DOS
    rootnoverify    (hd0,0)
    chainloader +1

-- [[Main/GrantBow]] - 01 Oct 2002

Another example, just as good, but a lot easier to read. The backslash at the end of each line is to "escape" the enter-key. So make sure there are no spaces following the backslashes!

    title GNU/Linux (Kernel 2.4.18)
       root            (hd0,11)
       kernel          /boot/vmlinuz-2.4.18 root=/dev/hda12 ro
       initrd          /boot/initrd.img-2.4.18
       savedefault

    title GNUmach 1.3
       root (hd0,1)
       kernel /boot/gnumach.gz root=device:hd0s2
       module /hurd/ext2fs.static --readonly                  \
              --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)

    title GNUmach 1.90 (CVS)
       root (hd0,1)
       kernel /boot/oskit-mach.gz root=device:hd0s2 --
       module /hurd/ext2fs.static --readonly                  \
              --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)

Note the differences between GNUmach and OSKit-Mach. The latter **needs** the two dashes after the root specification!

-- [[Main/JoachimNilsson]] - 09 Nov 2002