summaryrefslogtreecommitdiff
path: root/Mach/AdvancedGrubUsage.mdwn
blob: be76cd2f5910468a1fde59dc64f8a72c8128c59a (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
## <a name="Advanced_Grub"> Advanced Grub </a>

[Grub](http://www.gnu.org/software/grub/) is a capable boot loader. This document is intended to capture some of its most interesting features and try to explain them a bit better than the texinfo documentation.

### <a name="TFTP_Boot"> </a> TFTP Boot

Using trivial ftp to load a kernel is one of the best features of Grub. Here is how it is done.

1. `cd /usr/src/debian`
2. `apt-get source grub`
3. <tt>cd grub-_VERSION_</tt>
4. Add `--enable-tulip` or similar for your NIC to the `./configure` line of the `configure-stamp` target in the `debian/rules` file.
5. `dpkg-buildpackage` (as `root`)
6. `cd ..`
7. `dpkg -i grub*.deb`
8. <tt>cp /usr/lib/grub/_ARCH_/\* /boot/grub</tt> (<tt>_ARCH_</tt> is _e.g._ `i386-pc`)
9. Edit your `/boot/grub/menu.lst` (see below)
10. If your boot disk is `/dev/hda` ==&gt; `grub-install (hd0)`

The `menu.lst` can look something like this:

    ifconfig --address=192.168.1.2 --server=192.168.1.1
    root (nd)
    kernel /gnu/boot/oskit-mach.gz root=device:hd0s2
    root (hd0,1)
    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)

**Note: Make sure there are NO spaces after the trailing backslases (\\)!!**

For more information on GNUmach modules lines and installation setup, see [[Hurd/InstallNotes]]

-- [[Main/JoachimNilsson]] - 13 Sep 2003