Welcome! Log In Create A New Profile

Advanced

Pogo E02 - Wont boot to USB or Pogo OS

Posted by BobM 
Pogo E02 - Wont boot to USB or Pogo OS
November 04, 2020 06:38PM
Working on a Pogo E02 now having got and V3 & V4 working. Upgraded UBOOT to latest version 2017007 as per instructions but now I can't boot to original Pogo OS or my Debian USB stick. This is the serial terminal dump:
U-Boot 2017.07-tld-1 (Sep 05 2017 - 00:13:18 -0700)
Pogo E02

SoC:   Kirkwood 88F6281_A0
DRAM:  256 MiB
WARNING: Caches not enabled
NAND:  128 MiB
In:    serial
Out:   serial
Err:   serial
Net:   egiga0
No link on egiga0
ping failed; host 192.168.100.207 is not alive
No link on egiga0
ping failed; host 192.168.100.207 is not alive
Hit any key to stop autoboot:  0
Initializing devices...
running scan_disk ...
loading uImage ...
** Bad device usb 0 **
loading uInitrd ...
** Bad device usb 0 **
loading DTB /boot/dts/kirkwood-pogo_e02.dtb ...
** Bad device usb 0 **
Wrong Image Format for bootm command
ERROR: can't get kernel image!
PogoE02>

If I manually start usb (usb start) the Sandisk 16GB stick is recognised as is the partition.
Partition Map for USB device 0  --   Partition Type: EFI

Part    Start LBA       End LBA         Name
        Attributes
        Type GUID
        Partition GUID
  1     0x00000800      0x01d357ff      "rootfs"
        attrs:  0x0000000000000000
        type:   0fc63daf-8483-4772-8e79-3d69d8477de4
        type:   linux
        guid:   bcd8d03c-187c-4f6e-8aff-76ef0b421242

## Unknown partition table type 0

## Unknown partition table type 0

## Unknown partition table type 0

## Unknown partition table type 0

## Unknown partition table type 0

## Unknown partition table type 0

The environment was flashed to the 2016 and the changes made as per the instructions,

