[yocto] Crownbay .hddimg partition is corrupt...but works?

r10kindsofpeople r10kindsofpeople at gmail.com
Fri Oct 19 08:29:34 PDT 2012


On Fri, Oct 19, 2012 at 8:48 AM, r10kindsofpeople
<r10kindsofpeople at gmail.com> wrote:
> I've been following with interest the thread on creating multiple
> partitions, but before I get there, I seem to have a stumbling block.
>
> I've been using dd to copy the .hddimg onto an SDCard and booting from
> there.  It works fine.  The core-image-minimal image is about 32MB,
> copied onto a 16GB card.  When 'boot' is mounted under Ubuntu 12.04, I
> see the 5 files totaling about 31 MB with about 1 MB free.
>
> But when I run 'parted' on /dev/mmcblk0, I see one 16GB partition
> using the fat16 file system.  'parted check' warns me that Partition 1
> is 16.0GB, but the file system is 32.2MB.  GParted basically throws up
> its hands in frustration and gives up.
>
> It seems to me that before I start trying to get a class created that
> will create the partitions automatically, I ought to first figure out
> how to create the partitions by hand, but I'm not convinced that the
> .hddimg is giving me a solid foundation to start with.
>
> Can anyone give me clues to the why/wherefore of the partition that
> the build system is creating?  If I create my own partitions on the
> card first, won't the 'dd' operation simply wipe that out and replace
> it with the current situation?
>
> I'm using the Crownbay emgd layer, Denzil 7.0.1.
>
> John

Right.  Amazing what a cup of coffee can do...

So of course .hddimg has no knowledge of the drive size that I'm
using, so I can understand why the file system and the partition size
don't agree.

So I think what I want to create is an image class that:
1) creates an msdos partition table
2) creates a fat16 partition called 'boot' sized for the original
.hddimg (or larger) with the boot flag on
3) creates any additional partitions
4) puts the syslinux mbr in the first 440 bytes of the new disk image
5) puts the original .hddimg in the fat16 partition

Sound about right?  This seems to work by hand.  I'm using syslinux to
boot into a ramdisk loaded rootfs, I suspect others might want
different steps if they're booting into an ext3 image, etc.

John



More information about the yocto mailing list