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:33:53 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1

On 03/10/19 12:21, Philippe Mathieu-Daudé wrote:
> On 3/10/19 4:56 AM, Michael S. Tsirkin wrote:
>> On Sat, Mar 09, 2019 at 01:48:16AM +0100, 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
> 
> There David raised a concern about "[adding] ~206 MB of binaries to the
> pc-bios directory".

(I think the concern was voiced by Dan first.)

> I'm also worried.

I'm not. The actual data size, both to transfer (push/pull) and to store
in the .git subdirectory, is ~9MB. (As I explained earlier.)

git-checkout *could* in theory eat more space, but, in my testing, it
doesn't; for me, git-checkout punches holes in the checked-out files.
Please see the earlier discussion for that reference too. (Note: I'm on
ext4, so nothing enterprisey like xfs.)

> GitHub kindly suggest to use git-lfs.

Just ignore that -- not because it's another dependency, but because
external storage for these blobs is actually not required.

> It is an extra dependency I'd
> rather strongly avoid (because we support a wide range of host OS, each
> using a wide types of filesystems).
> 
> What about storing those binaries on a file server (http/ftp) altogether
> with a file containing its hashed digest (SHA1/SHA256)? Then we already
> have all the required tools to fetch and verify those blob roms with the
> build system.
> Or we could store the hashes in the QEMU repository too.

Let's not implement "fedpkg sources" within upstream QEMU, unless we
really must.

> 
>>> 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
>>
>> High time IMO.
> 
> :)
> 
>> Reviewed-by: Michael S. Tsirkin <address@hidden>
>>
>> Laszlo I suggest you add an entry to MAINTAINERS
>> and start doing pull requests.

I'm glad to do that (in the hope that updates will be mostly painless,
regarding the build scaffolding).

> 
> This is the entry I added here:
> https://lists.gnu.org/archive/html/qemu-devel/2019-03/msg02967.html

Hmm. That hunk is insufficient (it doesn't cover the files being added
here), but if I add another hunk myself, then we'll have redundancy.

In other words, this is a conflict. How should we resolve it? Should I
add a separate patch at the end, and let Michael drop it or resolve the
conflict, dependent on the order in which the series end up being merged?

> 
>>
>> Peter, what do you say? OK with you?
> 
> Since this series doesn't change the QEMU binaries built, it looks OK to
> me to merge it past soft freeze (as we do we tests/CI), this way it get
> merged with the final EDK2 release tag.
> Else we can merge it next week, and update the EDK2 submodule tag
> previous QEMU release.

I don't understand this paragraph -- the edk2 submodule commit reference
is already the final one I have targeted for this work, namely
"edk2-stable201903". (I had worried edk2 would suffer a delay in
publishing the tag, but ultimately the community managed it just in time.)

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
>>>  pc-bios/edk2-i386-code.fd                      | Bin 0 -> 3653632 bytes
>>>  pc-bios/edk2-i386-secure-code.fd               | Bin 0 -> 3653632 bytes
>>>  pc-bios/edk2-i386-vars.fd                      | Bin 0 -> 540672 bytes
>>>  pc-bios/edk2-licenses.txt                      | 209 ++++++++++++++++
>>>  pc-bios/edk2-x86_64-code.fd                    | Bin 0 -> 3653632 bytes
>>>  pc-bios/edk2-x86_64-secure-code.fd             | Bin 0 -> 3653632 bytes
>>>  roms/Makefile                                  |   9 +-
>>>  roms/Makefile.edk2                             | 138 +++++++++++
>>>  roms/edk2                                      |   2 +-
>>>  roms/edk2-build.sh                             |  55 +++++
>>>  roms/edk2-funcs.sh                             | 253 ++++++++++++++++++++
>>>  tests/uefi-test-tools/build.sh                 | 100 +-------
>>>  23 files changed, 897 insertions(+), 95 deletions(-)
>>>  create mode 100644 pc-bios/descriptors/50-edk2-i386-secure.json
>>>  create mode 100644 pc-bios/descriptors/50-edk2-x86_64-secure.json
>>>  create mode 100644 pc-bios/descriptors/60-edk2-aarch64.json
>>>  create mode 100644 pc-bios/descriptors/60-edk2-arm.json
>>>  create mode 100644 pc-bios/descriptors/60-edk2-i386.json
>>>  create mode 100644 pc-bios/descriptors/60-edk2-x86_64.json
>>>  create mode 100644 pc-bios/edk2-aarch64-code.fd
>>>  create mode 100644 pc-bios/edk2-arm-code.fd
>>>  create mode 100644 pc-bios/edk2-arm-vars.fd
>>>  create mode 100644 pc-bios/edk2-i386-code.fd
>>>  create mode 100644 pc-bios/edk2-i386-secure-code.fd
>>>  create mode 100644 pc-bios/edk2-i386-vars.fd
>>>  create mode 100644 pc-bios/edk2-licenses.txt
>>>  create mode 100644 pc-bios/edk2-x86_64-code.fd
>>>  create mode 100644 pc-bios/edk2-x86_64-secure-code.fd
>>>  create mode 100644 roms/Makefile.edk2
>>>  create mode 100755 roms/edk2-build.sh
>>>  create mode 100644 roms/edk2-funcs.sh
>>>
>>> -- 
>>> 2.19.1.3.g30247aa5d201




reply via email to

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