
Heh, capacity is reported incorrectly, but it works am I'm able to load kernel from there.
The reason for this is that the multiplication 488397168 x 512 will overflow a 32 bit integer as used in "disk/part.c"; this shouldbe fixed...
This issue is still here:
Sorry for not being clear. What I meant was: this is a bug that needs to be fixed (patches welcome).
Oh, I've attached my solution.
$sudo openocd -f /usr/share/openocd/scripts/board/sheevaplug.cfg Open On-Chip Debugger 0.5.0-dev-00466-g28ddefd (2010-08-06-22:54)
... > reset
Hm... I am not sure what exactly the OpenOCD debugger does when you run the reset command; eventually it performs some initializations (defined in sheevaplug.cfg ?), and/or prevents others. The CPU may, or may not, be in the virgin state expected by U-Boot.
Detach the debugger, and perform a real hard reset instead. Or try to configure the debugger not to perform any initializations (i. e. the equivalent of the "reset run" command on BDI2000/30000).
Sheevaplug has reset button on the box. So I've pushed it, no change.
sh-4.0# hdparm /dev/sda
/dev/sda: HDIO_DRIVE_CMD(identify) failed: Invalid exchange readonly = 0 (off) readahead = 256 (on) geometry = 30401/255/63, sectors = 488397168, start = 0 sh-4.0# sh-4.0#
<pressed reset button>
U-Boot 2010.06-00267-gb1f95b4 (Aug 07 2010 - 15:30:45) Marvell-Sheevaplug
SoC: Kirkwood 88F6281_A0 DRAM: 512 MiB NAND: 512 MiB In: serial Out: serial Err: serial Net: egiga0 88E1116 Initialized on egiga0 Hit any key to stop autoboot: 0 Marvell>> usb start (Re)start USB... USB: Register 10011 NbrPorts 1 USB EHCI 1.00 scanning bus for devices... 2 USB Device(s) found scanning bus for storage devices... 0 Storage Device(s) found
Kernel does not boot as well: [ 22.867512] Waiting for root device /dev/sda3... [ 22.973783] usb 1-1: device descriptor read/64, error -32 [ 23.203774] usb 1-1: device descriptor read/64, error -32