Home | History | Annotate | Line # | Download | only in altboot
README.altboot revision 1.4
      1  1.1  nisimura /// notes about altboot ///
      2  1.1  nisimura 
      3  1.4       phx $NetBSD: README.altboot,v 1.4 2011/04/19 14:12:54 phx Exp $
      4  1.1  nisimura 
      5  1.1  nisimura Altboot is a functional bridge to fill the gap between a NAS product
      6  1.1  nisimura custom bootloader and the NetBSD kernel startup environment.  Altboot
      7  1.1  nisimura irons out and rectifies erroneously configured HW by product
      8  1.3       phx bootloaders and prepares a sane runtime, better suited for booting
      9  1.1  nisimura NetBSD kernels.
     10  1.1  nisimura 
     11  1.1  nisimura - provides the foundation of a fast NetBSD porting cycle with functionalities
     12  1.1  nisimura   product bootloaders don't have.
     13  1.1  nisimura - facilitates a flexible and clean NetBSD implementation tailoured
     14  1.1  nisimura   to target HW in detail, minimizing bumpy adjustments and hacks in
     15  1.1  nisimura   locore asm and machdeps in very early kernel startup stage.
     16  1.1  nisimura - levels out differences among similar-but-not-the-same porting
     17  1.1  nisimura   targets to make it possible having common NetBSD kernels for them.
     18  1.1  nisimura - builds and hands a bootinfo list to the NetBSD kernel.
     19  1.1  nisimura 
     20  1.3       phx Altboot is known working on at least these models:
     21  1.3       phx 
     22  1.3       phx - KuroBox or LinkStation with a popular U-Boot as the replacement of
     23  1.3       phx   vendor proprietary
     24  1.1  nisimura 
     25  1.1  nisimura    U-Boot 1.1.4 LiSt 2.1.0 (Sep 21 2006 - 00:22:56) LinkStation / KuroBox
     26  1.1  nisimura 
     27  1.1  nisimura - Synology 101g+ with vendor custom PPCboot
     28  1.1  nisimura 
     29  1.1  nisimura    PPCBoot 2.0.0 (Mar  1 2005 - 15:31:41)
     30  1.1  nisimura 
     31  1.2       phx - D-Link DSM-G600 with heavily restricted vendor custom U-Boot
     32  1.2       phx 
     33  1.2       phx    U-Boot 0.2.0 (May 26 2005 - 19:38:32)
     34  1.2       phx 
     35  1.3       phx - QNAP TS-101 (V200) with vendor custom U-Boot
     36  1.3       phx 
     37  1.3       phx    U-Boot 1.1.2 (Aug 28 2005 - 13:37:25) QNAP System, Inc.
     38  1.3       phx 
     39  1.1  nisimura The standard use of altboot is to invoke it with a short script from
     40  1.3       phx U-Boot/PPCboot, where the altboot.bin image is stored in an unoccupied 128KB
     41  1.1  nisimura section of the target's HW NOR flash.  Combined with standard
     42  1.1  nisimura U-Boot/PPCboot functions, it is possible to boot a NetBSD kernel off
     43  1.1  nisimura it right after power-on, without the help of manual intervention.  Note
     44  1.1  nisimura that the original U-Boot/PPCboot still remains useful and altboot works
     45  1.1  nisimura as a functional extension for them.
     46  1.1  nisimura 
     47  1.3       phx In case the firmware was crippled by the vendor so that it only boots
     48  1.3       phx Linux U-Boot images (D-Link), you can still use altboot by uploading
     49  1.3       phx altboot.img instead of the Linux kernel.
     50  1.3       phx 
     51  1.1  nisimura Altboot hands the following bootinfo records to the NetBSD/sandpoint
     52  1.1  nisimura kernel.
     53  1.1  nisimura - processor clock tick value driving MPC8241/8245.
     54  1.1  nisimura - serial console selection.
     55  1.1  nisimura - booted kernel filename and which device it was fetched from.
     56  1.1  nisimura - Ethernet MAC address, if target HW lacks SEEPROM to store a unit unique
     57  1.1  nisimura   value.
     58  1.1  nisimura - product family indication.
     59  1.1  nisimura - preloaded kernel module names (under development).
     60  1.1  nisimura 
     61  1.4       phx When no arguments are given, altboot defaults to boot a kernel called
     62  1.4       phx "netbsd" from the root partition of the first disk in multiuser mode.
     63  1.4       phx 
     64  1.4       phx Boot arguments may be passed in three ways:
     65  1.4       phx - On the command line, directly after the "go 0x1000000" command.
     66  1.4       phx - From the U-Boot "bootargs" environment variable, when started by "bootm".
     67  1.4       phx - By entering the interactive mode.
     68  1.4       phx 
     69  1.4       phx The following boot arguments are recognized:
     70  1.4       phx - multi			boot into multiuser
     71  1.4       phx - auto			boot into multiuser
     72  1.4       phx - single		boot into singleuser
     73  1.4       phx - ask			ask for boot device
     74  1.4       phx - ddb			drop into the kernel debugger
     75  1.4       phx - userconf		change configured devices
     76  1.4       phx 
     77  1.4       phx The following boot flags are recognized:
     78  1.4       phx - norm			boot normally
     79  1.4       phx - quiet			boot quietly
     80  1.4       phx - verb			boot verbosely
     81  1.4       phx - silent		boot silently
     82  1.4       phx - debug			boot with debug output
     83  1.4       phx 
     84  1.4       phx Additionally the special argument "altboot" is recognized, which replaces
     85  1.4       phx the actually running altboot program with the loaded binary file and
     86  1.4       phx restarts itself. Mainly useful for altboot testing.
     87  1.4       phx 
     88  1.4       phx Multiple arguments may be specified at once, although not all combinations
     89  1.4       phx make sense. The format of an altboot command line is:
     90  1.4       phx 
     91  1.4       phx   [[<bootargs> ...] <devicename>:[<bootfile>]]
     92  1.4       phx 
     93  1.4       phx The following device names are supported:
     94  1.4       phx - tftp			boot from TFTP (address retrieved by DHCP)
     95  1.4       phx - nfs			boot from NFS (address retrieved by DHCP)
     96  1.4       phx - wd[N[P]]		boot from disk N, partition P, defaults to wd0a
     97  1.4       phx - mem			boot from memory
     98  1.4       phx 
     99  1.4       phx For tftp and nfs the bootfile is determined by DHCP, when missing.
    100  1.4       phx For wd it defaults to "netbsd".
    101  1.4       phx For mem the bootfile is actually a hexadecimal address to load from and
    102  1.4       phx is mandatory.
    103  1.4       phx 
    104  1.1  nisimura                              ### ### ###
    105