Installing to SD Card
IntroductionFirst of all, this page is a new work in progress. I am new to the OLPC, having just gotten my G1G1 laptop. While under construction, I won't have linked to other pages much, as I'll go over and do this as a pass later.... This page is to address the following goals I had:
This is just an assemblage of information I found in other pages in the wiki, some new, some old, some slightly related to my goals, and shaken out. In many ways, is just the same as the older Installing Fedora Core Page, but using the XO-1/SD instead of developer boards/USB drives. AssumptionsI have my laptop unlocked after having received my developer key, and as such it may be required for these instructions. InstructionsInstall the imageSince this is to be a semi-permanant installation, it makes sense to track stable releases. Go lookup the latest stable build number at the following URL (but do not download from here, as we need ext3, not jffs2 images...): http://download.laptop.org/xo-1/os/official/ Once you know the build number, look it up here: http://xs-dev.laptop.org/~cscott/olpc/streams/ship.2/ And download the ext3 image, you need the file ending in .img.bz2, e.g., olpc-redhat-stream-ship.2-build-653-20071214_1708-devel_ext3.img.bz2 (NOTE: I am not certain where the non devel images are, but I am making the (possibly naive) assumption that matching 'devel' build numbers correspond to the signed, stable release... if someone can confirm?) unzip it, and transfer it to a USB storage device via dd, e.g., # bunzip2 olpc-redhat-stream-ship.2-build-653-20071214_1708-devel_ext3.img.bz2 # dd if=olpc-redhat-stream-ship.2-build-653-20071214_1708-devel_ext3.img of=/dev/sdb bs=1024 # sync Remember to:
Enlarging the PartitionThe OLPC OS images are 1024MB (to fit the onboard flash), but you may be installing them to a larger drive. Therefore we must enlarge the partition. Once you have transferred the image to the SD Card 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/sdb Be sure to replace '/dev/sdb' 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 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 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 Now, type 'w' to write the partition table to the disk and quit fdisk. Enlarging the filesystemNow 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 ~]# /sbin/fsck.ext3 /dev/sdb1 e2fsck 1.39 (29-May-2006) /dev/sdb1 is mounted. The warning above is correct, answer "N". DO NOT fsck a mounted filesystem. You do not need to fsck to do an online resize (which is what is done below). If you want to run fsck, be sure to umount the filesystem first! Next, you will resize the actual filesystem to use all the available space [root@localhost ~]# resize2fs /dev/sdb1 resize2fs 1.39 (29-May-2006) Filesystem at /dev/sdb1 is mounted on /media/OLPCRoot; on-line resizing required Performing an on-line resize of /dev/sdb1 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. Fixing the boot scriptYou must now mount the card onto a Linux system (your OLPC booted off the NAND at a root shell will work), and edit the file /MOUNTPOINT/boot/olpc.fth, changing the following items:
Not doing this resulted in a boot error for me. TODO: I suspect more changes to this file will let me do the 'default internal NAND, need keypress at boot for booting the SD. Booting the SD CardNow you should be able to boot the OLPC operating system off the SD Card. Just insert it and power-on/reboot the device. You should see it come up with as if you reset the firmware. (IE: Asks for name and colours). You should check in a terminal window with 'df' to ensure the SD card is your root device. Other things todoNow you have a lot of space potentally (with SD prices forever falling), and little risk of making your system unbootable, you can do all sorts of things such as installing packages from YUM, installing/playing with Xfce on your alternate image. Some other notes will be collected for specific apps, etc. Installing PidginThis *almost* works out of the box, save for one missing dependency in the yum repository. If you first install the RPM from here: You can then easily do a YUM install of pidgin. Resolving logos conflict when installing from YUMMany packages will result is most of GNOME getting pulled in by dependencies. This will cause a problem with the logos package. Resolve as follows from a root shell: rpm -Uvh \ http://koji.fedoraproject.org/packages/redhat-artwork/7.0.0/11.fc7/i386/redhat-artwork-7.0.0-11.fc7.i386.rpm \ http://koji.fedoraproject.org/packages/fedora-logos/6.0.98/3.fc7/noarch/fedora-logos-6.0.98-3.fc7.noarch.rpm \ --nodeps --force Using NetworkManager in XFCEWARNING: Instructions incomplete and almost entirely untested at this time. WARNING: This will haul in most of the GNOME environment to accomplish this feat. Since many other packages I have installed already did this, it wasn't a big deal really. Assumes you've visiting the Xfce page and and followed some directions there. First, install the XFCE support for using GNOME applets: yum install xfce4-xfapplet-plugin Then forcibly install the NetworkManager-gnome package from the fedora 7 updates repository: rpm -Uvh http://download.fedora.redhat.com/pub/fedora/linux/updates/7/i386/NetworkManager-gnome-0.6.5-7.fc7.i386.rpm Installing Non-OLPC images to SD CardsLinks to other efforts to run from SD cardsInstalling Debian to an SD CardA modification of the manual install instructions found at the debian site here: http://wiki.debian.org/DebianEdu/OLPC/Installation
cd /tmp wget http://radian.org/~krstic/etch-xfce.tar wget http://radian.org/~krstic/etch-xfce-home.tar
cd /tmp tar xpvf etch-xfce.tar mkdir debian/home/olpc cd debian/home/olpc tar xpvf /tmp/etch-xfce-home.tar chown -R 500:500 /tmp/debian/home/olpc
Disabling the tap-to-click on trackpadWhile the official Sugar builds do not do tap-to-click, the device driver when under debian/ubuntu turns this on, which is excruciatingly sensitive, making it difficult to use. (Well, for me anyways, I've never liked it much on ANY laptop....) To disable:
options mousedev tap_time=0
See also |