From Fedora Project Wiki
(Added notes about creating a swap file.)
(edited for F18)
Line 1: Line 1:
 
= How To: Use the Fedora rootfs on a Pogoplug =  
 
=How To: Use the Fedora 17 rootfs on a Pogoplug=  
The [http://pogoplug.com 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/grey Pogoplug V2.
The [http://pogoplug.com 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/grey Pogoplug V2.


Line 14: Line 12:
# [http://jeff.doozan.com/debian/uboot update the bootloader]
# [http://jeff.doozan.com/debian/uboot update the bootloader]


After updating uboot, but '''before rebooting''' there are some additional changes to the uboot envoirment that need to be made in order to work with the filesystem layout for the Fedora 17 images.
After updating uboot, but '''before rebooting''' there are some additional changes to the uboot envoirment that need to be made in order to work with the filesystem layout for the Fedora images.


=== Fedora 18 ===
<pre>
<pre>
fw_setenv usb_scan 'usb_scan_done=0;for scan in $usb_scan_list; do run usb_scan_$scan; if test $usb_scan_done -eq 0 && fatload usb $usb 0x800000 /uImage-kirkwood 1; then usb_scan_done=1; echo "Found bootable drive on usb $usb"; setenv usb_device $usb; setenv usb_root /dev/$dev; fi; done'
/usr/sbin/fw_setenv usb_scan 'usb_scan_done=0;for scan in $usb_scan_list; do run usb_scan_$scan; if test $usb_scan_done -eq 0 && ext2load usb $usb 0x800000 uImage 1; then usb_scan_done=1; echo "Found bootable drive on usb $usb"; setenv usb_device $usb; setenv usb_root /dev/$dev; fi; done'
fw_setenv usb_boot 'mw 0x800000 0 1; fatload usb $usb_device 0x800000 uImage-kirkwood; if fatload usb $usb_device 0x1100000 uInitrd-kirkwood; then bootm 0x800000 0x1100000; else bootm 0x800000; fi'
/usr/sbin/fw_setenv usb_boot 'mw 0x800000 0 1; ext2load usb $usb_device 0x800000 uImage; if ext2load usb $usb_device 0x1100000 uInitrd; then bootm 0x800000 0x1100000; else bootm 0x800000; fi'
fw_setenv usb_scan_1 "usb=0:1 dev=sda2"
/usr/sbin/fw_setenv usb_scan_1 "usb=0:1 dev=sda3"
fw_setenv usb_scan_2 "usb=1:1 dev=sdb2"
/usr/sbin/fw_setenv usb_scan_2 "usb=1:1 dev=sdb3"
fw_setenv usb_scan_3 "usb=2:1 dev=sdc2"
/usr/sbin/fw_setenv usb_scan_3 "usb=2:1 dev=sdc3"
fw_setenv usb_scan_4 "usb=3:1 dev=sdd2"
/usr/sbin/fw_setenv usb_scan_4 "usb=3:1 dev=sdd3"
/usr/sbin/fw_setenv usb_rootfstype ext4
</pre>
 
=== Fedora 17 ===
<pre>
/usr/sbin/fw_setenv usb_scan 'usb_scan_done=0;for scan in $usb_scan_list; do run usb_scan_$scan; if test $usb_scan_done -eq 0 && fatload usb $usb 0x800000 /uImage-kirkwood 1; then usb_scan_done=1; echo "Found bootable drive on usb $usb"; setenv usb_device $usb; setenv usb_root /dev/$dev; fi; done'
/usr/sbin/fw_setenv usb_boot 'mw 0x800000 0 1; fatload usb $usb_device 0x800000 uImage-kirkwood; if fatload usb $usb_device 0x1100000 uInitrd-kirkwood; then bootm 0x800000 0x1100000; else bootm 0x800000; fi'
/usr/sbin/fw_setenv usb_scan_1 "usb=0:1 dev=sda2"
/usr/sbin/fw_setenv usb_scan_2 "usb=1:1 dev=sdb2"
/usr/sbin/fw_setenv usb_scan_3 "usb=2:1 dev=sdc2"
/usr/sbin/fw_setenv usb_scan_4 "usb=3:1 dev=sdd2"
</pre>
</pre>


Line 29: Line 39:
== Preparation of the USB-stick or disk ==  
== Preparation of the USB-stick or disk ==  


Write the Fedora 17 Image for Kickwood SoCs following the instuctions on the [[Architectures/ARM/Kirkwood#Writing_the_Image|Kirkwood]] page. Insert the drive into the Pogoplug and reboot. After about one mintue you should be able to ssh to the PogoPlug, the root password is 'fedoraarm'. Remember to recheck what dhcp address has been supplied as it will likely have changed from the uboot update step.
Write the Fedora Image for Kickwood SoCs following the instuctions on the [[Architectures/ARM/Kirkwood#Writing_the_Image|Kirkwood]] page. Insert the drive into the Pogoplug and reboot. After about one mintue you should be able to ssh to the PogoPlug, the root password is 'fedoraarm'. Remember to recheck what dhcp address has been supplied as it will likely have changed from the uboot update step.
 


== Optional Configuration ==
== Optional Configuration ==
 
Because of the limited memory on the PogoPlug, on Fedora 17 or earlier it is advisable to add a swap partition/file. See, [http://docs.fedoraproject.org/en-US/Fedora/14/html/Storage_Administration_Guide/s2-swap-creating-file.html Fedora Documentation: Creating a Swap File]. Use count=262144 for a 256MB swap partiation. The Fedora 18 image already comes with a swap partition.
Because of the limited memory on the PogoPlug, it is advisable to add a swap partition/file. See, [http://docs.fedoraproject.org/en-US/Fedora/14/html/Storage_Administration_Guide/s2-swap-creating-file.html Fedora Documentation: Creating a Swap File]. Use count=262144 for a 256MB swap partiation.

Revision as of 17:33, 12 January 2013

How To: Use the Fedora 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/grey 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

  1. register the Pogoplug
  2. enable SSH access
  3. update the bootloader

After updating uboot, but before rebooting there are some additional changes to the uboot envoirment that need to be made in order to work with the filesystem layout for the Fedora images.

Fedora 18

/usr/sbin/fw_setenv usb_scan 'usb_scan_done=0;for scan in $usb_scan_list; do run usb_scan_$scan; if test $usb_scan_done -eq 0 && ext2load usb $usb 0x800000 uImage 1; then usb_scan_done=1; echo "Found bootable drive on usb $usb"; setenv usb_device $usb; setenv usb_root /dev/$dev; fi; done'
/usr/sbin/fw_setenv usb_boot 'mw 0x800000 0 1; ext2load usb $usb_device 0x800000 uImage; if ext2load usb $usb_device 0x1100000 uInitrd; then bootm 0x800000 0x1100000; else bootm 0x800000; fi'
/usr/sbin/fw_setenv usb_scan_1 "usb=0:1 dev=sda3"
/usr/sbin/fw_setenv usb_scan_2 "usb=1:1 dev=sdb3"
/usr/sbin/fw_setenv usb_scan_3 "usb=2:1 dev=sdc3"
/usr/sbin/fw_setenv usb_scan_4 "usb=3:1 dev=sdd3"
/usr/sbin/fw_setenv usb_rootfstype ext4

Fedora 17

/usr/sbin/fw_setenv usb_scan 'usb_scan_done=0;for scan in $usb_scan_list; do run usb_scan_$scan; if test $usb_scan_done -eq 0 && fatload usb $usb 0x800000 /uImage-kirkwood 1; then usb_scan_done=1; echo "Found bootable drive on usb $usb"; setenv usb_device $usb; setenv usb_root /dev/$dev; fi; done'
/usr/sbin/fw_setenv usb_boot 'mw 0x800000 0 1; fatload usb $usb_device 0x800000 uImage-kirkwood; if fatload usb $usb_device 0x1100000 uInitrd-kirkwood; then bootm 0x800000 0x1100000; else bootm 0x800000; fi'
/usr/sbin/fw_setenv usb_scan_1 "usb=0:1 dev=sda2"
/usr/sbin/fw_setenv usb_scan_2 "usb=1:1 dev=sdb2"
/usr/sbin/fw_setenv usb_scan_3 "usb=2:1 dev=sdc2"
/usr/sbin/fw_setenv usb_scan_4 "usb=3:1 dev=sdd2"

Note: The changes must be made from either the Pogoplug systems or in uboot at the serial console during boot. The updated version of uboot is not compatible with the uboot tools in fedora. DO NOT ATTEMPT to write the Pogoplug uboot enviorment with fw_saveenv provided by fedora. You will brick your system.

Preparation of the USB-stick or disk

Write the Fedora Image for Kickwood SoCs following the instuctions on the Kirkwood page. Insert the drive into the Pogoplug and reboot. After about one mintue you should be able to ssh to the PogoPlug, the root password is 'fedoraarm'. Remember to recheck what dhcp address has been supplied as it will likely have changed from the uboot update step.

Optional Configuration

Because of the limited memory on the PogoPlug, on Fedora 17 or earlier it is advisable to add a swap partition/file. See, Fedora Documentation: Creating a Swap File. Use count=262144 for a 256MB swap partiation. The Fedora 18 image already comes with a swap partition.