NetBSD/sandpoint diskboot feature

"Toru Nishimura" <[email protected]> Mon, 28 Jun 2010 11:11:00 +0900
Newsgroups gmane.os.netbsd.ports.sandpoint
Message-ID <C5B06CE4438E43ADB94ABE34B556C956@tpad4>
Folks,

diskboot feature was added.  KuroBox is known working while
Synology needs more debug time.

"netboot.bin" (soon renamed as it's now capable of diskboot) is
a standalone program to provide "pre-boot environment" for NetBSD.
It's a functional bridge between PPCboot/U-Boot and NetBSD
kernel.  The features are;
- it detects HW platforms.
- it irons out and rectifies mis-configured HW setup which native
bootloader has left behind.
- it makes bootinfo argments for NetBSD kernel.  bootinfo is
known benefitial to make NetBSD kernel simple and portable
across similar-but-different HW platforms.

"netboot.bin" is designed to run at address 0x100000 (@16MB).
Let's say it's already loaded at the address (the way how to is
described later), then

/// the invoking syntax ///

=> go 1000000 <opt1> <opt2> ... <bootname>

<optN>
    multi, auto, ask, single, ddb, userconf, norm, quiet, verb,
    silient, debug

    omitting <opt> designation brings muti-user mode boot.
   
<bootname>
    nfs:<filename>
    nfs:
    tftp:<filename>
    tftp:
    wdN:<filename>
    
    net: is a synonym of nfs:

nfs:<filename>
    issue DHCP request to determine IP addresses, and do NFS
    read download from host.
nfs:
    target file is determined by filename field of dhcpd.conf
tftp:<filename>
    issue DHCP request to determine IP addresses, and do TFTP
    download from host.
tftp:
    target file s determined by filename field of dhcpd.conf 
wdN:<filename>
    load <filename> ELF NetBSD kernel from FFSv2 or FFSv1 filesys.

NFS read is a prefered downloading way since TFTP payload is
smaller than NFS and runs unreasonably slow.

/// How to load netboot.bin at address 0x1000000 ///

There are several options.

1. KuroBox U-Boot allows DHCP/TFTP download.

U-Boot 1.1.4 LiSt 2.1.0 (Sep 21 2006 - 00:22:56) LinkStation / KuroBox

With correctly configured /etc/dhcpd.conf, the following command
sequence would load "netboot.bin" from /tftpboot/ directory.

=> dhcp; tftp 1000000 netboot.bin

2. Synology DS-101g+ PPCboot can not handle SysKonnect GbE.  In
the case, serial download is an alternative way.

3. if netboot.bin image is stored in NOR segment, copy it to the address;
=> cp.b <there> 1000000 20000

I will describe installation process and post installation setup in
the next email.

Toru Nishimura / ALKYL Technology