README.altboot revision 1.3
11.1Snisimura/// notes about altboot ///
21.1Snisimura
31.3Sphx$NetBSD: README.altboot,v 1.3 2011/04/08 08:29:07 phx Exp $
41.1Snisimura
51.1SnisimuraAltboot is a functional bridge to fill the gap between a NAS product
61.1Snisimuracustom bootloader and the NetBSD kernel startup environment.  Altboot
71.1Snisimurairons out and rectifies erroneously configured HW by product
81.3Sphxbootloaders and prepares a sane runtime, better suited for booting
91.1SnisimuraNetBSD kernels.
101.1Snisimura
111.1Snisimura- provides the foundation of a fast NetBSD porting cycle with functionalities
121.1Snisimura  product bootloaders don't have.
131.1Snisimura- facilitates a flexible and clean NetBSD implementation tailoured
141.1Snisimura  to target HW in detail, minimizing bumpy adjustments and hacks in
151.1Snisimura  locore asm and machdeps in very early kernel startup stage.
161.1Snisimura- levels out differences among similar-but-not-the-same porting
171.1Snisimura  targets to make it possible having common NetBSD kernels for them.
181.1Snisimura- builds and hands a bootinfo list to the NetBSD kernel.
191.1Snisimura
201.3SphxAltboot is known working on at least these models:
211.3Sphx
221.3Sphx- KuroBox or LinkStation with a popular U-Boot as the replacement of
231.3Sphx  vendor proprietary
241.1Snisimura
251.1Snisimura   U-Boot 1.1.4 LiSt 2.1.0 (Sep 21 2006 - 00:22:56) LinkStation / KuroBox
261.1Snisimura
271.1Snisimura- Synology 101g+ with vendor custom PPCboot
281.1Snisimura
291.1Snisimura   PPCBoot 2.0.0 (Mar  1 2005 - 15:31:41)
301.1Snisimura
311.2Sphx- D-Link DSM-G600 with heavily restricted vendor custom U-Boot
321.2Sphx
331.2Sphx   U-Boot 0.2.0 (May 26 2005 - 19:38:32)
341.2Sphx
351.3Sphx- QNAP TS-101 (V200) with vendor custom U-Boot
361.3Sphx
371.3Sphx   U-Boot 1.1.2 (Aug 28 2005 - 13:37:25) QNAP System, Inc.
381.3Sphx
391.1SnisimuraThe standard use of altboot is to invoke it with a short script from
401.3SphxU-Boot/PPCboot, where the altboot.bin image is stored in an unoccupied 128KB
411.1Snisimurasection of the target's HW NOR flash.  Combined with standard
421.1SnisimuraU-Boot/PPCboot functions, it is possible to boot a NetBSD kernel off
431.1Snisimurait right after power-on, without the help of manual intervention.  Note
441.1Snisimurathat the original U-Boot/PPCboot still remains useful and altboot works
451.1Snisimuraas a functional extension for them.
461.1Snisimura
471.3SphxIn case the firmware was crippled by the vendor so that it only boots
481.3SphxLinux U-Boot images (D-Link), you can still use altboot by uploading
491.3Sphxaltboot.img instead of the Linux kernel.
501.3Sphx
511.1SnisimuraAltboot hands the following bootinfo records to the NetBSD/sandpoint
521.1Snisimurakernel.
531.1Snisimura- processor clock tick value driving MPC8241/8245.
541.1Snisimura- serial console selection.
551.1Snisimura- booted kernel filename and which device it was fetched from.
561.1Snisimura- Ethernet MAC address, if target HW lacks SEEPROM to store a unit unique
571.1Snisimura  value.
581.1Snisimura- product family indication.
591.1Snisimura- preloaded kernel module names (under development).
601.1Snisimura
611.1Snisimura                             ### ### ###
62