[OE-core] [PATCH 1/1] wic: fix extended/logical partition layout

Maciej Borzecki maciej.borzecki at open-rnd.pl
Tue Feb 3 10:05:36 UTC 2015


On 02/02 08:29, Tom Zanussi wrote:
> On Mon, 2015-02-02 at 08:37 +0100, Maciej Borzecki wrote:
> > ping
> >
>
> This looks reasonable, but I haven't been able to verify it due to wic
> problems introduced by the recent kernel changes in oe-core.
>
> If you have test cases e.g. the kickstart file(s) that you used for
> testing the fix, please include them.  Also, any testing you may have
> done to show it doesn't cause regressions in existing use cases.

Kickstart that fails without the patch:

part /boot --source bootimg-partition --ondisk mmcblk0 --fstype=vfat --label boot --active --align 4 --size 16
part / --source rootfs --ondisk mmcblk0 --fstype=ext4 --label root --align 4
part /var/lib/misc --ondisk mmcblk0 --fstype=ext4 --label misc --size 128
part /mnt --ondisk mmcblk0 --fstype=ext4 --label fakedata --size 128

When mounting kernel ext4 complains about bad geometry of the 3rd
partition (i.e. ext4 partition image was exactly 131072 blocks, but
parted entry states 131071 blocks, wic stole the last sector of this
partition, to account for EBR for the first extended):

EXT4-fs (mmcblk0p3): bad geometry: block count 131072 exceeds size of
device (131071 blocks)

Then the first extended partition is not found, logical partition
/dev/mmcblk0p4 is the last one visible. I'm guessing the EBR was
overwritten by the last block of the 3rd partition image, hence the
kerel cannot figure out the location of the extended partition.

The problem won't be triggered unless there is a logical parition in
kickstart. The only other kickstart using MBR is directdisk.wks, but it
has only 2 partitions defined there.

With the patch you can go on and define more crazy layout like this one
below and it mounts properly:

part /boot --source bootimg-partition --ondisk mmcblk0 --fstype=vfat --label boot --active --align 4 --size 16
part / --source rootfs --ondisk mmcblk0 --fstype=ext4 --label root --align 4
part /var/lib/misc --ondisk mmcblk0 --fstype=ext4 --label misc --size 128
part /mnt --ondisk mmcblk0 --fstype=ext4 --label fakedata --size 128
part /mnt2 --ondisk mmcblk0 --fstype=ext4 --label fakedata2 --size 13
part /mnt3 --ondisk mmcblk0 --fstype=ext4 --label fakedata3 --size 64


--
Maciej Borzęcki
Senior Software Developer at Open-RnD Sp. z o.o., Poland
www.open-rnd.pl
mobile: +48 889 117 365, fax: +48 42 657 9079


Niniejsza wiadomość wraz z załącznikami może
zawierać chronione prawem lub poufne informacje i została
wysłana wyłącznie do wiadomości i użytku osób, do których
została zaadresowana. Jeśli wiadomość została otrzymana
przypadkowo zabrania się jej kopiowania lub rozsyłania do osób
trzecich. W takim przypadku uprasza się o natychmiastowe
zniszczenie wiadomości oraz poinformowanie nadawcy o
zaistniałej sytuacji za pomocą wiadomości zwrotnej.
Dziękujemy.

This message, including any attachments hereto,
may contain privileged or confidential information and is sent
solely for the attention and use of the intended addressee(s).
If you are not an intended addressee, you may neither use this
message nor copy or deliver it to anyone. In such case, you
should immediately destroy this message and kindly notify the
sender by reply email. Thank you.



More information about the Openembedded-core mailing list