Home | History | Annotate | only in /src/share/man/man8/man8.x86
History log of /src/share/man/man8/man8.x86
RevisionDateAuthorComments
 1.1 31-Jul-2013  soren branches: 1.1.4; 1.1.8;
Move shared x86 man pages from man8.i386 to man8.x86.
 1.1.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.8.1 31-Jul-2013  tls file Makefile was added on branch tls-maxphys on 2014-08-20 00:02:37 +0000
 1.1.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.4.1 31-Jul-2013  yamt file Makefile was added on branch yamt-pagecache on 2014-05-22 11:37:52 +0000
 1.39 14-Oct-2025  skrll Trailing whitespace
 1.38 10-Oct-2025  gutteridge man8.x86/boot.8: remove stray period inadvertently added
 1.37 10-Oct-2025  gutteridge man8.x86/boot.8: various minor fixes

Fix spelling and grammar, bump date for significant changes made
earlier today, new sentence = new line.
 1.36 09-Oct-2025  manu Add support for USB-to-serial adapter in UEFI bootstrap.

This change lets UEFI bootstrap use any UEFI supported serial port.
com0 to com3 remain used for EISA based serial ports. com4 and over
are used for serial ports based on something else (USB, PCI or whatever).

Support for non-EISA serial ports may be provided by UEFI. An open
source UEFI driver exists for FTDI FT232R USB-to-serial adapter.

The change also introduce the kconsdev command, to select the kernel
console device without altering the bootstrap console device. This
useful because the device names can differ in bootstrap and kernel.
For instance an USB-to-serial device could be com4 in boostrap and
ucom0 for the kernel.

An upcoming change will add console suport to ucom(4).
 1.35 20-May-2025  pgoyette Historically (prior to supporting the KERNEL_DIR build option), the
boot-commands ``boot file'' and ``boot /file'' were equivalent and
attempted to execute the same set of files. (In the boot-loader,
all path (filename) lookups start at the root directory whether or
not a leading slash is present.)

However, with the recent addition of support for the KERNEL_DIR
option, the leading slash character resulted in skipping the attempt
to load /file/kernel and /file/kernel.gz, and thus the boot loader
will not attempt to boot from a new KERNEL_DIR environment if the
leading slash is present. This commit restores attempting to load
these files, thus making these two boot-commands once again equivalent
in both legacy and KERNEL_DIR environments..

Changes were tested on both i386 (biosboot/qemu) and amd64 (both
biosboot/qemu and efiboot/bare-metal). Correct behavior was observed
using the filenames printed by a preexisting printf(). The output
from ``boot'' commands without arguments was also confirmed to meet
expectations, and commands other than ``boot'' continued to work as
expected.

As discussed on tech-kern, port-i386, and port-amd64 mailing lists.
The more extensive documentation requested by riastradh@ should have
been dealt with more than five years ago with the initial KERNEL_DIR
commit; this commit doesn't pretend to meet that request. As noted
by kre@, the changes being made here are minor/trivial and highly
unlikely to break anything. These changes only affect booting in
new KERNEL_DIR environments; "legacy" environments are not affected.
 1.34 20-May-2025  pgoyette Reverrt previous. I will recomit with proper log message.
 1.33 20-May-2025  pgoyette /home/paul/COMMIT.txt
 1.32 11-May-2025  pgoyette Update the set of filenames/pathnames that the boot loader will try
to boot. Changes result from support of KERNEL_DIR build option.
 1.31 22-Mar-2025  pgoyette Typos
 1.30 14-May-2023  riastradh branches: 1.30.2;
x86/boot(8): Nix trailing whitespace.
 1.29 08-May-2023  manu Remove XXX todo marker left by mistake
 1.28 05-May-2023  manu Add a SELFRELOC kernel option for the sake of documentation clarity.

Instead of telling that x86/boot(8) reloc command needs a kernel able
to self relocate, we can tell it needs a kernel built with the
SELFRELOC option. This keeps the reader from wondering what could
make a kernel able to self relocate.
 1.27 24-Apr-2023  manu Merge x86 boot options in x86/boot(8) and add undocumented UEFI options

We were supposed to keep the option list in x86/boot(8), x86/dosoot(8)
and x86/pxeboot(8) in sync, but it did not happen, hence it may work
better with all the options in x86/boot(8). Also add the undocumented
UEFI boot options.
 1.26 22-Jun-2021  gutteridge branches: 1.26.2;
boot.8: minor grammar tweaks
 1.25 30-May-2021  mlelstv Add "root" command to pass a root specification.
 1.24 22-Apr-2021  rin branches: 1.24.2;
Capitalize /EFI and /EFI/NetBSD as usual. Both are case-insensitive although.
Maybe not worth bumping dates...
 1.23 10-Aug-2020  uwe Formatting fixes for PostScript output.

Mostly use .Ar instead of .Va and use -literal, .Ql, etc where
appropriate.
 1.22 09-Aug-2020  kim Fix cross-refs to x86/mbr that were still missing x86

Additionally made some typo fixes, and added some vertical whitespace
to lists that felt crowded. Unified markup for displaying commands.
 1.21 15-Jul-2020  kim Document optional speed argument to consdev
 1.20 16-Sep-2019  manu Remove obsoeolete BUGS note that UEFI bootloader does not support multiboot
 1.19 13-Sep-2019  wiz New sentence, new line. Bump date for previous.
 1.18 13-Sep-2019  manu Document that bootdev option accepts device specification as NAME=label
 1.17 18-Aug-2019  wiz Typo fixes, 'file system'; new sentence, new line; expand IA-32.
Bump date for previous.
 1.16 18-Aug-2019  manu Document new GPT and RAIDframe capacity of bootstrap code

While there, also document EFI setup and some bugs
 1.15 15-May-2019  maxv branches: 1.15.2;
RB_MD3 now disables SVS.
 1.14 27-Nov-2018  wiz Remove superfluous Ns.
 1.13 25-Nov-2018  maya port-i386/44562: mention correct kernel name order.
 1.12 03-Jul-2017  wiz branches: 1.12.4; 1.12.6;
Remove workaround for ancient HTML generation code.
 1.11 18-Feb-2017  christos branches: 1.11.4;
remove extra /
 1.10 18-Feb-2017  wiz Fix xrefs, sort.
 1.9 17-Feb-2017  christos fix crossrefs
 1.8 17-Feb-2017  christos fix cross references.
 1.7 19-Jun-2016  pgoyette branches: 1.7.2; 1.7.4;
Fix typo.
 1.6 25-Apr-2015  wiz New sentence, new line. Bump date for previous. Various minor changes.
 1.5 25-Apr-2015  mlelstv Explain how the kernel determines the root filesystem from information
passed by the bootloader.
 1.4 16-Aug-2014  apb branches: 1.4.2;
Document supported subsets of image formats,
extracted from comments in src/sys/dev/stbi/stb_image.c.

XXX: This is not the right place to document supported image formats
for splash screens.
 1.3 16-Aug-2014  apb Document fs, menu, rndseed, and splash commands.
Add rescue(8) to SEE ALSO.
Also a little copy editing.
 1.2 16-Aug-2014  apb To get no space between [device:] and [filename],
the mdoc input needs ... Oc Ns Oo ..., not ... Ns Oc Oo ....
 1.1 31-Jul-2013  soren branches: 1.1.4; 1.1.6;
Move shared x86 man pages from man8.i386 to man8.x86.
 1.1.6.1 21-Aug-2014  martin Pull up following revision(s) (requested by apb in ticket #42):
share/man/man8/man8.x86/boot.8: revisions 1.3, 1,4
Document fs, menu, rndseed, and splash commands.
Add rescue(8) to SEE ALSO.
Document supported subsets of image formats.
 1.1.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.4.1 31-Jul-2013  yamt file boot.8 was added on branch yamt-pagecache on 2014-05-22 11:37:52 +0000
 1.4.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.2.1 16-Aug-2014  tls file boot.8 was added on branch tls-maxphys on 2014-08-20 00:02:37 +0000
 1.7.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.7.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.11.4.5 15-Jul-2020  martin Pull up following revision(s) (requested by kim in ticket #1575):

sys/arch/i386/stand/boot/boot2.c: revision 1.74
share/man/man8/man8.x86/boot.8: revision 1.21

Let consdev command also set speed
Adapted from PR install/55490 by Sunil Nimmagadda

Document optional speed argument to consdev
 1.11.4.4 18-Sep-2019  martin Pull up following revision(s) [adapted, via patch]
(requested by manu in ticket #1382):

sys/arch/i386/include/multiboot2.h: revision 1.1
sys/arch/i386/stand/lib/exec.c: revision 1.74
sys/arch/i386/stand/efiboot/efiboot.c: revision 1.11
sys/arch/i386/stand/efiboot/bootia32/multiboot32.S: revision 1.1
sys/arch/i386/stand/lib/biosdisk.c: revision 1.52
sys/arch/i386/stand/efiboot/bootx64/efibootx64.c: revision 1.5
distrib/sets/lists/comp/md.amd64: revision 1.273
sys/arch/i386/stand/efiboot/eficons.c: revision 1.7
sys/arch/i386/stand/efiboot/bootia32/efibootia32.c: revision 1.5
distrib/sets/lists/comp/md.i386: revision 1.191
sys/arch/i386/stand/lib/libi386.h: revision 1.45
sys/arch/i386/stand/lib/bootinfo_memmap.c: revision 1.6
sys/arch/i386/stand/lib/pread.c: revision 1.8
sys/arch/i386/stand/efiboot/efiboot.h: revision 1.10
sys/arch/i386/stand/efiboot/bootia32/Makefile: revision 1.3
sys/arch/i386/stand/lib/Makefile: revision 1.47
sys/arch/i386/stand/efiboot/bootx64/Makefile: revision 1.2
sys/arch/i386/stand/lib/multiboot.S: revision 1.3
sys/arch/i386/stand/efiboot/bootx64/multiboot64.S: revision 1.1
sys/arch/i386/stand/efiboot/efimemory.c: revision 1.9
sys/arch/i386/stand/efiboot/boot.c: revision 1.16
sys/arch/i386/include/Makefile: revision 1.50
sys/arch/i386/stand/efiboot/Makefile.efiboot: revision 1.16
share/man/man8/man8.x86/boot.8: revision 1.20
sys/arch/i386/stand/boot/Makefile.boot: revision 1.73
sys/arch/i386/stand/pxeboot/Makefile: revision 1.26
sys/arch/i386/stand/lib/exec_multiboot1.c: revision 1.1
sys/arch/i386/stand/netboot/Makefile.netboot: revision 1.11
sys/arch/i386/stand/lib/exec_multiboot2.c: revision 1.1
sys/arch/i386/stand/lib/biosdisk.h: revision 1.12
sys/arch/i386/stand/lib/exec_multiboot2.c: revision 1.2
sys/arch/i386/stand/dosboot/Makefile: revision 1.32
sys/external/bsd/gnu-efi/dist/inc/efiapi.h (apply patch)

Add multiboot 2 support to x86 bootloaders

multiboot 2 is required to boot Xen on an EFI system.

This also require a kernel patch for properly discovering
the ACPI RSDP, which is available after 20190912, in
src/sys/arch/x86/acpi/acpi_machdep.c 1.26-1.28

There are a few missing bit in this multiboot 2 implementation
(which are unused by Xen):
- Header tags Address, Freambuffer, and Relocatable are ignored
- Tags APM and Network are not provided
- Tags ACPI old and ACP new are only provided for ACPI boot
- Tag boot device does not provides the subpart (BSD disklabel partition)

Notes:
- multiboot2 is disabled in dosboot, otherwise the binary
gets too big and build fails.
- in src/sys/arch/i386/stand/efiboot, consinit() is renamed
as efi_consinit() to avoid prototype conflicts in src/sys/sys/systm.h

Remove debug define.

It remained there unseen because it was misspelled!

Remove obsoeolete BUGS note that UEFI bootloader does not support multiboot

Add new multiboot2.h header.
 1.11.4.3 18-Sep-2019  martin Pull up following revision(s) (requested by manu in ticket #1381):

share/man/man8/man8.x86/boot.8: revision 1.18
sys/kern/kern_subr.c: revision 1.227

Accept root device specification as NAME=label
Document that bootdev option accepts device specification as NAME=label
 1.11.4.2 17-Sep-2019  martin Pull up following revision(s) (requested by manu in ticket #1373):

sys/arch/i386/stand/boot/boot2.c: revision 1.72 (patch)
sys/arch/i386/stand/lib/biosdisk.c: revision 1.50
sys/arch/i386/stand/lib/biosdisk.c: revision 1.51
sys/arch/i386/stand/efiboot/devopen.c: revision 1.6
sys/arch/i386/stand/efiboot/devopen.h: revision 1.4
sys/arch/i386/stand/efiboot/devopen.c: revision 1.7
sys/arch/i386/stand/efiboot/efidisk.c: revision 1.8
share/man/man8/man8.x86/boot.8: revision 1.16
share/man/man8/man8.x86/boot.8: revision 1.17
sys/arch/i386/stand/lib/Makefile: revision 1.46
sys/arch/i386/stand/boot/devopen.h: revision 1.5
sys/arch/i386/stand/boot/devopen.c: revision 1.9
sys/arch/i386/stand/efiboot/boot.c: revision 1.14 (patch)
sys/arch/i386/stand/efiboot/boot.c: revision 1.15
sys/arch/i386/stand/lib/biosdisk.h: revision 1.11
sys/arch/i386/stand/boot/boot2.c: revision 1.71

Add GPT and RAIDframe support to bootloaders

Classic BIOS (/boot) and EFI bootloaders can now name devices
using the NAME=gpt_label syntax, or using raid partitions. Here
are examples:

boot NAME=root:/netbsd
boot raid0e:/netbsd

Correct the memset(3)'s third argument in i386 biosdisk.c

The size of allocation is the size of the structure biosdisk, not the size
of a pointer.

Document new GPT and RAIDframe capacity of bootstrap code
While there, also document EFI setup and some bugs

Typo fixes, 'file system'; new sentence, new line; expand IA-32.

Bump date for previous.

Make sure devices names are copied including last byte
Fix from M. Levinson.
 1.11.4.1 02-Sep-2019  martin Pull up following revision(s) (requested by sevan in ticket #1351):

share/man/man4/man4.amiga/grf.4: revision 1.7
share/man/man4/si.4: revision 1.11
share/man/man8/man8.sparc/boot.8: revision 1.32
share/man/man5/nsswitch.conf.5: revision 1.29
share/man/man5/mixerctl.conf.5: revision 1.7
share/man/man8/man8.vax/boot.8: revision 1.14
share/man/man4/man4.vax/dn.4: revision 1.12
share/man/man8/man8.vax/drtest.8: revision 1.16
share/man/man8/sysinst.8: revision 1.6
share/man/man4/ip.4: revision 1.37
share/man/man5/boot.cfg.5: revision 1.28
share/man/man1/cd.1: revision 1.10
share/man/man4/usb.4: revision 1.106
share/man/man4/man4.vax/ix.4: revision 1.17
share/man/man7/security.7: revision 1.15
share/man/man7/hier.7: revision 1.123
share/man/man8/afterboot.8: revision 1.58
share/man/man1/man1.x68k/bellctrl.1: revision 1.14
share/man/man4/se.4: revision 1.6
share/man/man4/utoppy.4: revision 1.7
share/man/man4/midi.4: revision 1.32
share/man/man4/cfb.4: revision 1.5
share/man/man4/man4.sparc/magma.4: revision 1.12
share/man/man4/audio.4: revision 1.80
share/man/man4/isic.4: revision 1.18
share/man/man1/cd.1: revision 1.7
share/man/man4/envsys.4: revision 1.51
share/man/man1/cd.1: revision 1.8
share/man/man1/cd.1: revision 1.9
share/man/man3/fast_divide32.3: revision 1.9
share/man/man4/pci.4: revision 1.97
share/man/man5/ranlib.5: revision 1.7
share/man/man3/__arraycount.3: revision 1.7
share/man/man4/isa.4: revision 1.46
share/man/man8/man8.atari/ahdilabel.8: revision 1.14
share/man/man4/chipsfb.4: revision 1.6
share/man/man8/man8.macppc/boot.8: revision 1.8
share/man/man5/passwd.5: revision 1.33
share/man/man8/man8.macppc/ofwboot.8: revision 1.14
share/man/man8/compat_linux.8: revision 1.38
share/man/man4/iop.4: revision 1.22
share/man/man4/ddb.4: revision 1.167
share/man/man4/termios.4: revision 1.37
share/man/man8/compat_freebsd.8: revision 1.18
share/man/man5/ar.5: revision 1.9
share/man/man7/release.7: revision 1.37
share/man/man5/core.5: revision 1.31
share/man/man4/ahd.4: revision 1.6
share/man/man4/man4.vax/ad.4: revision 1.12
share/man/man4/pppoe.4: revision 1.39
share/man/man5/locale.alias.5: revision 1.3
share/man/man8/man8.amiga/installboot.8: revision 1.23
share/man/man4/etherip.4: revision 1.8
share/man/man3/queue.3: revision 1.57
share/man/man5/genassym.cf.5: revision 1.13
share/man/man4/mpls.4: revision 1.10
share/man/man1/wait.1: revision 1.5
share/man/man5/capfile.5: revision 1.4
share/man/man4/man4.alpha/ttwopci.4: revision 1.6
share/man/man4/man4.atari/rtc.4: revision 1.8
share/man/man4/gpiosim.4: revision 1.6
share/man/man3/bitstring.3: revision 1.18
share/man/man4/isdntel.4: revision 1.8
share/man/man4/ai.4: revision 1.9
share/man/man8/man8.hppa/boot.8: revision 1.2
share/man/man4/uyurex.4: revision 1.6
share/man/man8/man8.alpha/mkbootimage.8: revision 1.9
share/man/man4/bpf.4: revision 1.56
share/man/man4/man4.amiga/mfcs.4: revision 1.8
share/man/man4/cmpci.4: revision 1.9
share/man/man8/man8.vax/format.8: revision 1.14
share/man/man8/compat_svr4.8: revision 1.27
share/man/man4/crypto.4: revision 1.26
share/man/man4/userconf.4: revision 1.13
share/man/man4/agp.4: revision 1.17
share/man/man9/man9.i386/bioscall.9: revision 1.10
share/man/man4/uftdi.4: revision 1.20
share/man/man4/radio.4: revision 1.13
share/man/man4/mfb.4: revision 1.5
share/man/man7/ascii.7: revision 1.8
share/man/man4/man4.vax/dl.4: revision 1.13
share/man/man4/ral.4: revision 1.12
share/man/man4/unix.4: revision 1.26
share/man/man4/edc.4: revision 1.12
share/man/man4/pim.4: revision 1.5
share/man/man8/compat_ultrix.8: revision 1.21
share/man/man4/dge.4: revision 1.11
share/man/man8/diskless.8: revision 1.32
share/man/man5/passwd.conf.5: revision 1.11
share/man/man8/man8.acorn26/boot26.8: revision 1.8
share/man/man4/man4.vax/hy.4: revision 1.12
share/man/man4/plip.4: revision 1.4
share/man/man4/sc.4: revision 1.8
share/man/man4/ec.4: revision 1.14
share/man/man4/man4.sgimips/giopci.4: revision 1.9
share/man/man7/sysctl.7: revision 1.114
share/man/man3/bits.3: revision 1.18
share/man/man4/we.4: revision 1.19
share/man/man8/compat_sunos.8: revision 1.21
share/man/man4/ip6.4: revision 1.31
share/man/man4/acpilid.4: revision 1.8
share/man/man4/man4.dreamcast/aica.4: revision 1.6
share/man/man4/mfi.4: revision 1.12
share/man/man4/ugen.4: revision 1.32
share/man/man4/jme.4: revision 1.7
share/man/man4/man4.sparc64/intro.4: revision 1.5
share/man/man4/zyd.4: revision 1.5
share/man/man4/gre.4: revision 1.45
share/man/man3/bitmap.3: revision 1.10
share/man/man4/man4.vax/cons.4: revision 1.12
share/man/man3/gcq.3: revision 1.4
share/man/man4/man4.hppa/pdc.4: revision 1.3
share/man/man4/multicast.4: revision 1.8
share/man/man4/man4.sparc/intro.4: revision 1.27
share/man/man4/ath.4: revision 1.32
share/man/man4/ym.4: revision 1.19
share/man/man3/iso646.3: revision 1.6
share/man/man4/btsco.4: revision 1.13
share/man/man4/man4.i386/ndis.4: revision 1.6
share/man/man4/pad.4: revision 1.6
share/man/man4/strip.4: revision 1.16
share/man/man8/man8.x86/boot.8: revision 1.12
share/man/man4/amr.4: revision 1.15
share/man/man4/ieee80211.4: revision 1.5
share/man/man4/options.4: revision 1.467
share/man/man5/link.5: revision 1.24
share/man/man8/man8.cobalt/boot.8: revision 1.10
share/man/man5/stab.5: revision 1.15
share/man/man3/tree.3: revision 1.12
share/man/man4/route.4: revision 1.31
share/man/man4/man4.sun3/leds.4: revision 1.13
share/man/man4/bluetooth.4: revision 1.20
share/man/man4/man4.i386/pcibios.4: revision 1.19
share/man/man5/veriexec.5: revision 1.8
share/man/man7/operator.7: revision 1.12
share/man/man4/man4.hp300/dcl.4: revision 1.13
share/man/man4/man4.i386/intro.4: revision 1.31
share/man/man5/ld.so.conf.5: revision 1.21
share/man/man8/man8.alpha/boot.8: revision 1.16
share/man/man4/bio.4: revision 1.13
share/man/man4/man4.sun2/leds.4: revision 1.10
share/man/man8/man8.x86/mbr.8: revision 1.4
share/man/man8/man8.mvme68k/boot.8: revision 1.9
share/man/man4/man4.alpha/ttwoga.4: revision 1.6
share/man/man4/ahc.4: revision 1.34

Direct reader to shell documentation generally, rather than csh(1)
specifically.

Mention variables OLDPWD and PWD.

Move the text that explains that cd(1) is a shell built-in to the very
beginning of the description where it can be seen prominently.

Improve formatting.

-

Remove workaround for ancient HTML generation code.
Use EXIT STATUS and .Ex.
 1.12.6.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.12.6.1 10-Jun-2019  christos Sync with HEAD
 1.12.4.2 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.12.4.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.15.2.5 13-May-2023  martin Pull up following revision(s) (requested by manu in ticket #1632):

share/man/man8/man8.x86/boot.8: revision 1.27
sys/arch/i386/stand/efiboot/version: revision 1.3
share/man/man8/man8.x86/boot.8: revision 1.28 (via patch)
share/man/man8/man8.x86/boot.8: revision 1.29 (via patch)
sys/arch/i386/stand/lib/exec.c: revision 1.79
sys/arch/i386/stand/efiboot/efiboot.c: revision 1.13
sys/arch/i386/stand/efiboot/bootx64/efibootx64.c: revision 1.6
sys/arch/i386/stand/efiboot/bootia32/efibootia32.c: revision 1.6
sys/arch/i386/stand/efiboot/boot.c: revision 1.22
sys/arch/amd64/amd64/locore.S: revision 1.219
sys/arch/i386/stand/efiboot/bootia32/startprog32.S: revision 1.3
sys/arch/i386/stand/efiboot/efiboot.h: revision 1.12
sys/arch/amd64/conf/files.amd64: revision 1.121
sys/arch/amd64/conf/std.amd64: revision 1.13
share/man/man8/man8.x86/pxeboot.8: revision 1.6
sys/arch/i386/stand/efiboot/bootx64/startprog64.S: revision 1.4
sys/arch/amd64/amd64/locore.S: revision 1.220
share/man/man8/man8.x86/dosboot.8: revision 1.4
share/man/man4/options.4: revision 1.524

Add reloc keyworkd to let EFI bootstrap load amd64 kernel at any address

EFI bootstrap assumes it can copy the amd64 kernel to its ELF load
address (that is KERNTEXTOFF - KERNBASE = 0x200000), but it can
clash with previous UEFI memory allocation, as described here:
http://mail-index.netbsd.org/tech-kern/2023/04/07/msg028833.html

This change adds a reloc keyword for controling where the EFI
boostrap will copy the kernel image. Possible values are:
default - the default and prior behavior, copy at 0x200000.
none - do not copy and use the kernel image where it was loaded.
address - specify an explicit address where to copy the kernel.

This comes with an amd64 kernel patch that makes it self-relocatable.
It first discover where it was loaded in memory, and if this is
different than the expected 0x200000, hhe the kernel relocates
itself and start over at the right address.

Merge x86 boot options in x86/boot(8) and add undocumented UEFI options

We were supposed to keep the option list in x86/boot(8), x86/dosoot(8)
and x86/pxeboot(8) in sync, but it did not happen, hence it may work
better with all the options in x86/boot(8). Also add the undocumented
UEFI boot options.

Add a SELFRELOC kernel option for the sake of documentation clarity.
Instead of telling that x86/boot(8) reloc command needs a kernel able
to self relocate, we can tell it needs a kernel built with the
SELFRELOC option. This keeps the reader from wondering what could
make a kernel able to self relocate.

Remove XXX todo marker left by mistake

Raise the version for new feature (here reloc command)
Suggested by Masanobu SAITOH
 1.15.2.4 15-Jul-2020  martin Pull up following revision(s) (requested by kim in ticket #1013):

sys/arch/i386/stand/boot/boot2.c: revision 1.74
share/man/man8/man8.x86/boot.8: revision 1.21

Let consdev command also set speed
Adapted from PR install/55490 by Sunil Nimmagadda

Document optional speed argument to consdev
 1.15.2.3 17-Sep-2019  martin Pull up following revision(s) (requested by manu in ticket #205):

share/man/man8/man8.x86/boot.8: revision 1.18
sys/kern/kern_subr.c: revision 1.227

Accept root device specification as NAME=label
Document that bootdev option accepts device specification as NAME=label
 1.15.2.2 17-Sep-2019  martin Pull up following revision(s) (requested by manu in ticket #203):

sys/arch/i386/include/multiboot2.h: revision 1.1
sys/arch/i386/stand/lib/exec.c: revision 1.74
sys/arch/i386/stand/efiboot/efiboot.c: revision 1.11
sys/arch/i386/stand/efiboot/bootia32/multiboot32.S: revision 1.1
sys/arch/i386/stand/lib/biosdisk.c: revision 1.52
sys/arch/i386/stand/efiboot/bootx64/efibootx64.c: revision 1.5
sys/arch/i386/stand/efiboot/eficons.c: revision 1.7
sys/arch/i386/stand/efiboot/bootia32/efibootia32.c: revision 1.5
sys/arch/i386/stand/lib/libi386.h: revision 1.45
sys/arch/i386/stand/lib/bootinfo_memmap.c: revision 1.6
sys/arch/i386/stand/lib/pread.c: revision 1.8
sys/arch/i386/stand/efiboot/efiboot.h: revision 1.10
sys/arch/i386/stand/efiboot/bootia32/Makefile: revision 1.3
sys/arch/i386/stand/lib/Makefile: revision 1.47
sys/arch/i386/stand/efiboot/bootx64/Makefile: revision 1.2
sys/arch/i386/stand/lib/multiboot.S: revision 1.3
sys/arch/i386/stand/efiboot/bootx64/multiboot64.S: revision 1.1
sys/arch/i386/stand/efiboot/efimemory.c: revision 1.9
sys/arch/i386/stand/efiboot/boot.c: revision 1.16
sys/arch/i386/include/Makefile: revision 1.50
sys/arch/i386/stand/efiboot/Makefile.efiboot: revision 1.16
share/man/man8/man8.x86/boot.8: revision 1.20
sys/arch/i386/stand/boot/Makefile.boot: revision 1.73
sys/arch/i386/stand/pxeboot/Makefile: revision 1.26
sys/arch/i386/stand/lib/exec_multiboot1.c: revision 1.1
sys/arch/i386/stand/netboot/Makefile.netboot: revision 1.11
sys/arch/i386/stand/lib/exec_multiboot2.c: revision 1.1
sys/arch/i386/stand/lib/biosdisk.h: revision 1.12
sys/arch/i386/stand/lib/exec_multiboot2.c: revision 1.2
sys/arch/i386/stand/dosboot/Makefile: revision 1.32

Add multiboot 2 support to x86 bootloaders

multiboot 2 is required to boot Xen on an EFI system.

This also require a kernel patch for properly discovering
the ACPI RSDP, which is available after 20190912, in
src/sys/arch/x86/acpi/acpi_machdep.c 1.26-1.28

There are a few missing bit in this multiboot 2 implementation
(which are unused by Xen):
- Header tags Address, Freambuffer, and Relocatable are ignored
- Tags APM and Network are not provided
- Tags ACPI old and ACP new are only provided for ACPI boot
- Tag boot device does not provides the subpart (BSD disklabel partition)
Notes:
- multiboot2 is disabled in dosboot, otherwise the binary
gets too big and build fails.
- in src/sys/arch/i386/stand/efiboot, consinit() is renamed
as efi_consinit() to avoid prototype conflicts in src/sys/sys/systm.h

Remove debug define.

It remained there unseen because it was misspelled!

Remove obsoeolete BUGS note that UEFI bootloader does not support multiboot
 1.15.2.1 13-Sep-2019  martin Pull up following revision(s) (requested by manu in ticket #200):

sys/arch/i386/stand/boot/boot2.c: revision 1.72
sys/arch/i386/stand/lib/biosdisk.c: revision 1.50
sys/arch/i386/stand/lib/biosdisk.c: revision 1.51
sys/arch/i386/stand/efiboot/devopen.c: revision 1.6
sys/arch/i386/stand/efiboot/devopen.h: revision 1.4
sys/arch/i386/stand/efiboot/devopen.c: revision 1.7
sys/arch/i386/stand/efiboot/efidisk.c: revision 1.8
share/man/man8/man8.x86/boot.8: revision 1.16
share/man/man8/man8.x86/boot.8: revision 1.17
sys/arch/i386/stand/lib/Makefile: revision 1.46
sys/arch/i386/stand/boot/devopen.h: revision 1.5
sys/arch/i386/stand/boot/devopen.c: revision 1.9
sys/arch/i386/stand/efiboot/boot.c: revision 1.14
sys/arch/i386/stand/efiboot/boot.c: revision 1.15
sys/arch/i386/stand/lib/biosdisk.h: revision 1.11
sys/arch/i386/stand/boot/boot2.c: revision 1.71

Add GPT and RAIDframe support to bootloaders

Classic BIOS (/boot) and EFI bootloaders can now name devices
using the NAME=gpt_label syntax, or using raid partitions. Here
are examples:

boot NAME=root:/netbsd
boot raid0e:/netbsd

Correct the memset(3)'s third argument in i386 biosdisk.c

The size of allocation is the size of the structure biosdisk, not the size
of a pointer.

Document new GPT and RAIDframe capacity of bootstrap code
While there, also document EFI setup and some bugs

Typo fixes, 'file system'; new sentence, new line; expand IA-32.
Bump date for previous.

Make sure devices names are copied including last byte
Fix from M. Levinson.
 1.24.2.1 31-May-2021  cjep sync with head
 1.26.2.1 13-May-2023  martin Pull up following revision(s) (requested by manu in ticket #159):

share/man/man8/man8.x86/boot.8: revision 1.27
sys/arch/i386/stand/efiboot/version: revision 1.3
share/man/man8/man8.x86/boot.8: revision 1.28
share/man/man8/man8.x86/boot.8: revision 1.29
sys/arch/i386/stand/lib/exec.c: revision 1.79
sys/arch/i386/stand/efiboot/efiboot.c: revision 1.13
sys/arch/i386/stand/efiboot/bootx64/efibootx64.c: revision 1.6
sys/arch/i386/stand/efiboot/bootia32/efibootia32.c: revision 1.6
sys/arch/i386/stand/efiboot/boot.c: revision 1.22
sys/arch/amd64/amd64/locore.S: revision 1.219
sys/arch/i386/stand/efiboot/bootia32/startprog32.S: revision 1.3
sys/arch/i386/stand/efiboot/efiboot.h: revision 1.12
sys/arch/amd64/conf/files.amd64: revision 1.121
sys/arch/amd64/conf/std.amd64: revision 1.13
share/man/man8/man8.x86/pxeboot.8: revision 1.6
sys/arch/i386/stand/efiboot/bootx64/startprog64.S: revision 1.4
sys/arch/amd64/amd64/locore.S: revision 1.220
share/man/man8/man8.x86/dosboot.8: revision 1.4
share/man/man4/options.4: revision 1.524

Add reloc keyworkd to let EFI bootstrap load amd64 kernel at any address

EFI bootstrap assumes it can copy the amd64 kernel to its ELF load
address (that is KERNTEXTOFF - KERNBASE = 0x200000), but it can
clash with previous UEFI memory allocation, as described here:
http://mail-index.netbsd.org/tech-kern/2023/04/07/msg028833.html

This change adds a reloc keyword for controling where the EFI
boostrap will copy the kernel image. Possible values are:
default - the default and prior behavior, copy at 0x200000.
none - do not copy and use the kernel image where it was loaded.
address - specify an explicit address where to copy the kernel.

This comes with an amd64 kernel patch that makes it self-relocatable.
It first discover where it was loaded in memory, and if this is
different than the expected 0x200000, hhe the kernel relocates
itself and start over at the right address.


Merge x86 boot options in x86/boot(8) and add undocumented UEFI options

We were supposed to keep the option list in x86/boot(8), x86/dosoot(8)
and x86/pxeboot(8) in sync, but it did not happen, hence it may work
better with all the options in x86/boot(8). Also add the undocumented
UEFI boot options.


Add a SELFRELOC kernel option for the sake of documentation clarity.
Instead of telling that x86/boot(8) reloc command needs a kernel able
to self relocate, we can tell it needs a kernel built with the
SELFRELOC option. This keeps the reader from wondering what could
make a kernel able to self relocate.

Remove XXX todo marker left by mistake

Raise the version for new feature (here reloc command)
Suggested by Masanobu SAITOH
 1.30.2.1 02-Aug-2025  perseant Sync with HEAD
 1.4 18-Feb-2017  wiz Fix xrefs, sort.
 1.3 17-Feb-2017  christos fix crossrefs
 1.2 17-Feb-2017  christos fix cross references.
 1.1 31-Jul-2013  soren branches: 1.1.4; 1.1.8; 1.1.12; 1.1.16;
Move shared x86 man pages from man8.i386 to man8.x86.
 1.1.16.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.12.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.8.1 31-Jul-2013  tls file boot_console.8 was added on branch tls-maxphys on 2014-08-20 00:02:37 +0000
 1.1.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.4.1 31-Jul-2013  yamt file boot_console.8 was added on branch yamt-pagecache on 2014-05-22 11:37:52 +0000
 1.4 24-Apr-2023  manu Merge x86 boot options in x86/boot(8) and add undocumented UEFI options

We were supposed to keep the option list in x86/boot(8), x86/dosoot(8)
and x86/pxeboot(8) in sync, but it did not happen, hence it may work
better with all the options in x86/boot(8). Also add the undocumented
UEFI boot options.
 1.3 17-Feb-2017  christos branches: 1.3.14; 1.3.22;
fix crossrefs
 1.2 16-Aug-2014  apb branches: 1.2.2; 1.2.4; 1.2.6;
To get no space between [device:] and [filename],
the mdoc input needs ... Oc Ns Oo ..., not ... Ns Oc Oo ....
 1.1 31-Jul-2013  soren branches: 1.1.4;
Move shared x86 man pages from man8.i386 to man8.x86.
 1.1.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.4.1 31-Jul-2013  yamt file dosboot.8 was added on branch yamt-pagecache on 2014-05-22 11:37:52 +0000
 1.2.6.1 21-Apr-2017  bouyer Sync with HEAD
 1.2.4.1 20-Mar-2017  pgoyette Sync with HEAD
 1.2.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.2.1 16-Aug-2014  tls file dosboot.8 was added on branch tls-maxphys on 2014-08-20 00:02:37 +0000
 1.3.22.1 13-May-2023  martin Pull up following revision(s) (requested by manu in ticket #159):

share/man/man8/man8.x86/boot.8: revision 1.27
sys/arch/i386/stand/efiboot/version: revision 1.3
share/man/man8/man8.x86/boot.8: revision 1.28
share/man/man8/man8.x86/boot.8: revision 1.29
sys/arch/i386/stand/lib/exec.c: revision 1.79
sys/arch/i386/stand/efiboot/efiboot.c: revision 1.13
sys/arch/i386/stand/efiboot/bootx64/efibootx64.c: revision 1.6
sys/arch/i386/stand/efiboot/bootia32/efibootia32.c: revision 1.6
sys/arch/i386/stand/efiboot/boot.c: revision 1.22
sys/arch/amd64/amd64/locore.S: revision 1.219
sys/arch/i386/stand/efiboot/bootia32/startprog32.S: revision 1.3
sys/arch/i386/stand/efiboot/efiboot.h: revision 1.12
sys/arch/amd64/conf/files.amd64: revision 1.121
sys/arch/amd64/conf/std.amd64: revision 1.13
share/man/man8/man8.x86/pxeboot.8: revision 1.6
sys/arch/i386/stand/efiboot/bootx64/startprog64.S: revision 1.4
sys/arch/amd64/amd64/locore.S: revision 1.220
share/man/man8/man8.x86/dosboot.8: revision 1.4
share/man/man4/options.4: revision 1.524

Add reloc keyworkd to let EFI bootstrap load amd64 kernel at any address

EFI bootstrap assumes it can copy the amd64 kernel to its ELF load
address (that is KERNTEXTOFF - KERNBASE = 0x200000), but it can
clash with previous UEFI memory allocation, as described here:
http://mail-index.netbsd.org/tech-kern/2023/04/07/msg028833.html

This change adds a reloc keyword for controling where the EFI
boostrap will copy the kernel image. Possible values are:
default - the default and prior behavior, copy at 0x200000.
none - do not copy and use the kernel image where it was loaded.
address - specify an explicit address where to copy the kernel.

This comes with an amd64 kernel patch that makes it self-relocatable.
It first discover where it was loaded in memory, and if this is
different than the expected 0x200000, hhe the kernel relocates
itself and start over at the right address.


Merge x86 boot options in x86/boot(8) and add undocumented UEFI options

We were supposed to keep the option list in x86/boot(8), x86/dosoot(8)
and x86/pxeboot(8) in sync, but it did not happen, hence it may work
better with all the options in x86/boot(8). Also add the undocumented
UEFI boot options.


Add a SELFRELOC kernel option for the sake of documentation clarity.
Instead of telling that x86/boot(8) reloc command needs a kernel able
to self relocate, we can tell it needs a kernel built with the
SELFRELOC option. This keeps the reader from wondering what could
make a kernel able to self relocate.

Remove XXX todo marker left by mistake

Raise the version for new feature (here reloc command)
Suggested by Masanobu SAITOH
 1.3.14.1 13-May-2023  martin Pull up following revision(s) (requested by manu in ticket #1632):

share/man/man8/man8.x86/boot.8: revision 1.27
sys/arch/i386/stand/efiboot/version: revision 1.3
share/man/man8/man8.x86/boot.8: revision 1.28 (via patch)
share/man/man8/man8.x86/boot.8: revision 1.29 (via patch)
sys/arch/i386/stand/lib/exec.c: revision 1.79
sys/arch/i386/stand/efiboot/efiboot.c: revision 1.13
sys/arch/i386/stand/efiboot/bootx64/efibootx64.c: revision 1.6
sys/arch/i386/stand/efiboot/bootia32/efibootia32.c: revision 1.6
sys/arch/i386/stand/efiboot/boot.c: revision 1.22
sys/arch/amd64/amd64/locore.S: revision 1.219
sys/arch/i386/stand/efiboot/bootia32/startprog32.S: revision 1.3
sys/arch/i386/stand/efiboot/efiboot.h: revision 1.12
sys/arch/amd64/conf/files.amd64: revision 1.121
sys/arch/amd64/conf/std.amd64: revision 1.13
share/man/man8/man8.x86/pxeboot.8: revision 1.6
sys/arch/i386/stand/efiboot/bootx64/startprog64.S: revision 1.4
sys/arch/amd64/amd64/locore.S: revision 1.220
share/man/man8/man8.x86/dosboot.8: revision 1.4
share/man/man4/options.4: revision 1.524

Add reloc keyworkd to let EFI bootstrap load amd64 kernel at any address

EFI bootstrap assumes it can copy the amd64 kernel to its ELF load
address (that is KERNTEXTOFF - KERNBASE = 0x200000), but it can
clash with previous UEFI memory allocation, as described here:
http://mail-index.netbsd.org/tech-kern/2023/04/07/msg028833.html

This change adds a reloc keyword for controling where the EFI
boostrap will copy the kernel image. Possible values are:
default - the default and prior behavior, copy at 0x200000.
none - do not copy and use the kernel image where it was loaded.
address - specify an explicit address where to copy the kernel.

This comes with an amd64 kernel patch that makes it self-relocatable.
It first discover where it was loaded in memory, and if this is
different than the expected 0x200000, hhe the kernel relocates
itself and start over at the right address.

Merge x86 boot options in x86/boot(8) and add undocumented UEFI options

We were supposed to keep the option list in x86/boot(8), x86/dosoot(8)
and x86/pxeboot(8) in sync, but it did not happen, hence it may work
better with all the options in x86/boot(8). Also add the undocumented
UEFI boot options.

Add a SELFRELOC kernel option for the sake of documentation clarity.
Instead of telling that x86/boot(8) reloc command needs a kernel able
to self relocate, we can tell it needs a kernel built with the
SELFRELOC option. This keeps the reader from wondering what could
make a kernel able to self relocate.

Remove XXX todo marker left by mistake

Raise the version for new feature (here reloc command)
Suggested by Masanobu SAITOH
 1.5 22-Jun-2021  gutteridge mbr.8: fix a typo
 1.4 03-Jul-2017  wiz Remove workaround for ancient HTML generation code.
 1.3 18-Feb-2017  wiz branches: 1.3.4;
Fix xrefs, sort.
 1.2 17-Feb-2017  christos fix crossrefs
 1.1 31-Jul-2013  soren branches: 1.1.4; 1.1.8; 1.1.12; 1.1.16;
Move shared x86 man pages from man8.i386 to man8.x86.
 1.1.16.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.12.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.8.1 31-Jul-2013  tls file mbr.8 was added on branch tls-maxphys on 2014-08-20 00:02:37 +0000
 1.1.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.4.1 31-Jul-2013  yamt file mbr.8 was added on branch yamt-pagecache on 2014-05-22 11:37:52 +0000
 1.3.4.1 02-Sep-2019  martin Pull up following revision(s) (requested by sevan in ticket #1351):

share/man/man4/man4.amiga/grf.4: revision 1.7
share/man/man4/si.4: revision 1.11
share/man/man8/man8.sparc/boot.8: revision 1.32
share/man/man5/nsswitch.conf.5: revision 1.29
share/man/man5/mixerctl.conf.5: revision 1.7
share/man/man8/man8.vax/boot.8: revision 1.14
share/man/man4/man4.vax/dn.4: revision 1.12
share/man/man8/man8.vax/drtest.8: revision 1.16
share/man/man8/sysinst.8: revision 1.6
share/man/man4/ip.4: revision 1.37
share/man/man5/boot.cfg.5: revision 1.28
share/man/man1/cd.1: revision 1.10
share/man/man4/usb.4: revision 1.106
share/man/man4/man4.vax/ix.4: revision 1.17
share/man/man7/security.7: revision 1.15
share/man/man7/hier.7: revision 1.123
share/man/man8/afterboot.8: revision 1.58
share/man/man1/man1.x68k/bellctrl.1: revision 1.14
share/man/man4/se.4: revision 1.6
share/man/man4/utoppy.4: revision 1.7
share/man/man4/midi.4: revision 1.32
share/man/man4/cfb.4: revision 1.5
share/man/man4/man4.sparc/magma.4: revision 1.12
share/man/man4/audio.4: revision 1.80
share/man/man4/isic.4: revision 1.18
share/man/man1/cd.1: revision 1.7
share/man/man4/envsys.4: revision 1.51
share/man/man1/cd.1: revision 1.8
share/man/man1/cd.1: revision 1.9
share/man/man3/fast_divide32.3: revision 1.9
share/man/man4/pci.4: revision 1.97
share/man/man5/ranlib.5: revision 1.7
share/man/man3/__arraycount.3: revision 1.7
share/man/man4/isa.4: revision 1.46
share/man/man8/man8.atari/ahdilabel.8: revision 1.14
share/man/man4/chipsfb.4: revision 1.6
share/man/man8/man8.macppc/boot.8: revision 1.8
share/man/man5/passwd.5: revision 1.33
share/man/man8/man8.macppc/ofwboot.8: revision 1.14
share/man/man8/compat_linux.8: revision 1.38
share/man/man4/iop.4: revision 1.22
share/man/man4/ddb.4: revision 1.167
share/man/man4/termios.4: revision 1.37
share/man/man8/compat_freebsd.8: revision 1.18
share/man/man5/ar.5: revision 1.9
share/man/man7/release.7: revision 1.37
share/man/man5/core.5: revision 1.31
share/man/man4/ahd.4: revision 1.6
share/man/man4/man4.vax/ad.4: revision 1.12
share/man/man4/pppoe.4: revision 1.39
share/man/man5/locale.alias.5: revision 1.3
share/man/man8/man8.amiga/installboot.8: revision 1.23
share/man/man4/etherip.4: revision 1.8
share/man/man3/queue.3: revision 1.57
share/man/man5/genassym.cf.5: revision 1.13
share/man/man4/mpls.4: revision 1.10
share/man/man1/wait.1: revision 1.5
share/man/man5/capfile.5: revision 1.4
share/man/man4/man4.alpha/ttwopci.4: revision 1.6
share/man/man4/man4.atari/rtc.4: revision 1.8
share/man/man4/gpiosim.4: revision 1.6
share/man/man3/bitstring.3: revision 1.18
share/man/man4/isdntel.4: revision 1.8
share/man/man4/ai.4: revision 1.9
share/man/man8/man8.hppa/boot.8: revision 1.2
share/man/man4/uyurex.4: revision 1.6
share/man/man8/man8.alpha/mkbootimage.8: revision 1.9
share/man/man4/bpf.4: revision 1.56
share/man/man4/man4.amiga/mfcs.4: revision 1.8
share/man/man4/cmpci.4: revision 1.9
share/man/man8/man8.vax/format.8: revision 1.14
share/man/man8/compat_svr4.8: revision 1.27
share/man/man4/crypto.4: revision 1.26
share/man/man4/userconf.4: revision 1.13
share/man/man4/agp.4: revision 1.17
share/man/man9/man9.i386/bioscall.9: revision 1.10
share/man/man4/uftdi.4: revision 1.20
share/man/man4/radio.4: revision 1.13
share/man/man4/mfb.4: revision 1.5
share/man/man7/ascii.7: revision 1.8
share/man/man4/man4.vax/dl.4: revision 1.13
share/man/man4/ral.4: revision 1.12
share/man/man4/unix.4: revision 1.26
share/man/man4/edc.4: revision 1.12
share/man/man4/pim.4: revision 1.5
share/man/man8/compat_ultrix.8: revision 1.21
share/man/man4/dge.4: revision 1.11
share/man/man8/diskless.8: revision 1.32
share/man/man5/passwd.conf.5: revision 1.11
share/man/man8/man8.acorn26/boot26.8: revision 1.8
share/man/man4/man4.vax/hy.4: revision 1.12
share/man/man4/plip.4: revision 1.4
share/man/man4/sc.4: revision 1.8
share/man/man4/ec.4: revision 1.14
share/man/man4/man4.sgimips/giopci.4: revision 1.9
share/man/man7/sysctl.7: revision 1.114
share/man/man3/bits.3: revision 1.18
share/man/man4/we.4: revision 1.19
share/man/man8/compat_sunos.8: revision 1.21
share/man/man4/ip6.4: revision 1.31
share/man/man4/acpilid.4: revision 1.8
share/man/man4/man4.dreamcast/aica.4: revision 1.6
share/man/man4/mfi.4: revision 1.12
share/man/man4/ugen.4: revision 1.32
share/man/man4/jme.4: revision 1.7
share/man/man4/man4.sparc64/intro.4: revision 1.5
share/man/man4/zyd.4: revision 1.5
share/man/man4/gre.4: revision 1.45
share/man/man3/bitmap.3: revision 1.10
share/man/man4/man4.vax/cons.4: revision 1.12
share/man/man3/gcq.3: revision 1.4
share/man/man4/man4.hppa/pdc.4: revision 1.3
share/man/man4/multicast.4: revision 1.8
share/man/man4/man4.sparc/intro.4: revision 1.27
share/man/man4/ath.4: revision 1.32
share/man/man4/ym.4: revision 1.19
share/man/man3/iso646.3: revision 1.6
share/man/man4/btsco.4: revision 1.13
share/man/man4/man4.i386/ndis.4: revision 1.6
share/man/man4/pad.4: revision 1.6
share/man/man4/strip.4: revision 1.16
share/man/man8/man8.x86/boot.8: revision 1.12
share/man/man4/amr.4: revision 1.15
share/man/man4/ieee80211.4: revision 1.5
share/man/man4/options.4: revision 1.467
share/man/man5/link.5: revision 1.24
share/man/man8/man8.cobalt/boot.8: revision 1.10
share/man/man5/stab.5: revision 1.15
share/man/man3/tree.3: revision 1.12
share/man/man4/route.4: revision 1.31
share/man/man4/man4.sun3/leds.4: revision 1.13
share/man/man4/bluetooth.4: revision 1.20
share/man/man4/man4.i386/pcibios.4: revision 1.19
share/man/man5/veriexec.5: revision 1.8
share/man/man7/operator.7: revision 1.12
share/man/man4/man4.hp300/dcl.4: revision 1.13
share/man/man4/man4.i386/intro.4: revision 1.31
share/man/man5/ld.so.conf.5: revision 1.21
share/man/man8/man8.alpha/boot.8: revision 1.16
share/man/man4/bio.4: revision 1.13
share/man/man4/man4.sun2/leds.4: revision 1.10
share/man/man8/man8.x86/mbr.8: revision 1.4
share/man/man8/man8.mvme68k/boot.8: revision 1.9
share/man/man4/man4.alpha/ttwoga.4: revision 1.6
share/man/man4/ahc.4: revision 1.34

Direct reader to shell documentation generally, rather than csh(1)
specifically.

Mention variables OLDPWD and PWD.

Move the text that explains that cd(1) is a shell built-in to the very
beginning of the description where it can be seen prominently.

Improve formatting.

-

Remove workaround for ancient HTML generation code.
Use EXIT STATUS and .Ex.
 1.1 31-Jul-2013  soren branches: 1.1.4; 1.1.8;
Move shared x86 man pages from man8.i386 to man8.x86.
 1.1.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.8.1 31-Jul-2013  tls file multiboot.8 was added on branch tls-maxphys on 2014-08-20 00:02:37 +0000
 1.1.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.4.1 31-Jul-2013  yamt file multiboot.8 was added on branch yamt-pagecache on 2014-05-22 11:37:52 +0000
 1.6 24-Apr-2023  manu Merge x86 boot options in x86/boot(8) and add undocumented UEFI options

We were supposed to keep the option list in x86/boot(8), x86/dosoot(8)
and x86/pxeboot(8) in sync, but it did not happen, hence it may work
better with all the options in x86/boot(8). Also add the undocumented
UEFI boot options.
 1.5 29-Aug-2020  fcambus branches: 1.5.6;
Fix a bunch of typos in various man pages.
 1.4 18-Feb-2017  wiz branches: 1.4.14;
Fix xrefs, sort.
 1.3 17-Feb-2017  christos fix crossrefs
 1.2 16-Aug-2014  apb branches: 1.2.2; 1.2.4; 1.2.6;
To get no space between [device:] and [filename],
the mdoc input needs ... Oc Ns Oo ..., not ... Ns Oc Oo ....
 1.1 31-Jul-2013  soren branches: 1.1.4;
Move shared x86 man pages from man8.i386 to man8.x86.
 1.1.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.4.1 31-Jul-2013  yamt file pxeboot.8 was added on branch yamt-pagecache on 2014-05-22 11:37:52 +0000
 1.2.6.1 21-Apr-2017  bouyer Sync with HEAD
 1.2.4.1 20-Mar-2017  pgoyette Sync with HEAD
 1.2.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.2.1 16-Aug-2014  tls file pxeboot.8 was added on branch tls-maxphys on 2014-08-20 00:02:37 +0000
 1.4.14.1 13-May-2023  martin Pull up following revision(s) (requested by manu in ticket #1632):

share/man/man8/man8.x86/boot.8: revision 1.27
sys/arch/i386/stand/efiboot/version: revision 1.3
share/man/man8/man8.x86/boot.8: revision 1.28 (via patch)
share/man/man8/man8.x86/boot.8: revision 1.29 (via patch)
sys/arch/i386/stand/lib/exec.c: revision 1.79
sys/arch/i386/stand/efiboot/efiboot.c: revision 1.13
sys/arch/i386/stand/efiboot/bootx64/efibootx64.c: revision 1.6
sys/arch/i386/stand/efiboot/bootia32/efibootia32.c: revision 1.6
sys/arch/i386/stand/efiboot/boot.c: revision 1.22
sys/arch/amd64/amd64/locore.S: revision 1.219
sys/arch/i386/stand/efiboot/bootia32/startprog32.S: revision 1.3
sys/arch/i386/stand/efiboot/efiboot.h: revision 1.12
sys/arch/amd64/conf/files.amd64: revision 1.121
sys/arch/amd64/conf/std.amd64: revision 1.13
share/man/man8/man8.x86/pxeboot.8: revision 1.6
sys/arch/i386/stand/efiboot/bootx64/startprog64.S: revision 1.4
sys/arch/amd64/amd64/locore.S: revision 1.220
share/man/man8/man8.x86/dosboot.8: revision 1.4
share/man/man4/options.4: revision 1.524

Add reloc keyworkd to let EFI bootstrap load amd64 kernel at any address

EFI bootstrap assumes it can copy the amd64 kernel to its ELF load
address (that is KERNTEXTOFF - KERNBASE = 0x200000), but it can
clash with previous UEFI memory allocation, as described here:
http://mail-index.netbsd.org/tech-kern/2023/04/07/msg028833.html

This change adds a reloc keyword for controling where the EFI
boostrap will copy the kernel image. Possible values are:
default - the default and prior behavior, copy at 0x200000.
none - do not copy and use the kernel image where it was loaded.
address - specify an explicit address where to copy the kernel.

This comes with an amd64 kernel patch that makes it self-relocatable.
It first discover where it was loaded in memory, and if this is
different than the expected 0x200000, hhe the kernel relocates
itself and start over at the right address.

Merge x86 boot options in x86/boot(8) and add undocumented UEFI options

We were supposed to keep the option list in x86/boot(8), x86/dosoot(8)
and x86/pxeboot(8) in sync, but it did not happen, hence it may work
better with all the options in x86/boot(8). Also add the undocumented
UEFI boot options.

Add a SELFRELOC kernel option for the sake of documentation clarity.
Instead of telling that x86/boot(8) reloc command needs a kernel able
to self relocate, we can tell it needs a kernel built with the
SELFRELOC option. This keeps the reader from wondering what could
make a kernel able to self relocate.

Remove XXX todo marker left by mistake

Raise the version for new feature (here reloc command)
Suggested by Masanobu SAITOH
 1.5.6.1 13-May-2023  martin Pull up following revision(s) (requested by manu in ticket #159):

share/man/man8/man8.x86/boot.8: revision 1.27
sys/arch/i386/stand/efiboot/version: revision 1.3
share/man/man8/man8.x86/boot.8: revision 1.28
share/man/man8/man8.x86/boot.8: revision 1.29
sys/arch/i386/stand/lib/exec.c: revision 1.79
sys/arch/i386/stand/efiboot/efiboot.c: revision 1.13
sys/arch/i386/stand/efiboot/bootx64/efibootx64.c: revision 1.6
sys/arch/i386/stand/efiboot/bootia32/efibootia32.c: revision 1.6
sys/arch/i386/stand/efiboot/boot.c: revision 1.22
sys/arch/amd64/amd64/locore.S: revision 1.219
sys/arch/i386/stand/efiboot/bootia32/startprog32.S: revision 1.3
sys/arch/i386/stand/efiboot/efiboot.h: revision 1.12
sys/arch/amd64/conf/files.amd64: revision 1.121
sys/arch/amd64/conf/std.amd64: revision 1.13
share/man/man8/man8.x86/pxeboot.8: revision 1.6
sys/arch/i386/stand/efiboot/bootx64/startprog64.S: revision 1.4
sys/arch/amd64/amd64/locore.S: revision 1.220
share/man/man8/man8.x86/dosboot.8: revision 1.4
share/man/man4/options.4: revision 1.524

Add reloc keyworkd to let EFI bootstrap load amd64 kernel at any address

EFI bootstrap assumes it can copy the amd64 kernel to its ELF load
address (that is KERNTEXTOFF - KERNBASE = 0x200000), but it can
clash with previous UEFI memory allocation, as described here:
http://mail-index.netbsd.org/tech-kern/2023/04/07/msg028833.html

This change adds a reloc keyword for controling where the EFI
boostrap will copy the kernel image. Possible values are:
default - the default and prior behavior, copy at 0x200000.
none - do not copy and use the kernel image where it was loaded.
address - specify an explicit address where to copy the kernel.

This comes with an amd64 kernel patch that makes it self-relocatable.
It first discover where it was loaded in memory, and if this is
different than the expected 0x200000, hhe the kernel relocates
itself and start over at the right address.


Merge x86 boot options in x86/boot(8) and add undocumented UEFI options

We were supposed to keep the option list in x86/boot(8), x86/dosoot(8)
and x86/pxeboot(8) in sync, but it did not happen, hence it may work
better with all the options in x86/boot(8). Also add the undocumented
UEFI boot options.


Add a SELFRELOC kernel option for the sake of documentation clarity.
Instead of telling that x86/boot(8) reloc command needs a kernel able
to self relocate, we can tell it needs a kernel built with the
SELFRELOC option. This keeps the reader from wondering what could
make a kernel able to self relocate.

Remove XXX todo marker left by mistake

Raise the version for new feature (here reloc command)
Suggested by Masanobu SAITOH

RSS XML Feed