On 08/24/17 12:55, Gerd Hoffmann wrote:
>   Hi,
> 
>> Having all our precompiled blobs be in a submodule would
>> maybe be handy for properly keeping them separate from the
>> QEMU code -- would that be useful for downstream distro
>> packagers?
> 
> I like the clear separation.
> 
> Also you don't have to fetch the firmware submodule if you don't need
> the prebuilds.
> 
> It would be a good opportunity to cleanup the mess we have in pc-bios/
> right now.
> 
> Clear disadvantage is that firmware updates will become more
> complicated then as two repos must be updated.  So either two pull
> requests per firmware update, or write access to the firmware binary
> repo for all firmware maintainers.
> 
> Or maybe make the firmware sources submodules of the firmware binary
> repo instead of the qemu repo.
> 
>> In any case this seems like a good opportunity to write down
>> exactly what our policy about ROM blobs is (eg where they
>> are, how we update them, requirement for source, whether
>> we allow source to be in a submodule not on qemu.org...)
> 
> Tried to write down the current state.
> 
> cheers,
>   Gerd
> 
> ---------------------- docs/firmware.txt ------------------------
> 
> prebuilt firmware in qemu
> =========================
> 
> The process of building firmware isn't as easy as building qemu
> itself, for example because you must have cross compilers installed
> when building firmware for other architectures.  So qemu ships
> prebuilt firmware binaries for convenience reasons.
> 
> 
> directories
> -----------
> 
> pc-bios/
>     Firmware binaries.
>     Also other files like keymaps and logos which are copied to
>     $prefix/share/qemu by "make install".
> 
> pc-bios/optionrom/
>     Firmware sources, part of the qemu project.
> 
> roms/
>     Firmware sources, third-party projects, as git submodules.
> 
> 
> third-party git repos
> ---------------------
> 
> For third party firmware sources it is recommended to have a git
> mirror on git.qemu.org.  In case the firmware license is GPL the git
> mirror is mandatory for GPL compilance reasons:  We ship binaries, so
> we must provide sources too.
> 
> 
> building the firmware
> ---------------------
> 
> Firmware builds should be done using rules in roms/Makefile.  That
> serves as documentation how the firmware is built, and it also makes
> firmware updates easier for the maintainer.
> 
> "make -C roms" prints a list of firmware build targets.
> "make -C roms $target" kicks a build.
> 
> 
> notes for specific firmwares
> ----------------------------
> 
> ipxe: see https://wiki.qemu.org/IpxeDownstreamForQemu
> 

Looks good to me!

Reviewed-by: Laszlo Ersek <ler...@redhat.com>

Thanks
Laszlo

Reply via email to