diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-0.0.1-r161.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-0.0.1-r162.ebuild similarity index 100% rename from sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-0.0.1-r161.ebuild rename to sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-0.0.1-r162.ebuild diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-9999.ebuild index 1a25613f88..2d2a1b1b24 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-9999.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-9999.ebuild @@ -2,7 +2,7 @@ # Copyright (c) 2011 The Chromium OS Authors. All rights reserved. # Distributed under the terms of the GNU General Public License v2 -EAPI="4" +EAPI="5" CROS_WORKON_PROJECT="coreos/init" CROS_WORKON_LOCALNAME="init" CROS_WORKON_REPO="git://github.com" @@ -21,7 +21,7 @@ HOMEPAGE="http://www.coreos.com/" SRC_URI="" LICENSE="BSD" -SLOT="0" +SLOT="0/${PVR}" IUSE="test symlink-usr" REQUIRED_USE="symlink-usr" diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-kernel/coreos-kernel-4.19.6-r1.ebuild b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-kernel/coreos-kernel-4.19.6-r1.ebuild new file mode 100644 index 0000000000..6981197793 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-kernel/coreos-kernel-4.19.6-r1.ebuild @@ -0,0 +1,98 @@ +# 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 + coreos-base/coreos-init:= + 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 +} diff --git a/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-modules/coreos-modules-4.19.6-r1.ebuild b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-modules/coreos-modules-4.19.6-r1.ebuild new file mode 100644 index 0000000000..bba80e7e2d --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/sys-kernel/coreos-modules/coreos-modules-4.19.6-r1.ebuild @@ -0,0 +1,64 @@ +# 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="!> 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" +}