Next: , Previous: , Up: OS-specific notes   [Contents][Index]

5.3.2 GNU/Linux

It is relatively easy to boot GNU/Linux from GRUB, because it somewhat resembles to boot a Multiboot-compliant OS.

  1. Set GRUB’s root device to the same drive as GNU/Linux’s. The command search --set=root --file /vmlinuz or similar may help you (see search).
  2. Load the kernel using the command linux (see linux):
    grub> linux /vmlinuz root=/dev/sda1

    If you need to specify some kernel parameters, just append them to the command. For example, to set acpi to ‘off’, do this:

    grub> linux /vmlinuz root=/dev/sda1 acpi=off

    See the documentation in the Linux source tree for complete information on the available options.

    With linux GRUB uses 32-bit protocol. Some BIOS services like APM or EDD aren’t available with this protocol. In this case you need to use linux16

    grub> linux16 /vmlinuz root=/dev/sda1 acpi=off
  3. If you use an initrd, execute the command initrd (see initrd) after linux:
    grub> initrd /initrd

    If you used linux16 you need to use initrd16:

    grub> initrd16 /initrd
  4. Finally, run the command boot (see boot).

Caution: If you use an initrd and specify the ‘mem=’ option to the kernel to let it use less than actual memory size, you will also have to specify the same memory size to GRUB. To let GRUB know the size, run the command uppermem before loading the kernel. See uppermem, for more information.