Welcome! Log In Create A New Profile

Advanced

Pogoplug v2 Uboot woes

Posted by JohnnyTToxic 
Pogoplug v2 Uboot woes
July 16, 2014 10:01PM
I've been reading through these forums for a few days and cannot figure out my issue.

I have a pogoplug v2 that I've been running happily as an arch server for about 4 years. The other day, I lost power to the device and it no longer boots. I hooked a serial up to it and I can get the uboot terminal, so that's good (from what I've read)

Here's what I get when I boot with the a USB containing my old alarm install. The output is the same when compared to a newly created arch install as well as one I have from a working pogoplug:
U-Boot 2014.04.R3-1 (May 26 2014 - 19:45:55) Arch Linux ARM
Pogo E02

SoC:   Kirkwood 88F6281_A0
DRAM:  256 MiB
WARNING: Caches not enabled
NAND:  128 MiB
In:    serial
Out:   serial
Err:   serial
Net:   egiga0
Hit any key to stop autoboot:  0
(Re)start USB...
USB0:   USB EHCI 1.00
scanning bus 0 for devices... 3 USB Device(s) found
       scanning usb for storage devices... 1 Storage Device(s) found
** File not found /rescueme **
** Unrecognized filesystem type **
UBI: attaching mtd1 to ubi0
UBI: physical eraseblock size:   131072 bytes (128 KiB)
UBI: logical eraseblock size:    129024 bytes
UBI: smallest flash I/O unit:    2048
UBI: sub-page size:              512
UBI: VID header offset:          512 (aligned 512)
UBI: data offset:                2048
UBI: attached mtd1 to ubi0
UBI: MTD device name:            "mtd=3"
UBI: MTD device size:            91 MiB
UBI: number of good PEBs:        727
UBI: number of bad PEBs:         1
UBI: max. allowed volumes:       128
UBI: wear-leveling threshold:    4096
UBI: number of internal volumes: 1
UBI: number of user volumes:     0
UBI: available PEBs:             716
UBI: total number of reserved PEBs: 11
UBI: number of PEBs reserved for bad PEB handling: 7
UBI: max/mean erase counter: 1/1
UBIFS error (pid 0): ubifs_get_sb: cannot open "rootfs", error -22
UBIFS error (pid 0): ubifs_mount: Error reading superblock on volume 'rootfs' errno=-22!

ubifsmount - mount UBIFS volume

Usage:
ubifsmount <volume-name>
    - mount 'volume-name' volume
1 bytes read in 112 ms (0 Bytes/s)
Found bootable drive on usb 0:1
EHCI timed out on TD - token=0xa0008d80
EHCI timed out on TD - token=0x20008d80
EHCI timed out on TD - token=0x20008d80
 ** ext4fs_devread read error - block
** File not found /boot/uInitrd **
## Booting kernel from Legacy Image at 00800000 ...
   Image Name:   Linux-3.14.4-1-ARCH
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3965072 Bytes = 3.8 MiB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... Bad Data CRC
ERROR: can't get kernel image!
stopping USB..
Unknown command 'fsload' - try 'help'
Unknown command 'fsload' - try 'help'
resetting ...
and then it does that on a loop.

Here's what it does when I reboot with no USB device plugged in:
SoC:   Kirkwood 88F6281_A0
DRAM:  256 MiB
WARNING: Caches not enabled
NAND:  128 MiB
In:    serial
Out:   serial
Err:   serial
Net:   egiga0
Hit any key to stop autoboot:  0
(Re)start USB...
USB0:   USB EHCI 1.00
scanning bus 0 for devices... 2 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
** Bad device usb 0 **
** Bad device usb 0 **
UBI: attaching mtd1 to ubi0
UBI: physical eraseblock size:   131072 bytes (128 KiB)
UBI: logical eraseblock size:    129024 bytes
UBI: smallest flash I/O unit:    2048
UBI: sub-page size:              512
UBI: VID header offset:          512 (aligned 512)
UBI: data offset:                2048
UBI: attached mtd1 to ubi0
UBI: MTD device name:            "mtd=3"
UBI: MTD device size:            91 MiB
UBI: number of good PEBs:        727
UBI: number of bad PEBs:         1
UBI: max. allowed volumes:       128
UBI: wear-leveling threshold:    4096
UBI: number of internal volumes: 1
UBI: number of user volumes:     0
UBI: available PEBs:             716
UBI: total number of reserved PEBs: 11
UBI: number of PEBs reserved for bad PEB handling: 7
UBI: max/mean erase counter: 1/1
UBIFS error (pid 0): ubifs_get_sb: cannot open "rootfs", error -22
UBIFS error (pid 0): ubifs_mount: Error reading superblock on volume 'rootfs' errno=-22!

ubifsmount - mount UBIFS volume

Usage:
ubifsmount <volume-name>
    - mount 'volume-name' volume
** Bad device usb 0 **
** Bad device usb 1 **
** Bad device usb 2 **
** Bad device usb 3 **
** Bad device usb 0 **
** Bad device usb 0 **
Wrong Image Format for bootm command
ERROR: can't get kernel image!
stopping USB..
Unknown command 'fsload' - try 'help'
Unknown command 'fsload' - try 'help'
resetting ...

Here's what I get when I printenv:
PogoE02> printenv
arcNumber=3542
baudrate=115200
bootargs=$(console) $(bootargs_root)
bootargs_root=root=/dev/mtdblock2 ro
bootcmd=usb start; run force_rescue_bootcmd; run ubifs_bootcmd; run usb_bootcmd; usb stop; run rescue_bootcmd; run pogo_bootcmd; reset
bootdelay=3
bootm=echo Booting from ${disk} ...; run setargs; bootm ${loadaddr};
bootz=echo Booting from ${disk} ...; run setargs; bootz ${loadaddr} - ${fdt_addr};
console=ttyS0,115200
ethact=egiga0
ethaddr=00:25:31:00:95:6A
fdt_addr=0x800000
fdt_file=/boot/dtbs/kirkwood-pogo_e02.dtb
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
importbootenv=echo Importing environment (uEnv.txt)...; env import -t $loadaddr $filesize
ipaddr=192.168.1.99
led_error=orange blinking
led_exit=green off
led_init=green blinking
load=echo Attempting to boot from ${type} ${disk}:1...;if run loadbootenv; then run importbootenv;fi;echo Checking if uenvcmd is set ...;if test -n $uenvcmd; then echo Running uenvcmd ...;run uenvcmd;fi;echo Running default loadzimage ...;if run loadzimage; then run loadfdt;run bootz;fi;echo Running default loaduimage ...;if run loaduimage; then run bootm;fi;
loadaddr=0x810000
loadbootenv=load ${type} ${disk}:1 ${loadaddr} /boot/uEnv.txt
loadfdt=load ${type} ${disk}:1 ${fdt_addr} ${fdt_file}
loaduimage=load ${type} ${disk}:1 ${loadaddr} ${uimage}
loadzimage=load ${type} ${disk}:1 ${loadaddr} ${zimage}
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
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.1.89
setargs=setenv bootargs console=${console},${baudrate} ${optargs} root=/dev/sd${letter}1 rw rootwait ${mtdparts}
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
uimage=/boot/uImage
usb_boot=mw 0x800000 0 1; ext2load usb $usb_device 0x800000 /boot/uImage; if ext2load usb $usb_device 0x1100000 /boot/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=ext3
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 /boot/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=sda1
usb_scan_2=usb=1:1 dev=sdb1
usb_scan_3=usb=2:1 dev=sdc1
usb_scan_4=usb=3:1 dev=sdd1
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
zimage=/boot/zImage

Environment size: 3558/131068 bytes


I can't get it to boot into the PogoPlug OS, nor can I get it to the point where it will connect via ethernet. Ethernet port just flashes when I plug in the cable, despite having a valid IP schema in the environment.

Does anyone have anything that they'd like me to try or any suggestions?

Thanks!
Re: Pogoplug v2 Uboot woes
July 17, 2014 09:18AM
JohnnyTToxic,

> I have a pogoplug v2 that I've been running
> happily as an arch server for about 4 years. The
> other day, I lost power to the device and it no
> longer boots.

Have you taken the USB drive to another Linux box and check for errors with fsck?

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Pogoplug v2 Uboot woes
July 17, 2014 05:40PM
bodhi Wrote:
-------------------------------------------------------

> Have you taken the USB drive to another Linux box
> and check for errors with fsck?

Yeah, it passes clean. I can boot into the USB on a borrowed pogoplug as well.

johnny@alarm ~ $ fsck /dev/sdb1
fsck from util-linux 2.20.1
e2fsck 1.42.5 (29-Jul-2012)
fsck.ext2: Permission denied while trying to open /dev/sdb1
You must have r/w access to the filesystem or be root
johnny@alarm ~ $ sudo !!
sudo fsck /dev/sdb1
fsck from util-linux 2.20.1
e2fsck 1.42.5 (29-Jul-2012)
/dev/sdb1: clean, 27854/247008 files, 142805/986179 blocks
johnny@alarm ~ $ sudo fsck /dev/sdb1 -f
fsck from util-linux 2.20.1
e2fsck 1.42.5 (29-Jul-2012)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdb1: 27854/247008 files (4.7% non-contiguous), 142805/986179 blocks
Re: Pogoplug v2 Uboot woes
July 17, 2014 06:05PM
Based on this error:
** ext4fs_devread read error - block
** File not found /boot/uInitrd **
## Booting kernel from Legacy Image at 00800000 ...
   Image Name:   Linux-3.14.4-1-ARCH
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3965072 Bytes = 3.8 MiB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... Bad Data CRC

I'd guess that your rootfs was corrupted. You could try restoring uImage from a backup, or from a fresh download of ALARM rootfs of the same version. See if it boots. If not, either use the same USB or another USB thumb, format it as Ext3, extract that fresh ALARM rootfs to it, and boot.

Other thought: what is the file system of your USB rootfs? i.e. not Ext4?

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)



