qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 00/10] bundle edk2 platform firmware with QEMU


From: Laszlo Ersek
Subject: Re: [Qemu-devel] [PATCH 00/10] bundle edk2 platform firmware with QEMU
Date: Tue, 12 Mar 2019 16:58:46 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1

On 03/11/19 14:04, Michael S. Tsirkin wrote:
> On Mon, Mar 11, 2019 at 01:00:00PM +0000, Daniel P. Berrangé wrote:
>> On Mon, Mar 11, 2019 at 08:57:04AM -0400, Michael S. Tsirkin wrote:
>>> On Mon, Mar 11, 2019 at 10:28:01AM +0000, Daniel P. Berrangé wrote:
>>>> On Sat, Mar 09, 2019 at 02:20:06AM +0100, Philippe Mathieu-Daudé wrote:
>>>>> On 3/9/19 1:48 AM, Laszlo Ersek wrote:
>>>>>> Repo:   https://github.com/lersek/qemu.git
>>>>>> Branch: edk2_build
>>>>>>
>>>>>> This series advances the roms/edk2 submodule to the "edk2-stable201903"
>>>>>> release, and builds and captures platform firmware binaries from that
>>>>>> release. At this point they are meant to be used by both end-users and
>>>>>> by Igor's ACPI unit tests in qtest ("make check").
>>>>>>
>>>>>> Previous discussion:
>>>>>>
>>>>>>   [Qemu-devel] bundling edk2 platform firmware images with QEMU
>>>>>>   http://mid.mail-archive.com/address@hidden
>>>>>>   https://lists.gnu.org/archive/html/qemu-devel/2019-03/msg02601.html
>>>>>>
>>>>>> Note that the series was formatted with "--no-binary" (affecting patch
>>>>>> #8), therefore it cannot be applied with "git-am". See the remote
>>>>>> repo/branch reference near the top instead.
>>>>>>
>>>>>> Thanks,
>>>>>> Laszlo
>>>>>>
>>>>>> Laszlo Ersek (10):
>>>>>>   roms: lift "edk2-funcs.sh" from "tests/uefi-test-tools/build.sh"
>>>>>>   roms/edk2-funcs.sh: require gcc-4.8+ for building i386 and x86_64
>>>>>>   tests/uefi-test-tools/build.sh: work around TianoCore#1607
>>>>>>   roms/edk2: advance to tag edk2-stable201903
>>>>>>   roms/edk2-funcs.sh: add the qemu_edk2_get_thread_count() function
>>>>>>   roms/Makefile: replace the $(EFIROM) target with "edk2-basetools"
>>>>>>   roms: build edk2 firmware binaries and variable store templates
>>>>>>   pc-bios: add edk2 firmware binaries and variable store templates
>>>>>>   pc-bios: document the edk2 firmware images; add firmware descriptors
>>>>>>   Makefile: install the edk2 firmware images and their descriptors
>>>>>>
>>>>>>  Makefile                                       |  17 +-
>>>>>>  pc-bios/README                                 |  11 +
>>>>>>  pc-bios/descriptors/50-edk2-i386-secure.json   |  34 +++
>>>>>>  pc-bios/descriptors/50-edk2-x86_64-secure.json |  35 +++
>>>>>>  pc-bios/descriptors/60-edk2-aarch64.json       |  31 +++
>>>>>>  pc-bios/descriptors/60-edk2-arm.json           |  31 +++
>>>>>>  pc-bios/descriptors/60-edk2-i386.json          |  33 +++
>>>>>>  pc-bios/descriptors/60-edk2-x86_64.json        |  34 +++
>>>>>>  pc-bios/edk2-aarch64-code.fd                   | Bin 0 -> 67108864 bytes
>>>>>>  pc-bios/edk2-arm-code.fd                       | Bin 0 -> 67108864 bytes
>>>>>>  pc-bios/edk2-arm-vars.fd                       | Bin 0 -> 67108864 bytes
>>>>>
>>>>> GitHub moans here:
>>>>>
>>>>> remote: warning: GH001: Large files detected. You may want to try Git
>>>>> Large File Storage - https://git-lfs.github.com.
>>>>> remote: warning: See http://git.io/iEPt8g for more information.
>>>>> remote: warning: File pc-bios/edk2-arm-vars.fd is 64.00 MB; this is
>>>>> larger than GitHub's recommended maximum file size of 50.00 MB
>>>>> remote: warning: File pc-bios/edk2-arm-code.fd is 64.00 MB; this is
>>>>> larger than GitHub's recommended maximum file size of 50.00 MB
>>>>> remote: warning: File pc-bios/edk2-aarch64-code.fd is 64.00 MB; this is
>>>>> larger than GitHub's recommended maximum file size of 50.00 MB
>>>>
>>>> I wonder if this is a such that github isn't handling sparse files
>>>> well, or if they just blindly do this check before they look at the
>>>> actual required storage for the files.
>>>>
>>>> Regards,
>>>> Daniel
>>>
>>>
>>> Right. But really: can we keep these around compressed?
>>
>> I think it is viable for us to xz compress the images that we store in
>> git & just let make "build"  the uncompressed images when needed.
>>
>> Regards,
>> Daniel
> 
> Right that's the simplest approach. OTOH we do link with zlib already,
> so we could support actual compressed firmware too. Not sure it's worth
> it.

Let me attempt a summary.

(1) The packed git object footprint is 9MB.

(2) Same applies to git-push/git-pull.

(3) git-checkout is sparse, *if* you use recent enough git, and a
filesystem with support for holes.

(4) If everyone prefers some kind of compression around the edk2*fd
files, then we should use qcow2 with gzip compression. *xz is not
directly consumable to qtest. With qcow2 under pc-bios however, the
challenge for me is the "make install" logic that needs to call
"qemu-img convert", so we place the raw files in the filesystem (for
consumption by libvirt, for example). Question: *what* qemu-img exactly?

Thanks
Laszlo



reply via email to

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