mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-20 05:51:18 +02:00
Merge pull request #3503 from bgilbert/udev
sys-kernel/coreos-kernel: fix up bad merge
This commit is contained in:
commit
67d1d76a56
@ -1,97 +0,0 @@
|
|||||||
# Copyright 2014-2016 CoreOS, Inc.
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=5
|
|
||||||
COREOS_SOURCE_REVISION=""
|
|
||||||
inherit coreos-kernel
|
|
||||||
|
|
||||||
DESCRIPTION="CoreOS Linux kernel"
|
|
||||||
KEYWORDS="amd64"
|
|
||||||
|
|
||||||
RDEPEND="=sys-kernel/coreos-modules-${PVR}"
|
|
||||||
DEPEND="${RDEPEND}
|
|
||||||
app-arch/gzip
|
|
||||||
app-shells/bash
|
|
||||||
sys-apps/coreutils
|
|
||||||
sys-apps/findutils
|
|
||||||
sys-apps/grep
|
|
||||||
sys-apps/ignition:=
|
|
||||||
sys-apps/less
|
|
||||||
sys-apps/nvme-cli
|
|
||||||
sys-apps/sed
|
|
||||||
sys-apps/shadow
|
|
||||||
sys-apps/systemd[cryptsetup]
|
|
||||||
sys-apps/seismograph
|
|
||||||
sys-apps/util-linux
|
|
||||||
sys-fs/btrfs-progs
|
|
||||||
sys-fs/e2fsprogs
|
|
||||||
sys-fs/mdadm
|
|
||||||
sys-fs/xfsprogs
|
|
||||||
>=sys-kernel/coreos-firmware-20180103-r1:=
|
|
||||||
>=sys-kernel/bootengine-0.0.4:=
|
|
||||||
sys-kernel/dracut
|
|
||||||
virtual/udev
|
|
||||||
amd64? ( sys-firmware/intel-microcode:= )"
|
|
||||||
|
|
||||||
# We are bad, we want to get around the sandbox. So do the creation of the
|
|
||||||
# cpio image in pkg_setup() where we are free to mount filesystems, chroot,
|
|
||||||
# and other fun stuff.
|
|
||||||
pkg_setup() {
|
|
||||||
coreos-kernel_pkg_setup
|
|
||||||
|
|
||||||
[[ "${MERGE_TYPE}" == binary ]] && return
|
|
||||||
|
|
||||||
# Fail early if we didn't detect the build installed by coreos-modules
|
|
||||||
[[ -n "${KV_OUT_DIR}" ]] || die "Failed to detect modules build tree"
|
|
||||||
|
|
||||||
if [[ "${ROOT:-/}" != / ]]; then
|
|
||||||
${ROOT}/usr/sbin/update-bootengine -m -c ${ROOT} -k "${KV_FULL}" || die
|
|
||||||
else
|
|
||||||
update-bootengine -k "${KV_FULL}" || die
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
# KV_OUT_DIR points to the minimal build tree installed by coreos-modules
|
|
||||||
# Pull in the config and public module signing key
|
|
||||||
KV_OUT_DIR="${ROOT%/}/lib/modules/${COREOS_SOURCE_NAME#linux-}/build"
|
|
||||||
cp -v "${KV_OUT_DIR}/.config" build/ || die
|
|
||||||
local sig_key="$(getconfig MODULE_SIG_KEY)"
|
|
||||||
mkdir -p "build/${sig_key%/*}" || die
|
|
||||||
cp -v "${KV_OUT_DIR}/${sig_key}" "build/${sig_key}" || die
|
|
||||||
|
|
||||||
# Symlink to bootengine.cpio so we can stick with relative paths in .config
|
|
||||||
ln -sv "${ROOT}"/usr/share/bootengine/bootengine.cpio build/ || die
|
|
||||||
config_update 'CONFIG_INITRAMFS_SOURCE="bootengine.cpio"'
|
|
||||||
|
|
||||||
# include all intel and amd microcode files, avoiding the signatures
|
|
||||||
local fw_dir="${ROOT}lib/firmware"
|
|
||||||
use amd64 && config_update "CONFIG_EXTRA_FIRMWARE=\"$(find ${fw_dir} -type f \
|
|
||||||
\( -path ${fw_dir}'/intel-ucode/*' -o -path ${fw_dir}'/amd-ucode/*' \) -printf '%P ')\""
|
|
||||||
use amd64 && config_update "CONFIG_EXTRA_FIRMWARE_DIR=\"${fw_dir}\""
|
|
||||||
}
|
|
||||||
|
|
||||||
src_compile() {
|
|
||||||
kmake "$(kernel_target)"
|
|
||||||
|
|
||||||
# sanity check :)
|
|
||||||
[[ -e build/certs/signing_key.pem ]] && die "created a new key!"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
# coreos-postinst expects to find the kernel in /usr/boot
|
|
||||||
insinto "/usr/boot"
|
|
||||||
newins "$(kernel_path)" "vmlinuz-${KV_FULL}"
|
|
||||||
dosym "vmlinuz-${KV_FULL}" "/usr/boot/vmlinuz"
|
|
||||||
|
|
||||||
insinto "/usr/lib/modules/${KV_FULL}/build"
|
|
||||||
doins build/System.map
|
|
||||||
|
|
||||||
insinto "/usr/lib/debug/usr/boot"
|
|
||||||
newins build/vmlinux "vmlinux-${KV_FULL}"
|
|
||||||
dosym "../../../boot/vmlinux-${KV_FULL}" "/usr/lib/debug/usr/lib/modules/${KV_FULL}/vmlinux"
|
|
||||||
|
|
||||||
# For easy access to vdso debug symbols in gdb:
|
|
||||||
# set debug-file-directory /usr/lib/debug/usr/lib/modules/${KV_FULL}/vdso/
|
|
||||||
kmake INSTALL_MOD_PATH="${D}/usr/lib/debug/usr" vdso_install
|
|
||||||
}
|
|
@ -1,64 +0,0 @@
|
|||||||
# Copyright 2014-2016 CoreOS, Inc.
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=5
|
|
||||||
COREOS_SOURCE_REVISION=""
|
|
||||||
inherit coreos-kernel savedconfig
|
|
||||||
|
|
||||||
DESCRIPTION="CoreOS Linux kernel modules"
|
|
||||||
KEYWORDS="amd64"
|
|
||||||
RDEPEND="!<sys-kernel/coreos-kernel-4.6.3-r1"
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
restore_config build/.config
|
|
||||||
if [[ ! -f build/.config ]]; then
|
|
||||||
local archconfig="$(find_archconfig)"
|
|
||||||
elog "Building using config ${archconfig}"
|
|
||||||
cat "${archconfig}" >> build/.config || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Check that an old pre-ebuild-split config didn't leak in.
|
|
||||||
grep -q "^CONFIG_INITRAMFS_SOURCE=" build/.config && \
|
|
||||||
die "CONFIG_INITRAMFS_SOURCE must be removed from kernel config"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_compile() {
|
|
||||||
# Generate module signing key
|
|
||||||
setup_keys
|
|
||||||
|
|
||||||
# Build both vmlinux and modules (moddep checks symbols in vmlinux)
|
|
||||||
kmake vmlinux modules
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
# Install modules to /usr, assuming USE=symlink-usr
|
|
||||||
# Install firmware to a temporary (bogus) location.
|
|
||||||
# The linux-firmware package will be used instead.
|
|
||||||
# Stripping must be done here, not portage, to preserve sigs.
|
|
||||||
kmake INSTALL_MOD_PATH="${D}/usr" \
|
|
||||||
INSTALL_MOD_STRIP="--strip-unneeded" \
|
|
||||||
INSTALL_FW_PATH="${T}/fw" \
|
|
||||||
modules_install
|
|
||||||
|
|
||||||
# Install to /usr/lib/debug with debug symbols intact
|
|
||||||
kmake INSTALL_MOD_PATH="${D}/usr/lib/debug/usr" \
|
|
||||||
INSTALL_FW_PATH="${T}/fw" \
|
|
||||||
modules_install
|
|
||||||
rm "${D}/usr/lib/debug/usr/lib/modules/${KV_FULL}/"modules.* || die
|
|
||||||
rm "${D}/usr/lib/debug/usr/lib/modules/${KV_FULL}/"{source,build} || die
|
|
||||||
|
|
||||||
# Clean up the build tree
|
|
||||||
shred_keys
|
|
||||||
kmake clean
|
|
||||||
find "build/" -type d -empty -delete || die
|
|
||||||
rm "build/.config.old" || die
|
|
||||||
|
|
||||||
# Install /lib/modules/${KV_FULL}/{build,source}
|
|
||||||
install_build_source
|
|
||||||
|
|
||||||
# Not strictly required but this is where we used to install the config.
|
|
||||||
dodir "/usr/boot"
|
|
||||||
local build="lib/modules/${KV_FULL}/build"
|
|
||||||
dosym "../${build}/.config" "/usr/boot/config-${KV_FULL}"
|
|
||||||
dosym "../${build}/.config" "/usr/boot/config"
|
|
||||||
}
|
|
Loading…
x
Reference in New Issue
Block a user