How To: Use the Fedora 13 rootfs on a Pogoplug
The Pogoplug is installed with a very minimal (busybox) imate on the 3rd MTD-partition. In order to boot a full distribution from a USB-stick or disk, like Fedora, it is needed to replace the bootloader (u-boot) to make it USB-aware. Changing the bootloader will probably make the Pogoplug unsupported by the vendor. This guide describes how to install Fedora on the pink Pogoplug V2.
What you need
To complete this guide, you'll need
- Internet access on the Pogoplug
- An external USB-stick or disk
Replace u-boot to be able to boot from USB-storage
Preparation of the USB-stick or disk
Create a partition on the USB-storage. Note that it should be a primary partition with number 1 (like /dev/sdX1).
Label the partition rootfs, and format it as ext3:
mkfs -t ext3 -L rootfs /dev/sdX1 tune2fs -c 0 -i 0 /dev/sdX1
Mount the partition:
mount /dev/sdX1 /mnt
Copy rootfs to USB-storage
Now that the rootfs partition has been created, it's time to extract the Fedora 13 root filesystem onto it. First, download the prebuilt root file system. Once it's downloaded, navigate to the rootfs partition in a terminal, and extract the rootfs using the following commands:
su -c 'tar xjvf /path/to/rootfs-f13-beta-2011-03-23.tar.bz2 ./'
Replace /path/to/rootfs-f13-beta-2011-03-23.tar.bz2 with the path to rootfs-f13-beta-2011-03-23.tar.bz2 on your system.
Copy kernel and modules to the USB-storage
A working kernel (2.6.31.1) and modules can be taken are available from the Fedora 13 ARM Beta2 page:
- http://scotland.proximity.on.ca/arm/kernel/guruplug/2.6.36.1/uImage.tar.gz
- http://scotland.proximity.on.ca/arm/kernel/guruplug/2.6.36.1/modules.tar.gz
More recent (vanilla) kernel images can be found from:
- http://fedora.danny.cz/arm/kirkwood/2.6.38/ (uImage-2.6.38.3-kw, initrd-2.6.38.3-kw.img.uboot and modules-2.6.38.3-kw.tar.bz2 confirmed working)
- http://fedora.danny.cz/arm/kirkwood/
Make the kernel findable by the modified u-boot
su -c 'tar xzvf /path/to/uImage.tgz -C ./boot'
The uImage file should be placed under /boot on the first partition of the USB-storage. This is where u-boot tries to find it.
Make the modules available for loading during runtime
su -c 'tar xzvf /path/to/modules.tgz'
Replace /path/to/modules.tgz with the location of your downloaded modules.tgz file. There is no need to run depmod as the generated files are already part of the archive. All .ko files should be located under the /lib/modules/2.6.36.1 directory on the USB-storage.
Extra settings
This section outlines some of the additional configuration changes that need to be made.
Filesystems
The Fedora 13 root filesystem is set up by default to mount a NFS share as the root partition. This can be corrected by changing /etc/fstab. In the rootfs partition, open the etc/fstab (note there is NO prepending slash) and change the first line to read:
LABEL=rootfs / ext3 defaults 0 0
Finished
Unmount the USB-storage on your PC, connect it to the Pogoplug and reboot it.