Edited 1 time(s). Last edit at 07/17/2014 06:32PM by bodhi.
Re: Pogoplug v2 Uboot woes
July 17, 2014 09:06PM
I'm not sure, I've only ever followed these instructions in order to install uboot and arch - http://archlinuxarm.org/platforms/armv5/pogoplug-v2-pinkgray

When I look at the USB drive, I get:
sudo sfdisk -l /dev/sdb

Disk /dev/sdb: 1018 cylinders, 125 heads, 62 sectors/track
Units = cylinders of 3968000 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdb1          0+   1017    1018-   3944719    7  HPFS/NTFS/exFAT
/dev/sdb2          0       -       0          0    0  Empty
/dev/sdb3          0       -       0          0    0  Empty
/dev/sdb4          0       -       0          0    0  Empty

Shouldn't those other partitions be populated, as in one of those being my rootfs?

On the USB drive, my /boot/ only contains uImage, no uInitrd
Re: Pogoplug v2 Uboot woes
July 18, 2014 01:03AM
JohnnyTToxic,

That looks totally wrong. If you've followed the instruction, the first and only partition System type should be Linux. And use fdisk -l to list partition, don't use sfdisk.

Output of fdisk should be similar to this:
Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048   976773166   488385559+  83  Linux

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)



Edited 1 time(s). Last edit at 07/18/2014 01:13AM by bodhi.
Author:

Your Email:


Subject:


Spam prevention:
Please, enter the code that you see below in the input field. This is for blocking bots that try to post this form automatically. If the code is hard to read, then just try to guess it right. If you enter the wrong code, a new image is created and you get another chance to enter it right.
Message: