The Altboot boot-manager
Features
At the time of writing Altboot can boot your PDA from:

  • SD cards
  • MMC cards
  • CF cards
  • NFS drives (over WLAN)
  • USB Storage (Akita / Borzoi / Spitz)

It supports booting a real filesystem and multiple loop-images off any supported source.

Altboot's menu can be expanded by placing scripts into /etc/altboot-menu. The advantage of this method is that an error in a script will not render your PDA unbootable - which would be the case if you were to edit /sbin/init directly.

Altboot's menu supports sub-menus to avoid cluttering the display with too many options. Creating a sub-menu is as simple as creating a new directory in /etc/altboot-menu. The name of the directory will be the sub-menu title.

You can choose to display the altboot menu on every boot, or have it display a timeout during which you can choose to activate the menu or have altboot boot the last selection automatically.

Sensitive menu options are password protected. For example you can only boot into init=/bin/sh with the correct altboot master password.

You can even choose to require the master password on every boot. This way your PDA can only be booted with the correct password.
If you enable this option and forget your master password you will need to re-flash your device!

Currently supported PDA's:

  • Sharp Zaurus SL-5000 / SL-5500 (Collie)
  • Sharp Zaurus SL-5600 (Poodle)
  • Sharp Zaurus SL-C1000 (Akita)
  • Sharp Zaurus SL-C3000 (Spitz), provided by JustinP
Installation
The bootmanager comes pre-installed on recent hentges ROMs
(oz 3.5.3_opie1.2.0 T2 or later).
Installing it into other distributions is trivial. just install the altboot
ipk, it should work out-of-the-box.

The ipk file should appear in the official OZ feeds after the OZ 3.5.4 release.
Configuration
The configuration is done in /etc/hutils.conf in hentges ROMs or /etc/altboot.cfg for other distributions.

The following options are supported:

ENABLE_ALTBOOT="yes"
Enable or disable altboot. If disabled, the system will behave like altboot was never installed.

TIMEOUT="3"
The timeout in seconds altboot waits for a keypress on boot.

REAL_INIT="/sbin/init.sysvinit"
Path to the "real" init script. Do _never_ point this to the altboot init script itself. It will render your device unbootable!

SH_SHELL="/bin/sh"
The shell to use when booting into the emergency shell (init=/bin/sh).

IMAGE_PATH="boot-images"
The subfolder on SD or CF card in which bootable filesystem images are searched. The images but be named XXX-rootfs.bin where XXX can be anything you'd like.

FSCK_IMAGES="yes"
e2fsck loop-images before mounting them.

SD_DEVICE="/dev/mmcda1"
The devicefile used by the SD card.

SD_KERNEL_MODULE="[...]/sharp_mmcsd_m.o"
The kernel module needed by the SD controller

INIT_RUNLEVEL="5"
This is the default runlevel

NO_GUI_RL="2"
This is the runlevel for a GUI-less boot (ie: no opie or GPE GUI will be launched)

MASTER_PASSWORD=""
The md5-hashed master password used to boot into init s or init=/bin/sh

ASK_PW_ON_BOOT="no"
If set to "yes", the master password is required on every reboot. Note: You need to re-flash your image if you forget the password.


Booting a SD or CF card using filesystem images.
A filesystem image must contain a complete bootable distribution. OpenEmbedded can generate these images for you or you can rip the content of your ROM and manually create an image file.

The images must be named XXX-rootfs.bin (where XXX can be any description you'd like, just don't use space) and placed onto the SD or CF card inside the folder configured by IMAGE_PATH. The default is "boot-images". So, to boot an image called "opie-snapshot-rootfs.bin" from SD, you'd place it into /media/card/boot-images. The full path then is /media/card/boot-images/opie-snapshot-rootfs.bin

Altboot supports multiple boot images. If altboot finds more than one image in IMAGE_PATH, it will ask you which one you'd like to boot using the full filenames of the images.

Booting a SD or CF card with a "real" filesystem on it
The card must contain a complete and bootable Linux distribution. If altboot finds the file /media/card/sbin/init in addition to boot-images, it will ask you what to boot.

Booting from NFS
Please Note: Booting over a USB-network is currently unsupported!

To be able to boot from a NFS drive, you have to

  • configure networking on your PDA
  • configure NFS drives in /etc/fstab on your PDA
  • make sure that permissions of the NFS drive
    are set correctly


A NFS entry in /etc/fstab should look like this:
# NFS
mhcln01:/oe-hentges/OpenEmbedded/tmp/rootfs     \
/media/nfs/oe-hentges   nfs     defaults,noauto         0       0
mhcln01:/oe-head/OpenEmbedded/tmp/rootfs   \
/media/nfs/oe-head      nfs     defaults,noauto         0       0
					
If you have more than one NFS drive configured, altboot will let you choose the one to boot using the mountpoint.

In addition to booting a real filesystem, altboot supports booting of ext2 loop-images off of a NFS drive. The advantage of a loop-image is, that all permissions are set correctly.

Please Note: Wrong permissions inside the NFS root can cause all sorts of problems. If you have difficulties, try a chown -R root.root inside the NFS drive.


Back
Saturday, 28-Jan-2006 16:47:26 CET

Valid HTML 4.0!
Powered by Linux, © Matthias Hentges 2004
Webmaster

Valid CSS!