Flash stick unbootable and reports partition errors

1,401 views
Skip to first unread message

Vikram Aggarwal

unread,
Jul 8, 2010, 1:04:00 PM7/8/10
to chromiu...@chromium.org
Hi,

I've compiled ChromeOS, and run image_to_usb successfully.  However, the disk refuses to boot.  dmesg reports errors, which suggest that the partition table is messed:

$ ./image_to_usb.sh --board=x86-generic --to /dev/sde
<completes successfully: writes 1.9G>
$ dmesg | tail
[2678569.258925] sd 50:0:0:0: [sde] 3842048 512-byte hardware sectors (1967 MB)
[2678569.265524] sd 50:0:0:0: [sde] Write Protect is off
[2678569.265534] sd 50:0:0:0: [sde] Mode Sense: 03 00 00 00
[2678569.265537] sd 50:0:0:0: [sde] Assuming drive cache: write through
[2678569.265545]  sde:<4>GPT:Primary header thinks Alt. header is not at the end of the disk.
[2678569.302560] GPT:3649571 != 3842047
[2678569.302563] GPT:Alternate GPT header not at the end of the disk.
[2678569.302565] GPT:3649571 != 3842047
[2678569.302566] GPT: Use GNU Parted to correct GPT errors.
[2678569.302572]  sde1 sde2 sde3 sde4 sde5 sde6 sde7 sde8 sde9 sde10 sde11 sde12

I have a 2GB memory stick, and I'm writing 1.9G to it.  Could that be the issue here?  Thanks,

--
Viki

Tien-Ren Chen

unread,
Jul 8, 2010, 9:49:13 PM7/8/10
to chromiu...@chromium.org

This is probably not the issue here, as long as your 2GB memory
stick's usable space is large than the image.
The above warning message shows on all systems because GPT standard
requires backup partition table be in the last sector of the device,
we're violating this because we dd the raw image to disk directly, but
since linux is not enforcing this rule, we're happily abusing it.
I'm not sure but the behavior might be changed when making vendor
specific releases?

Now back to your original problem,
I'll need more detailed information to figure out what's happening on
your machine,
but a quick guess is that the boot loader didn't pass the correct root
argument to the kernel.
This matter is quite complicated because we currently have 3 boot paths:
one is extlinux, used by legacy ibm pc bios.
one is efi-grub, used by efi bios.
one is kernel partition, used by customized chrome os bios.
We did add some logic to the boot loader for it to determine the root device,
but it's just impossible to do it right. (for example, if more than
one usb storage devices present on the system, which one get probed
first?)

I suggest you try hitting escape key while booting,
and see if extlinux prompt or grub menu shows up. Then you can try
passing different root parameter to the kernel and see if it boots.
--
Best regards,
Tien-Ren Chen, 2010/07/09.

Eric Lange

unread,
Jul 8, 2010, 11:13:59 PM7/8/10
to Tien-Ren Chen, chromiu...@chromium.org
Try changing boot=/dev/sdb3 to boot=/dev/sde3 in /boot/extlinux.conf

You're welcome.  I just saved you a month of hair pulling.


--
Chromium OS Developers mailing list: chromiu...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-os-dev?hl=en

Eric Lange

unread,
Jul 8, 2010, 11:16:21 PM7/8/10
to Tien-Ren Chen, chromiu...@chromium.org
sorry, that's *root*, not boot
Reply all
Reply to author
Forward
This conversation is locked
You cannot reply and perform actions on locked conversations.
0 new messages