User:NeoAmsterdam/10.1.2/Bootable SD
Before you Begin
Warnings
- This procedure will erase any data stored on the XO.
- This procedure will erase any data stored on the SD card.
- This procedure will erase any data stored on the USB drive.
- This procedure requires the SD card to be partitioned: fdisk skill is required.
- This procedure takes a long time to execute; do not execute these instructions on battery power.
Caveats
- The SD card will be partitioned for Linux and have an ext3 filesystem. This is not an optimal arrangement for SD cards, but it works.
- /boot/olpc.fth will have to be edited if volume label of the ext3 partition on the SD card is different than "OLPCRoot"
- This can be done in OpenFirmware using µemacs if necessary.
- yum will not work because /var/cache/yum and temp are mounted in /etc/fstab
- This can be edited post-install, but we'll do it as part of the install's optional phase
- The second install phase takes forever. (That's the price you have to pay for GNOME)
Unknowns
- This procedure was accomplished on an XO-1. I suspect, but cannot confirm, that this procedure will work on an XO-1.5.
Requirements
- An XO
- A USB drive with at least 1GB of storage capacity formatted using FAT-32
- A 1GB USB drive will do, but if you will need more space if you intend to install activities from the USB key.
- I recommend a 2GB USB drive. Larger is always better.
- An SD card with at least 1GB of storage capacity
- Use an SD card whose capacity exceeds the XO's (otherwise you will defeat the purpose of installing 10.1.2 to the SD card).
- I use a 16GB Transcend SDHC card, model number TS16GSDHC6.
- Build 852 and its associated filesystem information
- While you can download these files to the USB drive from your XO, I highly recommend downloading these files on a different computer.
Optional Files
- Developer's key ("Dev Key")
- If you don't know what this is, don't worry; if you do, make sure you have a copy of it.
- Activities
- I prefer to have my activites on the USB drive instead of having to download them post-install.
Procedure
Pre-Installation
Back Up Your Data
This may seem obvious, but it warrants repeating: this procedure will erase all the data on your XO and SD card, and possibly your USB key as well. Back up your data!
Create Installation Drive
- If your USB drive is not formatted as a FAT-32 drive, do so now.Note: Windows 7 appears to format USB drives using exFAT by default. The XO cannot read exFAT - You must use FAT-32.
- Download build 852 and its associated filesystem information:
- os852.img (604MB)
- os852.img.fs.zip (398KB)
- Copy os852.img and os852.img.fs.zip to the root directory of the USB drive
- Rename os852.img.fs.zip to fs.zip
Optional
- If you have a Dev Key, copy it to the root directory of your USB drive.
- If you downloaded activities:
- Make a directory named Activities in the root directory of your USB drive.
- Copy the activities into the Activities directory.
First Installation
This phase of the procedure will install release 10.1.2 to the XO's built-in storage.
- This is your last chance to back up your data. If you haven't done so, do so now.
- Shut down the XO.
- Eject SD card.
- Insert the USB drive.
- Hold down all four game keys (✓ + ◻ + O + ×)
- Press the power button.
- Keep all four game keys depressed until the XO prompts you otherwise.
You may now leave the XO unattended while it installs release 10.1.2 to the built-in storage.
Second Installation
This phase of the procedure will copy the 10.1.2 installation from the XO's built-in storage to a freshly-formatted SD card.
- When you see the "Name:" screen, drop into a console.
- Press ♦ ctrl + ♢ alt + f1.
- Drop the runlevel.
- /sbin/init 3
- Insert SD card into its slot.
fdisk
This will prepare the SD card for formatting.
- Parition the SD card for Linux.
- fdisk /dev/mmcblk0
- Print out the partition table.
- p
- This information will determine your next step.
- If one parition is shown and it isn't Linux-style, change the partition type:
- T
- 83
- If no partitions are shown, create one:
- n
- p
- 1
- Accept the defaults from this point on.
- If the partition is not flagged as active, activte it:
- a
- 1
- Confirm the partition arrangement.
- p
- There should be only one partition listed, beginning with /dev/mmcblk0p1 * 1 and ending with 83 Linux. If you see something different, or if more than one parition is shown, do not proceed any further.
- Once confirmed, write the partition arrangement.
- w
mkfs.ext3
This will create a clean filesystem on the SD card.
- Create an ext3 filesystem. Unless you are compelled otherwise, set the volume label to OLPCRoot.Note: The volume label can be anything you like, but it will require some additional intervention in order to make the SD card bootable.
- mkfs.ext3 -L OLPCRoot /dev/mmcblk0p1
mount
This will make the SD card accessible.
- Create a mount point for the SD card.
- mkdir /mnt/sd
- Mount the SD card.
- mount -t ext3 /dev/mmcblk0p1 /mnt/sd
cp
This will copy the 10.1.2 installation from the XO's built-in storage to the SD card.
- Copy the files from the pristine build directory to the SD card.
- cp -pr /versions/pristine/852/* /mnt/SD/.
- If you want to make sure the XO is copying, use cp -pvr /versions/pristine/852/* /mnt/SD/.. Beware that this will slow down the copying speed somewhat.
mkdir
This will create your home directory. The XO will be somewhat dysfunctional without it.
- Create the home directory.
- mkdir -p /mnt/SD/home/olpc
Optional Installations
The instructions in this section are optional. The "must do" installation procedure resumes at "Installation Cleanup"
- If you have removed the USB drive, reinsert it now.
- Create a mount point for the USB drive.
- mkdir /mnt/usb
- Mount the USB drive.Note: Although sda1 is the most likely device idenfier, but is not guaranteed to be the correct one.
- mount -t vfat /dev/sda1 /mnt/usb
Dev Key
- Copy the Dev Key from the USB drive to the SD card.
- cp /mnt/usb/develop.sig /mnt/sd/security/develop.sig
Activities
- Copy the activities directory from the USB drive to the user's home folder.
- cp -r /mnt/usb/Activities /mnt/sd/home/olpc/.
- Change to the newly-installed activities directory.
- cd /mnt/sd/home/olpc/Activities
- Unzip the activities.
- ls -1 | while read i ; do unzip $i ; done
- Remove the activity packages
- rm *.xo *xol
Adjusting the Volume Label
If you chose a volume label other than "OLPCRoot", edit olpc.fth.
- nano /mnt/sd/boot/olpc.fth
- Scroll towards the end of the document.
- Replace the volume label from OLPCRoot to the volume label you chose.
- Save and quit.
Unblocking yum
Release 10.1.2 has a feature that prevents yum from functioning. To reenable yum, edit fstab.
- nano /mnt/sd/etc/fstab
- Comment out the following mount points:
- /temp
- varcacheyum
- vartmp
- varlog
- Save and quit.
Optional Install Cleanup
These must be executed before resuming the required instructions.
- Unmount the USB drive
- umount /mnt/usb
- Remove the USB drive's mount point
- rmdir /mnt/usb
Installation Cleanup
This section contains the last set instructions required to complete the installation procedure.
- Change ownership of the user's home folder.
- chown -r olpc:olpc /mnt/sd/home/olpc
- Unmount the SD card
- umount /mnt/sd
- Remove the SD card's mount point
- rmdir /mnt/sd
- Restart the XO
- shutdown -r now
- Note: You will probably want to restart in verbose mode. To do that, hold down the ✓ key at startup.
- Once you've restarted, drop into a console (press ♦ ctrl + ♢ alt + f1) and run df: its output will indicate whether you booted from SD card or the NAND. The best indicator is if you see /dev/mmcblk0p1 mounted as /.