From 8d7ed36e113b21de18a1b4a2bf81d218d79114d2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gr=C3=A9goire=20Sutre?= <gregoire.sutre@gmail.com>
Date: Wed, 1 Aug 2012 00:18:57 +0200
Subject: [PATCH 018/482] Update manual NetBSD-wise.
---
ChangeLog | 5 +++++
docs/grub.texi | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
2 files changed, 67 insertions(+), 2 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 01d4f92..b246d4e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
+
+ * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
+ (NetBSD): New subsection.
+
2012-07-22 Ales Nesrsta <starous@volny.cz>
* grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
diff --git a/docs/grub.texi b/docs/grub.texi
index b5954da..b0e7f59 100644
--- a/docs/grub.texi
+++ b/docs/grub.texi
@@ -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, NetBSD@footnote{The 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 several operating systems.
@menu
* GNU/Hurd::
* GNU/Linux::
+* NetBSD::
* DOS/Windows::
@end menu
@@ -997,6 +1000,63 @@ the size, run the command @command{uppermem} @emph{before} loading the
kernel. @xref{uppermem}, for more information.
+@node NetBSD
+@subsection 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}.
+
+@enumerate
+@item
+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:
+
+@example
+grub> @kbd{insmod part_bsd}
+grub> @kbd{set root=(hd0,netbsd1)}
+@end example
+
+For a disk with a GUID Partition Table (GPT), and assuming that the
+NetBSD root partition is the third GPT partition, do this:
+
+@example
+grub> @kbd{insmod part_gpt}
+grub> @kbd{set root=(hd0,gpt3)}
+@end example
+
+@item
+Load the kernel using the command @command{knetbsd}:
+
+@example
+grub> @kbd{knetbsd /netbsd}
+@end 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:
+
+@example
+grub> @kbd{knetbsd /netbsd -s -v}
+@end example
+
+@item
+If needed, load kernel modules with the command
+@command{knetbsd_module_elf}. A typical example is the module for the
+root file system:
+
+@example
+grub> @kbd{knetbsd_module_elf /stand/amd64/6.0/modules/ffs/ffs.kmod}
+@end example
+
+@item
+Finally, run the command @command{boot} (@pxref{boot}).
+@end enumerate
+
+
@node DOS/Windows
@subsection DOS/Windows
--
1.8.2.1