PogoE02> printenv
arcNumber=3542
bootargs=console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 mtdparts=orion_nand:1M(u-boot),4M(uImage),32M(rootfs),-(data)
bootcmd=run bootcmd_uenv; run scan_disk; run set_bootargs; run bootcmd_exec
bootcmd_exec=run load_uimage; if run load_initrd; then if run load_dtb; then bootm $load_uimage_addr $load_initrd_addr $load_dtb_addr; else bootm $load_uimage_addr $load_initrd_addr; fi; else if run load_dtb; then bootm $load_uimage_addr - $load_dtb_addr; else bootm $load_uimage_addr; fi; fi
bootcmd_uenv=run uenv_load; if test $uenv_loaded -eq 1; then run uenv_import; fi; sleep 3
bootdelay=10
bootdev=usb
device=0:1
device_type=mmc
devices=usb ide mmc
disk_number=3
disks=0 1 2 3
dtb_file=/boot/dts/kirkwood-pogo_e02.dtb
ethact=egiga0
ethaddr=00:25:31:00:30:08
if_netconsole=ping $serverip
init_ide=ide reset
init_mmc=mmc rescan
init_usb=usb start
ipaddr=192.168.100.111
led_error=orange blinking
led_exit=green off
led_init=green blinking
load_dtb=echo loading DTB $dtb_file ...; load $bootdev $device $load_dtb_addr $dtb_file
load_dtb_addr=0x1c00000
load_initrd=echo loading uInitrd ...; load $bootdev $device $load_initrd_addr /boot/uInitrd
load_initrd_addr=0x1100000
load_uimage=echo loading uImage ...; load $bootdev $device $load_uimage_addr /boot/uImage
load_uimage_addr=0x800000
machid=dd6
mainlineLinux=yes
mtdids=nand0=orion_nand
mtdparts=mtdparts=orion_nand:1M(u-boot),4M(uImage),32M(rootfs),-(data)
nc_ready=0
partition=nand0,2
preboot=run preboot_nc
preboot_nc=setenv nc_ready 0; for pingstat in 1 2 3 4 5; do; sleep 1; if run if_netconsole; then setenv nc_ready 1; fi; done; if test $nc_ready -eq 1; then run start_netconsole; fi
scan_disk=echo running scan_disk ...; scan_done=0; setenv scan_usb "usb start";  setenv scan_ide "ide reset";  setenv scan_mmc "mmc rescan"; for dev in $devices; do if test $scan_done -eq 0; then echo Scan device $dev; run scan_$dev; for disknum in $disks; do if test $scan_done -eq 0; then echo device $dev $disknum:1; if load $dev $disknum:1 $load_uimage_addr /boot/uImage 1; then scan_done=1; echo Found bootable drive on $dev $disknum; setenv device $disknum:1; setenv bootdev $dev; fi; fi; done; fi; done
scan_ide=ide reset
scan_mmc=mmc rescan
scan_usb=usb start
serverip=192.168.100.207
set_bootargs=setenv bootargs console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 $mtdparts $custom_params
start_netconsole=setenv ncip $serverip; setenv bootdelay 10; setenv stdin nc; setenv stdout nc; setenv stderr nc; version;
stderr=serial
stdin=serial
stdout=serial
uenv_addr=0x810000
uenv_import=echo importing envs ...; env import -t $uenv_addr $filesize
uenv_init_devices=echo Initializing devices...; setenv init_usb "usb start";  setenv init_ide "ide reset";  setenv init_mmc "mmc rescan"; for devtype in $devices; do run init_$devtype; done
uenv_load=run uenv_init_devices; setenv uenv_loaded 0; for devtype in $devices; do for disknum in $disks; do if test $uenv_loaded -eq 0; then setenv device_type $devtype; setenv disk_number $disknum; run uenv_read; fi; done; done;
uenv_loaded=0
uenv_read=echo Loading envs from $device_type $disk_number...; if load $device_type  $disk_number:1 $uenv_addr /boot/uEnv.txt; then setenv uenv_loaded 1; echo ... envs loaded; fi
usb_ready_retry=15

Environment size: 3357/131068 bytes
PogoE02>

I have rummaged around but cant find anything obvious and I can't see anything on the WWW that has helped me so I'm asking the experts.

One other thing, when I copied the envs, I did see an error saying the env table was corrupt and it was using the default. When I look at the saved txt file, there is very little in it unfortunately. One other thing which I stupidly didnt make a note of is that my MTD partitions were laid out slightly differently to your default - I remember that it was the data partition which had a different start.

dev: size erasesize name 
mtd0: 00100000 00020000 "u-boot" 
mtd1: 00400000 00020000 "uImage" 
mtd2: 02000000 00020000 "rootfs" 
mtd3: 0??00000 00020000 "data"

I plan to check the Sandisk Ultra 3.0 in my pogo V4 tomorrow just to check the installation but as far as I can tell, it has no errors and is readable on my Zorin system and of course the mtd file is there.

Cheers - Bob
Re: Pogo E02 - Wont boot to USB or Pogo OS
November 04, 2020 11:18PM
Bob,

loading uImage ...
** Bad device usb 0 **
loading uInitrd ...
** Bad device usb 0 **
loading DTB /boot/dts/kirkwood-pogo_e02.dtb ...
** Bad device usb 0 **

