Welcome! Log In Create A New Profile

Advanced

pogoplug E02 prompt "ERROR: can't get kernel image!", please help!

Posted by doomgiant 
pogoplug E02 prompt "ERROR: can't get kernel image!", please help!
August 20, 2015 09:43PM
Hi, all

my target is pogoplug E02.

After i run http://jeff.doozan.com/debian/uboot/install_uboot_mtd0.sh, and select option n - to keep original Pogoplug software .

then i try to format and label partition on my usb disk
#format and label partition
./mke2fs -L ROOTFS -j /dev/sda1


but it prompt
###
Segmentation fault
###


then i reboot the target, found it can't get the network address. i have to use serial to connect it ,it prompt as below after boot
### without hit any to stop autoboot###
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
Hit any key to stop autoboot: 0
(Re)start USB...
USB: Register 10011 NbrPorts 1
USB EHCI 1.00
scanning bus for devices... 2 USB Device(s) found
scanning bus for storage devices... 0 Storage Device(s) found
** Block device usb 0 not supported
** Invalid boot device **
Creating 1 MTD partitions on "nand0":
0x000002500000-0x000008000000 : "mtd=3"
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: 728
UBI: number of bad PEBs: 0
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: 717
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 "ubi:rootfs", error -19
Error reading superblock on volume 'ubi:rootfs'!
** Block device usb 0 not supported
** Block device usb 1 not supported
** Block device usb 2 not supported
** Block device usb 3 not supported
** Block device usb 0 not supported
** Block device usb 0 not supported
Wrong Image Format for bootm command
ERROR: can't get kernel image!
stopping USB..
### JFFS2 loading 'uboot-original-mtd0.kwb' to 0x800000
Scanning JFFS2 FS: ....... done.
### JFFS2 load complete: 437248 bytes loaded to 0x800000
## Starting application at 0x00800200 ...


---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

And for the log with hit key to stop autoboot
---------------------------------------------------------------------------------
###hit key to stop autoboot###
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
Hit any key to stop autoboot: 0
u-boot>>
u-boot>>
u-boot>>
u-boot>>
u-boot>> ifconfig
Unknown command 'ifconfig' - try 'help'
u-boot>> help
? - alias for 'help'
base - print or set address offset
bdinfo - print Board Info structure
boot - boot default, i.e., run 'bootcmd'
bootd - boot default, i.e., run 'bootcmd'
bootm - boot application image from memory
bootp - boot image via network using BOOTP/TFTP protocol
chpart - change active partition
cmp - memory compare
coninfo - print console devices and information
cp - memory copy
crc32 - checksum calculation
dhcp - boot image via network using DHCP/TFTP protocol
echo - echo args to console
editenv - edit environment variable
env - environment handling commands
exit - exit script
ext2load- load binary file from a Ext2 filesystem
ext2ls - list files in a directory (default /)
false - do nothing, unsuccessfully
fatinfo - print information about filesystem
fatload - load binary file from a dos filesystem
fatls - list files in a directory (default /)
fsinfo - print information about filesystems
fsload - load binary file from a filesystem image
go - start application at address 'addr'
help - print command description/usage
iminfo - print header information for application image
imxtract- extract a part of a multi-image
itest - return true/false on integer compare
loadb - load binary file over serial line (kermit mode)
loads - load S-Record file over serial line
loady - load binary file over serial line (ymodem mode)
loop - infinite loop on address range
ls - list files in a directory (default /)
md - memory display
mii - MII utility commands
mm - memory modify (auto-incrementing address)
mtdparts- define flash/nand partitions
mtest - simple RAM read/write test
mw - memory write (fill)
nand - NAND sub-system
nboot - boot from NAND device
nfs - boot image via network using NFS protocol
nm - memory modify (constant address)
ping - send ICMP ECHO_REQUEST to network host
printenv- print environment variables
reset - Perform RESET of the CPU
run - run commands in an environment variable
saveenv - save environment variables to persistent storage
setenv - set environment variables
showvar - print local hushshell variables
sleep - delay execution for some time
source - run script from memory
test - minimal test like /bin/sh
tftpboot- boot image via network using TFTP protocol
true - do nothing, successfully
ubi - ubi commands
ubifsload- load file from an UBIFS filesystem
ubifsls - list files in a directory
ubifsmount- mount UBIFS volume
ubifsumount- unmount UBIFS volume
usb - USB sub-system
usbboot - boot from USB device
version - print monitor, compiler and linker version
u-boot>> version
U-Boot 2011.12 (Feb 20 2012 - 21:21:59)
Pogoplug E02
arm-none-linux-gnueabi-gcc (Sourcery G++ Lite 2009q3-67) 4.4.1
GNU ld (Sourcery G++ Lite 2009q3-67) 2.19.51.20090709
u-boot>> ls
Scanning JFFS2 FS: ....... done.
drwxr-xr-x 0 Thu Dec 18 20:30:04 2008 bin
drwxr-xr-x 0 Thu Jan 15 19:07:02 2009 dev

--------------------------------------------------------------------------------
Seems the error is
Wrong Image Format for bootm command
ERROR: can't get kernel image!

Could anybody help to check it ? Many thanks!!!
Re: pogoplug E02 prompt "ERROR: can't get kernel image!", please help!
August 20, 2015 09:51PM
update some info, previously i follow the steps in this page http://blog.qnology.com/2013/03/tutorial-pogoplug-e02-with-arch-linux.html?showComment=1439781864560#c734884235715806540, the person give the guide to install arch linux on pogoplug E02

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Pogoplug E02 Arch Linux ARM Installation Instructions (Summarized Version)

Note: If you get a command not found for "wget" or "reboot", try adding "busybox" in front of the command - "busybox wget http://xxx";, "busybox shutdown"

Plug in the Pogoplug without any USB drive attached
SSH into Pogoplug
Log in as root/ceadmin.

#Stop the Pogoplug software
killall hbwd

#Install UBoot
cd /tmp
wget http://jeff.doozan.com/debian/uboot/install_uboot_mtd0.sh
chmod +x install_uboot_mtd0.sh
./install_uboot_mtd0.sh

#Would you like to disable the Pogoplug services? [Y/n]
#n - to keep original Pogoplug software
#when booting without USB drives attached
#y - if you're not planning on ever using the stock
#Pogoplug software again

#Plug in USB Flash Drive or Hard Drive
#Use the back bottom USB port

If you plan to setup the Pogoplug as NAS using SAMBA with a hard drive, my recommendation would be to install ALARM directly on the hard drive and skip using a USB flash drive. This will avoid some potential boot up issues. To do this, create two partition, a small 4GB partition for ALARM and the rest for data.

#Partition your USB flash/hard drive
/sbin/fdisk /dev/sda

# Type in the following commands to erase
# and re-partition USB flash/hard drive
#(WARNING - FLASH/HARD DRIVE WILL BE COMPLETELY WIPED):
#
# p # list current partitions
# o # to delete all partitions
# n # new partition
# p # primary partition
# 1 (one) # first partition
# <enter> # default start block
# <enter> # default end block (to use the whole drive)
# If you're using a hard drive, create a small
# 4GB partition instead of using the whole drive,
# leaving the rest for a data partition
# +4G # to create a 4GB partition
# w # write new partition to disk

#Format USB Flash Drive
cd /tmp
wget http://archlinuxarm.org/os/pogoplug/mke2fs
chmod 755 mke2fs

#format and label partition
./mke2fs -L ROOTFS -j /dev/sda1

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
i just come to this step, then it prompt
###
Segmentation fault
###

after reboot the target, the error is above.



Edited 1 time(s). Last edit at 08/20/2015 09:52PM by doomgiant.
Re: pogoplug E02 prompt "ERROR: can't get kernel image!", please help!
August 20, 2015 10:35PM
doomgiant,

Since you have installed u-boot successfully using Jeff's script. You can just create a basic working Debian rootfs. Ttry the Debian-3.16.0-kirkwood-tld-2 rootfs: http://forum.doozan.com/read.php?2,12096

Scroll down to the section:

Quote

Updated 02 Sept 2014 (rootfs):

Rootfs Debian-3.16.0-kirkwood-tld-2 was uploaded. This rootfs is to keep in sync with kernel Linux-3.16.0-kirkwood-tld-2 (and its new features).

Follow the instruction exactly as it was written, and create a rootfs on a USB stick.

To summarize the steps in that section: on another Linux box, as root user (sudo will not work ), create a single Ext3 partition on the USB stick, untar the Debian 3.16 rootfs to it. And use this to boot the Pogo E02

Once you booted into Debian, then think about upgrading u-boot and kernel.

-bodhi
===========================
Forum Wiki
bodhi's corner



Edited 1 time(s). Last edit at 09/01/2015 10:29PM by bodhi.
Re: pogoplug E02 prompt "ERROR: can't get kernel image!", please help!
August 21, 2015 09:35AM
Many thanks, Bodhi.

It works now!!! That's great!!!

Could you help to show how to update error kernal image in debian?Sorry i am not familar with it. Or is it possible to make original pogoplug system work again?

Thanks!
Re: pogoplug E02 prompt "ERROR: can't get kernel image!", please help!
August 21, 2015 12:20PM
doomgiant,

> Could you help to show how to update error kernal
> image in debian?Sorry i am not familar with it. Or
> is it possible to make original pogoplug system
> work again?

That error was not real. Right now, you can just remove the USB stick and it will boot into orginal Pogo OS. If that does not work, please post the u-boot envs while in Debian:
fw_printenv

-bodhi
===========================
Forum Wiki
bodhi's corner
Re: pogoplug E02 prompt "ERROR: can't get kernel image!", please help!
August 21, 2015 07:21PM
Many thanks. Please check below

