diff options
Diffstat (limited to 'projects/seabios')
-rw-r--r-- | projects/seabios/configs/bios/config | 91 | ||||
-rw-r--r-- | projects/seabios/configs/bios/install | 1 | ||||
-rw-r--r-- | projects/seabios/configs/revision | 1 | ||||
-rw-r--r-- | projects/seabios/configs/targets | 2 | ||||
-rw-r--r-- | projects/seabios/configs/vgabios/config | 95 | ||||
-rw-r--r-- | projects/seabios/configs/vgabios/install | 1 | ||||
-rwxr-xr-x | projects/seabios/seabios | 118 |
7 files changed, 309 insertions, 0 deletions
diff --git a/projects/seabios/configs/bios/config b/projects/seabios/configs/bios/config new file mode 100644 index 00000000..cd13ec77 --- /dev/null +++ b/projects/seabios/configs/bios/config @@ -0,0 +1,91 @@ +# +# Automatically generated file; DO NOT EDIT. +# SeaBIOS Configuration +# + +# +# General Features +# +CONFIG_COREBOOT=y +# CONFIG_QEMU is not set +# CONFIG_CSM is not set +# CONFIG_QEMU_HARDWARE is not set +CONFIG_THREADS=y +CONFIG_RELOCATE_INIT=y +CONFIG_BOOTMENU=y +CONFIG_BOOTSPLASH=y +CONFIG_BOOTORDER=y +CONFIG_COREBOOT_FLASH=y +CONFIG_LZMA=y +CONFIG_CBFS_LOCATION=0 +CONFIG_MULTIBOOT=y +CONFIG_ENTRY_EXTRASTACK=y +CONFIG_MALLOC_UPPERMEMORY=y +CONFIG_ROM_SIZE=0 + +# +# Hardware support +# +CONFIG_ATA=y +# CONFIG_ATA_DMA is not set +# CONFIG_ATA_PIO32 is not set +CONFIG_AHCI=y +CONFIG_SDCARD=y +CONFIG_MEGASAS=y +CONFIG_FLOPPY=y +CONFIG_FLASH_FLOPPY=y +CONFIG_PS2PORT=y +CONFIG_USB=y +CONFIG_USB_UHCI=y +CONFIG_USB_OHCI=y +CONFIG_USB_EHCI=y +CONFIG_USB_XHCI=y +CONFIG_USB_MSC=y +CONFIG_USB_UAS=y +CONFIG_USB_HUB=y +CONFIG_USB_KEYBOARD=y +CONFIG_USB_MOUSE=y +CONFIG_SERIAL=y +CONFIG_LPT=y +CONFIG_RTC_TIMER=y +CONFIG_HARDWARE_IRQ=y +CONFIG_PMTIMER=y +CONFIG_TSC_TIMER=y + +# +# BIOS interfaces +# +CONFIG_DRIVES=y +CONFIG_CDROM_BOOT=y +CONFIG_CDROM_EMU=y +CONFIG_PCIBIOS=y +CONFIG_APMBIOS=y +CONFIG_PNPBIOS=y +CONFIG_OPTIONROMS=y +CONFIG_PMM=y +CONFIG_BOOT=y +CONFIG_KEYBOARD=y +CONFIG_KBD_CALL_INT15_4F=y +CONFIG_MOUSE=y +CONFIG_S3_RESUME=y +CONFIG_VGAHOOKS=y +# CONFIG_DISABLE_A20 is not set +CONFIG_TCGBIOS=y + +# +# VGA ROM +# +CONFIG_NO_VGABIOS=y +# CONFIG_VGA_GEODEGX2 is not set +# CONFIG_VGA_GEODELX is not set +# CONFIG_VGA_COREBOOT is not set +# CONFIG_BUILD_VGABIOS is not set +CONFIG_VGA_EXTRA_STACK_SIZE=512 + +# +# Debugging +# +CONFIG_DEBUG_LEVEL=1 +# CONFIG_DEBUG_SERIAL is not set +# CONFIG_DEBUG_SERIAL_MMIO is not set +CONFIG_DEBUG_COREBOOT=y diff --git a/projects/seabios/configs/bios/install b/projects/seabios/configs/bios/install new file mode 100644 index 00000000..9189ec8f --- /dev/null +++ b/projects/seabios/configs/bios/install @@ -0,0 +1 @@ +bios.bin.elf:bios.bin.elf diff --git a/projects/seabios/configs/revision b/projects/seabios/configs/revision new file mode 100644 index 00000000..f03e0556 --- /dev/null +++ b/projects/seabios/configs/revision @@ -0,0 +1 @@ +19fdcca467ad3436d68ef88899b4dcd78154a9c6 diff --git a/projects/seabios/configs/targets b/projects/seabios/configs/targets new file mode 100644 index 00000000..98a59a61 --- /dev/null +++ b/projects/seabios/configs/targets @@ -0,0 +1,2 @@ +bios +vgabios diff --git a/projects/seabios/configs/vgabios/config b/projects/seabios/configs/vgabios/config new file mode 100644 index 00000000..a2725409 --- /dev/null +++ b/projects/seabios/configs/vgabios/config @@ -0,0 +1,95 @@ +# +# Automatically generated file; DO NOT EDIT. +# SeaBIOS Configuration +# + +# +# General Features +# +CONFIG_COREBOOT=y +# CONFIG_QEMU is not set +# CONFIG_CSM is not set +# CONFIG_QEMU_HARDWARE is not set +CONFIG_THREADS=y +CONFIG_RELOCATE_INIT=y +CONFIG_BOOTMENU=y +CONFIG_BOOTSPLASH=y +CONFIG_BOOTORDER=y +CONFIG_COREBOOT_FLASH=y +CONFIG_LZMA=y +CONFIG_CBFS_LOCATION=0 +CONFIG_MULTIBOOT=y +CONFIG_ENTRY_EXTRASTACK=y +CONFIG_MALLOC_UPPERMEMORY=y +CONFIG_ROM_SIZE=0 + +# +# Hardware support +# +CONFIG_ATA=y +# CONFIG_ATA_DMA is not set +# CONFIG_ATA_PIO32 is not set +CONFIG_AHCI=y +CONFIG_SDCARD=y +CONFIG_MEGASAS=y +CONFIG_FLOPPY=y +CONFIG_FLASH_FLOPPY=y +CONFIG_PS2PORT=y +CONFIG_USB=y +CONFIG_USB_UHCI=y +CONFIG_USB_OHCI=y +CONFIG_USB_EHCI=y +CONFIG_USB_XHCI=y +CONFIG_USB_MSC=y +CONFIG_USB_UAS=y +CONFIG_USB_HUB=y +CONFIG_USB_KEYBOARD=y +CONFIG_USB_MOUSE=y +CONFIG_SERIAL=y +CONFIG_LPT=y +CONFIG_RTC_TIMER=y +CONFIG_HARDWARE_IRQ=y +CONFIG_PMTIMER=y +CONFIG_TSC_TIMER=y + +# +# BIOS interfaces +# +CONFIG_DRIVES=y +CONFIG_CDROM_BOOT=y +CONFIG_CDROM_EMU=y +CONFIG_PCIBIOS=y +CONFIG_APMBIOS=y +CONFIG_PNPBIOS=y +CONFIG_OPTIONROMS=y +CONFIG_PMM=y +CONFIG_BOOT=y +CONFIG_KEYBOARD=y +CONFIG_KBD_CALL_INT15_4F=y +CONFIG_MOUSE=y +CONFIG_S3_RESUME=y +CONFIG_VGAHOOKS=y +# CONFIG_DISABLE_A20 is not set +CONFIG_TCGBIOS=y + +# +# VGA ROM +# +# CONFIG_NO_VGABIOS is not set +# CONFIG_VGA_GEODEGX2 is not set +# CONFIG_VGA_GEODELX is not set +CONFIG_VGA_COREBOOT=y +CONFIG_BUILD_VGABIOS=y +CONFIG_VGA_EMULATE_TEXT=y +CONFIG_VGA_FIXUP_ASM=y +CONFIG_VGA_ALLOCATE_EXTRA_STACK=y +CONFIG_VGA_EXTRA_STACK_SIZE=512 +CONFIG_VGA_VBE=y + +# +# Debugging +# +CONFIG_DEBUG_LEVEL=1 +# CONFIG_DEBUG_SERIAL is not set +# CONFIG_DEBUG_SERIAL_MMIO is not set +CONFIG_DEBUG_COREBOOT=y diff --git a/projects/seabios/configs/vgabios/install b/projects/seabios/configs/vgabios/install new file mode 100644 index 00000000..ddc1571e --- /dev/null +++ b/projects/seabios/configs/vgabios/install @@ -0,0 +1 @@ +vgabios.bin:vgabios.bin diff --git a/projects/seabios/seabios b/projects/seabios/seabios new file mode 100755 index 00000000..ce9593b0 --- /dev/null +++ b/projects/seabios/seabios @@ -0,0 +1,118 @@ +#!/usr/bin/env bash + +# Copyright (C) 2016 Paul Kocialkowski <contact@paulk.fr> +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +arguments() { + project_arguments_targets "$project" "$@" +} + +usage() { + project_usage_actions "$project" + project_usage_arguments "$project" "$@" +} + +download() { + local repository="$project" + + project_download_git "$project" "$repository" 'https://review.coreboot.org/seabios.git' "$@" +} + +download_check() { + local repository="$project" + + project_download_check_git "$project" "$repository" "$@" +} + +extract() { + project_extract "$project" "$@" +} + +extract_check() { + project_extract_check "$project" "$@" +} + +update() { + local repository="$project" + + project_update_git "$project" "$repository" "$@" +} + +update_check() { + local repository="$project" + + project_update_check_git "$project" "$repository" "$@" +} + +build() { + local target="$1" + local repository="$project" + + project_sources_directory_missing_empty_error "$project" "$repository" "$@" + + if git_project_check "$repository"; then + git_project_checkout "$project" "$repository" "$@" + fi + + local project_path="$(project_path "$project")" + local seabios_config_path="$(project_file_path "$project" "$CONFIGS" 'config' "$@")" + local sources_path="$(project_sources_path "$project" "$repository" "$@")" + local build_path="$(project_build_path "$project" "$@")" + + mkdir -p "$build_path" + cp "$seabios_config_path" "$sources_path/.config" + + make -C "$sources_path" -j"$TASKS" + + if [[ "$target" == 'bios' ]]; then + cp "$sources_path/out/bios.bin.elf" "$build_path" + elif [[ "$target" == 'vgabios' ]]; then + cp "$sources_path/out/vgabios.bin" "$build_path" + fi + + make -C "$sources_path" distclean + + rm -f "$sources_path/.config" +} + +build_check() { + project_build_check "$project" "$@" +} + +install() { + project_install "$project" "$@" +} + +install_check() { + project_install_check "$project" "$@" +} + +release() { + local repository="$project" + + project_release_install_archive "$project" "$IMAGES" "$@" + project_release_sources_git "$project" "$repository" "$@" +} + +release_check() { + local repository="$project" + + project_release_install_archive_check "$project" "$IMAGES" "$@" + project_release_check_sources_git "$project" "$repository" "$@" +} + +clean() { + project_clean "$project" "$@" +} |