Wills' Projects: GrUB
GrUB - The GNU Grand Universal Bootloader
The GrUB bootloader is, in essence, a drop-in replacement for LILO or whatever you use to start the OS you have. Being aware of the multiboot kernel standard and various free/free-ish *nix executable formats, it is able to start GNU HURD, Mach, and other OSes besides Linux directly - and can use chainloading otherwise (should your OSes include proprietary ones).
Quick Install Guide
- Create a non-bootable floppy with the file system of your choice (one that GRUB can read, ie. ext2, minix, FAT...)
- Make a /boot/grub directory on it (note: GRUB naming follows *nix/URI convention)
- Place the GRUB package's 'stage1' and 'stage2' files in the new /boot/grub directory, adding a 'menu.lst' in /boot/grub if required
- Run the GRUB shell or boot from an existing GRUB floppy
and issue
`install (fd0)/boot/grub/stage1 (fd0) (fd0)/boot/grub/stage2`
(with the new floppy in the first drive). - Boot the floppy, store kernels/rescue info on it (it's fairly empty but still useable), or edit the menus with your favourite OS and software ;)
Configuration Options
My 'menu.lst' presently runs along these lines:
# GRUB 0.5.95 wills 12/9/2000 # Edited 25/07/2003 for use on Willow color brown/black blue/yellow ## ## Proprietary OS by chainload of boot sector ## # FAT filesystem can be read by GrUB; NTFS isn't -- use 'noverify' # (should also 'noverify' "late" files/partitions on LBA disks [v0.5.95]) title Willow Win95 (C:, FAT) root (hd0,0) #rootnoverify (hd0,0) makeactive chainloader +1 boot ## ## Proprietary OS via backup of MBR ## title Willow Win95 (copy of MBR) root (hd0,0) chainloader (fd0)/willow.mbr boot ## ## Specific kernel direct from (GrUB-readable) FS ## title Willow Linux (kpeg2040.lx, umsdos /dev/hda1) root (hd0,0) kernel (hd0,0)/linux/boot/kpeg2040.lx root=/dev/hda1 rw # initrd /initrd.gz boot ## ## Linux from /dev/hda6 with /dev/hda1 as /boot ## title Linux/xk120 (2.2.16-SMP) root (hd0,5) kernel (hd0,0)/bzlinux-2.2.16-SMP root=/dev/hda6 # initrd /initrd.gz boot ## ## Linux from /dev/hda6 with /dev/hda1 as /boot ## BEWARE! LILO `rdev`s the kernel. GRUB doesn't. ## title kingpin linux root (hd0,5) kernel (hd0,0)/vmlinuz root=/dev/hda6 boot