README.altboot revision 1.2
1/// notes about altboot /// 2 3$NetBSD: README.altboot,v 1.2 2011/03/13 15:23:43 phx Exp $ 4 5Altboot is a functional bridge to fill the gap between a NAS product 6custom bootloader and the NetBSD kernel startup environment. Altboot 7irons out and rectifies erroneously configured HW by product 8bootloaders and prepares a sane runtime better suited for booting 9NetBSD kernels. 10 11- provides the foundation of a fast NetBSD porting cycle with functionalities 12 product bootloaders don't have. 13- facilitates a flexible and clean NetBSD implementation tailoured 14 to target HW in detail, minimizing bumpy adjustments and hacks in 15 locore asm and machdeps in very early kernel startup stage. 16- levels out differences among similar-but-not-the-same porting 17 targets to make it possible having common NetBSD kernels for them. 18- builds and hands a bootinfo list to the NetBSD kernel. 19 20Altboot is known working on at least three models. 21- KuroBox with a popular U-Boot as the replacement of vendor proprietary 22 23 U-Boot 1.1.4 LiSt 2.1.0 (Sep 21 2006 - 00:22:56) LinkStation / KuroBox 24 25- Synology 101g+ with vendor custom PPCboot 26 27 PPCBoot 2.0.0 (Mar 1 2005 - 15:31:41) 28 29- D-Link DSM-G600 with heavily restricted vendor custom U-Boot 30 31 U-Boot 0.2.0 (May 26 2005 - 19:38:32) 32 33The standard use of altboot is to invoke it with a short script from 34U-Boot/PPCboot, where the altboot image is stored in an unoccupied 128KB 35section of the target's HW NOR flash. Combined with standard 36U-Boot/PPCboot functions, it is possible to boot a NetBSD kernel off 37it right after power-on, without the help of manual intervention. Note 38that the original U-Boot/PPCboot still remains useful and altboot works 39as a functional extension for them. 40 41Altboot hands the following bootinfo records to the NetBSD/sandpoint 42kernel. 43- processor clock tick value driving MPC8241/8245. 44- serial console selection. 45- booted kernel filename and which device it was fetched from. 46- Ethernet MAC address, if target HW lacks SEEPROM to store a unit unique 47 value. 48- product family indication. 49- preloaded kernel module names (under development). 50 51 ### ### ### 52