root@debian:~# fw_printenv
ethact=egiga0
bootdelay=3
baudrate=115200
arcNumber=2097
mainlineLinux=yes
console=ttyS0,115200
led_init=green blinking
led_exit=green off
led_error=orange blinking
mtdparts=mtdparts=orion_nand:1M(u-boot),4M(uImage),32M(rootfs),-(data)
mtdids=nand0=orion_nand
partition=nand0,2
stdin=serial
stdout=serial
stderr=serial
rescue_installed=0
rescue_set_bootargs=setenv bootargs console=$console ubi.mtd=2 root=ubi0:rootfs ro rootfstype=ubifs $mtdparts $rescue_custom_params
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
pogo_bootcmd=if fsload uboot-original-mtd0.kwb; then go 0x800200; fi
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
ubifs_mtd=3
ubifs_set_bootargs=setenv bootargs console=$console ubi.mtd=$ubifs_mtd root=ubi0:rootfs rootfstype=ubifs $mtdparts $ubifs_custom_params
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
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_list=1 2 3 4
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_init=run usb_scan
usb_device=0:1
usb_root=/dev/sda1
usb_rootfstype=ext2
usb_rootdelay=10
usb_set_bootargs=setenv bootargs console=$console root=$usb_root rootdelay=$usb_rootdelay rootfstype=$usb_rootfstype $mtdparts $usb_custom_params
usb_bootcmd=run usb_init; run usb_set_bootargs; run usb_boot
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
bootcmd=usb start; run force_rescue_bootcmd; run ubifs_bootcmd; run usb_bootcmd; usb stop; run rescue_bootcmd; run pogo_bootcmd; reset
root@debian:~#
Re: pogoplug E02 prompt "ERROR: can't get kernel image!", please help!
August 21, 2015 07:40PM
doomgiant,

So now when you boot without the USB drive, what does serial console output looks like?

-bodhi
===========================
Forum Wiki
bodhi's corner
Re: pogoplug E02 prompt "ERROR: can't get kernel image!", please help!
August 21, 2015 07:41PM
Sorry for the missing log.

without the usb drive, it display as below and can't get the ip address

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
Hit any key to stop autoboot:  0
(Re)start USB...
USB:   Register 10011 NbrPorts 1
USB EHCI 1.00
scanning bus for devices... 2 USB Device(s) found
       scanning bus for storage devices... 0 Storage Device(s) found
** Block device usb 0 not supported

** Invalid boot device **
Creating 1 MTD partitions on "nand0":
0x000002500000-0x000008000000 : "mtd=3"
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:        728
UBI: number of bad PEBs:         0
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:             717
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 "ubi:rootfs", error -19
Error reading superblock on volume 'ubi:rootfs'!
** Block device usb 0 not supported
** Block device usb 1 not supported
** Block device usb 2 not supported
** Block device usb 3 not supported
** Block device usb 0 not supported
** Block device usb 0 not supported
Wrong Image Format for bootm command
ERROR: can't get kernel image!
stopping USB..
### JFFS2 loading 'uboot-original-mtd0.kwb' to 0x800000
Scanning JFFS2 FS: ....... done.
### JFFS2 load complete: 437248 bytes loaded to 0x800000
## Starting application at 0x00800200 ...


Re: pogoplug E02 prompt "ERROR: can't get kernel image!", please help!
August 22, 2015 08:31PM
doomgiant,

Everthing looks normal. Except that the stock kernel could not start. I believe this is likely the problem that restamp and I solved a few months ago, and I uploaded a new Pogo E02 u-boot image but forgot to release it:
http://forum.doozan.com/read.php?3,12381,20906#msg-20906

Basically, somehow the stock OS in NAND was modified during the installation or later, but with a different compression method, so the old u-boot was not capable of booting it any more. In your set up with Jeff script, the original u-boot was chained load and it loaded the stock kernel, but the stock OS in NAND could not be read properly, so it hang.

Let's not continue this stock OS booting issue, until I put the newer Pogo E02 u-boot up in the u-boot release thread, and then you can decide whether to pursue this. The Pogo E02 does not have serial recovery (i.e. UART booting) so there is a little bit more risk in flashing.

-bodhi
===========================
Forum Wiki
bodhi's corner



Edited 1 time(s). Last edit at 08/22/2015 08:33PM by bodhi.
Re: pogoplug E02 prompt "ERROR: can't get kernel image!", please help!
August 23, 2015 03:50AM
bodhi,

Many thanks for your detail explanation, it has been a great progress to make it work with Debian.

Thanks again!

And does it mean this boot issue can be fixed on 2014.07 U-Boot?
Re: pogoplug E02 prompt "ERROR: can't get kernel image!", please help!
August 24, 2015 02:46PM
doomgiant Wrote:
-------------------------------------------------------
> bodhi,
>
> Many thanks for your detail explanation, it has
> been a great progress to make it work with
> Debian.
>
> Thanks again!
>
> And does it mean this boot issue can be fixed on
> 2014.07 U-Boot?

We wont know for sure until after you have installed the new u-boot.

