I have a PogoPlug E02 that was previously running bodhi's SNTP uboot [http://forum.doozan.com/read.php?3,16003] and Doozan's rescue 2.8.2 [http://forum.doozan.com/read.php?4,7915]. It's served me without incident through many minor upgrades over the past two years. There are two USB drives attached, one 1TB drive in the top rear port and one 3TB in the lowest rear port, the former being the boot/ALARM drive.
This morning, I did a bog-standard "pacman -Syu", rebooted, and no joy - the uImage was found, but when it came time for the root filesystem to be mounted, it complained it couldn't find /dev/sda1 (even with the other drive unplugged). A rescue boot worked fine, I saw that the boot drive was indeed recognized as /dev/sda1, but no amount of toying with the system produced good results.
In desperation, I used pivot_root and a few mounting tricks to get ALARM on my drive up far enough that I could do a pacman installation of bodhi's mainline uboot (uboot-pogo_e02), which worked fine, and is confirmed as the current u-boot (though it made the situation slightly worse, as I also lost the rescue image in the process). Unfortunately, it's still blissfully unaware of the location of my root partition. Serial console boot:
$this->bbcode_second_pass_code('', '
U-Boot 2014.04.R4-1 (May 28 2014 - 22:14:04) Arch Linux ARM
Pogo E02
SoC: Kirkwood 88F6281_A0
DRAM: 256 MiB
WARNING: Caches not enabled
NAND: 128 MiB
In: serial
Out: serial
Err: serial
Net: egiga0
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... 1 Storage Device(s) found
Partition Map for USB device 0 -- Partition Type: DOS
Part Start Sector Num Sectors UUID Type
1 2048 1953523119 0cfc01e2-01 83
Attempting to boot from usb 0:1...
** File not found /boot/uEnv.txt **
Checking if uenvcmd is set ...
Running default loadzimage ...
** File not found /boot/zImage **
Running default loaduimage ...
3924480 bytes read in 278 ms (13.5 MiB/s)
Booting from 0 ...
## Booting kernel from Legacy Image at 00810000 ...
Image Name: Linux-3.16.1-1-ARCH
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3924416 Bytes = 3.7 MiB
Load Address: 00008000
Entry Point: 00008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
Starting kernel ...
Uncompressing Linux... done, booting the kernel.
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Initializing cgroup subsys cpuacct
[ 0.000000] Linux version 3.16.1-1-ARCH (nobody@root-armv5-copy) (gcc version 4.8.2 20131219 (prerelease) (GCC) ) #1 PREEMPT Fri Aug 15 20:35:00 MDT 2014
[ 0.000000] CPU: Feroceon 88FR131 [56251311] revision 1 (ARMv5TE), cr=0005397f
[ 0.000000] CPU: VIVT data cache, VIVT instruction cache
[ 0.000000] Machine: Pogoplug E02
[ 0.000000] Memory policy: Data cache writeback
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 65024
[ 0.000000] Kernel command line: console=ttyS0,115200 root=/dev/sda1 rw rootwait mtdparts=orion_nand:1M(u-boot),-(rootfs)
[ 0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
[ 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.000000] allocated 524288 bytes of page_cgroup
[ 0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups
[ 0.000000] Memory: 250884K/262144K available (5462K kernel code, 340K rwdata, 1668K rodata, 256K init, 697K bss, 11260K reserved)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xffc00000 - 0xffe00000 (2048 kB)
[ 0.000000] vmalloc : 0xd0800000 - 0xff000000 ( 744 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xd0000000 ( 256 MB)
[ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16 MB)
[ 0.000000] .text : 0xc0008000 - 0xc06feb1c (7131 kB)
[ 0.000000] .init : 0xc06ff000 - 0xc073f12c ( 257 kB)
[ 0.000000] .data : 0xc0740000 - 0xc07953bc ( 341 kB)
[ 0.000000] .bss : 0xc07953bc - 0xc08439a8 ( 698 kB)
[ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] Preemptible hierarchical RCU implementation.
[ 0.000000] NR_IRQS:114
[ 0.000011] sched_clock: 32 bits at 200MHz, resolution 5ns, wraps every 21474836475ns
[ 13.685693] Console: colour dummy device 80x30
[ 13.685717] Calibrating delay loop... 1191.11 BogoMIPS (lpj=5955584)
[ 13.775594] pid_max: default: 32768 minimum: 301
[ 13.775686] Security Framework initialized
[ 13.775756] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 13.775777] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 13.776561] Initializing cgroup subsys memory
[ 13.776711] Initializing cgroup subsys devices
[ 13.776764] Initializing cgroup subsys freezer
[ 13.776790] Initializing cgroup subsys net_cls
[ 13.776824] Initializing cgroup subsys blkio
[ 13.776856] Initializing cgroup subsys bfqio
[ 13.776906] Initializing cgroup subsys perf_event
[ 13.776928] Initializing cgroup subsys net_prio
[ 13.777043] CPU: Testing write buffer coherency: ok
[ 13.777481] Setting up static identity map for 0x5321e0 - 0x532238
[ 13.779575] devtmpfs: initialized
[ 13.782965] pinctrl core: initialized pinctrl subsystem
[ 13.783389] NET: Registered protocol family 16
[ 13.783844] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 13.784958] cpuidle: using governor ladder
[ 13.784986] cpuidle: using governor menu
[ 13.785120] Kirkwood: MV88F6281-A0, TCLK=200000000.
[ 13.785141] Feroceon L2: Enabling L2
[ 13.785180] Feroceon L2: Cache support initialised.
[ 13.817244] vgaarb: loaded
[ 13.817590] SCSI subsystem initialized
[ 13.818096] usbcore: registered new interface driver usbfs
[ 13.818172] usbcore: registered new interface driver hub
[ 13.818290] usbcore: registered new device driver usb
[ 13.818466] pps_core: LinuxPPS API ver. 1 registered
[ 13.818476] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 13.818511] PTP clock support registered
[ 13.819542] Switched to clocksource orion_clocksource
[ 13.838149] FS-Cache: Loaded
[ 13.851351] NET: Registered protocol family 2
[ 13.852290] TCP established hash table entries: 2048 (order: 1, 8192 bytes)
[ 13.852326] TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
[ 13.852357] TCP: Hash tables configured (established 2048 bind 2048)
[ 13.852421] TCP: reno registered
[ 13.852435] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 13.852456] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 13.852654] NET: Registered protocol family 1
[ 13.854379] futex hash table entries: 256 (order: -1, 3072 bytes)
[ 13.866466] VFS: Disk quotas dquot_6.5.2
[ 13.866738] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[ 13.868533] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
[ 13.869898] fuse init (API version 7.23)
[ 13.871666] aufs 3.16-20140811
[ 13.871700] msgmni has been set to 490
[ 13.873556] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 250)
[ 13.873577] io scheduler noop registered
[ 13.873592] io scheduler deadline registered
[ 13.874012] io scheduler cfq registered
[ 13.874065] io scheduler bfq registered (default)
[ 13.874073] BFQ I/O-scheduler version: v7r5
[ 13.874282] mv_xor mv_xor.0: Marvell shared XOR driver
[ 13.909633] mv_xor mv_xor.0: Marvell XOR: ( xor cpy )
[ 13.949623] mv_xor mv_xor.0: Marvell XOR: ( xor cpy )
[ 13.949819] mv_xor mv_xor.1: Marvell shared XOR driver
[ 13.989622] mv_xor mv_xor.1: Marvell XOR: ( xor cpy )
[ 14.029620] mv_xor mv_xor.1: Marvell XOR: ( xor cpy )
[ 14.035175] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[ 14.036244] console [ttyS0] disabled
[ 14.056348] serial8250.0: ttyS0 at MMIO 0xf1012000 (irq = 33, base_baud = 12500000) is a 16550A
[ 14.574195] console [ttyS0] enabled
[ 14.587119] brd: module loaded
[ 14.594896] loop: module loaded
[ 14.599205] nand: device found, Manufacturer ID: 0xec, Chip ID: 0xf1
[ 14.605629] nand: Samsung NAND 128MiB 3,3V 8-bit
[ 14.610279] nand: 128MiB, SLC, page size: 2048, OOB size: 64
[ 14.615976] Scanning device for bad blocks
[ 14.620682] Bad eraseblock 7 at 0x0000000e0000
[ 14.631939] Bad eraseblock 97 at 0x000000c20000
[ 14.645696] Bad eraseblock 219 at 0x000001b60000
[ 14.657197] Bad eraseblock 310 at 0x0000026c0000
[ 14.671133] Bad eraseblock 433 at 0x000003620000
[ 14.688084] Bad eraseblock 596 at 0x000004a80000
[ 14.693682] Bad eraseblock 609 at 0x000004c20000
[ 14.706016] Bad eraseblock 711 at 0x0000058e0000
[ 14.734324] 2 cmdlinepart partitions found on MTD device orion_nand
[ 14.740634] Creating 2 MTD partitions on "orion_nand":
[ 14.745795] 0x000000000000-0x000000100000 : "u-boot"
[ 14.751239] 0x000000100000-0x000008000000 : "rootfs"
[ 14.763611] libphy: orion_mdio_bus: probed
[ 14.767843] mv643xx_eth: MV-643xx 10/100/1000 ethernet driver version 1.4
[ 15.850469] mv643xx_eth_port mv643xx_eth_port.0 eth0: port 0 with MAC address 00:25:31:00:c9:e6
[ 15.859356] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 15.865944] ehci-pci: EHCI PCI platform driver
[ 15.870494] ehci-orion: EHCI orion driver
[ 15.874607] orion-ehci orion-ehci.0: EHCI Host Controller
[ 15.880072] orion-ehci orion-ehci.0: new USB bus registered, assigned bus number 1
[ 15.887790] orion-ehci orion-ehci.0: irq 19, io mem 0xf1050000
[ 15.909577] orion-ehci orion-ehci.0: USB 2.0 started, EHCI 1.00
[ 15.916479] hub 1-0:1.0: USB hub found
[ 15.920326] hub 1-0:1.0: 1 port detected
[ 15.925038] usbcore: registered new interface driver usb-storage
[ 15.931554] mousedev: PS/2 mouse device common for all mice
[ 16.239597] usb 1-1: new high-speed USB device number 2 using orion-ehci
[ 16.392173] hub 1-1:1.0: USB hub found
[ 16.396304] hub 1-1:1.0: 4 ports detected
[ 16.679930] usb 1-1.3: new high-speed USB device number 3 using orion-ehci
[ 16.939571] rtc-mv rtc-mv: internal RTC not ticking
[ 16.944623] i2c /dev entries driver
[ 16.948732] sdhci: Secure Digital Host Controller Interface driver
[ 16.954967] sdhci: Copyright(c) Pierre Ossman
[ 16.959410] sdhci-pltfm: SDHCI platform and OF driver helper
[ 16.965616] ledtrig-cpu: registered to indicate activity on CPUs
[ 16.971825] usbcore: registered new interface driver r8712u
[ 16.977615] gre: GRE over IPv4 demultiplexor driver
[ 16.982562] TCP: cubic registered
[ 16.985956] NET: Registered protocol family 17
[ 16.990572] Key type dns_resolver registered
[ 16.995654] registered taskstats version 1
[ 17.001089] console [netcon0] enabled
[ 17.004766] netconsole: network logging started
[ 17.009397] drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
[ 17.016953] Waiting for root device /dev/sda1...
')
and that's where it sits forever.
It seems likely that the initramfs is hosed in some way after the kernel update to 3.16.1-1 this morning, but I'm not quite certain how to get it un-hosed, or even confirm if that's the problem. I can easily mount the external USB drive on another Arch box, but I'm not quite sure where to go from there.
Suggestions?
Rodney