Installing Fedora Core
Overview
This page describes how to install Fedora Core on the One Laptop per Child hardware using a USB Hard Disk Drive. As of the writing of this document, the A-Test boards have been built and distributed to several hundred people.
Requirements
Hardware
You will need a few pieces of hardware to install the software on the A-Test board.
- 1 A-Test (or pre-A-Test) OLPC board
- 1 USB hard drive
- 1 USB ethernet adapter
- 1 external VGA-compatible monitor for display
- 1 USB keyboard
- 1 USB mouse
- 1 powered USB hub
Why you need the powered USB hub
- The board only has 3 USB ports, and there are 5 USB peripherals involved.
- But even if you are only using 3 USB peripherals, you still might need a powered hub, because the board's internal power converters are wimpy (to reduce cost and prolong battery life).
Software
Download
Get an OS image from http://olpc.download.redhat.com/olpc/streams/development/latest/devel_ext3/. You want the ".img.bz2" file, for example:
olpc-redhat-stream-development-build-86-20060922_1506-devel_ext3.img.bz2
Installing
Follow the directions at OS images for USB disks, under the "Dedicated USB disk" section.
Enlarging the Partition
Since the OLPC OS images are 512MB (to fit the onboard flash), but you are installing them to a larger drive. Therefore we must enlarge the partition. Once you have transferred the image to the USB device (the 'dd' step), and synced all disks (the 'sync' step), get a root shell. Then, start the 'fdisk' command like so:
[root@localhost ~]# fdisk /dev/sda
Be sure to replace '/dev/sda' with the actual device name of the USB Hard Disk Drive on which you are installing the OLPC OS.
Next, type 'p' to show the current partition table:
Command (m for help): p
Disk /dev/sda: 5000 MB, 5000970240 bytes 16 heads, 62 sectors/track, 9846 cylinders Units = cylinders of 992 * 512 = 507904 bytes
Device Boot Start End Blocks Id System /dev/sda1 1 993 492497 83 Linux Command (m for help):
Next, you wish to delete the existing partition:
Command (m for help): d Selected partition 1
If you type 'p' again to print the partition table, you'll notice that the partition has been deleted:
Command (m for help): p
Disk /dev/sda: 5000 MB, 5000970240 bytes 16 heads, 62 sectors/track, 9846 cylinders Units = cylinders of 992 * 512 = 507904 bytes
Device Boot Start End Blocks Id System
Command (m for help):
Next, you wish to re-create the partition with a much larger size:
Command (m for help): n Command action e extended p primary partition (1-4)
Type the letter 'p' here to create a new primary partition.
p
Type '1' here to create primary partition number 1:
Partition number (1-4): 1
Just hit return here to start the partition at cylinder #1:
First cylinder (1-9846, default 1): 1
Just hit return here to end the partition at the end of the disk:
Last cylinder or +size or +sizeM or +sizeK (1-9846, default 9846): Using default value 9846
You may type 'p' again to print out the new partition table:
Command (m for help): p
Disk /dev/sda: 5000 MB, 5000970240 bytes 16 heads, 62 sectors/track, 9846 cylinders Units = cylinders of 992 * 512 = 507904 bytes
Device Boot Start End Blocks Id System /dev/sda1 1 9846 4883615+ 83 Linux
Now, type 'w' to write the partition table to the disk and quit fdisk.
Enlarging the filesystem
Now that the partition is large enough, you must resize the filesystem to take advantage of all the new space. First we have to 'fsck' (file system check) the file system to ensure that it is clean. Be sure to replace the '/dev/sda1' with the actual device you are using, and make sure that you do have the '1' on the end, to specify checking of the first partition, not the entire device.
[root@localhost ~]# fsck.ext3 /dev/sda1 e2fsck 1.39 (29-May-2006) /dev/sda1 is mounted.
WARNING!!! Running e2fsck on a mounted filesystem may cause SEVERE filesystem damage.
Do you really want to continue (y/n)? yes
Type 'y' here to continue checking:
OLPCRoot: recovering journal OLPCRoot: clean, 18986/123464 files, 337653/492496 blocks [root@localhost ~]#
Next, you will resize the actual filesystem. Choose a size that matches or is slightly less than the size of your actual USB hard disk drive. resize2fs will warn you if the size you chose is too big. In that case, just readjust the size and try again.
[root@localhost ~]# resize2fs /dev/sda1 4500M resize2fs 1.39 (29-May-2006) Filesystem at /dev/sda1 is mounted on /media/OLPCRoot; on-line resizing required Performing an on-line resize of /dev/sda1 to 4608000 (1k) blocks.
When that step is complete (it could take a while), type 'sync' to ensure data is flushed to disk. Wait until the disk activity light has stopped before unplugging the disk.
Done!
You may now connect the drive to an OLPC developer board and boot it.
Additional Setup
The OLPC OS images are set up to automatically start Sugar. You may not want this. After booting and arriving at the Sugar login screen, switch to a virtual terminal by pressing Ctrl+Alt+F1 all at the same time. You will then see a login prompt. You may log in as 'root' with no password. Change the password to something secure!!! Next, remove the contents of /etc/sysconfig/desktop and leave the file blank to stop sugar from starting by default.
Adding more software to the system
Since the OLPC images are quite stripped due to the 512MB requirement, you may wish to install additional software. To install a Gnome desktop environment, for example, you may:
yum install nautilus gedit gdm gnome-panel gnome-session
This will download and install the major pieces of the GNOME desktop. When 'yum' asks:
Is this ok [y/N]:
Type 'y' to proceed. If yum fails due to dependency issues, you may need to wait until the problem gets fixed, or you may file a bug at [Red Hat Bugzilla http://bugzilla.redhat.com].
If you would like the KDE environment, you could type:
yum install kdebase kdeutils