11.1Sbjh21$NetBSD: FBInstall,v 1.1 2006/07/23 13:33:53 bjh21 Exp $ 21.1Sbjh21 31.1Sbjh21Note of FastBoot/AutoBoot Installation for !BtNetBSD V0.90 41.1Sbjh21based on !BtRiscBSD 51.1Sbjh21 61.1Sbjh21Updated by Reinoud Zandijk 18 Feb 2001 71.1Sbjh21Author: Mark Brinicombe 12th May 1995 81.1Sbjh21Updated: 20th June 1997 91.1Sbjh21 101.1Sbjh21Installation 111.1Sbjh21------------ 121.1Sbjh21 131.1Sbjh21Two patches are required to the standard boot files 141.1Sbjh21 151.1Sbjh21The following lines should be added to the start of 161.1Sbjh21!Boot.Choices.Boot.PreDesktop 171.1Sbjh21 181.1Sbjh21----------------------- Cut here ----------------------- 191.1Sbjh21 201.1Sbjh21|Start NetBSD !Boot FastBoot 211.1Sbjh21Run <Obey$Dir>.^.^.^.BtNetBSD.!BtNetBSD.!Boot 221.1Sbjh21Run <BtNetBSD$Dir>.TestBoot 231.1Sbjh21If "<NetBSD$FastBoot>" = "1" THEN Echo NetBSD FastBoot mode engaged 241.1Sbjh21If "<NetBSD$FastBoot>" = "2" THEN Echo NetBSD ConfBoot mode engaged 251.1Sbjh21If "<NetBSD$FastBoot>" = "3" THEN Echo NetBSD AutoBoot mode engaged 261.1Sbjh21If "<NetBSD$FastBoot>" = "4" THEN Echo NetBSD FastConf mode engaged 271.1Sbjh21|End 281.1Sbjh21 291.1Sbjh21----------------------- Cut here ----------------------- 301.1Sbjh21 311.1Sbjh21These commands should be the first one run in the PreDesktop 321.1Sbjh21file. They boot the boot loader application (primarily to set 331.1Sbjh21BtNetBSD$Dir). The file <BtNetBSD$Dir>.TestBoot is then run 341.1Sbjh21to test for the ALT or CTRL keys are being held down. In addition 351.1Sbjh21it checks several CMOS RAM bits for boot configuration options. 361.1Sbjh21 371.1Sbjh21The following lines should be added to the start of 381.1Sbjh21!Boot.Choices.Boot.Desktop 391.1Sbjh21 401.1Sbjh21----------------------- Cut here ----------------------- 411.1Sbjh21 421.1Sbjh21|Start NetBSD !Boot FastBoot 431.1Sbjh21Iconsprites <BtNetBSD$Dir>.!Sprites22 441.1Sbjh21If <NetBSD$FastBoot> = 4 THEN Run <BtNetBSD$Dir>.!Edit 451.1Sbjh21If <NetBSD$FastBoot> > 0 AND <NetBSD$FastBoot> < 4 THEN Obey <BtNetBSD$Dir>.fastboot 461.1Sbjh21|End 471.1Sbjh21 481.1Sbjh21----------------------- Cut here ----------------------- 491.1Sbjh21 501.1Sbjh21This command should be the first one run in the Desktop file. 511.1Sbjh21It runs the NetBSD Bootloader with the configured parameters. 521.1Sbjh21 531.1Sbjh21 541.1Sbjh21There is a specific reason for not putting all the fastboot code in 551.1Sbjh21one file. The PreDesktop patch is run very early in the boot up so 561.1Sbjh21that the ALT and CTRL keys can be detected quickly. However, currently 571.1Sbjh21the actually bootloader cannot be run at this point unless a lot of 581.1Sbjh21memory is available in the module area (~1Meg) as currently the 591.1Sbjh21module area is used for temporary storage of the kernel being 601.1Sbjh21booted. 611.1Sbjh21This means that the actual boot is prosponed until the start of 621.1Sbjh21the Desktop file. At this point the desktop has been started and 631.1Sbjh21the task manager is running so it will be possible to allocate 641.1Sbjh21a large amount of module space. 651.1Sbjh21 661.1Sbjh21 671.1Sbjh21Activation 681.1Sbjh21---------- 691.1Sbjh21 701.1Sbjh21Once installed, to engage the fastboot hold ALT down immediately 711.1Sbjh21after a reset. As soon as the "fastboot engaged" message is printed 721.1Sbjh21the ALT key can be released. 731.1Sbjh21To engage the fastconf mode hold CTRL down immediately 741.1Sbjh21after a reset. As soon as the "fastconf engaged" message is printed 751.1Sbjh21the CTRL key can be released. 761.1Sbjh21 771.1Sbjh21 781.1Sbjh21Configuration 791.1Sbjh21------------- 801.1Sbjh21 811.1Sbjh21Configuration is done via the !BtNetBSD application. 821.1Sbjh21When ever NetBSD is booted the commandline used to boot it is saved 831.1Sbjh21by the bootloader to the file <BtNetBSD$Dir>.FastBoot 841.1Sbjh21Rerunning this file will then boot NetBSD with the last parameters 851.1Sbjh21used. It is this file that the fastboot uses so the fast boot will 861.1Sbjh21boot NetBSD with the same parameters as were used for the last boot. 871.1Sbjh21 881.1Sbjh21 891.1Sbjh21ConfBoot mode 901.1Sbjh21------------- 911.1Sbjh21 921.1Sbjh21This mode is identified by NetBSD$FastBoot being set to 2. This indicates 931.1Sbjh21that the bootloader has been configured to always boot NetBSD. This is 941.1Sbjh21down by setting a bit in the CMOS RAM (via !BtNetBSD). 951.1Sbjh21If NetBSD boots are configured the action of the ALT is reversed so that 961.1Sbjh21holding down ALT will allow a RISC OS boot instead. 971.1Sbjh21 981.1Sbjh21 991.1Sbjh21AutoBoot mode 1001.1Sbjh21------------- 1011.1Sbjh21 1021.1Sbjh21This mode is identified by NetBSD$FastBoot being set to 3. This indicates 1031.1Sbjh21that an automatic boot was requested by NetBSD before it rebooted. This 1041.1Sbjh21will happen when /sbin/reboot is used instead of /sbin/halt. 1051.1Sbjh21 1061.1Sbjh21 1071.1Sbjh21FastBoot mode 1081.1Sbjh21------------- 1091.1Sbjh21 1101.1Sbjh21This is the behaviour when ALT is held down at boot time and ConfBoot mode 1111.1Sbjh21has not been configured. It just bypasses most of the normal startup and 1121.1Sbjh21boots NetBSD. 1131.1Sbjh21 1141.1Sbjh21 1151.1Sbjh21FastConf mode 1161.1Sbjh21------------- 1171.1Sbjh21 1181.1Sbjh21This is the behaviour when CTRL is held down at boot time. This is similar to 1191.1Sbjh21FastBoot mode except that the !BtNetBSD is provided to allow boot parameters 1201.1Sbjh21to be changed. 1211.1Sbjh21 1221.1Sbjh21 1231.1Sbjh21Bugs 1241.1Sbjh21---- 1251.1Sbjh21 1261.1Sbjh21Well hopefully there are no bugs :-) 127