The USB drive is not recognized by u-boot.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Pogo E02 - Wont boot to USB or Pogo OS
November 05, 2020 05:43PM
Erm Yes - This is a new stick - it worked for a while when I booted my Pogo V4 with it today then it got stuck. Went back to scratch and this time used FDISK on the pogo V3 to repartition the stick, copied the OS over again and booted the V2 OK however a bit later, on a restart, the Pogo was dead - no lights nothing :( Checked the PSU was OK, plugged it all in again and hey presto - up and running again.

Lessons learnt so far - Don't trust the EXT3 or EXT4 formatting from my Zorin based system, the Sandisk Ultra USB 3.0 are OK on all versions of Pogo, my PogoE02 may have developed a fault.

I still can't boot into the native O/S on the Pogo E02 however. That was working before I upgraded UBOOT. It doesn't seem to look at the NAND area and I wasn't sure if I could use the same script for 'Rescue System Pogo V3'. This is the serial log
U-Boot 2017.07-tld-1 (Sep 05 2017 - 00:13:18 -0700)
Pogo E02

SoC:   Kirkwood 88F6281_A0
DRAM:  256 MiB
WARNING: Caches not enabled
NAND:  128 MiB
In:    serial
Out:   serial
Err:   serial
Net:   egiga0
No link on egiga0
ping failed; host 192.168.100.207 is not alive
sleep - delay execution for some time

Usage:
sleep N
    - delay execution for N seconds (N is _decimal_ and can be
      fractional)
No link on egiga0
ping failed; host 192.168.100.207 is not alive
Hit any key to stop autoboot:  0
Initializing devices...
running scan_disk ...
loading uImage ...
** Bad device usb 0 **
loading uInitrd ...
** Bad device usb 0 **
loading DTB /boot/dts/kirkwood-pogo_e02.dtb ...
** Bad device usb 0 **
Wrong Image Format for bootm command
ERROR: can't get kernel image!
PogoE02>
Re: Pogo E02 - Wont boot to USB or Pogo OS
November 05, 2020 09:33PM
Bob,

Quote

I wasn't sure if I could use the same script for 'Rescue System Pogo V3'. This is the serial log

No. The Pogoplugs E02 and V3 are very different devices.

It is still not regconized for whatever reason

loading uImage ...
** Bad device usb 0 **

Suggestion:

- Use MBR partition, don't use GPT.
- Wipe it clean on the Pogoplug (whatever unit you have running). Recreate MBR partition, and untar the rootfs (while being root). GPT should work OK. However, take a low common denominator first to make it work.
- If you insist on using GPT then use parted in a running Linux box such as a Pogoplug or on a Linux Mint /Ubuntu VM/laptop. Don't trust any other utility.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Pogo E02 - Wont boot to USB or Pogo OS
November 06, 2020 01:49AM
Hi Bodhi.The USB stick is now booting correctly after I fdisk'd and format'd on the Pogo V3 yesterday. By last night I was down to dodgy hardware and a Pogo that wont boot onboard rescue from NAND. I should have been clearer - the last serial dump was when I was trying to boot from the Onboard OS in NAND. There were no USB device connected at all (or network cable). I wanted to use the onboard OS for recover like the V3. When I originally raised this question, I thought I had broken the Pogo completely as I couldn't boot anything. Now I can boot to the USB ports I realise it was two separate problems with boot to USB stick fixed. Is it still possible to boot the original NAND OS with the latest UBOOT?
Regards - Bob
Re: Pogo E02 - Wont boot to USB or Pogo OS
November 06, 2020 07:27AM
The stock OS is pretty old. If you really need a rescue system, you can install openwrt/lede. There's a thread.
Re: Pogo E02 - Wont boot to USB or Pogo OS
November 06, 2020 04:50PM
Bob,

Like David said, OpenWrt on Pogo E02 is a much better rescue system than the old stock OS.

Quote

it still possible to boot the original NAND OS with the latest UBOOT?

Not right away. You'll need to chainload the old stock u-boot image like it has been discussed here recently (there are a few posts that showed how that's being done on a Kirkwood boxes). You will need this stock u-boot image to be saved in the stock rootfs, or some where in NAND. So before installing new u-boot, you should save that while running stock OS. After new u-boot has been installed, a few envs needed to be added to trigger the chainload process.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Pogo E02 - Wont boot to USB or Pogo OS
November 06, 2020 05:08PM
Thanks David & Bodhi, - I will investigate the openWRT option (I have played with it on the V3 and tftp loaded across my network) once I get my DHCP problem on this EOS fixed (my router thinks the E02 is using a static address).
Cheers - Bob
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: