1 1.1 nisimura /// notes about altboot /// 2 1.1 nisimura 3 1.2 phx $NetBSD: README.altboot,v 1.2 2011/03/13 15:23:43 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.1 nisimura 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.2 phx Altboot is known working on at least three models. 21 1.1 nisimura - KuroBox with a popular U-Boot as the replacement of vendor proprietary 22 1.1 nisimura 23 1.1 nisimura U-Boot 1.1.4 LiSt 2.1.0 (Sep 21 2006 - 00:22:56) LinkStation / KuroBox 24 1.1 nisimura 25 1.1 nisimura - Synology 101g+ with vendor custom PPCboot 26 1.1 nisimura 27 1.1 nisimura PPCBoot 2.0.0 (Mar 1 2005 - 15:31:41) 28 1.1 nisimura 29 1.2 phx - D-Link DSM-G600 with heavily restricted vendor custom U-Boot 30 1.2 phx 31 1.2 phx U-Boot 0.2.0 (May 26 2005 - 19:38:32) 32 1.2 phx 33 1.1 nisimura The standard use of altboot is to invoke it with a short script from 34 1.1 nisimura U-Boot/PPCboot, where the altboot image is stored in an unoccupied 128KB 35 1.1 nisimura section of the target's HW NOR flash. Combined with standard 36 1.1 nisimura U-Boot/PPCboot functions, it is possible to boot a NetBSD kernel off 37 1.1 nisimura it right after power-on, without the help of manual intervention. Note 38 1.1 nisimura that the original U-Boot/PPCboot still remains useful and altboot works 39 1.1 nisimura as a functional extension for them. 40 1.1 nisimura 41 1.1 nisimura Altboot hands the following bootinfo records to the NetBSD/sandpoint 42 1.1 nisimura kernel. 43 1.1 nisimura - processor clock tick value driving MPC8241/8245. 44 1.1 nisimura - serial console selection. 45 1.1 nisimura - booted kernel filename and which device it was fetched from. 46 1.1 nisimura - Ethernet MAC address, if target HW lacks SEEPROM to store a unit unique 47 1.1 nisimura value. 48 1.1 nisimura - product family indication. 49 1.1 nisimura - preloaded kernel module names (under development). 50 1.1 nisimura 51 1.1 nisimura ### ### ### 52