ALTBOOT(8) | System Manager's Manual (sandpoint) | ALTBOOT(8) |
altboot
—
altboot
is a standalone program which works on top of a
NAS product's bootloader. It is capable of loading a
NetBSD kernel from an IDE or SATA disk drive, or via
network with NFS or TFTP protocol. altboot
can be
stored in flash ROM. Typically you will first copy it from flash into RAM and
then invoke it there to boot the NetBSD kernel.
altboot
runs in conjunction with popular
U-Boot/PPCBoot bootloaders used by NAS products. With an appropriate boot
command line, saved in the environment, altboot
can
load and start a NetBSD kernel without manual
intervention. The original U-Boot/PPCBoot bootloaders remain useful and
altboot works as a functional extension of them.
altboot
occupies less than 128KB in volume and can be
stored to any vacant space of the system's flash. It is made to run at RAM
address offset 0x0100'0000. U-Boot/PPCboot is instructed to copy the program
to RAM in this way:
=> cp.b fffe0000 1000000
20000
Here 0xfffe'0000 is the flash address where
altboot
is stored while 0x0100'0000 is the RAM
address to copy to.
The invocation syntax is:
=> go 1000000
ide:N opt1 opt2
... bootname
altboot
is trying to detect
a non-existing drive. Examples:
Unspecified digits will be read as 0. The ide option has only a meaning for PATA disks. Omitting it makes it default to ide:10.
Omitting optN makes altboot
default to
multi-user mode boot.
N.B., the maximum number of allowed go command arguments varies and depends on the U-Boot/PPCBoot buildtime configuration.
nfs:filename
nfs:
tftp:filename
tftp:
wdNp:filename
wdNp:
mem:address
net:
The last one is a synonym for “nfs”.
altboot
can boot from RAID 1 partitions,
but only if the RAID partition is the first partition on the disk.
U-Boot/PPCBoot provides a way to run a short list of commands right after power-on. The following is a procedure to setup the system for starting NetBSD after a 5 second delay, allowing the user to break into interactive mode. Note that a backslashed ‘;’ is necessary to enter the script correctly.
=> setenv bootcmd cp.b fffe0000 1000000 20000\; go 1000000 wd0: => setenv bootdelay 5 => saveenv
When U-Boot/PPCBoot is lacking important commands like cp or go, or is unable to save the enviroment, then there is still the option to replace the Linux kernel module by altboot.img and save it to the same address in flash ROM. In this case you have only two options left to pass arguments:
altboot
has started. This requires a serial
console.altboot:silent ide:1111
wd0:netbsd
altboot
first appeared in NetBSD 6.0.
October 7, 2013 | NetBSD 9.4 |