I have a Pogoplug E02 and I installed uBoot through the script http://projects.doozan.com/uboot/install_uboot_mtd0.sh
I'm trying to get ArchLinux running from a 4TB Western Digital MyBook, so I updated uBoot to the 2013-10 version on the forum so that I could use GPT partition table. (I initially tried setting up a hybrid MBR but kept running into issues so I went with the updated uBoot.)
Basically, from a cold boot, it will boot fine from the usb hard drive but never from a reboot. After reboot it will always boot into the rescue system. I tried several of the suggestions on the forum like lowering bootdelay and stopping and starting usb before usb_scan. Nothing seems to work and I could use some help.
The following is the uBoot netconsole output after a cold boot:
And this is after shutdown -r now
The main difference seems to be right after it scans for storage devices it states
The following is my uBoot settings
Any thoughts on what I can try?
Thanks in advance!
I'm trying to get ArchLinux running from a 4TB Western Digital MyBook, so I updated uBoot to the 2013-10 version on the forum so that I could use GPT partition table. (I initially tried setting up a hybrid MBR but kept running into issues so I went with the updated uBoot.)
Basically, from a cold boot, it will boot fine from the usb hard drive but never from a reboot. After reboot it will always boot into the rescue system. I tried several of the suggestions on the forum like lowering bootdelay and stopping and starting usb before usb_scan. Nothing seems to work and I could use some help.
The following is the uBoot netconsole output after a cold boot:
U-Boot 2013.10 (Feb 21 2014 - 19:35:02)-tld-2 Pogo E02 gcc (Debian 4.6.3-14) 4.6.3 GNU ld (GNU Binutils for Debian) 2.22 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... READ_CAP ERROR EHCI timed out on TD - token=0xbe008d80 EHCI timed out on TD - token=0xbe008d80 EHCI timed out on TD - token=0xbe008d80 EHCI timed out on TD - token=0xbe008d80 EHCI timed out on TD - token=0xbe008d80 EHCI timed out on TD - token=0xbe008d80 2 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 126 ms (0 Bytes/s) Found bootable drive on usb 0:1 3931528 bytes read in 259 ms (14.5 MiB/s) ** File not found /boot/uInitrd ** ## Booting kernel from Legacy Image at 00800000 ... Image Name: Linux-3.13.6-1-ARCH Created: 2014-03-08 9:06:30 UTC Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 3931464 Bytes = 3.7 MiB Load Address: 00008000 Entry Point: 00008000 Verifying Checksum ... OK Starting kernel ...
And this is after shutdown -r now
U-Boot 2013.10 (Feb 21 2014 - 19:35:02)-tld-2 Pogo E02 gcc (Debian 4.6.3-14) 4.6.3 GNU ld (GNU Binutils for Debian) 2.22 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... Device NOT ready Request Sense returned 02 04 01 READ_CAP ERROR EHCI timed out on TD - token=0xbe008d80 EHCI timed out on TD - token=0xbe008d80 EHCI timed out on TD - token=0xbe008d80 EHCI timed out on TD - token=0xbe008d80 EHCI timed out on TD - token=0xbe008d80 EHCI timed out on TD - token=0xbe008d80 1 Storage Device(s) found ** No partition table - usb 0 ** ** No partition table - 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 ** No partition table - usb 0 ** ** Bad device usb 1 ** ** Bad device usb 2 ** ** Bad device usb 3 ** ** No partition table - usb 0 ** ** No partition table - usb 0 ** Wrong Image Format for bootm command ERROR: can't get kernel image! stopping USB.. NAND read: device 0 offset 0x100000, size 0x400000 4194304 bytes read: OK ## Booting kernel from Legacy Image at 00800000 ... Image Name: Linux-3.3.2-kirkwide Created: 2012-10-29 22:52:12 UTC Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 3627768 Bytes = 3.5 MiB Load Address: 00008000 Entry Point: 00008000 Verifying Checksum ... OK Starting kernel ...
The main difference seems to be right after it scans for storage devices it states
Device NOT ready Request Sense returned 02 04 01
The following is my uBoot settings
# fw_printenv arcNumber=2097 baudrate=115200 console=ttyS0,115200 ethact=egiga0 ethaddr=00:25:31:04:85:56 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 if_netconsole=ping $serverip ipaddr=192.168.1.137 led_error=orange blinking led_exit=green off led_init=green blinking machid=dd6 mainlineLinux=yes mtdids=nand0=orion_nand mtdparts=mtdparts=orion_nand:1M(u-boot),4M(uImage),32M(rootfs),-(data) ncip=192.168.1.22 partition=nand0,2 pogo_bootcmd=if fsload uboot-original-mtd0.kwb; then go 0x800200; fi preboot=run if_netconsole start_netconsole 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=1 rescue_set_bootargs=setenv bootargs console=$console ubi.mtd=2 root=ubi0:rootfs ro rootfstype=ubifs $mtdparts $rescue_custom_params serverip=192.168.1.22 start_netconsole=setenv ncip $serverip; setenv bootdelay 10; setenv stdin nc; setenv stdout nc; setenv stderr nc; version; stderr=nc stdin=nc stdout=nc 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 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_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 bootcmd=usb start; run force_rescue_bootcmd; run ubifs_bootcmd; run usb_bootcmd; usb stop; run rescue_bootcmd; run pogo_bootcmd; reset bootdelay=2 usb_init=run usb_scan
Any thoughts on what I can try?
Thanks in advance!