Welcome! Log In Create A New Profile

Advanced

Trouble booting and SSH into USB (Arch linux) with Pogo E02

Posted by iamauser 
Trouble booting and SSH into USB (Arch linux) with Pogo E02
October 02, 2016 10:59AM
Booting and SSH-ing issues into Arch Linux in POGO....

It boots into the Pogo OS fine and provides the correct IP to ssh in, but once I plug in the USB (on the top port) and do a busybox reboot, it isn't pingable or sshable anymore.
I set up a netconsole to view the boot process, and this (see below) is what I get... I also have the output of 'fw_printenv' for you to look at. I had made some changes to the original one while trying to fix it, but none have worked so far.....

When it is booted into PogoOS, I could ssh in (192.168.11.33) and see the mounted disk in /tmp/.cment/mnt_sda1...

I would be happy to provide any additional information if you need. Thanks a lot for any help...

~ $ nc -ul 6666

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
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"
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:        726
UBI: number of bad PEBs:         2
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:             715
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'!
(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 "/boot/uImage" from usb device 0:1 (usbda1)
4028544 bytes read
Loading file "/boot/uImage" from usb device 0:1 (usbda1)
4028544 bytes read
Loading file "/boot/uInitrd" from usb device 0:1 (usbda1)
** File not found /boot/uInitrd
## Booting kernel from Legacy Image at 00800000 ...
   Image Name:   Linux-3.18.1-1-ARCH
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    4028480 Bytes = 3.8 MiB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...


Output of fw_printenv
-bash-4.3# fw_printenv               
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_device=0:1
usb_root=/dev/sda1
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
ethaddr=00:25:31:04:A1:A6
arcNumber=2097
usb_init=usb start; if ext2load usb 0:1 0x800000 /boot/uImage; then setenv usb_device 0:1; setenv usb_root /dev/sda1; elif ext2load usb 1:1 0x800000 /boot/uImage; then setenv usb_device 1:1; setenv usb_root /dev/sdb1; elif ext2load usb 2:1 0x800000 /boot/uImage; then setenv usb_device 2:1; setenv usb_root /dev/sdc1; elif ext2load usb 3:1 0x800000 /boot/uImage; then setenv usb_device 3:1;setenv usb_root /dev/sdd1;fi;
serverip=192.168.11.19
ipaddr=192.168.11.33
if_netconsole=ping $serverip
start_netconsole=setenv ncip $serverip; setenv bootdelay 10; setenv stdin nc; setenv stdout nc; setenv stderr nc; version;
preboot=run if_netconsole start_netconsole
usb_rootfstype=ext2



Edited 1 time(s). Last edit at 10/02/2016 12:32PM by iamauser.
Re: Trouble booting and SSH into USB (Arch linux) with Pogo E02
October 02, 2016 03:43PM
iamauser,

You are boooting a very old u-boot (2011).

And it has booted an old Arch kernel. Your envs are all good to boot with a single Ext2 rootfs on USB like one you have with Linux-3.18.1-1-ARCH kernel.

So the problem is with mounting rootfs. Try:

1. take the rootfs to another Linux box and check/fix filesystem errors. And try to boot it again.
2. Make sure your rootfs has only 1 partition type Ext2

If these 2 steps failed, try booting Debian 4.4 rootfs. See section:

Quote

Updated 20 Feb 2016:

This Debian-4.4.0-kirkwood-tld-1-rootfs-bodhi.tar.bz2 is to keep in sync with kernel Linux-4.4.0-kirkwood-tld-1.

Basic minimal Debian Kirkwood rootfs for most Kirwood plugs:

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Trouble booting and SSH into USB (Arch linux) with Pogo E02
October 02, 2016 05:06PM
Hi Bodhi,

Thanks for a reply. I tried installing a fresh ARchLinuxARM on a new USB, but I am getting into the same problem. Is there a way (link of some sort) to update the uboot on the POGO ?
Re: Trouble booting and SSH into USB (Arch linux) with Pogo E02
October 02, 2016 06:22PM
Right here in the sticky thread:
http://forum.doozan.com/read.php?3,12381

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Trouble booting and SSH into USB (Arch linux) with Pogo E02
October 03, 2016 10:27AM
Hi Bodhi,

Following the instructions for update uBoot, I found that my pogoplug shows bacd blocks. How should I go around it ?

dmesg | grep -i bad
[    1.050000] Scanning device for bad blocks
[    1.070000] Bad eraseblock 426 at 0x03540000
[    1.080000] Bad eraseblock 457 at 0x03920000

Thanks
Re: Trouble booting and SSH into USB (Arch linux) with Pogo E02
October 03, 2016 10:43AM
Nevermind about the last post. I relalized that it is for the first 8 blocks. Now, I have the latest and greatest uBoot from you, but the problem is persistent (even with a new install of ArchArm on a new USB disk). Is there anything in the environment (fw_printenv output) that is wrong so that the kernel doesn't boot properly ? or could it be my installation ? I followed this link to do the installation :

http://blog.qnology.com/2013/03/tutorial-pogoplug-e02-with-arch-linux.html
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: