feat: package seabios needed for many qemu use cases
This commit is contained in:
parent
5eee952cd7
commit
f9e3ceba6c
16 changed files with 155 additions and 0 deletions
62
packages/seabios/Containerfile
Normal file
62
packages/seabios/Containerfile
Normal file
|
@ -0,0 +1,62 @@
|
|||
FROM scratch AS base
|
||||
ENV VERSION=1.16.3
|
||||
ENV SRC_FILE=rel-${VERSION}.tar.gz
|
||||
ENV SRC_SITE=https://github.com/coreboot/seabios/archive/${SRC_FILE}
|
||||
ENV SRC_HASH=1c1742a315b0c2fefa9390c8a50e2ac1a6f4806e0715aece6595eaf4477fcd8a
|
||||
|
||||
FROM base AS fetch
|
||||
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
|
||||
|
||||
FROM fetch AS build
|
||||
COPY --from=stagex/busybox . /
|
||||
COPY --from=stagex/gcc . /
|
||||
COPY --from=stagex/binutils . /
|
||||
COPY --from=stagex/make . /
|
||||
COPY --from=stagex/musl . /
|
||||
COPY --from=stagex/python . /
|
||||
RUN tar -xf ${SRC_FILE}
|
||||
RUN ls -lah .
|
||||
WORKDIR /seabios-rel-${VERSION}
|
||||
ADD config.* .
|
||||
RUN --network=none <<-EOF
|
||||
set -ex
|
||||
mkdir output
|
||||
echo "Stagex ${VERSION}" > .version
|
||||
printf " \
|
||||
coreboot bios.bin.elf bios-coreboot.bin\n \
|
||||
csm Csm16.bin bios-csm.bin\n \
|
||||
seabios-128k bios.bin bios.bin\n \
|
||||
seabios-256k bios.bin bios-256k.bin\n \
|
||||
seabios-microvm bios.bin bios-microvm.bin\n \
|
||||
vga-ati vgabios.bin vgabios-ati.bin out/vgabios.bin\n \
|
||||
vga-bochs-display vgabios.bin vgabios-bochs-display.bin out/vgabios.bin\n \
|
||||
vga-cirrus vgabios.bin vgabios-cirrus.bin out/vgabios.bin\n \
|
||||
vga-isavga vgabios.bin vgabios-isavga.bin out/vgabios.bin\n \
|
||||
vga-qxl vgabios.bin vgabios-qxl.bin out/vgabios.bin\n \
|
||||
vga-ramfb vgabios.bin vgabios-ramfb.bin out/vgabios.bin\n \
|
||||
vga-stdvga vgabios.bin vgabios-stdvga.bin out/vgabios.bin\n \
|
||||
vga-virtio vgabios.bin vgabios-virtio.bin out/vgabios.bin\n \
|
||||
vga-vmware vgabios.bin vgabios-vmware.bin out/vgabios.bin" \
|
||||
| while IFS= read -r line; do
|
||||
set -- $line;
|
||||
config_name="$1";
|
||||
output_name="$2";
|
||||
binary_name="$3";
|
||||
build_target="$4";
|
||||
make clean distclean;
|
||||
cp "config.${config_name}" .config;
|
||||
make oldnoconfig V=1;
|
||||
make V=1 EXTRAVERSION=-1 PYTHON=python3 $build_target
|
||||
cp "out/${output_name}" "output/${binary_name}"
|
||||
done
|
||||
|
||||
EOF
|
||||
|
||||
FROM build AS install
|
||||
RUN <<-EOF
|
||||
set -eux
|
||||
install -vDm 644 output/*.bin -t /rootfs/usr/share/qemu/
|
||||
EOF
|
||||
|
||||
FROM stagex/filesystem AS package
|
||||
COPY --from=install /rootfs/. /
|
2
packages/seabios/config.coreboot
Normal file
2
packages/seabios/config.coreboot
Normal file
|
@ -0,0 +1,2 @@
|
|||
CONFIG_QEMU_HARDWARE=y
|
||||
CONFIG_COREBOOT=y
|
2
packages/seabios/config.csm
Normal file
2
packages/seabios/config.csm
Normal file
|
@ -0,0 +1,2 @@
|
|||
CONFIG_QEMU_HARDWARE=y
|
||||
CONFIG_CSM=y
|
22
packages/seabios/config.seabios-128k
Normal file
22
packages/seabios/config.seabios-128k
Normal file
|
@ -0,0 +1,22 @@
|
|||
# for qemu machine types 1.7 + older
|
||||
# need to turn off features (bootsplash) to make it fit into 128k
|
||||
CONFIG_QEMU=y
|
||||
CONFIG_ROM_SIZE=128
|
||||
CONFIG_ATA_DMA=n
|
||||
CONFIG_BOOTSPLASH=n
|
||||
CONFIG_XEN=n
|
||||
CONFIG_USB_OHCI=n
|
||||
CONFIG_USB_XHCI=n
|
||||
CONFIG_USB_UAS=n
|
||||
CONFIG_SDCARD=n
|
||||
CONFIG_TCGBIOS=n
|
||||
CONFIG_MPT_SCSI=n
|
||||
CONFIG_ESP_SCSI=n
|
||||
CONFIG_MEGASAS=n
|
||||
CONFIG_PVSCSI=n
|
||||
CONFIG_NVME=n
|
||||
CONFIG_USE_SMM=n
|
||||
CONFIG_VGAHOOKS=n
|
||||
CONFIG_HOST_BIOS_GEOMETRY=n
|
||||
CONFIG_ACPI_PARSE=n
|
||||
CONFIG_SERCON=n
|
4
packages/seabios/config.seabios-256k
Normal file
4
packages/seabios/config.seabios-256k
Normal file
|
@ -0,0 +1,4 @@
|
|||
# for qemu machine types 2.0 + newer
|
||||
CONFIG_QEMU=y
|
||||
CONFIG_ROM_SIZE=256
|
||||
CONFIG_ATA_DMA=n
|
26
packages/seabios/config.seabios-microvm
Normal file
26
packages/seabios/config.seabios-microvm
Normal file
|
@ -0,0 +1,26 @@
|
|||
CONFIG_QEMU=y
|
||||
CONFIG_QEMU_HARDWARE=y
|
||||
CONFIG_PERMIT_UNALIGNED_PCIROM=y
|
||||
CONFIG_ROM_SIZE=128
|
||||
CONFIG_XEN=n
|
||||
CONFIG_BOOTSPLASH=n
|
||||
CONFIG_ATA=n
|
||||
CONFIG_AHCI=n
|
||||
CONFIG_SDCARD=n
|
||||
CONFIG_PVSCSI=n
|
||||
CONFIG_ESP_SCSI=n
|
||||
CONFIG_LSI_SCSI=n
|
||||
CONFIG_MEGASAS=n
|
||||
CONFIG_MPT_SCSI=n
|
||||
CONFIG_FLOPPY=n
|
||||
CONFIG_FLASH_FLOPPY=n
|
||||
CONFIG_NVME=n
|
||||
CONFIG_PS2PORT=n
|
||||
CONFIG_USB=n
|
||||
CONFIG_LPT=n
|
||||
CONFIG_RTC_TIMER=n
|
||||
CONFIG_USE_SMM=n
|
||||
CONFIG_PMTIMER=n
|
||||
CONFIG_TCGBIOS=n
|
||||
CONFIG_HARDWARE_IRQ=n
|
||||
CONFIG_ACPI_PARSE=y
|
0
packages/seabios/config.seabios-vga-ati
Normal file
0
packages/seabios/config.seabios-vga-ati
Normal file
4
packages/seabios/config.vga-ati
Normal file
4
packages/seabios/config.vga-ati
Normal file
|
@ -0,0 +1,4 @@
|
|||
CONFIG_QEMU=y
|
||||
CONFIG_BUILD_VGABIOS=y
|
||||
CONFIG_VGA_ATI=y
|
||||
CONFIG_VGA_PCI=y
|
3
packages/seabios/config.vga-bochs-display
Normal file
3
packages/seabios/config.vga-bochs-display
Normal file
|
@ -0,0 +1,3 @@
|
|||
CONFIG_BUILD_VGABIOS=y
|
||||
CONFIG_DISPLAY_BOCHS=y
|
||||
CONFIG_VGA_PCI=y
|
3
packages/seabios/config.vga-cirrus
Normal file
3
packages/seabios/config.vga-cirrus
Normal file
|
@ -0,0 +1,3 @@
|
|||
CONFIG_BUILD_VGABIOS=y
|
||||
CONFIG_VGA_CIRRUS=y
|
||||
CONFIG_VGA_PCI=y
|
3
packages/seabios/config.vga-isavga
Normal file
3
packages/seabios/config.vga-isavga
Normal file
|
@ -0,0 +1,3 @@
|
|||
CONFIG_BUILD_VGABIOS=y
|
||||
CONFIG_VGA_BOCHS=y
|
||||
CONFIG_VGA_PCI=n
|
6
packages/seabios/config.vga-qxl
Normal file
6
packages/seabios/config.vga-qxl
Normal file
|
@ -0,0 +1,6 @@
|
|||
CONFIG_BUILD_VGABIOS=y
|
||||
CONFIG_VGA_BOCHS=y
|
||||
CONFIG_VGA_PCI=y
|
||||
CONFIG_OVERRIDE_PCI_ID=y
|
||||
CONFIG_VGA_VID=0x1b36
|
||||
CONFIG_VGA_DID=0x0100
|
3
packages/seabios/config.vga-ramfb
Normal file
3
packages/seabios/config.vga-ramfb
Normal file
|
@ -0,0 +1,3 @@
|
|||
CONFIG_BUILD_VGABIOS=y
|
||||
CONFIG_VGA_RAMFB=y
|
||||
CONFIG_VGA_PCI=n
|
3
packages/seabios/config.vga-stdvga
Normal file
3
packages/seabios/config.vga-stdvga
Normal file
|
@ -0,0 +1,3 @@
|
|||
CONFIG_BUILD_VGABIOS=y
|
||||
CONFIG_VGA_BOCHS=y
|
||||
CONFIG_VGA_PCI=y
|
6
packages/seabios/config.vga-virtio
Normal file
6
packages/seabios/config.vga-virtio
Normal file
|
@ -0,0 +1,6 @@
|
|||
CONFIG_BUILD_VGABIOS=y
|
||||
CONFIG_VGA_BOCHS=y
|
||||
CONFIG_VGA_PCI=y
|
||||
CONFIG_OVERRIDE_PCI_ID=y
|
||||
CONFIG_VGA_VID=0x1af4
|
||||
CONFIG_VGA_DID=0x1050
|
6
packages/seabios/config.vga-vmware
Normal file
6
packages/seabios/config.vga-vmware
Normal file
|
@ -0,0 +1,6 @@
|
|||
CONFIG_BUILD_VGABIOS=y
|
||||
CONFIG_VGA_BOCHS=y
|
||||
CONFIG_VGA_PCI=y
|
||||
CONFIG_OVERRIDE_PCI_ID=y
|
||||
CONFIG_VGA_VID=0x15ad
|
||||
CONFIG_VGA_DID=0x0405
|
Loading…
Reference in a new issue