DESCRIPTION
Power fail and crash recovery
When the
NetBSD kernel is booted normally (using one of the two methods discussed below), it initializes itself and proceeds to boot the system. An automatic consistency check of the file systems takes place, and unless this fails, the system comes up to multi-user operations. The proper way to shut the system down is with the
shutdown(8) command.
If the system crashes, it will enter the kernel debugger, ddb(4), if it is configured in the kernel. If the debugger is not present, or the debugger is exited, the system will attempt a dump to the configured dump device (which will be automatically recovered with savecore(8) during the next boot cycle). After the dump is complete (successful or not), the system will attempt a reboot.
Booting NetBSD using the bootloader
When a bootable
NetBSD partition is created by means of HDTOOLBOX or another RDB editing program and a bootblock has been copied there by
installboot(8) and the boot priority of the
NetBSD partition is either the highest or the
NetBSD partition is selected by means of the boot menu, the Amiga ROM will automatically start the
NetBSD bootloader. By default it will, after a short timeout, load the kernel image
/netbsd and attempt to boot it into multi-user mode. This behaviour can be changed by typing in an alternate command sequence. The command line looks like:
kernel-path [-abknpqstvADZ] [-c model] [-m memsize] [-n memsegments] [-I mask] [-S amount] [-T amount]
-
kernel-path
-
This gives you the opportunity to boot another kernel, say: /netbsd.old. The default is /netbsd.
-
-a
-
Autoboot into multi-user mode (default).
-
-b
-
Prompt for the root file system device, the system crash dump device, and the path to init(8).
-
-c model
-
force machine model. Use 32000+(Qlogic chip revision) for the DraCo.
-
-k
-
Reserve the first 4M of fastmem.
-
-m memsize
-
Force fastmem size to be memsize kBytes.
-
-n
-
maximum number of segments of memory to use, encoded as follows: 0 (default): 1 segment, 1: 2 segments, 2: 3 or more segments.
-
-p
-
Select kernel load segment by priority instead of size.
-
-q
-
Boot in quiet mode.
-
-s
-
Boot into single-user mode.
-
-v
-
Boot in verbose mode.
-
-D
-
Enter the kernel debugger (best used with -S)
-
-I mask
-
inhibit sync negotiation as follows: The mask is a bitmap expressed in C notation (e.g., 0xff) with 4*8bits, each bit, if set to 1, disabling sync negotiation for the corresponding target. Note that this only applies to (some of the) real SCSI busses, but not, e.g., to internal IDE. The bytes are used up from right to left by SCSI bus drivers using this convention.
-
-S
-
Load the kernel symbols
Booting NetBSD using the loadbsd program
When you want (or have to) start
NetBSD from AmigaOS, you have to use the
loadbsd program that is supplied in the utils directory of the distribution. The loadbsd command line specification is:
loadbsd [-abknpstADZ] [-c model] [-m memsize] [-n memsegments] [-I mask] [-S amount] [-T amount] kernel-path
Description of options:
-
-a
-
Autoboot into multi-user mode.
-
-b
-
Prompt for the root file system device, the system crash dump device, and the path to init(8).
-
-c
-
force machine model.
-
-k
-
Reserve the first 4M of fastmem.
-
-m
-
Force fastmem size to be memsize kBytes.
-
-n
-
maximum number of segments of memory to use, encoded as follows: 0 (default): 1 segment, 1: 2 segments, 2: 3 or more segments.
-
-p
-
Select kernel load segment by priority instead of size.
-
-s
-
Boot into single-user mode.
-
-t
-
Test loading of the kernel but don't start NetBSD.
-
-A
-
enable AGA modes.
-
-D
-
Enter the kernel debugger after booting. Best with -S.
-
-I mask
-
inhibit sync negotiation as follows: The mask is a bitmap expressed in hexadecimal (e.g., ff) with 4*8bits, each bit, if set to 1, disabling sync negotiation for the corresponding target. Note that this only applies to (some of the) real SCSI busses, but not, e.g., to internal IDE. The bytes are used up from right to left by SCSI bus drivers using this convention.
-
-S
-
include kernel debug symbols (for use by -D).
-
-Z
-
Force load via chip memory. Won't work if kernel is larger than the chip memory size or on the DraCo.
Note: Because the loadbsd program can only read kernels from a AmigaOS filesystem, the file /netbsd is often not the same as the actual kernel booted. This can cause some programs to fail. However, note that you can use third-party Berkeley filesystems such as bffs to access the NetBSD root partition from AmigaOS.
BUGS
Due to code size restrictions, you can't currently use an old-style file system (created with
newfs(8) -O or with
NetBSD 0.9) with the boot block. You can use
loadbsd to boot from AmigaOS, or upgrade the file system with
fsck_ffs -c 2.