=== modified file 'docs/grub.texi' --- docs/grub.texi 2012-06-23 08:55:14 +0000 +++ docs/grub.texi 2012-07-29 23:01:27 +0000 @@ -311,8 +311,10 @@ tables are also loaded. @item Support non-Multiboot kernels Support many of the various free 32-bit kernels that lack Multiboot -compliance (primarily FreeBSD, NetBSD, OpenBSD, and -Linux). Chain-loading of other boot loaders is also supported. +compliance (primarily FreeBSD, address@hidden NetBSD/i386 kernel +is Multiboot-compliant, but lacks support for Multiboot modules.}, +OpenBSD, and Linux). Chain-loading of other boot loaders is also +supported. @item Load multiples modules Fully support the Multiboot feature of loading multiple modules. @@ -897,6 +899,7 @@ Here, we describe some caveats on severa @menu * GNU/Hurd:: * GNU/Linux:: +* NetBSD:: * DOS/Windows:: @end menu @@ -997,6 +1000,63 @@ the size, run the command @command{upper kernel. @xref{uppermem}, for more information. address@hidden NetBSD address@hidden NetBSD + +Booting a NetBSD kernel from GRUB is also relatively easy: first set +GRUB's root device, then load the kernel and the modules, and finally +run @command{boot}. + address@hidden address@hidden +Set GRUB's root device to the partition holding the NetBSD root file +system. For a disk with a NetBSD disk label, this is usually the first +partition (a:). In that case, and assuming that the partition is on the +first hard disk, set GRUB's root device as follows: + address@hidden +grub> @kbd{insmod part_bsd} +grub> @kbd{set root=(hd0,netbsd1)} address@hidden example + +For a disk with a GUID Partition Table (GPT), and assuming that the +NetBSD root partition is the third GPT partition, do this: + address@hidden +grub> @kbd{insmod part_gpt} +grub> @kbd{set root=(hd0,gpt3)} address@hidden example + address@hidden +Load the kernel using the command @command{knetbsd}: + address@hidden +grub> @kbd{knetbsd /netbsd} address@hidden example + +Various options may be given to @command{knetbsd}. These options are, +for the most part, the same as in the NetBSD boot loader. For instance, +to boot the system in single-user mode and with verbose messages, do +this: + address@hidden +grub> @kbd{knetbsd /netbsd -s -v} address@hidden example + address@hidden +If needed, load kernel modules with the command address@hidden A typical example is the module for the +root file system: + address@hidden +grub> @kbd{knetbsd_module_elf /stand/amd64/6.0/modules/ffs/ffs.kmod} address@hidden example + address@hidden +Finally, run the command @command{boot} (@pxref{boot}). address@hidden enumerate + + @node DOS/Windows @subsection DOS/Windows