User:NeoAmsterdam/Fedora 11 for XO-1: Install Notes

Jump to: navigation, search
Stop hand.png WARNING:
The content of this section is considered
It is preserved for historical or documenting reasons.

This brief install note combines techniques used for Installing build 8.0.2 to a bootable SD card and Fedora 11 for XO-1. Please read both documents thoroughly before proceeding.

Read Me First

Full Disclosure

  • I am not currently running Fedora 11 for XO-1 as it is still too buggy for day-to-day work - even for bleeding-edge aficionados. The major sticking points experienced were:
    • Unreliable network
      Now you have WiFi, now you don't
    • Unresponsive UI
      Sugar moved like molasses
    • Hanging system
      Probably a bug in the power management software
    • Strange mounts (FUSE?)
      You have to unmount /var/cache/yum or yum will complain it's out of cache space.


  • This procedure will erase and overwrite everything stored on the XO and the SD card. Back up your data!
  • Do not execute this procedure on battery power. Any power interruption could lead render your XO irrecoverable.
  • This procedure requires the use of fdisk for partitioning. Do not attempt this procedure if you are a Linux novice.
  • Execute this procedure at your own risk. I will provide clarifications and explanations if requested, but I will not provide tech-support-style help.
  • Fedora 11 for XO-1 is (at time of writing) still in development phase, and is not considered ready for full deployment.


  • The SD card will be formatted as an ext3 filesystem. This is not an ideal filesystem for SD cards.
  • This document assumes you already have a developer key.
  • This document assumes that fdisk automatically recognizes the starting and ending cylinders for the SD card.
  • The XO may not boot automatically from the SD card if devices are plugged in to the USB slots (I have no idea why this may be).
  • Expect bugs - lots of them. If you're not OK with that, don't proceed.


  • Some instructions on this page are verbose. Even though it takes longer, it'll allow you to keep tabs on the XO's progress.
  • Children should not attempt this procedure - even if you have permission from a parent, guardian, teacher, and/or Linux guru.
    Sorry, kids, but there are too many things that can go wrong. Instead, convince your parent, guardian, teacher, and/or Linux guru to let you watch them debug ;-)


  • An XO
  • A USB drive
    ≥1 GB
  • An SD card
    ≥1 GB; biggest is "best-est"
  • A developer's key
    The instructions for obtaining a developer's key can be found here.
  • Internet connectivity
    You will need to download some files.


  • You will probably want to use a second computer to download two required files and to back up the XO's data.

The Procedure

  1. Remove the SD card from the slot.
  2. Follow the directions for installing F11 for XO-1, as described in the section entitled Installation Instructions.
  3. Once restarted, drop into the the console.
  4. Stop Sugar and the automounting daemon by lowering the runlevel.
    /sbin/init 3
  5. Insert the SD card.
  6. Determine mounted devices
    mount will list all the mounted devices.
    If you see /dev/mmcblk0p1 mentioned, run umount /dev/mmcblk0p1.
    If the XO responds with the device is busy error message, try cd / ; umount /dev/mmcblk0p1.
    If the device still can't be unmounted, stop what you're doing - you cannot proceed any further.
  7. Quick-format the SD card
    dd if=/dev/zero of=/dev/mmcblk0 bs=512 count=8
  8. Paritition the SD card.
    fdisk /dev/mmcblk0
    You will now be running fdisk interactively. Create a new primary partition that runs the length of the drive, flag it as bootable, make sure it's type 83 (Linux), and write the changes.
  9. Format the SD card. Note: The volume label must be OLPCRoot (unless you're prepared to tinker with /ofw/olpc.fth)
    mkfs.ext3 -L "OLPCRoot" /dev/mmcblk0p1
  10. Mount the SD card.
    mkdir /mnt/SD ; mount -t ext3 /dev/mmcblk0p1 /mnt/SD
  11. Copy the developer key from the USB drive to the SD card.
    cp -rv /mnt/USB/security /mnt/SD
  12. Copy the OS from the NAND to the SD card.
    cp -prv /versions/pristine/11/* /mnt/SD
  13. Wait.
  14. Create the olpc user's home directory.
    mkdir -pv /mnt/SD/home/olpc ; chown -rv olpc:olpc /mnt/SD/home/olpc
    Note: this may not work the first time around. Be ready to recreate /home/{olpc,root} with their respective permissions and owners.
  15. Unmount the SD card.
    unmount /mnt/SD
  16. Remove the temporary directory.
    rmdir -v /mnt/SD
  17. Restart.
    shutdown -r now
    You should now be booting off of the SD card.

See Also