It could be other reasons, such as NAND rootfs was corrupted. In that case, you will need to restore it using a good backup.

-bodhi
===========================
Forum Wiki
bodhi's corner
Re: pogoplug E02 prompt "ERROR: can't get kernel image!", please help!
August 25, 2015 07:47PM
Got it.

Many thanks for your help!
Re: pogoplug E02 prompt "ERROR: can't get kernel image!", please help!
August 26, 2015 11:45PM
hi, bodhi

I found one strange thing , after flash
Debian-3.16.0-kirkwood-tld-2 rootfs: http://forum.doozan.com/read.php?2,12096

on each boot to debian, mac address of the ethernet is different , is it a known behavior?

Thanks.
Re: pogoplug E02 prompt "ERROR: can't get kernel image!", please help!
August 27, 2015 01:36AM
doomgiant Wrote:
-------------------------------------------------------
> hi, bodhi
>
> I found one strange thing , after flash
> Debian-3.16.0-kirkwood-tld-2 rootfs:
> http://forum.doozan.com/read.php?2,12096
>
> on each boot to debian, mac address of the
> ethernet is different , is it a known behavior?
>
> Thanks.

No, it is not a normal behavior. Do you have the u-boot env ethaddr set to your MAC address?

-bodhi
===========================
Forum Wiki
bodhi's corner
Re: pogoplug E02 prompt "ERROR: can't get kernel image!", please help!
August 27, 2015 09:02AM
Hi, bodhi

No, I haven't done it. I couldn't find the command about it.

Can you help to describe how to do it?

Many thanks!
Re: pogoplug E02 prompt "ERROR: can't get kernel image!", please help!
August 27, 2015 10:52AM
In Debian,

fw_setenv ethaddr xx:xx:xx:xx:xx

-bodhi
===========================
Forum Wiki
bodhi's corner
Re: pogoplug E02 prompt "ERROR: can't get kernel image!", please help!
September 01, 2015 01:19AM
It works!

Thanks again!
Re: pogoplug E02 prompt "ERROR: can't get kernel image!", please help!
January 31, 2016 11:28PM
I had installed Jeff's uboot to install arch linux and debian wheezy. Couple of days back, I found your new uboot for Debian Jessie and updated my Pogoplug E02 using (Debian-3.18.5-kirkwood-tld-1-rootfs-bodhi.tar.bz2 ) http://forum.doozan.com/read.php?2,12096 and uboot.2014.07-tld-3.environment.bodhi.tar file. I did backup mtd0 and current_envs.txt before i updated uboot.

Now, I am able to boot into Debian without any issues. However, when I remove usb, it fails to boot into pogoplus OS. From the responses in this thread, I wanted to ask if this has been resolved. I have included my logs from serial console. For some reason, I had no luck with netconsole using ubuntu on chromebook using crouton. Thank you for your help in advance.
U-Boot 2015.10-tld-1 (Nov 06 2015 - 15:46:25 -0800)
Pogo E02

SoC:   Kirkwood 88F6281_A0
DRAM:  256 MiB (ECC not enabled)
WARNING: Caches not enabled
NAND:  128 MiB
In:    serial
Out:   serial
Err:   serial
Net:   egiga0
No link on egiga0
ping failed; host 192.168.29.199 is not alive
No link on egiga0
ping failed; host 192.168.29.199 is not alive
No link on egiga0
ping failed; host 192.168.29.199 is not alive
No link on egiga0
ping failed; host 192.168.29.199 is not alive
No link on egiga0
ping failed; host 192.168.29.199 is not alive
Hit any key to stop autoboot:  0
starting 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
Unknown command 'ide' - try 'help'
Unknown command 'mmc' - try 'help'

no USB devices available
Unknown command 'ide' - try 'help'
Unknown command 'mmc' - try 'help'
running scan_disk ...
Scan device usb
device usb 0:1
** Bad device usb 0 **
device usb 1:1
** Bad device usb 1 **
device usb 2:1
** Bad device usb 2 **
device usb 3:1
** Bad device usb 3 **
Scan device ide
Unknown command 'ide' - try 'help'
device ide 0:1
** Bad device ide 0 **
device ide 1:1
** Bad device ide 1 **
device ide 2:1
** Bad device ide 2 **
device ide 3:1
** Bad device ide 3 **
Scan device mmc
Unknown command 'mmc' - try 'help'
device mmc 0:1
** Bad device mmc 0 **
device mmc 1:1
** Bad device mmc 1 **
device mmc 2:1
** Bad device mmc 2 **
device mmc 3:1
** Bad device mmc 3 **
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>

