Installing Fedora Core

From OLPC
Revision as of 21:08, 27 September 2006 by DanWilliams (talk | contribs) (Add note about redhat-artwork/olpc-artwork conflict)
Jump to navigation Jump to search

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. Before installing either a Gnome or KDE environment, you must resolve a conflict between Sugar's artwork package, and the normal Fedora artwork package.

First, try to install redhat-artwork:

yum install redhat-artwork

This will download redhat-artwork and its dependencies. When 'yum' asks:

Is this ok [y/N]:

Type 'y' to proceed. The install will fail with a file conflict for /etc/gtk-2.0/gtkrc. That's fine, we'll proceed to force-install redhat-artwork and it's fedora-logos dependency:

-bash-3.1# cd /var/cache/yum/development/packages
-bash-3.1# rpm -Uhv redhat-artwork-5.0.7-1.fc6.i386.rpm fedora-logos-6.0.6-1.fc6.noarch --force

Note that your package versions might be slightly different; that's fine. Replace the filenames in the command above with the versions in the 'packages' directory. Now you may install your desktop environment of choice.

Installing Gnome

To install a Gnome desktop environment, run:

-bash-3.1# 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].

Installing KDE

If you would like the KDE environment, you could type:

yum install kdebase kdeutils

This will download and install the major pieces of the KDE 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].