Welcome! Log In Create A New Profile

Advanced

Pogo plug stuck at "bad magic number"

Posted by wrybread 
Pogo plug stuck at "bad magic number"
March 07, 2017 11:19PM
I've got a Pogoplug model Pogo-V4-A1 Mobile with an odd problem. I've got Debian running off an SD card just fine. But when I clone that SD card, booting halts at:

Reading data from 0x2ff800 -- 100% complete.
 2097152 bytes read: OK
## Booting image at 00800000 ...
Bad Magic Number
CE>>

When I put the other SD card in, it works just fine.

They're both Class 4 16 gig SD cards, and it happens when I clone to other SD cards too.

I'm reading the image with:

sudo dd if=/dev/mmcblk0p1 of=/home/wrybread/Desktop/test.img


And restoring with:

sudo dd if=/dev/mmcblk0p1 of=/home/wrybread/Desktop/test.img


But I get the same issue.

One thing that might be a factor is that I resized the partition on the working SD card to 3 gigs to make backing up the image easier.

But why wouldn't a clone of the SD card boot, if the source one does?

Here's the full trace of the boot sequence as seen through a serial console:


U-Boot 2014.07-tld-1 (Jul 18 2014 - 00:59:45)
Pogoplug V4

SoC:   Kirkwood 88F6192_A1
DRAM:  128 MiB
WARNING: Caches not enabled
NAND:  128 MiB
MMC:   kwsdio: 0
In:    serial
Out:   serial
Err:   serial
Net:   egiga0
Using egiga0 device
ping failed; host 192.168.1.100 is not alive
Hit any key to stop autoboot:  0 
(Re)start USB...
USB0:   USB EHCI 1.00
scanning bus 0 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
** Bad device usb 0 **
** Bad device usb 0 **
Wrong Image Format for bootm command
ERROR: can't get kernel image!

MMC rescan: current device # 0 initialized OK
** No partition table - mmc 0 **
** No partition table - mmc 0 **
Wrong Image Format for bootm command
ERROR: can't get kernel image!

Reset IDE: ide_preinit failed
** Bad device size - ide 0 **
** Bad device size - ide 0 **
Wrong Image Format for bootm command
ERROR: can't get kernel image!
UBI: attaching mtd1 to ubi0
UBI: physical eraseblock size:   131072 bytes (128 KiB)
UBI: logical eraseblock size:    126976 bytes
UBI: smallest flash I/O unit:    2048
UBI: sub-page size:              512
UBI: VID header offset:          2048 (aligned 2048)
UBI: data offset:                4096
UBI: attached mtd1 to ubi0
UBI: MTD device name:            "mtd=4"
UBI: MTD device size:            112 MiB
UBI: number of good PEBs:        896
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:     1
UBI: available PEBs:             0
UBI: total number of reserved PEBs: 896
UBI: number of PEBs reserved for bad PEB handling: 8
UBI: max/mean erase counter: 1/0
UBIFS: recovery needed
UBIFS: recovery deferred
UBIFS: mounted UBI device 0, volume 0, name "rootfs"
UBIFS: mounted read-only
UBIFS: file system size:   110850048 bytes (108252 KiB, 105 MiB, 873 LEBs)
UBIFS: journal size:       9023488 bytes (8812 KiB, 8 MiB, 72 LEBs)
UBIFS: media format:       w4/r0 (latest is w4/r0)
UBIFS: default compressor: LZO
UBIFS: reserved for root:  0 bytes (0 KiB)
Loading file 'uboot.mtd0.dockstar.original.kwb' to addr 0x00800000 with size 524288 (0x00080000)...
Done
## Starting application at 0x00800200 ...


U-Boot 1.1.4 (Jul 16 2009 - 21:02:16) Cloud Engines (3.4.16)

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

Soc: MV88F6192 Rev 3 (DDR2)
CPU running @ 800Mhz L2 running @ 400Mhz
SysClock = 200Mhz , TClock = 166Mhz 

DRAM CAS Latency = 3 tRP = 3 tRAS = 8 tRCD=3
DRAM CS[0] base 0x00000000   size 128MB 
DRAM Total size 128MB  16bit width
Flash:  0 kB
Addresses 8M - 0M are saved for the U-Boot usage.
Mem malloc Initialization (8M - 7M): Done
NAND:128 MB
*** Warning - bad CRC or NAND, using default environment


CPU : Marvell Feroceon (Rev 1)
CLOUD ENGINES BOARD (GUESSED): REDSTONE:0.1

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 ...
Bad Magic Number
CE>>


If I swap back to the other SD card, it boots into Debian fine. Here's the boot messages when it works:

U-Boot 2014.07-tld-1 (Jul 18 2014 - 00:59:45)
Pogoplug V4

SoC:   Kirkwood 88F6192_A1
DRAM:  128 MiB
WARNING: Caches not enabled
NAND:  128 MiB
MMC:   kwsdio: 0
In:    serial
Out:   serial
Err:   serial
Net:   egiga0
Using egiga0 device
ping failed; host 192.168.1.100 is not alive
Hit any key to stop autoboot:  0 
(Re)start USB...
USB0:   USB EHCI 1.00
scanning bus 0 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
** Bad device usb 0 **
** Bad device usb 0 **
Wrong Image Format for bootm command
ERROR: can't get kernel image!

MMC rescan: current device # 0 initialized OK
2461416 bytes read in 1241 ms (1.9 MiB/s)
6362802 bytes read in 1540 ms (3.9 MiB/s)
## Booting kernel from Legacy Image at 00800000 ...
   Image Name:   Linux-3.14.0-kirkwood-tld-1
   Created:      2014-04-06  20:44:27 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2461352 Bytes = 2.3 MiB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 01100000 ...
   Image Name:   initramfs-3.14.0-kirkwood-tld-1
   Created:      2014-04-06  20:44:41 UTC
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    6362738 Bytes = 6.1 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
Using machid 0xf78 from environment

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.14.0-kirkwood-tld-1 (root@tldDebian) (gcc version 4.6.3 (Debian 4.6.3-14) ) #1 PREEMPT Tue Apr 1 22:54:58 PDT 2014
[    0.000000] CPU: Feroceon 88FR131 [56251311] revision 1 (ARMv5TE), cr=00053977
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
[    0.000000] Machine: Pogoplug V4
[    0.000000] Memory policy: Data cache writeback
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 32512
Re: Pogo plug stuck at "bad magic number"
March 08, 2017 12:45AM
wrybread,

It is best to clone the rootfs with a simpe cp command. Mount both on another Linux box and assuming destination is sdb1 and source is sda1.

su
cd /media/sdb1
cp -aR /media/sda1/* .
sync

I would avoid using dd (dd is too low level for this purpose). For rootfs, cp or tar is better. You can make the destination smaller or larger partition using fdisk.

-bodhi
===========================
Wiki
latest Kirkwood kernel builds and rootfs
latest u-boot-kirkwood builds
latest Oxnas kernel builds and rootfs
latest u-boot-oxnas builds
latest MVEBU Armada kernel builds and rootfs
U-Boot & Kernel Booting process
bodhi's u-boot GitHub
bodhi's corner



Edited 2 time(s). Last edit at 03/08/2017 12:49AM by bodhi.
Re: Pogo plug stuck at "bad magic number"
March 08, 2017 12:51AM
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: