Table of Contents
Tips for using the BooSt bootloader in the netbook
To access some BooSt functions you need a docking station or a 'dongle' (which is a connector for the docking station socket with resistors between appropriate pins). Without it only a subset of commands is available.
Boot into BooSt, either by placing nbp on a docking station with only s/w 5 ON, or by using a BooSt dongle. If you don't have one, make one yourself.
Information about this can be seen here: BooSt Dongle (pdf)
There exist also an alternative method to enter Boost without any dongle usage, just by entering a 'magic' sequence of digits on the keyboard. I have only seen it demonstrated once, but don't know what this 'magic' number is.
The Dongle has a resistor with a resistance between 33kΩ and 68kΩ connected between pins 12 and 13 (counting from the right hand side of the machine).
Getting Serial logging output
You machine may be set up so that the serial port is not powered up by default so you can't generally get boot-time messages or see BooSt output unless you have a dongle or docking station inserted. Either of these will power up the serial port - almost essential for boot-time problem debugging. However this is not normally the case.
I didn't really have that problem, for some reason. The nbp, as configured when I got it at the developer day, would output BooSt startup messages to both console and serial port. The Linux kernel installed seemed not to have working serial drivers, but I've since installed the 18 April kernel and the serial port works fine under that - serial console and serial port login both work. Since I used the “fix” nBkPro.img and nBkProBt.img to (apparently) clear the internal flash, I've been able to boot the nbp with no CF card and get a BooSt menu which doesn't disappear immediately (as it does if BooSt finds a kernel image to load), although I can't enter arbitrary commands, just use the predefined self-testish menu options - presumably the dongle or docking station would enable arbitrary BooSt commands.
Resetting the machine
The Reset pinhole is only a soft reset. To get a reboot you need to remove all power sources (mains, nicad and backup batteries (2 AAAs on top under cover), then hold down Ctrl-Esc-D and power up. This will run BooSt which will boot first from any image in the NAND and then from any image on (a VFAT-formatted) CF. The image must be called nBkProOS.img
To get into BooSt without running any kernel follow the above proceedure but use the wrist-breaking Ctrl-Esc-Shift-D combo instead , which skips booting any image in nand. (Make sure that you do not have a bootable image on a CF/PCCard installed in the machine whilest you do this, or BooSt will load that image….). This will get you a BooSt “>” prompt or a test menu, depending on the BooSt 'security' setting. If it is set then you can't get a command pompt without putting in a dongle. If you get a test menu, but want the prompt - put in a dongle and reboot. You can change this setting (once you have a prompt) with config get and config set.
Note that BooSt is best used via the serial port, as shift may not work on the main keyboard, which prevents you from using '?' to get help.
Installing a new BooSt image
I'm not sure about this but it seems that magic can be performed with files called nBkPro.img (~300 bytes) and nBkProBt.img (260K). Can someone who understands this please update this info?
Boost NAND commands
All the information here is biased towards 64MB flash parts and the Netbook LX layout which is
- 4MB for boost and the kernel initrd
- 56MB for the root filing system (unseen/touched by boost)
- 4MB for user data (unseen/untouched by boost
Thus the only real area of interest for these commands is the first 4MB of the flash. These commands assume you have already booted into BooSt, as above. It seems BooSt and the Linux MTD system disagree about the use of the out of band data. This has the result that from boost all the flash outside the OS area appears bad (if you use the boost nand check function). This is not going to be a problem as long as boost is not used to manipulate the nand.
The nand command allows for the manipulation of the area of nand used by boost to start an OS image
The “nand” command on its own will produce a dump of the current nand memory settings
Nand flash info for: nand0
Description: Samsung K9K1216U0 Block size (bytes): 0x4000 Number of blocks: 0x1000 Partition start: 0x18 Partition blocks: 0xe8 (0xe2 useable) Replacement blocks: 0x5 (0x0 unused)
- The description is useful for discovering if you have the 64MB units or not (The example shown is a 64MB machine )
- The block size is 0x4000 or 16KB so each block described is 16K
- The number of blocks is 0x1000 (4096) which gives 64MB (16KB x 4096 = 64MB)
- The partition start is where the boost image ends and the nand can be used for used data this always seems to be 0x18 (24) which means boost itself uses 384KB (16KB x 24 = 384KB)
- The Partition blocks is how many blocks are dedicated to the boost managed “os” section. This is where the kernel image from the nBkProOs.img file is stored, it is *not* where the Linux filesystem root is kept. This is stored in the blocks *after* this area.
- Replacement blocks are spare blocks boost reserves in its “OS” area to allow for bad blocks
Checks the nand is formatted how boost likes it
nand partition <blocks>
where blocks is between 0x0 and 0xfe8. The setting we will be using on the netbook LX is 0xe8. This allows for the space boost uses itself (0x18 blocks) plus the space the Boost “OS” partition uses to be exactly 0x100 blocks or 4MB which is what we need for proper netbook LX operation.
nand partition 7e8
This should increase the nand partition to 30MB.
nand partition e8
This will set the partition size correct for the Netbook LX
nand erase [-ignore] <start block> <length>
This appears to mark the blocks as erased
The -ignore switch ignores “bad” blocks. All partitions created and formatted by Linux MTD system will report as “bad” because the two systems disagree about how the out of band date is used.
nand zero <start block> <length>
This wipes the data from the range of nand blocks specified, its should always start at 0x18 or later to avoid the boost image and care should be taken to avoid erasing the last 4MB of the nand as that is supposed to be the user data area.
nand zero 18 EE8
This will wipe the OS image area and the root filesystem area but leave the user area (the last 0x100) blocks alone.
See Installing Upgrades for practical info on getting new images into flash from CF cards.