PogoE02> printenv
arcNumber=2097
bootcmd=run bootcmd_uenv; run scan_disk; run set_bootargs; run bootcmd_exec
bootcmd_exec=mw 0x800000 0 1; run load_uimage; if run load_initrd; then if run load_dtb; then bootm 0x800000 0x1100000 0x1c00000; else bootm 0x800000 0x1100000; fi; else if run load_dtb; then bootm 0x800000 - 0x1c00000; else bootm 0x800000; fi; fi
bootcmd_uenv=run uenv_load; if test $uenv_loaded -eq 1; then run uenv_import; fi
bootdelay=10
bootdev=usb
device=0:1
devices=usb ide mmc
disks=0 1 2 3
dtb_file=/boot/dts/kirkwood-pogo_e02.dtb
ethact=egiga0
ethaddr=03:15:31:04:4b:8d
if_netconsole=ping $serverip
ipaddr=192.168.29.200
led_error=orange blinking
led_exit=green off
led_init=green blinking
load_dtb=echo loading DTB $dtb_file ...; ext2load $bootdev $device 0x1c00000 $dtb_file
load_initrd=echo loading uInitrd ...; ext2load $bootdev $device 0x1100000 /boot/uInitrd
load_uimage=echo loading uImage ...; ext2load $bootdev $device 0x800000 /boot/uImage
machid=dd6
mainlineLinux=yes
mtdids=nand0=orion_nand
mtdparts=mtdparts=orion_nand:1M(u-boot),4M(uImage),32M(rootfs),-(data)
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 ext2load $dev $disknum:1 0x800000 /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
serverip=192.168.29.199
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_import=echo importing envs ...; env import -t 0x810000
uenv_init_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 0; do run uenv_read_disk; done; done;
uenv_read=echo loading envs from $devtype $disknum ...; if load $devtype $disknum:1 0x810000 /boot/uEnv.txt; then setenv uenv_loaded 1; fi
uenv_read_disk=if test $devtype -eq mmc; then if $devtype part; then run uenv_read;  fi; else if $devtype part $disknum; then run uenv_read; fi;  fi
usb_ready_retry=15
usb_rootfstype=ext3

Environment size: 2864/131068 bytes
Re: pogoplug E02 prompt "ERROR: can't get kernel image!", please help!
February 02, 2016 02:20AM
bla9,

> I did backup mtd0 and current_envs.txt before i
> updated uboot.
>

Very good!

The new u-boot does not have setup to boot Pog OS. That's not the goal.

However, it is possible that you can still boot Pogo OS. And to do that, we need to add back a few of the old u-boot envs from Jeff's u-boot installation. Please post the content of your saved current_envs.txt here.

-bodhi
===========================
Forum Wiki
bodhi's corner
Re: pogoplug E02 prompt "ERROR: can't get kernel image!", please help!
February 02, 2016 06:09PM
Thank you Bodhi. I may have missed the statement that new u-boot was not setup to boot pogo OS. I thought I had done something wrong while updating. If it is not much trouble and beneficial, I have added current_envs.txt. Also, is there a difference between arcNumber 3542 and 2097 for Pogoplug E02. Is one preferred over another?

ethact=egiga0
bootdelay=3
baudrate=115200
mainlineLinux=yes
console=ttyS0,115200
led_init=green blinking
led_exit=green off
led_error=orange blinking
mtdparts=mtdparts=orion_nand:1M(u-boot),4M(uImage),32M(rootfs),-(data)
mtdids=nand0=orion_nand
partition=nand0,2
stdin=serial
stdout=serial
stderr=serial
rescue_installed=0
rescue_set_bootargs=setenv bootargs console=$console ubi.mtd=2 root=ubi0:rootfs ro rootfstype=ubifs $mtdparts $rescue_custom_params
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
pogo_bootcmd=if fsload uboot-original-mtd0.kwb; then go 0x800200; fi
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
ubifs_mtd=3
ubifs_set_bootargs=setenv bootargs console=$console ubi.mtd=$ubifs_mtd root=ubi0:rootfs rootfstype=ubifs $mtdparts $ubifs_custom_params
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
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_list=1 2 3 4
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_init=run usb_scan
usb_device=0:1
usb_root=/dev/sda1
usb_rootfstype=ext2
usb_rootdelay=10
usb_set_bootargs=setenv bootargs console=$console root=$usb_root rootdelay=$usb_rootdelay rootfstype=$usb_rootfstype $mtdparts $usb_custom_params
usb_bootcmd=run usb_init; run usb_set_bootargs; run usb_boot
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
ethaddr=A0:22:43:04:95:8D
arcNumber=2097
bootcmd=usb start; usb stop; usb start; run force_rescue_bootcmd; run ubifs_bootcmd; run usb_bootcmd; usb stop; run rescue_bootcmd; run pogo_bootcmd; reset



Edited 1 time(s). Last edit at 02/04/2016 10:33PM by bla9.
Re: pogoplug E02 prompt "ERROR: can't get kernel image!", please help!
February 04, 2016 01:10PM
bla9,

Boot and interrupt serial console,
setenv pogo_bootcmd 'if fsload uboot-original-mtd0.kwb; then go 0x800200; fi'
run pogo_bootcmd

See if it boots back into Pogo OS.


---------------

