
This change adds the use of the configure flag --target-list to filter our build targets, mapping only targets currently required on the StarlingX virtualization context. This reduces both the time and the required disk space for for build: * BEFORE: Build needed 00:17:34, 7709532k disk space * AFTER : Build needed 00:16:27, 2394216k disk space Also, this change updates patch 0006 by adding an extra, and now required, library to configure LIBS. Because of that, the patch name is also reworded. TEST PLAN: PASS - build-pkgs -c -p qemu PASS - build-image PASS - bootstrap a virtual AIO-SX PASS - apply stx-openstack PASS - 'openstack hypervisor list' shows a QEMU hypervisor UP Story: 2010781 Task: 50764 Change-Id: I0362546606ad26bececf810c7c9e9ef2eb9b08fb Signed-off-by: Thales Elero Cervi <thaleselero.cervi@windriver.com>
461 lines
20 KiB
Diff
461 lines
20 KiB
Diff
From 33716964e8381628d575160b6a015a3f8ba68640 Mon Sep 17 00:00:00 2001
|
|
From: Thales Elero Cervi <thaleselero.cervi@windriver.com>
|
|
Date: Fri, 18 Nov 2022 16:59:35 -0300
|
|
Subject: [PATCH] Customize Debian build files for STX
|
|
|
|
Change the Debian build files to generate qemu Debian packages as
|
|
they are needed for StarlingX qemu use case.
|
|
Building the upstream qemu was taking ~30 minutes and generating
|
|
an output directory with 30 packages and ~1.1G in size. Removing
|
|
the unnecessary packages resulted in a build that takes ~15min and
|
|
in an output directory with only 10 needed packages and ~320M.
|
|
|
|
This removes UI/Graphical modules and focus on building
|
|
qemu-system-x86 only. Other qemu-system-* packages for different
|
|
architectures are not required, neither the build dependencies for
|
|
cross-compiling those packages. Also, this reduces the configure
|
|
and build targets the ones that really matter for StarlingX.
|
|
|
|
Removed packages:
|
|
* qemu-system-gui
|
|
* qemu-system-[misc|arm|mips|ppc|sparc]
|
|
* qemu-user
|
|
* qemu-user-static
|
|
* qemu-user-binftmt
|
|
|
|
Signed-off-by: Thales Elero Cervi <thaleselero.cervi@windriver.com>
|
|
[Rebased original changes to the qemu 7.2 version]
|
|
Signed-off-by: david.liu <david.liu@windriver.com>
|
|
[Aligned with 7.2, updated configure with --target-list]
|
|
Signed-off-by: Thales Elero Cervi <thaleselero.cervi@windriver.com>
|
|
---
|
|
debian/control | 232 +++----------------------------------------------
|
|
debian/rules | 94 +-------------------
|
|
2 files changed, 16 insertions(+), 310 deletions(-)
|
|
|
|
diff --git a/debian/control b/debian/control
|
|
index 9a5a3fab..adf89468 100644
|
|
--- a/debian/control
|
|
+++ b/debian/control
|
|
@@ -23,14 +23,14 @@ Build-Depends: debhelper-compat (= 13),
|
|
libjack-dev [linux-any],
|
|
# --audio-drv-list=pa,alsa,jack,oss,sdl linux-*
|
|
# --audio-drv-list=pa,oss kfreebsd-*
|
|
- libpulse-dev,
|
|
- libasound2-dev [linux-any],
|
|
+# libpulse-dev,
|
|
+# libasound2-dev [linux-any],
|
|
# for virtfs (now in libc6)
|
|
# --enable-attr
|
|
# --enable-bpf linux-*
|
|
libbpf-dev [linux-any],
|
|
-# --enable-brlapi
|
|
- libbrlapi-dev,
|
|
+# --disable-brlapi
|
|
+# libbrlapi-dev,
|
|
# --enable-virtfs linux-*
|
|
# needed for virtfs
|
|
# --enable-cap-ng linux-*
|
|
@@ -93,7 +93,8 @@ Build-Depends: debhelper-compat (= 13),
|
|
# vde is debian-only since ubuntu/vde2 is in universe
|
|
# --enable-vde
|
|
libvdeplug-dev,
|
|
- libxen-dev [linux-amd64],
|
|
+# --disable-xen
|
|
+# libxen-dev [linux-amd64],
|
|
# --enable-nettle
|
|
nettle-dev,
|
|
## always enabled: --enable-uuid
|
|
@@ -122,17 +123,17 @@ Build-Depends: debhelper-compat (= 13),
|
|
Build-Depends-Indep:
|
|
# pc-bios/*.dts => *.dtb (PPC firmware)
|
|
device-tree-compiler,
|
|
- gcc-s390x-linux-gnu,
|
|
+# gcc-s390x-linux-gnu,
|
|
# qemu-palcode/palcode-clipper
|
|
gcc-alpha-linux-gnu,
|
|
# skiboot firmware, openbios
|
|
- gcc-powerpc64-linux-gnu,
|
|
+# gcc-powerpc64-linux-gnu,
|
|
# openbios
|
|
- gcc-sparc64-linux-gnu, fcode-utils, xsltproc,
|
|
+# gcc-sparc64-linux-gnu, fcode-utils, xsltproc,
|
|
# hppa-firmware
|
|
- gcc-hppa-linux-gnu,
|
|
+# gcc-hppa-linux-gnu,
|
|
# opensbi
|
|
- gcc-riscv64-linux-gnu,
|
|
+# gcc-riscv64-linux-gnu,
|
|
# vbootrom/npcm7xx_bootrom
|
|
gcc-arm-none-eabi,
|
|
Build-Conflicts: oss4-dev
|
|
@@ -218,162 +219,13 @@ Description: QEMU full system emulation binaries (common files)
|
|
This package provides common files needed for target-specific
|
|
full system emulation (qemu-system-*) packages.
|
|
|
|
-Package: qemu-system-gui
|
|
-Architecture: amd64 arm arm64 armel armhf i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64 x32
|
|
-#XXX M-A: same does not really work for now due to /usr/lib/qemu/vhost-user-gpu
|
|
-#XXX we'll deal with this if some actual need arises,
|
|
-#XXX by moving that binary back to q-s-common or packaging it separately
|
|
-#Multi-Arch: same
|
|
-Depends: ${misc:Depends}, ${shlibs:Depends},
|
|
- qemu-system-x86 (= ${binary:Version})
|
|
- |qemu-system-arm (= ${binary:Version})
|
|
- |qemu-system-mips (= ${binary:Version})
|
|
- |qemu-system-ppc (= ${binary:Version})
|
|
- |qemu-system-sparc (= ${binary:Version})
|
|
- |qemu-system-misc (= ${binary:Version}),
|
|
-# libgl1 is dynamically loaded by sdl display code
|
|
- libgl1,
|
|
-# we moved vhost-user-gpu files here from qemu-system-common at 6.1-4
|
|
-Replaces: qemu-system-common (<< 1:6.1+dfsg-4~)
|
|
-Description: QEMU full system emulation binaries (user interface and audio support)
|
|
- This package provides local graphical user interface (currently GTK)
|
|
- and audio backends for full system emulation (qemu-system-*) packages.
|
|
- .
|
|
- The default GTK based qemu-system-gui is generally better and recommended,
|
|
- but a few corner cases still need SDL which is therefore provided as well.
|
|
-
|
|
-Package: qemu-system-misc
|
|
-Architecture: amd64 arm arm64 armel armhf i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64 x32
|
|
-Multi-Arch: foreign
|
|
-Depends: ${shlibs:Depends}, ${misc:Depends}, qemu-system-common (= ${binary:Version}), qemu-system-data (>> ${source:Upstream-Version}~),
|
|
-Recommends: qemu-system-gui (= ${binary:Version}), qemu-utils,
|
|
-# alpha uses vgabios
|
|
-# alpha m68k sh4 uses bootroms
|
|
- seabios, ipxe-qemu,
|
|
- qemu-block-extra (= ${binary:Version}),
|
|
-Suggests: samba, vde2,
|
|
-Provides: ${sysprovides:misc},
|
|
- qemu-kvm [s390x],
|
|
-Description: QEMU full system emulation binaries (miscellaneous)
|
|
- QEMU is a fast processor emulator: currently the package supports
|
|
- ARM, CRIS, M68k (ColdFire), MicroBlaze, and SH4
|
|
- emulation. By using dynamic translation it achieves
|
|
- reasonable speed while being easy to port on new host CPUs.
|
|
- .
|
|
- This package provides the full system emulation binaries to emulate
|
|
- various other hardware which did not made into separate packages.
|
|
- Emulators for the following architectures are provided:
|
|
- ${sysarch:misc}.
|
|
- .
|
|
- In system emulation mode QEMU emulates a full system, including a processor
|
|
- and various peripherals. It enables easier testing and debugging of system
|
|
- code. It can also be used to provide virtual hosting of several virtual
|
|
- machines on a single server.
|
|
-
|
|
-Package: qemu-system-arm
|
|
-Architecture: amd64 arm arm64 armel armhf i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64 x32
|
|
-Multi-Arch: foreign
|
|
-Depends: ${shlibs:Depends}, ${misc:Depends}, qemu-system-common (= ${binary:Version}), qemu-system-data (>> ${source:Upstream-Version}~),
|
|
-Recommends: qemu-system-gui (= ${binary:Version}), qemu-utils,
|
|
-# aarch64 arm uses bootroms
|
|
- ipxe-qemu,
|
|
- qemu-efi-aarch64, qemu-efi-arm,
|
|
- qemu-block-extra (= ${binary:Version}),
|
|
-Suggests: samba, vde2,
|
|
-Provides: qemu-kvm [linux-arm64 linux-armhf linux-armel], ${sysprovides:arm}
|
|
-Breaks: qemu-kvm [linux-arm64 linux-armhf linux-armel]
|
|
-Replaces: qemu-kvm [linux-arm64 linux-armhf linux-armel]
|
|
-Description: QEMU full system emulation binaries (arm)
|
|
- QEMU is a fast processor emulator: currently the package supports
|
|
- ARM emulation. By using dynamic translation it achieves
|
|
- reasonable speed while being easy to port on new host CPUs.
|
|
- .
|
|
- This package provides the full system emulation binaries to emulate
|
|
- the following arm hardware: ${sysarch:arm}.
|
|
- .
|
|
- In system emulation mode QEMU emulates a full system, including a processor
|
|
- and various peripherals. It enables easier testing and debugging of system
|
|
- code. It can also be used to provide virtual hosting of several virtual
|
|
- machines on a single server.
|
|
-
|
|
-Package: qemu-system-mips
|
|
-Architecture: amd64 arm arm64 armel armhf i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64 x32
|
|
-Multi-Arch: foreign
|
|
-Depends: ${shlibs:Depends}, ${misc:Depends}, qemu-system-common (= ${binary:Version}), qemu-system-data (>> ${source:Upstream-Version}~),
|
|
-Recommends: qemu-system-gui (= ${binary:Version}), qemu-utils,
|
|
-# all mips targets uses vgabios and bootroms
|
|
- seabios, ipxe-qemu,
|
|
- qemu-block-extra (= ${binary:Version}),
|
|
-Suggests: samba, vde2,
|
|
-Provides: ${sysprovides:mips}
|
|
-Description: QEMU full system emulation binaries (mips)
|
|
- QEMU is a fast processor emulator: currently the package supports
|
|
- MIPS emulation. By using dynamic translation it achieves
|
|
- reasonable speed while being easy to port on new host CPUs.
|
|
- .
|
|
- This package provides the full system emulation binaries to emulate
|
|
- the following mips hardware: ${sysarch:mips}.
|
|
- .
|
|
- In system emulation mode QEMU emulates a full system, including a processor
|
|
- and various peripherals. It enables easier testing and debugging of system
|
|
- code. It can also be used to provide virtual hosting of several virtual
|
|
- machines on a single server.
|
|
-
|
|
-Package: qemu-system-ppc
|
|
-Architecture: amd64 arm arm64 armel armhf i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64 x32
|
|
-Multi-Arch: foreign
|
|
-Depends: ${shlibs:Depends}, ${misc:Depends}, qemu-system-common (= ${binary:Version}), qemu-system-data (>> ${source:Upstream-Version}~),
|
|
-Recommends: qemu-system-gui (= ${binary:Version}), qemu-utils,
|
|
-# ppc targets use vgabios-stdvga and bootroms
|
|
- seabios, ipxe-qemu,
|
|
- qemu-block-extra (= ${binary:Version}),
|
|
-Suggests: samba, vde2,
|
|
-Provides: qemu-kvm [linux-ppc64 linux-ppc64el linux-powerpc], ${sysprovides:ppc}
|
|
-Breaks: qemu-kvm [linux-ppc64 linux-ppc64el linux-powerpc]
|
|
-Replaces: qemu-kvm [linux-ppc64 linux-ppc64el linux-powerpc]
|
|
-Description: QEMU full system emulation binaries (ppc)
|
|
- QEMU is a fast processor emulator: currently the package supports
|
|
- PowerPC emulation. By using dynamic translation it achieves
|
|
- reasonable speed while being easy to port on new host CPUs.
|
|
- .
|
|
- This package provides the full system emulation binaries to emulate
|
|
- the following PowerPC hardware: ${sysarch:ppc}.
|
|
- .
|
|
- In system emulation mode QEMU emulates a full system, including a processor
|
|
- and various peripherals. It enables easier testing and debugging of system
|
|
- code. It can also be used to provide virtual hosting of several virtual
|
|
- machines on a single server.
|
|
-
|
|
-Package: qemu-system-sparc
|
|
-Architecture: amd64 arm arm64 armel armhf i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64 x32
|
|
-Multi-Arch: foreign
|
|
-Depends: ${shlibs:Depends}, ${misc:Depends}, qemu-system-common (= ${binary:Version}), qemu-system-data (>> ${source:Upstream-Version}~),
|
|
-Recommends: qemu-system-gui (= ${binary:Version}), qemu-utils,
|
|
-# sparc64 uses vgabios-stdvga and bootroms
|
|
- seabios, ipxe-qemu,
|
|
- qemu-block-extra (= ${binary:Version}),
|
|
-Suggests: samba, vde2,
|
|
-Provides: ${sysprovides:sparc}
|
|
-Description: QEMU full system emulation binaries (sparc)
|
|
- QEMU is a fast processor emulator: currently the package supports
|
|
- SPARC emulation. By using dynamic translation it achieves
|
|
- reasonable speed while being easy to port on new host CPUs.
|
|
- .
|
|
- This package provides the full system emulation binaries to emulate
|
|
- the following sparc hardware: ${sysarch:sparc}.
|
|
- .
|
|
- In system emulation mode QEMU emulates a full system, including a processor
|
|
- and various peripherals. It enables easier testing and debugging of system
|
|
- code. It can also be used to provide virtual hosting of several virtual
|
|
- machines on a single server.
|
|
|
|
Package: qemu-system-x86
|
|
Architecture: amd64 arm arm64 armel armhf i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64 x32
|
|
Multi-Arch: foreign
|
|
Depends: ${shlibs:Depends}, ${misc:Depends}, qemu-system-common (= ${binary:Version}), qemu-system-data (>> ${source:Upstream-Version}~),
|
|
seabios, ipxe-qemu,
|
|
-Recommends: qemu-system-gui (= ${binary:Version}), qemu-utils,
|
|
- ovmf,
|
|
+Recommends: qemu-utils, ovmf,
|
|
qemu-block-extra (= ${binary:Version}),
|
|
Suggests: samba, vde2,
|
|
Provides: qemu-kvm [linux-amd64 linux-i386], ${sysprovides:x86}
|
|
@@ -408,66 +260,6 @@ Description: QEMU full system emulation (Xen helper package)
|
|
together with the Xen hypervisor for some types of DomUs.
|
|
This package is not useful by its own.
|
|
|
|
-Package: qemu-user
|
|
-Architecture: amd64 arm arm64 armel armhf i386 mips mipsel mips64 mips64el ppc64 ppc64el riscv64 s390x sparc sparc64 x32
|
|
-Multi-Arch: foreign
|
|
-Depends: ${shlibs:Depends}, ${misc:Depends}
|
|
-Recommends: qemu-user-binfmt
|
|
-Description: QEMU user mode emulation binaries
|
|
- QEMU is a fast processor emulator: currently the package supports
|
|
- ARM, CRIS, i386, M68k (ColdFire), MicroBlaze, MIPS, PowerPC, SH4,
|
|
- SPARC and x86-64 emulation. By using dynamic translation it achieves
|
|
- reasonable speed while being easy to port on new host CPUs.
|
|
- .
|
|
- This package provides the user mode emulation binaries. In this mode
|
|
- QEMU can launch Linux processes compiled for one CPU on another CPU.
|
|
- .
|
|
- If qemu-user-binfmt package is also installed, it will register binary
|
|
- format handlers from this qemu-user package with the kernel so it will
|
|
- be possible to run foreign binaries directly. However, this might not
|
|
- be suitable for using inside foreign chroots, in which case it is
|
|
- possible to use qemu-user-static package instead of qemu-user-binmft, --
|
|
- qemu-user-static will register statically linked binfmt handlers instead.
|
|
-
|
|
-Package: qemu-user-static
|
|
-Architecture: amd64 arm arm64 armel armhf i386 mips mipsel mips64 mips64el ppc64 ppc64el riscv64 s390x sparc sparc64 x32
|
|
-Built-Using: ${built-using}
|
|
-Multi-Arch: foreign
|
|
-Depends: ${misc:Depends}
|
|
-Recommends: systemd | binfmt-support
|
|
-Breaks: binfmt-support (<< 2.1.7~)
|
|
-Provides: qemu-user-binfmt
|
|
-Conflicts: qemu-user-binfmt
|
|
-Description: QEMU user mode emulation binaries (static version)
|
|
- QEMU is a fast processor emulator: currently the package supports
|
|
- ARM, CRIS, i386, M68k (ColdFire), MicroBlaze, MIPS, PowerPC, SH4,
|
|
- SPARC and x86-64 emulation. By using dynamic translation it achieves
|
|
- reasonable speed while being easy to port on new host CPUs.
|
|
- .
|
|
- This package provides the user mode emulation binaries, built
|
|
- statically. In this mode QEMU can launch Linux processes compiled for
|
|
- one CPU on another CPU.
|
|
- .
|
|
- qemu-user-static package will register binary formats which the provided
|
|
- emulators can handle, so that it will be possible to run foreign binaries
|
|
- directly.
|
|
-
|
|
-Package: qemu-user-binfmt
|
|
-Architecture: amd64 arm arm64 armel armhf i386 mips mipsel mips64 mips64el ppc64 ppc64el riscv64 s390x sparc sparc64 x32
|
|
-Multi-Arch: foreign
|
|
-Depends: ${misc:Depends}, qemu-user (= ${binary:Version}), systemd | binfmt-support
|
|
-Breaks: binfmt-support (<< 2.1.7~)
|
|
-Conflicts: qemu-user-static
|
|
-Description: QEMU user mode binfmt registration for qemu-user
|
|
- QEMU is a fast processor emulator: currently the package supports
|
|
- ARM, CRIS, i386, M68k (ColdFire), MicroBlaze, MIPS, PowerPC, SH4,
|
|
- SPARC and x86-64 emulation. By using dynamic translation it achieves
|
|
- reasonable speed while being easy to port on new host CPUs.
|
|
- .
|
|
- This package provides binfmt support registration for the user mode
|
|
- emulation binaries from qemu-user. This is an empty package, it does
|
|
- not contain any additional files, only registration scripts which run
|
|
- at install and remove times.
|
|
|
|
Package: qemu-utils
|
|
Architecture: amd64 arm arm64 armel armhf hppa i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el riscv64 s390x sparc sparc64 x32
|
|
diff --git a/debian/rules b/debian/rules
|
|
index 0be82012..1c4b28f4 100755
|
|
--- a/debian/rules
|
|
+++ b/debian/rules
|
|
@@ -84,14 +84,10 @@ endif
|
|
ifeq (${enable_system},enable)
|
|
|
|
# list of system (softmmu) targets, from ./configure
|
|
-system_targets = \
|
|
- i386 x86_64 alpha aarch64 arm avr cris hppa m68k loongarch64 microblaze microblazeel \
|
|
- mips mipsel mips64 mips64el nios2 or1k ppc ppc64 riscv32 riscv64 rx \
|
|
- sh4 sh4eb sparc sparc64 s390x tricore xtensa xtensaeb
|
|
-
|
|
+system_targets = i386 x86_64
|
|
# qemu-system subpackages, from d/control
|
|
sys_systems = arm mips ppc sparc x86 $(if $(filter ${VENDOR},UBUNTU),s390x,)
|
|
-systems = ${sys_systems} misc
|
|
+systems = x86
|
|
sysarch_arm = $(filter aarch64 arm,${system_targets})
|
|
sysarch_mips = $(filter mips mipsel mips64 mips64el,${system_targets})
|
|
sysarch_ppc = $(filter ppc ppc64,${system_targets})
|
|
@@ -109,13 +105,7 @@ endif # enable_system
|
|
ifeq (${enable_linux_user},enable)
|
|
|
|
# list of linux-user targets, from ./configure
|
|
-user_targets = \
|
|
- i386 x86_64 alpha aarch64 aarch64_be arm armeb cris hexagon hppa \
|
|
- loongarch64 m68k microblaze microblazeel \
|
|
- mips mipsel mips64 mips64el mipsn32 mipsn32el nios2 or1k \
|
|
- ppc ppc64 ppc64le riscv32 riscv64 sh4 sh4eb sparc sparc64 sparc32plus \
|
|
- s390x xtensa xtensaeb
|
|
-
|
|
+user_targets = i386 x86_64
|
|
endif # enable_linux_user
|
|
|
|
sysdata-components :=
|
|
@@ -132,6 +122,7 @@ b/qemu/configured: configure
|
|
../../configure ${common_configure_opts} --disable-user \
|
|
--${enable_system}-system \
|
|
--${enable_linux_user}-linux-user \
|
|
+ --target-list=i386-softmmu,x86_64-softmmu \
|
|
--disable-xen \
|
|
--enable-modules \
|
|
--enable-module-upgrades \
|
|
@@ -442,39 +433,6 @@ endif
|
|
##############################################
|
|
### firmware, qemu-user-data package
|
|
|
|
-### openbios rules
|
|
-b/openbios/config-host.mak:
|
|
- mkdir -p b/openbios
|
|
- cd b/openbios && ../../roms/openbios/config/scripts/switch-arch builtin-ppc builtin-sparc32 builtin-sparc64
|
|
-build-openbios: $(addprefix b/openbios/obj-, $(addsuffix /.built, ppc sparc32 sparc64))
|
|
-b/openbios/obj-%/.built: b/openbios/config-host.mak
|
|
- ${MAKE} -C ${@D} V=${V} EXTRACFLAGS="-ffreestanding -fno-pic -fno-stack-protector"
|
|
- @touch $@
|
|
-install-openbios: build-openbios
|
|
- install -m 0644 b/openbios/obj-ppc/openbios-qemu.elf ${sysdataidir}/openbios-ppc
|
|
- install -m 0644 b/openbios/obj-sparc32/openbios-builtin.elf ${sysdataidir}/openbios-sparc32
|
|
- install -m 0644 b/openbios/obj-sparc64/openbios-builtin.elf ${sysdataidir}/openbios-sparc64
|
|
- install -m 0644 -t ${sysdataidir} \
|
|
- b/openbios/obj-sparc32/QEMU,tcx.bin \
|
|
- b/openbios/obj-sparc32/QEMU,cgthree.bin \
|
|
- b/openbios/obj-sparc64/QEMU,VGA.bin
|
|
-sysdata-components += openbios
|
|
-
|
|
-### powernv firmware in roms/skiboot
|
|
-build-skiboot: b/skiboot/skiboot.lid
|
|
-b/skiboot/skiboot.lid: | roms/skiboot/.version
|
|
- mkdir -p b/skiboot
|
|
-# skiboot makefiles makes it difficult to *add* an option to CFLAGS.
|
|
-# Abuse OPTS= for this, with the default being -Os.
|
|
- grep -q '^OPTS=-Os$$' roms/skiboot/Makefile.main || \
|
|
- { echo "review OPTS= in skiboot/Makefile.main"; false; }
|
|
- ${MAKE} -C b/skiboot -f ${CURDIR}/roms/skiboot/Makefile \
|
|
- SRC=${CURDIR}/roms/skiboot \
|
|
- OPTS='-Os -ffile-prefix-map="${CURDIR}/roms/skiboot/"=' \
|
|
- CROSS_COMPILE=${PPC64_CROSSPFX} V=${V}
|
|
-install-skiboot: b/skiboot/skiboot.lid
|
|
- install -m 0644 -t ${sysdataidir} $<
|
|
-sysdata-components += skiboot
|
|
|
|
build-vof: b/vof/vof.bin
|
|
b/vof/vof.bin: | b
|
|
@@ -536,50 +494,6 @@ install-palcode-clipper: b/qemu-palcode/palcode-clipper
|
|
install -m 0644 $< ${sysdataidir}/palcode-clipper
|
|
sysdata-components += palcode-clipper
|
|
|
|
-### SLOF
|
|
-build-slof: b/SLOF/boot_rom.bin
|
|
-b/SLOF/boot_rom.bin: | b
|
|
- cp -al roms/SLOF b/
|
|
- env -u LDFLAGS -u CFLAGS $(MAKE) -C b/SLOF qemu CROSS=${PPC64_CROSSPFX} V=${V}
|
|
-install-slof: b/SLOF/boot_rom.bin
|
|
- install -m 0644 $< ${sysdataidir}/slof.bin
|
|
-sysdata-components += slof
|
|
-
|
|
-### s390x firmware in pc-bios/s390-ccw
|
|
-build-s390x-fw: b/s390fw/built
|
|
-b/s390fw/built:
|
|
- mkdir -p b/s390fw
|
|
- ${MAKE} -f debian/s390fw.mak OUT=b/s390fw/
|
|
- touch $@
|
|
-install-s390x-fw: build-s390x-fw
|
|
- install -m 0644 -t ${sysdataidir} b/s390fw/s390*.img
|
|
-sysdata-components += s390x-fw
|
|
-
|
|
-### hppa-firmware (roms/seabios-hppa)
|
|
-build-hppa-fw: b/hppafw/hppa-firmware.img
|
|
-b/hppafw/hppa-firmware.img:
|
|
- mkdir -p b/hppafw
|
|
- echo CONFIG_PARISC=y > roms/seabios-hppa/.config
|
|
- ${MAKE} -C roms/seabios-hppa olddefconfig
|
|
- ${MAKE} -C roms/seabios-hppa OUT=../../b/hppafw/ PYTHON=python3 parisc
|
|
- hppa-linux-gnu-strip -R.note -R.comment $@
|
|
-install-hppa-fw: b/hppafw/hppa-firmware.img
|
|
- install -m 0644 $< ${sysdataidir}
|
|
-sysdata-components += hppa-fw
|
|
-
|
|
-### opensbi (riscv firmware)
|
|
-# we only build v64 variants, not v32
|
|
-build-opensbi: b/opensbi/.built
|
|
-b/opensbi/.built:
|
|
- mkdir -p b/opensbi
|
|
- ${MAKE} -C roms/opensbi O=../../b/opensbi CROSS_COMPILE=${RISCV64_CROSSPFX} V=${V} PLATFORM=generic
|
|
- ${RISCV64_CROSSPFX}strip --strip-unneeded -R.comment -R.note b/opensbi/platform/generic/firmware/fw_dynamic.elf
|
|
- touch $@
|
|
-install-opensbi: build-opensbi
|
|
- install -m 0644 b/opensbi/platform/generic/firmware/fw_dynamic.bin ${sysdataidir}/opensbi-riscv64-generic-fw_dynamic.bin
|
|
- install -m 0644 b/opensbi/platform/generic/firmware/fw_dynamic.elf ${sysdataidir}/opensbi-riscv64-generic-fw_dynamic.elf
|
|
-sysdata-components += opensbi
|
|
-
|
|
### vbootrom (npcm7xx)
|
|
build-vbootrom: b/vbootrom/.built
|
|
b/vbootrom/.built: | b
|
|
--
|
|
2.34.1
|
|
|