mirror of
https://github.com/flatcar/scripts.git
synced 2026-05-04 19:56:32 +02:00
remove(sys-boot/*): Remove unused boot/firmware packages.
Remove bootcache and assorted firmware/boot related packages left over from ChromeOS. We don't run on funny looking firmwares etc :)
This commit is contained in:
parent
f7a3166d89
commit
9d4a0dcd6f
@ -9,7 +9,7 @@ HOMEPAGE="http://coreos.com"
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 arm x86"
|
||||
IUSE="bootimage coreboot cros_ec"
|
||||
IUSE=""
|
||||
|
||||
|
||||
################################################################################
|
||||
@ -89,21 +89,13 @@ RDEPEND="${RDEPEND}
|
||||
app-editors/vim
|
||||
"
|
||||
|
||||
# TODO(micahc): Remove board-devices from RDEPEND in lieu of
|
||||
# virtual/chromeos-bsp
|
||||
|
||||
# Note that o3d works with opengl on x86 and opengles on ARM, but not ARM
|
||||
# opengl.
|
||||
|
||||
# We depend on dash for the /bin/sh shell for runtime speeds, but we also
|
||||
# depend on bash to make the dev mode experience better. We do not enable
|
||||
# things like line editing in dash, so its interactive mode is very bare.
|
||||
# TODO(ifup):
|
||||
# coreos-base/crash-reporter
|
||||
# coreos-base/metrics
|
||||
|
||||
RDEPEND="${RDEPEND}
|
||||
sys-apps/findutils
|
||||
sys-apps/which
|
||||
app-admin/sudo
|
||||
app-admin/rsyslog
|
||||
app-arch/gzip
|
||||
@ -124,7 +116,6 @@ RDEPEND="${RDEPEND}
|
||||
net-firewall/iptables
|
||||
net-misc/tlsdate
|
||||
net-misc/wget
|
||||
sys-apps/bootcache
|
||||
sys-apps/coreutils
|
||||
sys-apps/dbus
|
||||
sys-apps/grep
|
||||
@ -152,34 +143,3 @@ RDEPEND="${RDEPEND}
|
||||
net-fs/nfs-utils
|
||||
net-misc/iputils
|
||||
"
|
||||
|
||||
# TODO(dianders):
|
||||
# In gentoo, the 'which' command is part of 'system'. That means that packages
|
||||
# assume that it's there and don't list it as an explicit dependency. At the
|
||||
# moment, we don't emerge 'system', but we really should at least emerge the
|
||||
# embedded profile system. Until then, we'll list it as a dependency here.
|
||||
#
|
||||
# Note that even gentoo's 'embedded' profile effectively has 'which' in its
|
||||
# implicit dependencies, since it depepends on busybox and the default busybox
|
||||
# config from gentoo provides which.
|
||||
#
|
||||
# See http://crosbug.com/8144
|
||||
RDEPEND="${RDEPEND}
|
||||
coreboot? ( virtual/chromeos-coreboot )
|
||||
sys-apps/which
|
||||
"
|
||||
|
||||
|
||||
# In addition to RDEPEND components, DEPEND in certain cases includes packages
|
||||
# which do not need to be installed on the target, but need to be included for
|
||||
# testing/compilation sanity check purposes.
|
||||
DEPEND="${RDEPEND}
|
||||
bootimage? ( sys-boot/chromeos-bootimage )
|
||||
cros_ec? ( coreos-base/chromeos-ec )
|
||||
"
|
||||
|
||||
# Add dev-util/quipper to the image. This is needed to do
|
||||
# profiling on ChromiumOS on live systems.
|
||||
#RDEPEND="${RDEPEND}
|
||||
# dev-util/quipper
|
||||
#"
|
||||
|
||||
@ -11,12 +11,6 @@ SLOT="0"
|
||||
KEYWORDS="amd64 x86"
|
||||
IUSE=""
|
||||
|
||||
# Pull in any site-specific or private-overlay-specific packages needed on the
|
||||
# host.
|
||||
RDEPEND="${RDEPEND}
|
||||
virtual/hard-host-depends-bsp
|
||||
"
|
||||
|
||||
# Needed to run setup crossdev, run build scripts, and make a bootable image.
|
||||
RDEPEND="${RDEPEND}
|
||||
app-arch/lzop
|
||||
@ -27,8 +21,6 @@ RDEPEND="${RDEPEND}
|
||||
dev-util/ccache
|
||||
dev-util/crosutils
|
||||
>=sys-apps/dtc-1.3.0-r5
|
||||
sys-boot/bootstub
|
||||
sys-boot/grub
|
||||
sys-boot/syslinux
|
||||
sys-devel/crossdev
|
||||
sys-devel/sysroot-wrappers
|
||||
|
||||
@ -1,41 +0,0 @@
|
||||
# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="4"
|
||||
|
||||
CROS_WORKON_COMMIT="77bbd6bb17ef926dbc3465a697be527a8c6e0941"
|
||||
CROS_WORKON_TREE="933dc61ef690ca77ad5557123455b289bced1865"
|
||||
CROS_WORKON_PROJECT="chromiumos/platform/bootcache"
|
||||
CROS_WORKON_LOCALNAME="../platform/bootcache"
|
||||
CROS_WORKON_OUTOFTREE_BUILD=1
|
||||
inherit eutils cros-workon
|
||||
|
||||
DESCRIPTION="Utility for creating store for boot cache"
|
||||
HOMEPAGE="http://git.chromium.org/gitweb/?s=bootcache"
|
||||
SRC_URI=""
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 arm x86"
|
||||
IUSE=""
|
||||
|
||||
src_prepare() {
|
||||
cros-workon_src_prepare
|
||||
epatch "${FILESDIR}/${P}-fix-fstack-protector.patch"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
cros-workon_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
cros-workon_src_compile
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cros-workon_src_install
|
||||
dosbin "${OUT}"/bootcache
|
||||
|
||||
insinto /etc/init
|
||||
doins bootcache.conf
|
||||
}
|
||||
@ -1,37 +0,0 @@
|
||||
# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="4"
|
||||
|
||||
CROS_WORKON_PROJECT="chromiumos/platform/bootcache"
|
||||
CROS_WORKON_LOCALNAME="../platform/bootcache"
|
||||
CROS_WORKON_OUTOFTREE_BUILD=1
|
||||
inherit cros-workon
|
||||
|
||||
DESCRIPTION="Utility for creating store for boot cache"
|
||||
HOMEPAGE="http://git.chromium.org/gitweb/?s=bootcache"
|
||||
SRC_URI=""
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~x86"
|
||||
IUSE=""
|
||||
|
||||
src_prepare() {
|
||||
cros-workon_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
cros-workon_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
cros-workon_src_compile
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dosbin "${OUT}"/bootcache
|
||||
|
||||
insinto /etc/init
|
||||
doins bootcache.conf
|
||||
}
|
||||
@ -1,13 +0,0 @@
|
||||
diff --git a/common.mk b/common.mk
|
||||
index 7533291..40d4f9d 100644
|
||||
--- a/common.mk
|
||||
+++ b/common.mk
|
||||
@@ -276,7 +276,7 @@ endif
|
||||
# CXXFLAGS := -mahflag $(CXXFLAGS) # Prepend to the list
|
||||
# CXXFLAGS := $(filter-out badflag,$(CXXFLAGS)) # Filter out a value
|
||||
# The same goes for CFLAGS.
|
||||
-COMMON_CFLAGS-gcc := -fstack-protector-strong -fvisibility=internal -ggdb3 \
|
||||
+COMMON_CFLAGS-gcc := -fstack-protector-all -fvisibility=internal -ggdb3 \
|
||||
-Wa,--noexecstack
|
||||
COMMON_CFLAGS-clang := -fstack-protector-all -fvisibility=hidden -ggdb
|
||||
COMMON_CFLAGS := -Wall -Werror -fno-strict-aliasing -O1
|
||||
@ -1,15 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<herd>no-herd</herd>
|
||||
<maintainer>
|
||||
<email>taysom@google.com</email>
|
||||
<name>Paul Taysom</name>
|
||||
</maintainer>
|
||||
<longdescription>
|
||||
Bootcache runs after the system has booted to create
|
||||
the store for the boot cache. It reads information
|
||||
colleced by dm-bootcache device-mapper to create a
|
||||
store of coalesced blocks read during boot.
|
||||
</longdescription>
|
||||
</pkgmetadata>
|
||||
@ -1,28 +0,0 @@
|
||||
# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="2"
|
||||
|
||||
CROS_WORKON_COMMIT="5ac54e8d3d305c2c6c7297e8e54d3cf7e4629b29"
|
||||
CROS_WORKON_TREE="a04ce1e804accdabc6afee4a4ca5ecd9e64d6c72"
|
||||
inherit eutils toolchain-funcs cros-workon
|
||||
|
||||
DESCRIPTION="Chrome OS embedded bootstub"
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64"
|
||||
IUSE=""
|
||||
CROS_WORKON_PROJECT="chromiumos/third_party/bootstub"
|
||||
DEPEND="sys-boot/gnu-efi"
|
||||
|
||||
src_compile() {
|
||||
emake -j1 CC="$(tc-getCC)" LD="$(tc-getLD)" \
|
||||
OBJCOPY="$(tc-getPROG OBJCOPY objcopy)" \
|
||||
|| die "${SRCPATH} compile failed."
|
||||
}
|
||||
|
||||
src_install() {
|
||||
LIBDIR=$(get_libdir)
|
||||
emake DESTDIR="${D}/${LIBDIR}/bootstub" install || \
|
||||
die "${SRCPATH} install failed."
|
||||
}
|
||||
@ -1,26 +0,0 @@
|
||||
# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="2"
|
||||
|
||||
inherit eutils toolchain-funcs cros-workon
|
||||
|
||||
DESCRIPTION="Chrome OS embedded bootstub"
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE=""
|
||||
CROS_WORKON_PROJECT="chromiumos/third_party/bootstub"
|
||||
DEPEND="sys-boot/gnu-efi"
|
||||
|
||||
src_compile() {
|
||||
emake -j1 CC="$(tc-getCC)" LD="$(tc-getLD)" \
|
||||
OBJCOPY="$(tc-getPROG OBJCOPY objcopy)" \
|
||||
|| die "${SRCPATH} compile failed."
|
||||
}
|
||||
|
||||
src_install() {
|
||||
LIBDIR=$(get_libdir)
|
||||
emake DESTDIR="${D}/${LIBDIR}/bootstub" install || \
|
||||
die "${SRCPATH} install failed."
|
||||
}
|
||||
@ -1 +0,0 @@
|
||||
chromeos-bootimage-0.0.2.ebuild
|
||||
@ -1,189 +0,0 @@
|
||||
# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=4
|
||||
|
||||
inherit cros-debug
|
||||
|
||||
DESCRIPTION="ChromeOS firmware image builder"
|
||||
HOMEPAGE="http://www.chromium.org"
|
||||
LICENSE=""
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 arm x86"
|
||||
# TODO(sjg@chromium.org): Remove when x86 can build all boards
|
||||
BOARDS="alex butterfly emeraldlake2 haswell link lumpy lumpy64 mario parrot stout stumpy"
|
||||
IUSE="${BOARDS} exynos factory-mode memtest tegra cros_ec depthcharge spring"
|
||||
|
||||
REQUIRED_USE="^^ ( ${BOARDS} arm )"
|
||||
|
||||
X86_DEPEND="
|
||||
virtual/chromeos-coreboot
|
||||
sys-apps/coreboot-utils
|
||||
sys-boot/chromeos-seabios
|
||||
"
|
||||
DEPEND="
|
||||
exynos? ( sys-boot/exynos-pre-boot )
|
||||
tegra? ( virtual/tegra-bct )
|
||||
x86? ( ${X86_DEPEND} )
|
||||
amd64? ( ${X86_DEPEND} )
|
||||
virtual/u-boot
|
||||
cros_ec? ( chromeos-base/chromeos-ec )
|
||||
chromeos-base/vboot_reference
|
||||
sys-boot/chromeos-bmpblk
|
||||
memtest? ( sys-boot/chromeos-memtest )
|
||||
depthcharge? ( sys-boot/depthcharge )
|
||||
"
|
||||
|
||||
S=${WORKDIR}
|
||||
|
||||
# Directory where the generated files are looked for and placed.
|
||||
CROS_FIRMWARE_IMAGE_DIR="/firmware"
|
||||
CROS_FIRMWARE_ROOT="${ROOT%/}${CROS_FIRMWARE_IMAGE_DIR}"
|
||||
|
||||
netboot_required() {
|
||||
! use memtest && ( use factory-mode || use link || use spring)
|
||||
}
|
||||
|
||||
# Build vboot and non-vboot images for the given device tree file
|
||||
# A vboot image performs a full verified boot, and this is the normal case.
|
||||
# A non-vboot image doesn't do a check for updated firmware, and just boots
|
||||
# the kernel without verity enabled.
|
||||
# Args:
|
||||
# $1: fdt_file - full name of device tree file
|
||||
# $2: uboot_file - full name of U-Boot binary
|
||||
# $3: ec_file - full name of the EC read/write binary
|
||||
# $4: common_flags - flags to use for all images
|
||||
# $5: verified_flags - extra flags to use for verified image
|
||||
# $6: nv_flags - extra flags to pass for non-verified image
|
||||
|
||||
build_image() {
|
||||
local nv_uboot_file
|
||||
local fdt_file="$1"
|
||||
local uboot_file="$2"
|
||||
local ec_file="$3"
|
||||
local common_flags="$4"
|
||||
local verified_flags="$5"
|
||||
local nv_flags="$6"
|
||||
|
||||
local board
|
||||
local base
|
||||
|
||||
local ec_file_flag
|
||||
if use cros_ec; then
|
||||
ec_file_flag="--ec ${ec_file}"
|
||||
else
|
||||
ec_file_flag=""
|
||||
fi
|
||||
einfo "Building images for ${fdt_file}"
|
||||
|
||||
# Bash stuff to turn '/path/to/exynos-5250-snow.dts' into 'snow'
|
||||
base=$(basename ${fdt_file})
|
||||
board=${base%%.dts}
|
||||
board=${board##*-}
|
||||
cmdline="${common_flags} \
|
||||
--dt ${fdt_file} \
|
||||
--uboot ${uboot_file} \
|
||||
${ec_file_flag} \
|
||||
--bootcmd vboot_twostop \
|
||||
--bootsecure \
|
||||
${verified_flags}"
|
||||
|
||||
# Build an RO-normal image, and an RW (twostop) image. This assumes
|
||||
# that the fdt has the flags set to 1 by default.
|
||||
cros_bundle_firmware ${cmdline} \
|
||||
--outdir "out-${board}.ro" \
|
||||
--output "image-${board}.bin" ||
|
||||
die "failed to build image."
|
||||
cros_bundle_firmware ${cmdline} --force-rw \
|
||||
--outdir "out-${board}.rw" \
|
||||
--output "image-${board}.rw.bin" ||
|
||||
die "failed to build image."
|
||||
|
||||
# Make non-vboot image
|
||||
nv_uboot_file="${uboot_file}"
|
||||
if netboot_required; then
|
||||
nv_uboot_file="${CROS_FIRMWARE_ROOT}/u-boot_netboot.bin"
|
||||
fi
|
||||
cros_bundle_firmware \
|
||||
${common_flags} \
|
||||
--dt ${fdt_file} \
|
||||
--uboot ${nv_uboot_file} \
|
||||
${ec_file_flag} \
|
||||
--add-config-int load_env 1 \
|
||||
--add-node-enable console 1 \
|
||||
${nv_flags} \
|
||||
--outdir "nvout-${board}" \
|
||||
--output "nv_image-${board}.bin" ||
|
||||
die "failed to build legacy image."
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
|
||||
local verified_flags=''
|
||||
local common_flags=''
|
||||
local bct_file
|
||||
local fdt_file
|
||||
local uboot_file
|
||||
local devkeys_file
|
||||
local dd_params
|
||||
|
||||
# Location of the board-specific bct file
|
||||
bct_file="${ROOT%/}${CROS_FIRMWARE_IMAGE_DIR}/bct/board.bct"
|
||||
|
||||
if use memtest; then
|
||||
uboot_file="${CROS_FIRMWARE_ROOT}/x86-memtest"
|
||||
elif use depthcharge; then
|
||||
uboot_file="${CROS_FIRMWARE_ROOT}/depthcharge/depthcharge.bin"
|
||||
U_BOOT_FDT_USE="${U_BOOT_FDT_USE}_dc"
|
||||
else
|
||||
# We only have a single U-Boot, and it is called u-boot.bin
|
||||
uboot_file="${CROS_FIRMWARE_ROOT}/u-boot.bin"
|
||||
fi
|
||||
|
||||
# Location of the EC RW image
|
||||
ec_file="${CROS_FIRMWARE_ROOT}/ec.RW.bin"
|
||||
|
||||
# Location of the devkeys
|
||||
devkeys_file="${ROOT%/}/usr/share/vboot/devkeys"
|
||||
|
||||
if ! use x86 && ! use amd64 && ! use cros-debug; then
|
||||
verified_flags+=' --add-config-int silent_console 1'
|
||||
fi
|
||||
if use x86 || use amd64; then
|
||||
# Add a SeaBIOS payload
|
||||
common_flags+=" --seabios ${CROS_FIRMWARE_ROOT}/seabios.cbfs"
|
||||
common_flags+=" --coreboot \
|
||||
${CROS_FIRMWARE_ROOT}/coreboot.rom"
|
||||
if use depthcharge; then
|
||||
common_flags+=" --coreboot-elf=${CROS_FIRMWARE_ROOT}"
|
||||
common_flags+="/depthcharge/depthcharge.elf"
|
||||
fi
|
||||
fi
|
||||
|
||||
common_flags+=" --board ${BOARD_USE} --bct ${bct_file}"
|
||||
common_flags+=" --key ${devkeys_file}"
|
||||
common_flags+=" --bmpblk ${CROS_FIRMWARE_ROOT}/bmpblk.bin"
|
||||
|
||||
# TODO(sjg@chromium.org): For x86 we can't build all the images
|
||||
# yet, since we need to use a different skeleton file for each.
|
||||
if use x86 || use amd64; then
|
||||
einfo "x86: Only building for board ${U_BOOT_FDT_USE}"
|
||||
# Location of the U-Boot flat device tree source file
|
||||
fdt_file="${CROS_FIRMWARE_ROOT}/dts/${U_BOOT_FDT_USE}.dts"
|
||||
build_image "${fdt_file}" "${uboot_file}" "${ec_file}" \
|
||||
"${common_flags}" "${verified_flags}" ""
|
||||
|
||||
else
|
||||
einfo "Building all images"
|
||||
for fdt_file in ${CROS_FIRMWARE_ROOT}/dts/*.dts; do
|
||||
build_image "${fdt_file}" "${uboot_file}" \
|
||||
"${ec_file}" "${common_flags}" \
|
||||
"${verified_flags}" ""
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
insinto "${CROS_FIRMWARE_IMAGE_DIR}"
|
||||
doins *image*.bin
|
||||
}
|
||||
@ -1,30 +0,0 @@
|
||||
# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=4
|
||||
CROS_WORKON_COMMIT="3d4be6e3bfd819856e38a82e35c206fec4551851"
|
||||
CROS_WORKON_TREE="b8064d188f425c4b2ced6c44a442b631d63568a3"
|
||||
CROS_WORKON_PROJECT="chromiumos/third_party/memtest"
|
||||
|
||||
DESCRIPTION="The memtest86 memory tester"
|
||||
HOMEPAGE="http://www.memtest86.com"
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 x86"
|
||||
|
||||
RDEPEND=""
|
||||
DEPEND=""
|
||||
|
||||
CROS_WORKON_LOCALNAME="memtest"
|
||||
|
||||
inherit cros-workon toolchain-funcs
|
||||
|
||||
src_compile() {
|
||||
local prefix="i686-pc-linux-gnu"
|
||||
emake -j1 AS=${prefix}-as CC=${prefix}-gcc LD=${prefix}-ld.bfd
|
||||
}
|
||||
|
||||
src_install() {
|
||||
insinto "/firmware"
|
||||
newins memtest x86-memtest
|
||||
}
|
||||
@ -1,28 +0,0 @@
|
||||
# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=4
|
||||
CROS_WORKON_PROJECT="chromiumos/third_party/memtest"
|
||||
|
||||
DESCRIPTION="The memtest86 memory tester"
|
||||
HOMEPAGE="http://www.memtest86.com"
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
RDEPEND=""
|
||||
DEPEND=""
|
||||
|
||||
CROS_WORKON_LOCALNAME="memtest"
|
||||
|
||||
inherit cros-workon toolchain-funcs
|
||||
|
||||
src_compile() {
|
||||
local prefix="i686-pc-linux-gnu"
|
||||
emake -j1 AS=${prefix}-as CC=${prefix}-gcc LD=${prefix}-ld.bfd
|
||||
}
|
||||
|
||||
src_install() {
|
||||
insinto "/firmware"
|
||||
newins memtest x86-memtest
|
||||
}
|
||||
@ -1,78 +0,0 @@
|
||||
# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=2
|
||||
CROS_WORKON_COMMIT="589e763e493ff2544d2f98cdfaceed6865e066b8"
|
||||
CROS_WORKON_TREE="aac8fef67a3b7b56c9b6cb32af538d32e9e70b15"
|
||||
CROS_WORKON_PROJECT="chromiumos/third_party/seabios"
|
||||
|
||||
inherit toolchain-funcs
|
||||
|
||||
DESCRIPTION="Open Source implementation of X86 BIOS"
|
||||
HOMEPAGE="http://www.coreboot.org/SeaBIOS"
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 x86"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND=""
|
||||
DEPEND="
|
||||
virtual/chromeos-coreboot
|
||||
sys-apps/coreboot-utils
|
||||
"
|
||||
CROS_WORKON_LOCALNAME="seabios"
|
||||
|
||||
# This must be inherited *after* EGIT/CROS_WORKON variables defined
|
||||
inherit cros-workon
|
||||
|
||||
# Directory where the generated files are looked for and placed.
|
||||
CROS_FIRMWARE_IMAGE_DIR="/firmware"
|
||||
CROS_FIRMWARE_ROOT="${ROOT%/}${CROS_FIRMWARE_IMAGE_DIR}"
|
||||
|
||||
create_seabios_cbfs() {
|
||||
local oprom=${CROS_FIRMWARE_ROOT}/pci????,????.rom
|
||||
local seabios_cbfs=seabios.cbfs
|
||||
local cbfs_size=$(( 2*1024*1024 ))
|
||||
local bootblock=$( mktemp )
|
||||
|
||||
# Create a dummy bootblock to make cbfstool happy
|
||||
dd if=/dev/zero of=$bootblock count=1 bs=64
|
||||
# Create empty CBFS
|
||||
cbfstool ${seabios_cbfs} create -s ${cbfs_size} -B $bootblock
|
||||
# Clean up
|
||||
rm $bootblock
|
||||
# Add SeaBIOS binary to CBFS
|
||||
cbfstool ${seabios_cbfs} add-payload -f out/bios.bin.elf -n payload -c lzma
|
||||
# Add VGA option rom to CBFS
|
||||
cbfstool ${seabios_cbfs} add -f $oprom -n $( basename $oprom ) -t optionrom
|
||||
# Add additional configuration
|
||||
cbfstool ${seabios_cbfs} add -f bootorder -n bootorder -t raw
|
||||
cbfstool ${seabios_cbfs} add -f boot-menu-wait -n boot-menu-wait -t raw
|
||||
# Print CBFS inventory
|
||||
cbfstool ${seabios_cbfs} print
|
||||
# Fix up CBFS to live at 0xffc00000. The last four bytes of a CBFS
|
||||
# image are a pointer to the CBFS master header. Per default a CBFS
|
||||
# lives at 4G - rom size, and the CBFS master header ends up at
|
||||
# 0xffffffa0. However our CBFS lives at 4G-4M and is 2M in size, so
|
||||
# the CBFS master header is at 0xffdfffa0 instead. The two lines
|
||||
# below correct the according byte in that pointer to make all CBFS
|
||||
# parsing code happy. In the long run we should fix cbfstool and
|
||||
# remove this workaround.
|
||||
/bin/echo -ne \\0737 | dd of=${seabios_cbfs} \
|
||||
seek=$(( ${cbfs_size} - 2 )) bs=1 conv=notrunc
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
export LD="$(tc-getLD).bfd"
|
||||
export CC="$(tc-getCC) -fuse-ld=bfd"
|
||||
emake defconfig || die "${P}: configuration failed"
|
||||
emake || die "${P}: compilation failed"
|
||||
create_seabios_cbfs
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dodir /firmware
|
||||
insinto /firmware
|
||||
doins out/bios.bin.elf || die
|
||||
doins seabios.cbfs || die
|
||||
}
|
||||
@ -1,76 +0,0 @@
|
||||
# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=2
|
||||
CROS_WORKON_PROJECT="chromiumos/third_party/seabios"
|
||||
|
||||
inherit toolchain-funcs
|
||||
|
||||
DESCRIPTION="Open Source implementation of X86 BIOS"
|
||||
HOMEPAGE="http://www.coreboot.org/SeaBIOS"
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND=""
|
||||
DEPEND="
|
||||
virtual/chromeos-coreboot
|
||||
sys-apps/coreboot-utils
|
||||
"
|
||||
CROS_WORKON_LOCALNAME="seabios"
|
||||
|
||||
# This must be inherited *after* EGIT/CROS_WORKON variables defined
|
||||
inherit cros-workon
|
||||
|
||||
# Directory where the generated files are looked for and placed.
|
||||
CROS_FIRMWARE_IMAGE_DIR="/firmware"
|
||||
CROS_FIRMWARE_ROOT="${ROOT%/}${CROS_FIRMWARE_IMAGE_DIR}"
|
||||
|
||||
create_seabios_cbfs() {
|
||||
local oprom=${CROS_FIRMWARE_ROOT}/pci????,????.rom
|
||||
local seabios_cbfs=seabios.cbfs
|
||||
local cbfs_size=$(( 2*1024*1024 ))
|
||||
local bootblock=$( mktemp )
|
||||
|
||||
# Create a dummy bootblock to make cbfstool happy
|
||||
dd if=/dev/zero of=$bootblock count=1 bs=64
|
||||
# Create empty CBFS
|
||||
cbfstool ${seabios_cbfs} create -s ${cbfs_size} -B $bootblock
|
||||
# Clean up
|
||||
rm $bootblock
|
||||
# Add SeaBIOS binary to CBFS
|
||||
cbfstool ${seabios_cbfs} add-payload -f out/bios.bin.elf -n payload -c lzma
|
||||
# Add VGA option rom to CBFS
|
||||
cbfstool ${seabios_cbfs} add -f $oprom -n $( basename $oprom ) -t optionrom
|
||||
# Add additional configuration
|
||||
cbfstool ${seabios_cbfs} add -f bootorder -n bootorder -t raw
|
||||
cbfstool ${seabios_cbfs} add -f boot-menu-wait -n boot-menu-wait -t raw
|
||||
# Print CBFS inventory
|
||||
cbfstool ${seabios_cbfs} print
|
||||
# Fix up CBFS to live at 0xffc00000. The last four bytes of a CBFS
|
||||
# image are a pointer to the CBFS master header. Per default a CBFS
|
||||
# lives at 4G - rom size, and the CBFS master header ends up at
|
||||
# 0xffffffa0. However our CBFS lives at 4G-4M and is 2M in size, so
|
||||
# the CBFS master header is at 0xffdfffa0 instead. The two lines
|
||||
# below correct the according byte in that pointer to make all CBFS
|
||||
# parsing code happy. In the long run we should fix cbfstool and
|
||||
# remove this workaround.
|
||||
/bin/echo -ne \\0737 | dd of=${seabios_cbfs} \
|
||||
seek=$(( ${cbfs_size} - 2 )) bs=1 conv=notrunc
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
export LD="$(tc-getLD).bfd"
|
||||
export CC="$(tc-getCC) -fuse-ld=bfd"
|
||||
emake defconfig || die "${P}: configuration failed"
|
||||
emake || die "${P}: compilation failed"
|
||||
create_seabios_cbfs
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dodir /firmware
|
||||
insinto /firmware
|
||||
doins out/bios.bin.elf || die
|
||||
doins seabios.cbfs || die
|
||||
}
|
||||
@ -1,49 +0,0 @@
|
||||
# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="2"
|
||||
|
||||
CROS_WORKON_COMMIT="d1c858167c0caae45f8a07147c4e19f74edc7708"
|
||||
CROS_WORKON_TREE="a626b63d9eb83c6985625569fa10d3b820ae9dd4"
|
||||
inherit eutils toolchain-funcs cros-workon
|
||||
|
||||
DESCRIPTION="GNU GRUB 2 boot loader"
|
||||
HOMEPAGE="http://www.gnu.org/software/grub/"
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64"
|
||||
IUSE="truetype"
|
||||
CROS_WORKON_PROJECT="chromiumos/third_party/grub2"
|
||||
|
||||
RDEPEND=">=sys-libs/ncurses-5.2-r5
|
||||
dev-libs/lzo
|
||||
truetype? ( media-libs/freetype )"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-lang/ruby"
|
||||
PROVIDE="virtual/bootloader"
|
||||
|
||||
export STRIP_MASK="*/grub/*/*.mod"
|
||||
|
||||
CROS_WORKON_LOCALNAME="grub2"
|
||||
|
||||
src_configure() {
|
||||
econf \
|
||||
--disable-werror \
|
||||
--disable-grub-mkfont \
|
||||
--disable-grub-fstest \
|
||||
--disable-efiemu \
|
||||
--sbindir=/sbin \
|
||||
--bindir=/bin \
|
||||
--libdir=/$(get_libdir) \
|
||||
--with-platform=efi \
|
||||
--target=x86_64 \
|
||||
--program-prefix=
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake -j1 || die "${SRCPATH} compile failed."
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" install || die
|
||||
}
|
||||
@ -1,47 +0,0 @@
|
||||
# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="2"
|
||||
|
||||
inherit eutils toolchain-funcs cros-workon
|
||||
|
||||
DESCRIPTION="GNU GRUB 2 boot loader"
|
||||
HOMEPAGE="http://www.gnu.org/software/grub/"
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="truetype"
|
||||
CROS_WORKON_PROJECT="chromiumos/third_party/grub2"
|
||||
|
||||
RDEPEND=">=sys-libs/ncurses-5.2-r5
|
||||
dev-libs/lzo
|
||||
truetype? ( media-libs/freetype )"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-lang/ruby"
|
||||
PROVIDE="virtual/bootloader"
|
||||
|
||||
export STRIP_MASK="*/grub/*/*.mod"
|
||||
|
||||
CROS_WORKON_LOCALNAME="grub2"
|
||||
|
||||
src_configure() {
|
||||
econf \
|
||||
--disable-werror \
|
||||
--disable-grub-mkfont \
|
||||
--disable-grub-fstest \
|
||||
--disable-efiemu \
|
||||
--sbindir=/sbin \
|
||||
--bindir=/bin \
|
||||
--libdir=/$(get_libdir) \
|
||||
--with-platform=efi \
|
||||
--target=x86_64 \
|
||||
--program-prefix=
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake -j1 || die "${SRCPATH} compile failed."
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" install || die
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user