OT note: for some reason, the forum page did not show the flag for new posts in Rescue System section (that's why I did not respond sooner).

-bodhi
===========================
Forum Wiki
bodhi's corner
Re: pogoplug E02 prompt "ERROR: can't get kernel image!", please help!
February 04, 2016 10:56PM
Thank you very much Bodhi. I was able to boot PogoOS with your commands. Please see logs below. It is good to learn and understand it a little better. I appreciate your time and help.

Environment size: 2877/131068 bytes
PogoE02> setenv pogo_bootcmd 'if fsload uboot-original-mtd0.kwb; then go 0x800200; fi'
PogoE02> run pogo_bootcmd
### JFFS2 loading 'uboot-original-mtd0.kwb' to 0x800000
Scanning JFFS2 FS: ............. done.
### JFFS2 load complete: 524288 bytes loaded to 0x800000
## Starting application at 0x00800200 ...


U-Boot 1.1.4 (Sep 28 2009 - 11:55:23) Cloud Engines v2.0 (3.4.16)

U-Boot code: 00600000 -> 0067FFF0  BSS: -> 00690D60

Soc: 88F6281 A0 (DDR2)
CPU running @ 1200Mhz L2 running @ 400Mhz
SysClock = 400Mhz , TClock = 200Mhz

DRAM CAS Latency = 5 tRP = 5 tRAS = 18 tRCD=6
DRAM CS[0] base 0x00000000   size 256MB
DRAM Total size 256MB  16bit width
Flash:  0 kB
Addresses 8M - 0M are saved for the U-Boot usage.
Mem malloc Initialization (8M - 7M): Done
NAND:128 MB

CPU : Marvell Feroceon (Rev 1)
CLOUD ENGINES BOARD: PPV2

Streaming disabled
Write allocate disabled


USB 0: host mode
PEX 0: interface detected no Link.
Net:   egiga0 [PRIME], egiga1
Hit any key to stop autoboot:  0

NAND read: device 0 offset 0x100000, size 0x200000

Reading data from 0x2ff800 -- 100% complete.
 2097152 bytes read: OK
## Booting image at 00800000 ...
   Image Name:   Linux-2.6.22.18
   Created:      2010-10-19  23:05:02 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    1979140 Bytes =  1.9 MB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
OK

Starting kernel ...

Uncompressing Linux............................................................................................................................ done, booting the kernel.
[    0.000000] Linux version 2.6.22.18 (bdietrich@buildman) (gcc version 4.2.1) #81 Tue Oct 19 16:05:00 PDT 2010
[    0.000000] CPU: ARM926EJ-S [56251311] revision 1 (ARMv5TE), cr=00053177
[    0.000000] Machine: Feroceon-KW
[    0.000000] Using UBoot passing parameters structure
[    0.000000] Memory policy: ECC disabled, Data cache writeback
[    0.000000] CPU0: D VIVT write-back cache
[    0.000000] CPU0: I cache: 16384 bytes, associativity 4, 32 byte lines, 128 sets
[    0.000000] CPU0: D cache: 16384 bytes, associativity 4, 32 byte lines, 128 sets
[    0.000000] Built 1 zonelists.  Total pages: 65024
[    0.000000] Kernel command line: console=ttyS0,115200 root=/dev/mtdblock2 ro
[    0.000000] PID hash table entries: 1024 (order: 10, 4096 bytes)
[    0.000000] Console: colour dummy device 80x30
[    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.010000] Memory: 256MB 0MB 0MB 0MB = 256MB total
[    0.010000] Memory: 255872KB available (3592K code, 253K data, 124K init)
[    0.250000] Mount-cache hash table entries: 512
[    0.250000] CPU: Testing write buffer coherency: ok
[    0.250000] NET: Registered protocol family 16
[    0.250000]
[    0.250000] CPU Interface
[    0.250000] -------------
[    0.250000] SDRAM_CS0 ....base 00000000, size 256MB
[    0.250000] SDRAM_CS1 ....disable
[    0.250000] SDRAM_CS2 ....disable
[    0.250000] SDRAM_CS3 ....disable
[    0.250000] PEX0_MEM ....base e8000000, size 128MB
[    0.250000] PEX0_IO ....base f2000000, size   1MB
[    0.250000] INTER_REGS ....base f1000000, size   1MB
[    0.250000] NFLASH_CS ....base fa000000, size   2MB
[    0.250000] SPI_CS ....base f4000000, size  16MB
[    0.250000] BOOT_ROM_CS ....no such
[    0.250000] DEV_BOOTCS ....no such
[    0.250000] CRYPT_ENG ....base f0000000, size   2MB
[    0.250000]
[    0.250000]   Marvell Development Board (LSP Version KW_LSP_4.2.7_patch21_with_rx_desc_tuned)-- SHEEVA PLUG  Soc: 88F6281 A0 LE
[    0.250000]
[    0.250000]  Detected Tclk 200000000 and SysClk 400000000
[    0.250000] MV Buttons Device Load
[    0.250000] Marvell USB EHCI Host controller #0: c0652600
[    0.750000] PEX0 interface detected no Link.
[    0.750000] PCI: bus0: Fast back to back transfers enabled
[    0.750000] SCSI subsystem initialized
[    0.750000] usbcore: registered new interface driver usbfs
[    0.750000] usbcore: registered new interface driver hub
[    0.750000] usbcore: registered new device driver usb
[    0.750000] NET: Registered protocol family 2
[    0.760000] Time: kw_clocksource clocksource has been installed.
[    0.850000] IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.850000] TCP established hash table entries: 8192 (order: 4, 65536 bytes)
[    0.850000] TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
[    0.850000] TCP: Hash tables configured (established 8192 bind 8192)
[    0.850000] TCP reno registered
[    0.880000] RTC has been updated!!!
[    0.880000] RTC registered
[    0.880000] Use the XOR engines (acceleration) for enhancing the following functions:
[    0.880000]   o RAID 5 Xor calculation
[    0.880000]   o kernel memcpy
[    0.880000]   o kenrel memzero
[    0.880000] Number of XOR engines to use: 4
[    0.880000] cesadev_init(c00117b0)
[    0.880000] mvCesaInit: sessions=640, queue=64, pSram=f0000000
[    0.880000] MV Buttons Driver Load
[    0.880000] squashfs: version 3.3 (2007/10/31) Phillip Lougher
[    0.880000] squashfs: LZMA suppport for slax.org by jro
[    0.880000] JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
[    0.880000] io scheduler noop registered
[    0.880000] io scheduler anticipatory registered (default)
[    0.900000] Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabled
[    0.900000] serial8250.0: ttyS0 at MMIO 0xf1012000 (irq = 33) is a 16550A
[    0.910000] RAMDISK driver initialized: 16 RAM disks of 16384K size 1024 blocksize
[    0.920000] Loading Marvell Ethernet Driver:
[    0.920000]   o Cached descriptors in DRAM
[    0.920000]   o DRAM SW cache-coherency
[    0.930000]   o Single RX Queue support - ETH_DEF_RXQ=0
[    0.930000]   o Single TX Queue support - ETH_DEF_TXQ=0
[    0.940000]   o TCP segmentation offload enabled
[    0.940000]   o Receive checksum offload enabled
[    0.950000]   o Transmit checksum offload enabled
[    0.950000]   o Network Fast Processing (Routing) supported
[    0.960000]   o Driver ERROR statistics enabled
[    0.960000]   o Driver INFO statistics enabled
[    0.970000]   o Proc tool API enabled
[    0.970000]   o Rx descripors: q0=128
[    0.970000]   o Tx descripors: q0=532
[    0.980000]   o Loading network interface(s):
[    0.990000]     o eth0, ifindex = 1, GbE port = 0
[    0.990000]     o eth1, ifindex = 2, GbE port = 1
[    1.000000]
[    1.000000] mvFpRuleDb (cfdf6000): 2048 entries, 8192 bytes
[    1.000000] Intel(R) PRO/1000 Network Driver - version 7.3.20-k2-NAPI
[    1.010000] Copyright (c) 1999-2006 Intel Corporation.
[    1.020000] e100: Intel(R) PRO/100 Network Driver, 3.5.17-k4-NAPI
[    1.020000] e100: Copyright(c) 1999-2006 Intel Corporation
[    1.030000]
[    1.030000] Warning Sata is Powered Off
[    1.030000] NFTL driver: nftlcore.c $Revision: 1.98 $, nftlmount.c $Revision: 1.41 $
[    1.040000] NAND device: Manufacturer ID: 0xad, Chip ID: 0xf1 (Hynix NAND 128MiB 3,3V 8-bit)
[    1.050000] Scanning device for bad blocks
[    1.100000] Using static partition definition
[    1.110000] Creating 4 MTD partitions on "nand_mtd":
[    1.110000] 0x00000000-0x00100000 : "u-boot"
[    1.120000] 0x00100000-0x00500000 : "uImage"
[    1.120000] 0x00500000-0x02500000 : "root"
[    1.130000] 0x02500000-0x08000000 : "data"
[    1.130000] ehci_marvell ehci_marvell.70059: Marvell Orion EHCI
[    1.140000] ehci_marvell ehci_marvell.70059: new USB bus registered, assigned bus number 1
[    1.180000] ehci_marvell ehci_marvell.70059: irq 19, io base 0xf1050100
[    1.200000] ehci_marvell ehci_marvell.70059: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004
[    1.200000] usb usb1: configuration #1 chosen from 1 choice
[    1.210000] hub 1-0:1.0: USB hub found
[    1.210000] hub 1-0:1.0: 1 port detected
[    1.330000] USB Universal Host Controller Interface driver v3.0
[    1.610000] usb 1-1: new high speed USB device using ehci_marvell and address 2
[    1.760000] usb 1-1: configuration #1 chosen from 1 choice
[    1.760000] hub 1-1:1.0: USB hub found
[    1.770000] hub 1-1:1.0: 4 ports detected
[    1.880000] usbcore: registered new interface driver usblp
[    1.880000] drivers/usb/class/usblp.c: v0.13: USB Printer Device Class driver
[    1.890000] Initializing USB Mass Storage driver...
[    1.890000] usbcore: registered new interface driver usb-storage
[    1.900000] USB Mass Storage support registered.
[    1.910000] mice: PS/2 mouse device common for all mice
[    1.910000] i2c /dev entries driver
[    1.910000] Linux telephony interface: v1.00
[    1.920000] md: linear personality registered for level -1
[    1.920000] md: raid0 personality registered for level 0
[    1.930000] md: raid1 personality registered for level 1
[    2.100000] raid6: int32x1     97 MB/s
[    2.270000] raid6: int32x2    114 MB/s
[    2.440000] raid6: int32x4    122 MB/s
[    2.610000] raid6: int32x8    110 MB/s
[    2.610000] raid6: using algorithm int32x4 (122 MB/s)
[    2.610000] md: raid6 personality registered for level 6
[    2.620000] md: raid5 personality registered for level 5
[    2.620000] md: raid4 personality registered for level 4
[    2.630000] raid5: measuring checksumming speed
[    2.680000]    arm4regs  :  1084.000 MB/sec
[    2.730000]    8regs     :   754.800 MB/sec
[    2.780000]    32regs    :   900.000 MB/sec
[    2.780000] raid5: using function: arm4regs (1084.000 MB/sec)
[    2.790000] device-mapper: ioctl: 4.11.0-ioctl (2006-10-12) initialised: dm-devel@redhat.com
[    2.790000] dm_crypt using the OCF package.
[    2.800000] sdhci: Secure Digital Host Controller Interface driver
[    2.800000] sdhci: Copyright(c) Pierre Ossman
[    2.810000] usbcore: registered new interface driver usbhid
[    2.810000] drivers/hid/usbhid/hid-core.c: v2.6:USB HID core driver
[    2.820000] TCP cubic registered
[    2.820000] NET: Registered protocol family 1
[    2.830000] NET: Registered protocol family 17
[    2.830000] md: Autodetecting RAID arrays.
[    2.840000] md: autorun ...
[    2.840000] md: ... autorun DONE.
[    4.310000] Empty flash at 0x009ac208 ends at 0x009ac800
[    6.060000] Empty flash at 0x00f89254 ends at 0x00f89800
[    8.990000] VFS: Mounted root (jffs2 filesystem) readonly.
[    8.990000] Freeing init memory: 124K
init started: BusyBox v1.7.0 (2008-02-26 19:25:17 IST)
starting pid 267, tty '': '/etc/init.d/rcS'
[   11.130000] eth0: started
udhcpc (v1.7.0) started
HWADDR A0 0x22 0x43 0x04 0x95 0x8D
PIP0 123
PIP1 125
cat: can't open '/etc/resolv.conf': No such file or directory
route: SIOCDELRT: No such process
grep: /etc/resolv.conf: No such file or directory
Sending discover...
Sending discover...
Sending discover...
HWADDR A0 0x22 0x43 0x04 0x95 0x8D
PIP0 123
PIP1 125
No lease, forking to background
starting pid 370, tty '': '/bin/sh'
-sh-3.2#
Re: pogoplug E02 prompt "ERROR: can't get kernel image!", please help!
February 06, 2016 02:39AM
bla9,

