Booting a Linux SD card from Xandros Linux

From LSDevLinux
Jump to: navigation, search

These instructions refer to obsolete hardware.

This process describes the modifications necessary to allow a eeePC running Xandros Linux (eeePC-Xandros) to be modified to run the Balsa Prototype.

The Xandros Linux file system implemented on the internal SSD of the eeePC is designed to make system modifications difficult (and it succeeds in that design). The internal drive has two disk partitions joined together in a union file system. The file system on the system partition is read-only and the user file system is overlaid on top of it so that it appears to be a single file system. Any changes made to the file system are made only on the user partition, not the system partition.

Installing Balsa onto eeePC-Xandros involves changing the grub boot cycle. This implies changes on the system partition, which is normally read-only. These changes must be made in a special rescue mode.

This procedure also modifies the SD card for eeePC-Xandros. If the Balsa files have not been installed on the eeePC, it builds a local directory with the necessary boot files for Balsa. Then you have to go into rescue mode to copy those files into the system partition. Instructions for what to do in Rescue Mode are displayed on the screen and also stored in a text file.

The eeePC-Xandros as shipped runs in a simplified Easy mode desktop. You can run this modification to put it in Advanced (Desktop) Mode. Advanced mode is not necessary to carry out this procedure, but it is easier.

Building Modifications to the eeePC-Xandros Boot

The archive contains 2 files, a script and a patch file. They prepare the modifications that are necessary to boot the eeePC-Xandros to Balsa.

  • Open a terminal console
    • Easy Mode - <ctl-alt-T> within File Manager
    • Advanced Mode - In the Launch Menu select Applications | System | Console
  • Enter this commantd
tar -xjf BALSA4Xandros.tbz2
  • Plug the BalsaRoot SD into the eeePC.
  • Run the extracted script from the archive
sudo ./BALSA4Xandros.sh

If Balsa has not already been installed on this eeePC, it will build a local directory named ./BALSA-install-Root. It will display on the screen instructions for what you should do in Rescue Mode below. A copy of the instructions are in the file ./BALSA-install-instructions.txt. If you wish, you can print them to have them at hand when you enter Rescue Mode.

Enter Rescue Mode to Apply the Modifications

  • Repeatedly press the F9 key when you see the splash screen with "Press F2 to run Setup ..." at the bottom of the screen.

The grub boot menu will appear with the following menu items:

  1. Normal Boot (This will be highlighted)
  2. Perform Disk Scan
  3. Restore Factory Settings
  • type 'e' to edit the Normal Boot entry.

The Normal Boot entry contains three lines:

  1. root (0x80,0)
  2. kernel /boot/vmlinuz-2.6.21.4-eeepc quiet rw vga=785 irqpoll root=/dev/sda1
  3. initrd /boot/initramfs-eeepc.img
  • Highlight the second line - the one starting kernel ... using the up and down arrow. Type 'e' to add text to the end of it
  • Type XANDROSBOOTDEBUG=y on the end of the line and press Enter.
  • Type 'b' to boot.

You are now in Rescue Mode. If you printed out the instructions as suggested above, you can follow them. Otherwise,

  • Mount the two internal drive partitions:
mount /dev/sda1 /mnt-system 
mount /dev/sda2 /mnt-user

The following command assumes that you ran the script in the /home/user directory under Xandros. If you ran it in a different directory, replace /home/user with the directory you used. (The correct directory name appears in the instructions in BALSA-install-instructions.txt).

cp -R /mnt-user/home/user/BALSA-install-Root/* /mnt-system/
cd /
umount /mnt-system/
umount /mnt-user/

You can now exit the rescue mode. Press CTRL-D a couple of times.

The eeePC will finish booting into Xandros. When you restart, the grub boot menu will appear and will boot to the BalsaRoot SD card. The BalsaRoot SD card must be inserted for it to boot properly. If you want to boot to Xandros, select the Normal Boot entry when the grub boot appears.

These instructions were derived from information here. That website has other useful information about configuring eeePC-Xandros systems.

Other Changes

You can make other configuration changes to the Xandros system files while booted in the Balsa Advisor account. You can mount the Xandros system partition like this:

sudo mount /dev/sda1 /mnt

You could then edit the /boot/grub/menu.lst file (for example) like this:

sudo nano /mnt/boot/grub/menu.lst

Bugs & Other Notes

  • Balsa boot fails when SD card is not inserted
    • The modification of the boot cycle sets the default boot to BALSA. If no BalsaRoot card is mounted the computer will fail in the boot process. You can do a normal boot to Xandros by selecting Normal Boot from the grub menu.