qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug 1910586] [NEW] SD card size constraint conceptually wrong


From: Philippe Mathieu-Daudé
Subject: Re: [Bug 1910586] [NEW] SD card size constraint conceptually wrong
Date: Thu, 7 Jan 2021 23:13:12 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0

On 1/7/21 8:24 PM, - wrote:
> Public bug reported:
> 
> The patch discussed here:
> https://www.mail-archive.com/qemu-devel@nongnu.org/msg720833.html
> introduces an artificial size constraint for SD cards
> that has no relation to reality.
> 
> I'm trying to use an _actual_ **physical** SD card,
> and qemu tells me its size is "invalid".
> 
> Something here appears to be conceptually wrong.
> 
> --------------------------------------------------
> # fdisk -l /dev/sdg
> Disk /dev/sdg: 14.84 GiB, 15931539456 bytes, 31116288 sectors
> Disk model: USB  SD Reader  
> Units: sectors of 1 * 512 = 512 bytes
> Sector size (logical/physical): 512 bytes / 512 bytes
> I/O size (minimum/optimal): 512 bytes / 512 bytes
> Disklabel type: dos
> Disk identifier: 0x7a0c8bb0
> 
> Device     Boot  Start      End  Sectors  Size Id Type
> /dev/sdg1         2048   524287   522240  255M  c W95 FAT32 (LBA)
> /dev/sdg2       524288 31116287 30592000 14.6G 83 Linux
> # qemu-system-aarch64 -M raspi3 -m 1G -kernel vmlinuz-5.4.79-v8 -dtb 
> bcm2837-rpi-3-b-plus.dtb -append console=ttyAMA0\ root=/dev/mmcblk0p2\ rw 
> -nographic -serial mon:stdio -drive file=/dev/sdg,format=raw
> qemu-system-aarch64: Invalid SD card size: 14.8 GiB
> SD card size has to be a power of 2, e.g. 16 GiB.

Your physical card likely is 16GiB. The firmware running
on it is free to reserve some amount to replace broken
blocks. In your case ~7%.

We choose to restrict the model to the physical layer to
simplify the design and avoid to deal with security issues.

Patches to improve the model by better matching the real
world are always welcomed!

> You can resize disk images with 'qemu-img resize <imagefile> <new-size>'
> (note that this will lose data if you make the image smaller than it 
> currently is).

Indeed, we can remove this warning for block devices.

> --------------------------------------------------
> 
> The same invocation with a dump of the actual image
> resized to match qemu's odd expectations works fine.
> 
> 
> This is on QEMU 5.2.0, as evidenced by the following:
> --------------------------------------------------
> # qemu-system-aarch64 -version
> QEMU emulator version 5.2.0
> Copyright (c) 2003-2020 Fabrice Bellard and the QEMU Project developers
> --------------------------------------------------
> 
> Is there a simple workaround that disables this rather
> arbitrary constraint?

No, but you can send a patch :)

Regards,

Phil.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]