[fedora-arm] Fedora 18 on pogoplug and usb boot order

Robert Moskowitz rgm at htt-consult.com
Tue Aug 25 18:44:40 UTC 2015


I have been working on my pogoplug again that has the F18 from:

https://fedoraproject.org/wiki/Architectures/ARM/PogoplugUSBDisk

It boots just fine PROVIDED that only the F18 usb drive is the only one 
in at boot time.  If I have my 3Tb drive in at boot time it fails.  I 
did a google search and claims are made that the usb order is bottom to 
top (for the three usb ports on the back, I assume the front is after 
them).  But even putting my OS drive on the bottom I still fail.  What I 
am seeing on the serial console is:

U-Boot 2011.12 (Feb 20 2012 - 21:21:59)
Pogoplug E02

SoC:   Kirkwood 88F6281_A0
DRAM:  256 MiB
WARNING: Caches not enabled
NAND:  128 MiB
In:    serial
Out:   serial
Err:   serial
Net:   egiga0
88E1116 Initialized on egiga0
Using egiga0 device
ping failed; host 192.168.128.27 is not alive
Hit any key to stop autoboot:  0
(Re)start USB...
USB:   Register 10011 NbrPorts 1
USB EHCI 1.00
scanning bus for devices... 4 USB Device(s) found
        scanning bus for storage devices... READ_CAP ERROR
3 Storage Device(s) found
Loading file "/rescueme" from usb device 0:1 (usbda1)
** File not found /rescueme
reading /rescueme.txt

** Unable to read "/rescueme.txt" from usb 0:1 **


where as a 'proper boot after autoboot is:

Hit any key to stop autoboot:  0
(Re)start USB...
USB:   Register 10011 NbrPorts 1
USB EHCI 1.00
scanning bus for devices... 3 USB Device(s) found
        scanning bus for storage devices... 1 Storage Device(s) found
Loading file "/rescueme" from usb device 0:1 (usbda1)
** File not found /rescueme
reading /rescueme.txt

** Unable to read "/rescueme.txt" from usb 0:1 **
Creating 1 MTD partitions on "nand0":
0x000002500000-0x000008000000 : "mtd=3"

etc.

It just hangs.  I will be having my pogoplug on a ups, but still I 
really want it to boot reliablely after a power outage.  My printenv in 
uboot is:

u-boot>> printenv
arcNumber=2097
baudrate=115200
bootcmd=usb start; run force_rescue_bootcmd; run ubifs_bootcmd; run
usb_bootcmd; usb stop; run rescue_bootcmd; run pogo_bootcmd; reset
bootdelay=3
console=ttyS0,115200
ethact=egiga0
ethaddr=00:25:31:02:FE:7C
force_rescue=0
force_rescue_bootcmd=if test $force_rescue -eq 1 || ext2load usb 0:1
0x1700000 /rescueme 1 || fatload usb 0:1 0x1700000 /rescueme.txt 1;
then run rescue_bootcmd; fi
if_netconsole=ping $serverip
ipaddr=192.168.128.26
led_error=orange blinking
led_exit=green off
led_init=green blinking
mainlineLinux=yes
mtdids=nand0=orion_nand
mtdparts=mtdparts=orion_nand:1M(u-boot),4M(uImage),32M(rootfs),-(data)
partition=nand0,2
pogo_bootcmd=if fsload uboot-original-mtd0.kwb; then go 0x800200; fi
preboot=run if_netconsole start_netconsole
rescue_bootcmd=if test $rescue_installed -eq 1; then run
rescue_set_bootargs; nand read.e 0x800000 0x100000 0x400000; bootm
0x800000; else run pogo_bootcmd; fi
rescue_installed=0
rescue_set_bootargs=setenv bootargs console=$console ubi.mtd=2
root=ubi0:rootfs ro rootfstype=ubifs $mtdparts $rescue_custom_params
serverip=192.168.128.27
start_netconsole=setenv ncip $serverip; setenv bootdelay 10; setenv
stdin nc; setenv stdout nc; setenv stderr nc; version;
stderr=serial
stdin=serial
stdout=serial
ubifs_bootcmd=run ubifs_set_bootargs; if ubi part data && ubifsmount
rootfs && ubifsload 0x800000 /boot/uImage && ubifsload 0x1100000
/boot/uInitrd; then bootm 0x800000 0x1100000; fi
ubifs_mtd=3
ubifs_set_bootargs=setenv bootargs console=$console ubi.mtd=$ubifs_mtd
root=ubi0:rootfs rootfstype=ubifs $mtdparts $ubifs_custom_params
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
usb_bootcmd=run usb_init; run usb_set_bootargs; run usb_boot
usb_device=0:1
usb_init=run usb_scan
usb_root=/dev/sda1
usb_rootdelay=10
usb_rootfstype=ext4
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
usb_scan_1=usb=0:1 dev=sda3
usb_scan_2=usb=1:1 dev=sdb3
usb_scan_3=usb=2:1 dev=sdc3
usb_scan_4=usb=3:1 dev=sdd3
usb_scan_list=1 2 3 4
usb_set_bootargs=setenv bootargs console=$console root=$usb_root
rootdelay=$usb_rootdelay rootfstype=$usb_rootfstype $mtdparts
$usb_custom_params

Environment size: 2575/131068 bytes
u-boot>>

===============

Separately, what are those IP addresses doing there?  I do not remember 
putting them there, perhaps that is an artifact of the original pogo 
linux.  The unit is currently on a different subnet than 192.168.128.0, 
but I will be moving it back there once I go into production.  How do I 
remove those addresses?

thank you




More information about the arm mailing list