Cool! so you can try to unplug your USB rootfs and let it boot automatically.

Interrupt serial console and
setenv pogo_bootcmd 'if fsload uboot-original-mtd0.kwb; then go 0x800200; fi'
setenv bootcmd 'run bootcmd_uenv; run scan_disk; run set_bootargs; run bootcmd_exec; run pogo_bootcmd; reset'

and then
boot

If it boots successfully to stock OS, then plug in the USB rootfs. And reboot back into Debian, set the envs permanently:

fw_setenv pogo_bootcmd 'if fsload uboot-original-mtd0.kwb; then go 0x800200; fi'
fw_setenv bootcmd 'run bootcmd_uenv; run scan_disk; run set_bootargs; run bootcmd_exec; run pogo_bootcmd; reset'

Shutdown, unplug the USB and power up. It should boot in to Pogo OS.

-bodhi
===========================
Forum Wiki
bodhi's corner
Re: pogoplug E02 prompt "ERROR: can't get kernel image!", please help!
February 06, 2016 02:44AM
Also, arcNumber should be 3542 so that it identifies Pogoplug E02 correctly. arcNumber 2097 will work but the LED behavior will not be correct.

-bodhi
===========================
Forum Wiki
bodhi's corner
Re: pogoplug E02 prompt "ERROR: can't get kernel image!", please help!
February 07, 2016 02:54PM
Hi bodhi,
I was able to follow all the steps above and successfully boot into Pogo OS when there are no USB attached. Also, I updated the arcNumber to 3542.

Debian Jessie has been running smooth for me using Kernel linux-4.4.0-kirkwood-tld-1.

Thanks again for all your help.
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: