AM/SheevaPlug/InstallationOnExternalStorage

Installation on external media (USB drive, SD card)

In this section, it is shown how the installation can be performed on external storage and in a manual fashion. If you plan to install on a SD card, be sure to have read the preinstallation page to get the plug booting from there.

Preparing the external storage

Partition the SD card or USB stick. For following this manual we need to create a boot partition of few megabytes size (partition 1, let's say at least 16 mb), a partition for root (partition 2) and a swap partition (if you wish, partition 3). Make sure the first two partitions are of type 83 (Linux) and the swap partition is of type 82 (Swap). Check with

# fdisk -l /dev/mmcblk0

Then create filesystems (use ext2 for boot partition!)

# mkfs.ext2 /dev/mmcblk0p1
# mkfs.ext3 /dev/mmcblk0p2
# mkswap /dev/mmcblk0p3

Extract the archmobile snapshot on the root partition and move the contents of the /boot directory to the boot partition. Update the /etc/inittab, /etc/securetty, /etc/rc.conf accordingly as seen in the postinstallation wiki page. Additionally change the /etc/fstab:

#
# /etc/fstab: static file system information
#
# <file system>        <dir>         <type>    <options>          <dump> <pass>
none                   /dev/pts      devpts    defaults            0      0
none                   /dev/shm      tmpfs     defaults            0      0
tmpfs                  /var/lock     tmpfs     defaults,size=50m,mode=0755 0 0
#tmpfs                  /var/log      tmpfs     defaults,size=50m,mode=0755 0 0
tmpfs                  /var/run      tmpfs     defaults,size=50m,mode=0755 0 0
tmpfs                  /tmp          tmpfs     defaults,size=100m,mode=1777 0 0
/tmp                   /var/tmp      bind      defaults,bind       0      0

and add either the SD card devices

/dev/mmcblk0p2         /             ext3      defaults,noatime    0      1
/dev/mmcblk0p1         /boot         ext2      defaults,noatime,errors=remount-ro 0 1
/dev/mmcblk0p3         swap          swap      defaults            0      0

or the USB drive devices

/dev/sda2              /             ext3      defaults,noatime    0      1
/dev/sda1              /boot         ext2      defaults,noatime,errors=remount-ro 0 1
/dev/sda3              swap          swap      defaults            0      0

Configure the boot loader

Reboot the sheevaplug and press a key in the serial console to interrupt the booting process. Now change the settings for using a mainline kernels:

setenv mainlineLinux yes
setenv arcNumber 2097
saveenv

For booting the sheevaplug, you have to configure U-Boot to use the SD card (load the kernel from to boot partition, use root partition as root).

setenv bootargs_console console=ttyS0,115200
setenv bootargs_root 'root=/dev/mmcblk0p2 rootdelay=10'
setenv bootcmd_mmc 'mmcinit; ext2load mmc 0 0x800000 /uImage'
setenv bootcmd 'setenv bootargs $(bootargs_console) $(bootargs_root); run bootcmd_mmc; bootm 0x00800000'
saveenv

To use an initial ramdisk, you have to let U-Boot load and execute it. Change the bootcmd_mmc and bootcmd to

setenv bootcmd_mmc 'mmcinit; ext2load mmc 0 0x0800000 /uInitrd; ext2load mmc 0 0x800000 /uImage'
setenv bootcmd 'setenv bootargs $(bootargs_console) $(bootargs_root); run bootcmd_mmc; bootm 0x800000 0x01200000'

Please notice that the path to the kernel is /uImage in this case. If you use an USB drive, you need to let U-Boot load the files to memory differently:

setenv bootargs_console console=ttyS0,115200
setenv bootargs_root 'root=/dev/sda2 rootdelay=10'
setenv bootcmd_usb 'usb start; ext2load usb 0:1 0x800000 /uImage'
setenv bootcmd 'setenv bootargs $(bootargs_console) $(bootargs_root); run bootcmd_usb; bootm 0x800000'
saveenv

Booting to archmobile

You can then boot by

run bootcmd

For the default root password please refer to the description of the snapshot.