boot
—
system bootstrapping procedures
Normally, the system will reboot itself at power-up or after crashes. An
automatic consistency check of the file systems will be performed, and unless
this fails, the system will resume multi-user operations.
The X68000/X68030 system boots from the device which is determined by the
configuration of battery-backuped SRAM. By default, the boot ROM attempts to
boot from floppy disk drives (from 0 to 3) first, and then attempts to boot
from hard disk (SASI or SCSI). On the NetBSD/x68k,
booting from SCSI disks (sd??) and 2HD floppy disks (fd?a, fd?c) is currently
supported.
When the floppy disk is selected as the boot device, the initial program loader
of the IOCS (firmware) reads the fdboot_ufs program at
the top of the disk, and then the fdboot_ufs program loads the
/boot program from the FFS or LFS file system.
Normally, the /boot program then loads the
NetBSD kernel /netbsd from the
same floppy. In addition, the /boot program has
abilities to uncompress gzip'ed kernels, to read the kernel from other disks
of other file systems etc (see below).
For floppy disks, fdboot_ustar is also
provided to read large kernels which do not fit one a single floppy.
When a SCSI hard disk is selected as the boot device, the initial program loader
on the SCSI host adapter's ROM reads the operating system-independent IPL menu
program at the top of the disk. The IPL menu program recognizes the partition
table, and selects the partition to read the operating system kernel. During
this phase, when the HELP key on the keyboard is pressed, the IPL menu program
displays the partition menu of that disk to prompt the user to select the boot
partition (although the NetBSD implementation of the
IPL menu, /usr/mdec/mboot, does not have this
functionality).
Next, the IPL menu reads the OS-dependent boot program from the
top of the selected partition. For NetBSD FFS/LFS
file systems sdboot_ufs is used. The
sdboot_ufs program then loads the
/boot program from that partition.
Once running, a banner similar to the following will appear:
NetBSD Multi-boot, Revision 1.1
(user@buildhost, builddate)
Press return to boot now, any other key for boot menu
booting sd0a:netbsd - starting in 5
After a countdown, the system image listed will be loaded. (In the
example above, it will be
“sd0a:netbsd
” which is the file
netbsd
on partition “a” of the
NetBSD SCSI hard disk of ID 0. Pressing a key within
the time limit will enter interactive mode.
In interactive mode, the boot loader will present a prompt, allowing input of
these commands:
boot
[device:][filename]
[-adqsv
]
- The default device will be set to the disk that the
boot loader was loaded from. To boot from an alternate disk, the full name
of the device should be given at the prompt. device
is of the form
xd[N[x]]
where xd is the device from which to boot,
N is the unit number, and x is
the partition letter.
The following list of supported devices may vary from
installation to installation:
- sd
- SCSI disks on a controller recognized by the IOCS. The unit number is
the SCSI ID.
- fd
- Floppy drives as numbered by the IOCS.
The default filename is
netbsd; if the boot loader fails to successfully
open that image, it then tries netbsd.gz
(expected to be a kernel image compressed by
gzip(1)). Alternate
system images can be loaded by just specifying the name of the
image.
Options are:
-a
- Prompt for the root file system device, the system crash dump device,
and the path to
init(8).
-d
- Bring the system up in debug mode. Here it waits for a kernel debugger
connect; see
ddb(4).
-q
- Boot the system in quiet mode.
-s
- Bring the system up in single-user mode.
-v
- Boot the system in verbose mode.
help
- Print an overview about commands and arguments.
ls
[path]
- Print a directory listing of path, containing
inode number, filename and file type. path can
contain a device specification.
halt
- Reboot the system.
Note for X68030+MC68030 systems: Nothing special to be attended to; you can boot
NetBSD just like as other operating systems such as
Human68k and OS-9.
Note for X68030/040turbo(68040 accelerator by BEEPs) systems:
NetBSD can boot under 040 mode. It can also boot
under 030 mode if you have MC68030 on the board.
Note for X68000/Xellent30(68030 accelerator by TSR)+MC68030
systems: In order to boot NetBSD, you must choose
030 mode by using CH30.SYS, which must reside in the
battery-backuped SRAM.
Note for X68000/Jupiter-X(68040/060 accelerator by FTZ-net)
systems: The system must be in 040/060 processor mode.
- /netbsd
- system code
- /netbsd.gz
- gzip-compressed system code
- /usr/mdec/xxboot_ufs
- boot block (read by installboot), xx is disktype
- /usr/mdec/boot
- source of /boot (can be just copied to the root directory)
- /boot
- main part of the boot program