Welcome! Log In Create A New Profile

Advanced

help scream from a Noob. PogoE02 doesn't boot.

Posted by CfromEarth 
help scream from a Noob. PogoE02 doesn't boot.
October 23, 2017 05:02PM
This is what I saw on serial connection with my Pogoplug E02
U-Boot 2016.05-tld-1 (Jun 12 2016 - 13:23:43 -0700)
Pogo E02

SoC:   Kirkwood 88F6281_A0
DRAM:  256 MiB
WARNING: Caches not enabled
NAND:  128 MiB
## Error: flags type check failure for "ipaddr" <= "192.168.0.xxx" (type: i)
himport_r: can't insert "ipaddr=192.168.0.xxx" into hash table
## Error: flags type check failure for "serverip" <= "192.168.0.yyy" (type: i)
himport_r: can't insert "serverip=192.168.0.yyy" into hash table
In:    serial
Out:   serial
Err:   serial
Net:   egiga0
Error: egiga0 address not set.

## Error: "if_netconsole" not defined
## Error: "if_netconsole" not defined
## Error: "if_netconsole" not defined
## Error: "if_netconsole" not defined
## Error: "if_netconsole" not defined
Hit any key to stop autoboot:  0 
No link on egiga0
Wrong Image Format for bootm command
ERROR: can't get kernel image!
PogoE02>

and this is printenv
PogoE02>printenv
baudrate=115200
bootcmd=bootp; setenv bootargs root=/dev/nfs nfsroot=${serverip}:${rootpath} ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off; bootm
bootdelay=5
ethact=egiga0
nc_ready=0
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
stderr=serial
stdin=serial
stdout=serial
Environment size: 469/131068 bytes

So I'm new in uboot and also new in linux etc.

I just want to setup arch linux or debian into my pogo plug to use it as NAS, torrent client and DLNA server.
Can you help me ?
Re: help scream from a Noob. PogoE02 doesn't boot.
October 24, 2017 11:23AM
Bodhi does travel and might not be able to answer right away so you might want to try these to get closer before he can respond.


Have you setup the Debian rootfs on a usb stick per Bodhi's instructions?

If not go to here and scroll down to: Updated 24 Jul 2017: and follow the instructions skipping step 4.



It looks like there was a problem setting the environment variables, follow the below example for each of the entries below. #### is just a note to you, do not include it in the setenv.


Example: PogoE02> setenv arcNumber 3542


arcNumber '3542'

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 'run bootcmd_uenv; run scan_disk; run set_bootargs; run bootcmd_exec'

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'

ethact 'egiga0'

ethaddr '52:3b:20:9c:11:51'    #### use your mac address at bottom of the stand that looks like this

if_netconsole 'ping $serverip'

ipaddr '192.168.0.231'    #### use the ipaddress for your E02

led_error 'orange blinking'

led_exit 'green off'

led_init 'green blinking'

dtb_file '/boot/dts/kirkwood-pogo_e02.dtb'

load_dtb_addr '0x1c00000'

load_initrd_addr '0x1100000'

load_uimage_addr '0x800000'

load_dtb 'echo loading DTB $dtb_file ...; load $bootdev $device $load_dtb_addr $dtb_file'

load_initrd 'echo loading uInitrd ...; load $bootdev $device $load_initrd_addr /boot/uInitrd'

load_uimage 'echo loading uImage ...; load $bootdev $device $load_uimage_addr /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_nc 'run if_netconsole start_netconsole'

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'

serverip    #### leave this blank so as not to start netconsole right now i.e. PogoE02> setenv serverip

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 '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_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'

uenv_read 'echo loading envs from $devtype $disknum ...; if load $devtype $disknum:1 $uenv_addr /boot/uEnv.txt; then setenv uenv_loaded 1; fi'

usb_ready_retry '15'

PogoE02> saveenv

PogoE02> printenv


Post your entire printenv for review



Edited 4 time(s). Last edit at 10/24/2017 05:45PM by feas.
Re: help scream from a Noob. PogoE02 doesn't boot.
October 24, 2017 04:02PM
CfromEarth,

feas was right. Your box envs are all messed up. That was because you did not flash the default envs image.

Quote

8. Flashing default u-boot envs image:

As described in step 1, u-boot envs must be defined in etc/fw_env.config as

# MTD device name Device offset Env. size Flash sector size Number of sectors
/dev/mtd0 0xc0000 0x20000 0x20000

A special section (B. Flashing default u-boot envs image) about flashing default u-boot envs is included at the end of this installation procedure. Please follow the instruction in this section B to perform this step before continuing with step 9.

And as feas mentioned, create the Debian rootfs first, using Debian-4.12.1-kirkwood-tld-1-rootfs-bodhi.tar.bz2 (Updated 24 Jul 2017). It is easier to have rootfs created and pluggin the box before installing or fixing u-boot problem.

You can either set envs individually at serial consle like example above (feas needs to correct them with single quotes). Or use instruction in this post to run a script at serial console:

https://forum.doozan.com/read.php?3,29362,29390#msg-29390

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



Edited 1 time(s). Last edit at 10/24/2017 04:17PM by bodhi.
Re: help scream from a Noob. PogoE02 doesn't boot.
October 24, 2017 04:15PM
Hi feas,

Everything in the env value needs to wrapped in single quotes (to ensure spaces and = are taken as literal). For example,

setenv  load_dtb 'echo loading DTB $dtb_file ...; load $bootdev $device $load_dtb_addr $dtb_file'

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: help scream from a Noob. PogoE02 doesn't boot.
October 24, 2017 05:14PM
ahh, thanks, I just copied the text from the u-boot environment files. will fix for reference.
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: