README.altboot revision 1.1
11.1Snisimura/// notes about altboot ///
21.1Snisimura
31.1Snisimura$NetBSD: README.altboot,v 1.1 2011/01/23 01:05:30 nisimura 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.1Snisimurabootloaders 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.1SnisimuraAltboot is known working on two models.
211.1Snisimura- KuroBox with a popular U-Boot as the replacement of vendor proprietary
221.1Snisimura
231.1Snisimura   U-Boot 1.1.4 LiSt 2.1.0 (Sep 21 2006 - 00:22:56) LinkStation / KuroBox
241.1Snisimura
251.1Snisimura- Synology 101g+ with vendor custom PPCboot
261.1Snisimura
271.1Snisimura   PPCBoot 2.0.0 (Mar  1 2005 - 15:31:41)
281.1Snisimura
291.1SnisimuraThe standard use of altboot is to invoke it with a short script from
301.1SnisimuraU-Boot/PPCboot, where the altboot image is stored in an unoccupied 128KB
311.1Snisimurasection of the target's HW NOR flash.  Combined with standard
321.1SnisimuraU-Boot/PPCboot functions, it is possible to boot a NetBSD kernel off
331.1Snisimurait right after power-on, without the help of manual intervention.  Note
341.1Snisimurathat the original U-Boot/PPCboot still remains useful and altboot works
351.1Snisimuraas a functional extension for them.
361.1Snisimura
371.1SnisimuraAltboot hands the following bootinfo records to the NetBSD/sandpoint
381.1Snisimurakernel.
391.1Snisimura- processor clock tick value driving MPC8241/8245.
401.1Snisimura- serial console selection.
411.1Snisimura- booted kernel filename and which device it was fetched from.
421.1Snisimura- Ethernet MAC address, if target HW lacks SEEPROM to store a unit unique
431.1Snisimura  value.
441.1Snisimura- product family indication.
451.1Snisimura- preloaded kernel module names (under development).
461.1Snisimura
471.1Snisimura                             ### ### ###
481.1Snisimura
49