summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config.bios.coreboot2
-rw-r--r--config.bios.csm3
-rw-r--r--config.bios.qemu3
-rw-r--r--config.vga.cirrus4
-rw-r--r--config.vga.isavga4
-rw-r--r--config.vga.qxl7
-rw-r--r--config.vga.stdvga4
-rw-r--r--config.vga.vmware7
-rw-r--r--seabios.git.spec152
9 files changed, 186 insertions, 0 deletions
diff --git a/config.bios.coreboot b/config.bios.coreboot
new file mode 100644
index 0000000..bc092b0
--- /dev/null
+++ b/config.bios.coreboot
@@ -0,0 +1,2 @@
+CONFIG_COREBOOT=y
+CONFIG_QEMU_HARDWARE=y
diff --git a/config.bios.csm b/config.bios.csm
new file mode 100644
index 0000000..102c6c1
--- /dev/null
+++ b/config.bios.csm
@@ -0,0 +1,3 @@
+CONFIG_CSM=y
+CONFIG_QEMU_HARDWARE=y
+CONFIG_PERMIT_UNALIGNED_PCIROM=y
diff --git a/config.bios.qemu b/config.bios.qemu
new file mode 100644
index 0000000..df1f262
--- /dev/null
+++ b/config.bios.qemu
@@ -0,0 +1,3 @@
+CONFIG_QEMU=y
+CONFIG_QEMU_HARDWARE=y
+CONFIG_PERMIT_UNALIGNED_PCIROM=y
diff --git a/config.vga.cirrus b/config.vga.cirrus
new file mode 100644
index 0000000..90b89de
--- /dev/null
+++ b/config.vga.cirrus
@@ -0,0 +1,4 @@
+CONFIG_QEMU=y
+CONFIG_BUILD_VGABIOS=y
+CONFIG_VGA_CIRRUS=y
+CONFIG_VGA_PCI=y
diff --git a/config.vga.isavga b/config.vga.isavga
new file mode 100644
index 0000000..2b60375
--- /dev/null
+++ b/config.vga.isavga
@@ -0,0 +1,4 @@
+CONFIG_QEMU=y
+CONFIG_BUILD_VGABIOS=y
+CONFIG_VGA_BOCHS=y
+CONFIG_VGA_PCI=n
diff --git a/config.vga.qxl b/config.vga.qxl
new file mode 100644
index 0000000..a045c83
--- /dev/null
+++ b/config.vga.qxl
@@ -0,0 +1,7 @@
+CONFIG_QEMU=y
+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
diff --git a/config.vga.stdvga b/config.vga.stdvga
new file mode 100644
index 0000000..31fc623
--- /dev/null
+++ b/config.vga.stdvga
@@ -0,0 +1,4 @@
+CONFIG_QEMU=y
+CONFIG_BUILD_VGABIOS=y
+CONFIG_VGA_BOCHS=y
+CONFIG_VGA_PCI=y
diff --git a/config.vga.vmware b/config.vga.vmware
new file mode 100644
index 0000000..e92563b
--- /dev/null
+++ b/config.vga.vmware
@@ -0,0 +1,7 @@
+CONFIG_QEMU=y
+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
diff --git a/seabios.git.spec b/seabios.git.spec
new file mode 100644
index 0000000..7cb78e9
--- /dev/null
+++ b/seabios.git.spec
@@ -0,0 +1,152 @@
+%global debug_package %{nil}
+
+Name: seabios.git
+Version: 1.7.3
+Release: 22.b0.g5b63109%{?dist}
+
+Summary: Open-source legacy BIOS implementation - git snapshot
+Group: Applications/Emulators
+License: LGPLv3
+
+Source0: seabios.git-g5b63109.tar.xz
+Source10: config.bios.qemu
+Source11: config.bios.coreboot
+Source12: config.bios.csm
+Source20: config.vga.stdvga
+Source21: config.vga.cirrus
+Source22: config.vga.vmware
+Source23: config.vga.qxl
+
+BuildRequires: iasl
+BuildRequires: python
+Requires: ipxe.git-bios
+Requires: ipxe.git-combined
+Requires: sgabios.git
+Requires: seavgabios.git
+
+%description
+SeaBIOS is an open-source legacy BIOS implementation which can be used as
+a coreboot payload. It implements the standard BIOS calling interfaces
+that a typical x86 proprietary BIOS implements.
+
+%package coreboot
+Summary: Open-source legacy BIOS implementation - git snapshot
+%description coreboot
+SeaBIOS build as coreboot payload.
+
+%package csm
+Summary: Open-source legacy BIOS implementation - git snapshot
+%description csm
+SeaBIOS build as CSM for OVMF.
+
+%package -n seavgabios.git
+Summary: Open-source VGABIOS implementation - git snapshot
+%description -n seavgabios.git
+SeaBIOS open-source VGABIOS implementation
+
+%prep
+%setup -q -n %{name}
+
+%build
+function do_build() {
+ local cfg="$1"
+ local target="$2"
+ make distclean
+ cp "$cfg" ".config"
+ yes "" | make oldconfig
+ make $target
+}
+echo "%{version}-%{release}" > .version
+
+mkdir rpm.bin
+mkdir rpm.doc
+do_build %{SOURCE10} out/bios.bin
+cp out/bios.bin rpm.bin/bios-qemu.bin
+cp out/*dsdt*.aml rpm.bin/
+cp .config rpm.doc/bios-qemu.config
+
+mkdir rpm.core.bin
+mkdir rpm.core.doc
+do_build %{SOURCE11} out/bios.bin.elf
+cp out/bios.bin.elf rpm.core.bin/bios-coreboot.elf
+cp .config rpm.core.doc/bios-coreboot.config
+
+mkdir rpm.csm.bin
+mkdir rpm.csm.doc
+do_build %{SOURCE12} out/bios.bin
+cp out/bios.bin rpm.csm.bin/bios-csm.bin
+cp .config rpm.csm.doc/bios-csm.config
+
+mkdir rpm.vga.bin
+mkdir rpm.vga.doc
+for config in %{SOURCE20} %{SOURCE21} %{SOURCE22} %{SOURCE23}; do
+ vga="${config##*.}"
+ do_build $config out/vgabios.bin
+ cp out/vgabios.bin rpm.vga.bin/vgabios-$vga.bin
+ cp .config rpm.vga.doc/vgabios-$vga.config
+done
+
+%install
+mkdir -p %{buildroot}/usr/share/%{name}
+cp rpm.bin/* %{buildroot}/usr/share/%{name}
+
+mkdir -p %{buildroot}/usr/share/%{name}-coreboot
+cp rpm.core.bin/* %{buildroot}/usr/share/%{name}-coreboot
+
+mkdir -p %{buildroot}/usr/share/%{name}-csm
+cp rpm.csm.bin/* %{buildroot}/usr/share/%{name}-csm
+
+mkdir -p %{buildroot}/usr/share/seavgabios.git
+cp rpm.vga.bin/* %{buildroot}/usr/share/seavgabios.git
+
+ln -s bios-qemu.bin %{buildroot}/usr/share/%{name}/bios.bin
+ln -s ../sgabios.git/sgabios.bin %{buildroot}/usr/share/%{name}/sgabios.bin
+
+for ext in rom bin; do
+ ln -s ../ipxe.git/bios/8086100e.rom \
+ %{buildroot}/usr/share/%{name}/pxe-e1000.$ext
+ ln -s ../ipxe.git/bios/10ec8029.rom \
+ %{buildroot}/usr/share/%{name}/pxe-ne2k_pci.$ext
+ ln -s ../ipxe.git/bios/10222000.rom \
+ %{buildroot}/usr/share/%{name}/pxe-pcnet.$ext
+ ln -s ../ipxe.git/bios/10ec8139.rom \
+ %{buildroot}/usr/share/%{name}/pxe-rtl8139.$ext
+ ln -s ../ipxe.git/bios/1af41000.rom \
+ %{buildroot}/usr/share/%{name}/pxe-virtio.$ext
+done
+for ext in rom; do
+ ln -s ../ipxe.git/combined/8086100e.rom \
+ %{buildroot}/usr/share/%{name}/efi-e1000.$ext
+ ln -s ../ipxe.git/combined/10ec8029.rom \
+ %{buildroot}/usr/share/%{name}/efi-ne2k_pci.$ext
+ ln -s ../ipxe.git/combined/10222000.rom \
+ %{buildroot}/usr/share/%{name}/efi-pcnet.$ext
+ ln -s ../ipxe.git/combined/10ec8139.rom \
+ %{buildroot}/usr/share/%{name}/efi-rtl8139.$ext
+ ln -s ../ipxe.git/combined/1af41000.rom \
+ %{buildroot}/usr/share/%{name}/efi-virtio.$ext
+done
+
+for config in %{SOURCE20} %{SOURCE21} %{SOURCE22} %{SOURCE23}; do
+ vga="${config##*.}"
+ ln -s ../seavgabios.git/vgabios-$vga.bin \
+ %{buildroot}/usr/share/%{name}/vgabios-$vga.bin
+done
+
+%files
+%doc rpm.doc/*.config
+/usr/share/%{name}
+
+%files coreboot
+%doc rpm.core.doc/*.config
+/usr/share/%{name}-coreboot
+
+%files csm
+%doc rpm.csm.doc/*.config
+/usr/share/%{name}-csm
+
+%files -n seavgabios.git
+%doc rpm.vga.doc/*.config
+/usr/share/seavgabios.git
+
+%changelog