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