gnu: QEMU: Unbundle OpenBIOS.
* gnu/packages/virtualization.scm (qemu)[source](snippet): Remove precompiled PPC OpenBIOS firmware, and its source code. [arguments]: Replace with the one from Guix. [inputs]: Add OPENBIOS-QEMU-PPC.
This commit is contained in:
parent
53a1fce25a
commit
71b8707100
1 changed files with 12 additions and 2 deletions
|
@ -181,12 +181,16 @@
|
||||||
(for-each delete-file (find-files "." "^(bios|vgabios).*\\.bin$"))
|
(for-each delete-file (find-files "." "^(bios|vgabios).*\\.bin$"))
|
||||||
;; Delete SGABIOS.
|
;; Delete SGABIOS.
|
||||||
(delete-file "sgabios.bin")
|
(delete-file "sgabios.bin")
|
||||||
|
;; Delete ppc64 OpenBIOS. TODO: Remove sparc32 and sparc64 too
|
||||||
|
;; once they are supported in Guix.
|
||||||
|
(delete-file "openbios-ppc")
|
||||||
;; Delete iPXE firmwares.
|
;; Delete iPXE firmwares.
|
||||||
(for-each delete-file (find-files "." "^(efi|pxe)-.*\\.rom$")))
|
(for-each delete-file (find-files "." "^(efi|pxe)-.*\\.rom$")))
|
||||||
;; Delete bundled code that we provide externally.
|
;; Delete bundled code that we provide externally.
|
||||||
(for-each delete-file-recursively
|
(for-each delete-file-recursively
|
||||||
'("dtc" "meson"
|
'("dtc" "meson"
|
||||||
"roms/ipxe"
|
"roms/ipxe"
|
||||||
|
"roms/openbios"
|
||||||
"roms/seabios"
|
"roms/seabios"
|
||||||
"roms/sgabios"))))))
|
"roms/sgabios"))))))
|
||||||
(outputs '("out" "static" "doc")) ;5.3 MiB of HTML docs
|
(outputs '("out" "static" "doc")) ;5.3 MiB of HTML docs
|
||||||
|
@ -200,6 +204,8 @@
|
||||||
#:configure-flags
|
#:configure-flags
|
||||||
#~(let ((gcc (search-input-file %build-inputs "/bin/gcc"))
|
#~(let ((gcc (search-input-file %build-inputs "/bin/gcc"))
|
||||||
(meson (search-input-file %build-inputs "bin/meson"))
|
(meson (search-input-file %build-inputs "bin/meson"))
|
||||||
|
(openbios (search-input-file %build-inputs
|
||||||
|
"share/qemu/openbios-ppc"))
|
||||||
(seabios (search-input-file %build-inputs
|
(seabios (search-input-file %build-inputs
|
||||||
"share/qemu/bios.bin"))
|
"share/qemu/bios.bin"))
|
||||||
(sgabios (search-input-file %build-inputs
|
(sgabios (search-input-file %build-inputs
|
||||||
|
@ -218,6 +224,7 @@
|
||||||
(string-append "--firmwarepath=" out "/share/qemu:"
|
(string-append "--firmwarepath=" out "/share/qemu:"
|
||||||
(dirname seabios) ":"
|
(dirname seabios) ":"
|
||||||
(dirname ipxe) ":"
|
(dirname ipxe) ":"
|
||||||
|
(dirname openbios) ":"
|
||||||
(dirname sgabios))
|
(dirname sgabios))
|
||||||
(string-append "--smbd=" out "/libexec/samba-wrapper")
|
(string-append "--smbd=" out "/libexec/samba-wrapper")
|
||||||
"--disable-debug-info" ;for space considerations
|
"--disable-debug-info" ;for space considerations
|
||||||
|
@ -243,6 +250,8 @@
|
||||||
(ipxe (dirname (search-input-file
|
(ipxe (dirname (search-input-file
|
||||||
inputs "share/qemu/pxe-virtio.rom")))
|
inputs "share/qemu/pxe-virtio.rom")))
|
||||||
(ipxe-firmwares (find-files ipxe "\\.rom$"))
|
(ipxe-firmwares (find-files ipxe "\\.rom$"))
|
||||||
|
(openbios (search-input-file
|
||||||
|
inputs "share/qemu/openbios-ppc"))
|
||||||
(allowed-differences
|
(allowed-differences
|
||||||
;; Ignore minor differences (addresses etc) in the firmware
|
;; Ignore minor differences (addresses etc) in the firmware
|
||||||
;; data tables compared to what the test suite expects.
|
;; data tables compared to what the test suite expects.
|
||||||
|
@ -258,7 +267,7 @@
|
||||||
(for-each (lambda (file)
|
(for-each (lambda (file)
|
||||||
(symlink file (basename file)))
|
(symlink file (basename file)))
|
||||||
(append seabios-firmwares ipxe-firmwares
|
(append seabios-firmwares ipxe-firmwares
|
||||||
(list sgabios))))
|
(list openbios sgabios))))
|
||||||
(for-each (lambda (file)
|
(for-each (lambda (file)
|
||||||
(format allowed-differences-whitelist
|
(format allowed-differences-whitelist
|
||||||
"\"~a\",~%" file))
|
"\"~a\",~%" file))
|
||||||
|
@ -376,7 +385,7 @@
|
||||||
(with-directory-excursion (string-append #$output "/share/qemu")
|
(with-directory-excursion (string-append #$output "/share/qemu")
|
||||||
(for-each delete-file
|
(for-each delete-file
|
||||||
(append
|
(append
|
||||||
'("sgabios.bin")
|
'("openbios-ppc" "sgabios.bin")
|
||||||
(find-files "." "^(vga)?bios(-[a-z0-9-]+)?\\.bin$")
|
(find-files "." "^(vga)?bios(-[a-z0-9-]+)?\\.bin$")
|
||||||
(find-files "." "^(efi|pxe)-.*\\.rom$"))))))
|
(find-files "." "^(efi|pxe)-.*\\.rom$"))))))
|
||||||
;; Create a wrapper for Samba. This allows QEMU to use Samba without
|
;; Create a wrapper for Samba. This allows QEMU to use Samba without
|
||||||
|
@ -420,6 +429,7 @@ exec smbd $@")))
|
||||||
libusb ;USB pass-through support
|
libusb ;USB pass-through support
|
||||||
mesa
|
mesa
|
||||||
ncurses
|
ncurses
|
||||||
|
openbios-qemu-ppc
|
||||||
;; ("pciutils" ,pciutils)
|
;; ("pciutils" ,pciutils)
|
||||||
pixman
|
pixman
|
||||||
pulseaudio
|
pulseaudio
|
||||||
|
|
Reference in a new issue