No serial number
No serial number semi-brick
If you have an old machine (e.g. a B2) without a serial number and you upgrade it to build 542, and you get something like this:
could not activate this XO Serial number: SHF00000000
or like this when you try to activate:
No serial number in mfg data No serial number Use power button to power off
Then you need to use the following workaround.
Step 1: USB boot
Take the USB key you used to upgrade your machine and mount it on another system. Edit the file /boot/olpc.fth to look like this:
\ OLPC boot script null$ to ramdisk boot n:\boot\vmlinuz root=mtd0 rootfstype=jffs2 console=tty0
Note that the first line starts with "backslash space"
Now power down your laptop, insert your USB key, and power up. The laptop should boot normally.
Step 2: making it permanent
Get into the development console using Alt/=, and open the terminal. Use su to get a root prompt. Then cd /boot and make a backup copy of olpc.fth. Then edit olpc.fth
su cd /boot cp olpc.fth olpc.fth.saved vi olpc.fth
Change the file as in the example given above, then save and exit.
Now your laptop should boot normally.
Credits
Many thanks to Mitch Bradley for walking me through this.