mirror of
https://github.com/flatcar/scripts.git
synced 2025-09-04 05:11:22 +02:00
sys-apps/kexec-tools: Import from portage-stable
This commit is contained in:
parent
b9f01d7498
commit
4d5448fd40
1
sdk_container/src/third_party/coreos-overlay/sys-apps/kexec-tools/Manifest
vendored
Normal file
1
sdk_container/src/third_party/coreos-overlay/sys-apps/kexec-tools/Manifest
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
DIST kexec-tools-2.0.16.tar.xz 287888 BLAKE2B 7e7bbe11dc2792be3cab6318c12b6866bf6b373fb7bf2d7601ef68a39dd5882aceab7c8905ce0d9b0af1da2072b3f3d2677bd9e006676c484e1d6506ac7036fa SHA512 f2f06e7702fef20c8d7d6aabe1b264e2e2689e5c38cc00dbc2186dd7fa0479edb2dc9e307dd2ad7f03db47015e966e577f11576172604ef01c1bcca471fe2c24
|
9
sdk_container/src/third_party/coreos-overlay/sys-apps/kexec-tools/files/90_kexec
vendored
Normal file
9
sdk_container/src/third_party/coreos-overlay/sys-apps/kexec-tools/files/90_kexec
vendored
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
version="$1" ; shift
|
||||||
|
image="$1" ; shift
|
||||||
|
|
||||||
|
exec sed \
|
||||||
|
-e "s:\"vmlinuz-.*\":\"vmlinuz-${version}\":" \
|
||||||
|
-e "s:/boot/initramfs-.*\.img:/boot/initramfs-${version}\.img:" \
|
||||||
|
-i /etc/kexec.conf
|
33
sdk_container/src/third_party/coreos-overlay/sys-apps/kexec-tools/files/README.Gentoo
vendored
Normal file
33
sdk_container/src/third_party/coreos-overlay/sys-apps/kexec-tools/files/README.Gentoo
vendored
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
Usage
|
||||||
|
=====
|
||||||
|
|
||||||
|
Do
|
||||||
|
$ man 8 kexec
|
||||||
|
for full understanding of the underlying kexec command.
|
||||||
|
Gentoo offers a wrapper to the bare kexec command through
|
||||||
|
/etc/init.d/kexec.
|
||||||
|
|
||||||
|
Configuration
|
||||||
|
-------------
|
||||||
|
|
||||||
|
Configuration is done in /etc/conf.d/kexec, which is self-documented.
|
||||||
|
|
||||||
|
Usage
|
||||||
|
-----
|
||||||
|
|
||||||
|
In Gentoo, kexec is invoked, i.e., the new kernel will be booted when
|
||||||
|
rebooting, by reboot (8) command or by pressing Ctrl+Alt+Del.
|
||||||
|
|
||||||
|
If you want to use kexec once, just run
|
||||||
|
$ /etc/init.d/kexec start
|
||||||
|
|
||||||
|
It'll reserve kexec call at reboot. Later on, you can reboot anytime,
|
||||||
|
letting kexec starts another (or the same) kernel. When all is done in
|
||||||
|
the runlevel 6 - killing processes, unmounting volumes, etc - kexec
|
||||||
|
starts the new kernel instead of doing the normal hardware reboot.
|
||||||
|
|
||||||
|
If you want kexec to be run every time you reboot, add it to a runlevel:
|
||||||
|
$ rc-update add kexec <runlevel>
|
||||||
|
|
||||||
|
If you want to reboot in the normal way this time, do:
|
||||||
|
$ touch /nokexec
|
@ -0,0 +1,17 @@
|
|||||||
|
diff --git kexec-tools-2.0.3/kexec_test/Makefile kexec-tools-2.0.3/kexec_test/Makefile
|
||||||
|
index fec6210..2ed4d51 100644
|
||||||
|
--- kexec-tools-2.0.3/kexec_test/Makefile
|
||||||
|
+++ kexec-tools-2.0.3/kexec_test/Makefile
|
||||||
|
@@ -8,12 +8,6 @@ dist += kexec_test/Makefile $(KEXEC_TEST_SRCS) \
|
||||||
|
kexec_test/x86-setup-legacy-pic.S
|
||||||
|
|
||||||
|
BUILD_KEXEC_TEST = no
|
||||||
|
-ifeq ($(ARCH),i386)
|
||||||
|
-BUILD_KEXEC_TEST = yes
|
||||||
|
-endif
|
||||||
|
-ifeq ($(ARCH),x86_64)
|
||||||
|
-BUILD_KEXEC_TEST = yes
|
||||||
|
-endif
|
||||||
|
|
||||||
|
ifeq ($(BUILD_KEXEC_TEST),yes)
|
||||||
|
|
@ -0,0 +1,24 @@
|
|||||||
|
Makefile.in | 3 ++-
|
||||||
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/Makefile.in b/Makefile.in
|
||||||
|
index c1859d1..1aa8559 100644
|
||||||
|
--- a/Makefile.in
|
||||||
|
+++ b/Makefile.in
|
||||||
|
@@ -44,7 +44,7 @@ TARGET_CFLAGS = @TARGET_CFLAGS@
|
||||||
|
|
||||||
|
# Base compiler flags. These are extended by the subcomponent-Makefiles
|
||||||
|
# where necessary.
|
||||||
|
-CPPFLAGS = @CPPFLAGS@ -I$(srcdir)/include -I$(srcdir)/util_lib/include \
|
||||||
|
+CPPFLAGS = @CPPFLAGS@ -I$(top_builddir)/include -I$(srcdir)/include -I$(srcdir)/util_lib/include \
|
||||||
|
-Iinclude/ $($(ARCH)_CPPFLAGS)
|
||||||
|
CFLAGS = @CFLAGS@ -fno-strict-aliasing -Wall -Wstrict-prototypes
|
||||||
|
PURGATORY_EXTRA_CFLAGS = @PURGATORY_EXTRA_CFLAGS@
|
||||||
|
@@ -77,6 +77,7 @@ pkgincludedir = $(includedir)/$(PACKAGE_NAME)
|
||||||
|
DESTDIR =
|
||||||
|
|
||||||
|
srcdir = @srcdir@
|
||||||
|
+top_builddir = @top_builddir@
|
||||||
|
VPATH = .:$(srcdir)
|
||||||
|
|
||||||
|
# install paths
|
16
sdk_container/src/third_party/coreos-overlay/sys-apps/kexec-tools/files/kexec.conf
vendored
Normal file
16
sdk_container/src/third_party/coreos-overlay/sys-apps/kexec-tools/files/kexec.conf
vendored
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
# Kernel image pathname, relative from /boot.
|
||||||
|
KNAME="bzimage"
|
||||||
|
|
||||||
|
# Additional arguments passed to kexec (8)
|
||||||
|
# Following arguments are support:
|
||||||
|
#
|
||||||
|
# --reuse-cmdline
|
||||||
|
# Use the current boot command line
|
||||||
|
#
|
||||||
|
# --command-line=string
|
||||||
|
# Use a different command line
|
||||||
|
#
|
||||||
|
# --initrd=file
|
||||||
|
# Specify an initrd to use
|
||||||
|
#
|
||||||
|
KEXEC_OPT_ARGS="--reuse-cmdline"
|
34
sdk_container/src/third_party/coreos-overlay/sys-apps/kexec-tools/files/kexec.conf-2.0.4
vendored
Normal file
34
sdk_container/src/third_party/coreos-overlay/sys-apps/kexec-tools/files/kexec.conf-2.0.4
vendored
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
# Load kexec kernel image into memory during shutdown instead of bootup
|
||||||
|
# (default: yes)
|
||||||
|
#LOAD_DURING_SHUTDOWN="yes"
|
||||||
|
|
||||||
|
# Additional arguments passed to kexec (8)
|
||||||
|
#KEXEC_OPT_ARGS=""
|
||||||
|
|
||||||
|
# Kernel image partition. Mounted automatically if not.
|
||||||
|
# (default: /boot)
|
||||||
|
#BOOTPART="/boot"
|
||||||
|
|
||||||
|
# Root partition (should be autodetected)
|
||||||
|
#ROOTPART="/dev/hda3"
|
||||||
|
|
||||||
|
# Kernel image pathname, relative from BOOTPART.
|
||||||
|
# If it's one of
|
||||||
|
# {kernel-genkernel,bzImage,vmlinuz,kernel}-<currently running kernel version>,
|
||||||
|
# or bzImage, vmlinuz (without suffix),
|
||||||
|
# then it's automaticaly detected.
|
||||||
|
# Setting it to "-" will disable kexec.
|
||||||
|
#KNAME="vmlinuz-3.9.0"
|
||||||
|
|
||||||
|
# Initrd
|
||||||
|
# Same automatic detection restriction as for KNAME apply.
|
||||||
|
# initramfs-genkernel-<currently running kernel version>,
|
||||||
|
# initrd{,.img}-<currently running kernel version>{,.img}
|
||||||
|
# will be detected.
|
||||||
|
#INITRD="/boot/fbsplash-emergence-1024x768"
|
||||||
|
|
||||||
|
# Kernel parameters (should be autodetected)
|
||||||
|
#KPARAM="splash=silent,theme:emergence"
|
||||||
|
|
||||||
|
# Do not try to mount /boot
|
||||||
|
# DONT_MOUNT_BOOT="yes"
|
186
sdk_container/src/third_party/coreos-overlay/sys-apps/kexec-tools/files/kexec.init-2.0.13-r1
vendored
Normal file
186
sdk_container/src/third_party/coreos-overlay/sys-apps/kexec-tools/files/kexec.init-2.0.13-r1
vendored
Normal file
@ -0,0 +1,186 @@
|
|||||||
|
#!/sbin/openrc-run
|
||||||
|
# Copyright 1999-2017 Gentoo Foundation
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
# Set up some defaults.
|
||||||
|
: "${LOAD_DURING_SHUTDOWN:=yes}"
|
||||||
|
: "${BOOTPART:=/boot}"
|
||||||
|
: "${DONT_MOUNT_BOOT:=no}"
|
||||||
|
|
||||||
|
depend() {
|
||||||
|
need localmount
|
||||||
|
}
|
||||||
|
|
||||||
|
auto_prefix_bootpath() {
|
||||||
|
# Only auto-add prefix to relative paths.
|
||||||
|
case $1 in
|
||||||
|
*/*) echo "$1";;
|
||||||
|
*) echo "${BOOTPART}/$1" ;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
get_genkernel_arch() {
|
||||||
|
case $1 in
|
||||||
|
x86_64) echo "amd64" ;;
|
||||||
|
i[3456]86) echo "x86" ;;
|
||||||
|
*) echo "$1" ;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
image_path() {
|
||||||
|
# Do no sanity checking if the user has set a value.
|
||||||
|
if [ -n "${KNAME}" ]; then
|
||||||
|
auto_prefix_bootpath "${KNAME}"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
local x kver="$(uname -r)" karch="$(uname -m)"
|
||||||
|
local gkarch="$(get_genkernel_arch $karch)"
|
||||||
|
for x in \
|
||||||
|
"bzImage" \
|
||||||
|
"vmlinuz" \
|
||||||
|
"bzImage-${kver}" \
|
||||||
|
"vmlinuz-${kver}" \
|
||||||
|
"kernel-genkernel-${karch}-${kver}" \
|
||||||
|
"kernel-genkernel-${gkarch}-${kver}" \
|
||||||
|
"kernel-${kver}" \
|
||||||
|
"kernel-${karch}"; do
|
||||||
|
if [ -e "${BOOTPART}/${x}" ]; then
|
||||||
|
echo "${BOOTPART}/${x}"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
initrd_path() {
|
||||||
|
# Do no sanity checking if the user has set a value.
|
||||||
|
if [ -n "${INITRD}" ]; then
|
||||||
|
auto_prefix_bootpath "${INITRD}"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
local x kver="$(uname -r)" karch="$(uname -m)"
|
||||||
|
local gkarch="$(get_genkernel_arch $karch)"
|
||||||
|
for x in \
|
||||||
|
"initrd" \
|
||||||
|
"initrd.img-${kver}" \
|
||||||
|
"initrd-${kver}.img" \
|
||||||
|
"initrd-${kver}" \
|
||||||
|
"initramfs-${kver}.img" \
|
||||||
|
"initramfs-genkernel-${karch}-${kver}" \
|
||||||
|
"initramfs-genkernel-${gkarch}-${kver}"; do
|
||||||
|
if [ -e "${BOOTPART}/${x}" ]; then
|
||||||
|
echo "${BOOTPART}/${x}"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
mount_boot() {
|
||||||
|
[ "${DONT_MOUNT_BOOT}" != "no" ] && return 1
|
||||||
|
mountinfo -q "${BOOTPART}" && return 1
|
||||||
|
|
||||||
|
ebegin "Mounting ${BOOTPART}"
|
||||||
|
mount "${BOOTPART}"
|
||||||
|
eend $?
|
||||||
|
}
|
||||||
|
|
||||||
|
load_image() {
|
||||||
|
if [ "${KNAME}" = "-" ]; then
|
||||||
|
ebegin "Disabling kexec"
|
||||||
|
kexec -u
|
||||||
|
eend $?
|
||||||
|
return # eend preserved $? for us.
|
||||||
|
fi
|
||||||
|
|
||||||
|
local img initrd="$(initrd_path)" mounted=false kparamopt initrdopt
|
||||||
|
|
||||||
|
if ! img="$(image_path)"; then
|
||||||
|
if mount_boot; then
|
||||||
|
if img="$(image_path)"; then
|
||||||
|
mounted=true
|
||||||
|
initrd="$(initrd_path)"
|
||||||
|
else
|
||||||
|
eerror "No kernel image found in ${BOOTPART}!"
|
||||||
|
umount "${BOOTPART}"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
eerror "No kernel image found in ${BOOTPART}!"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "${ROOTPART}" ]; then
|
||||||
|
ROOTPART="$(readlink -f "$(sed -n '/^\/[^ ]* \/ / s,^\([^ ]*\).*,\1,p' /proc/mounts)")"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "${KPARAM}" ]; then
|
||||||
|
kparamopt="--reuse-cmdline"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "${initrd}" ]; then
|
||||||
|
initrdopt="--initrd=${initrd}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
local msg
|
||||||
|
[ -n "${initrd}" ] && \
|
||||||
|
msg=" (with ${initrd})"
|
||||||
|
ebegin "Using kernel image ${img}${msg} for kexec"
|
||||||
|
|
||||||
|
kexec ${KEXEC_OPT_ARGS} ${kparamopt} \
|
||||||
|
-l "${img}" --append="root=${ROOTPART} ${KPARAM}" ${initrdopt}
|
||||||
|
local ret=$?
|
||||||
|
|
||||||
|
${mounted} && umount "${BOOTPART}"
|
||||||
|
eend ${ret}
|
||||||
|
return ${ret}
|
||||||
|
}
|
||||||
|
|
||||||
|
start() {
|
||||||
|
if [ "${LOAD_DURING_SHUTDOWN}" = "yes" ]; then
|
||||||
|
local mounted
|
||||||
|
if mount_boot; then
|
||||||
|
mounted=true
|
||||||
|
fi
|
||||||
|
if ! image_path >/dev/null; then
|
||||||
|
ewarn "Cannot find kernel image!"
|
||||||
|
ewarn "Please make sure a valid kernel image is present before reboot."
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
if [ -n "${mounted}" ]; then
|
||||||
|
ebegin "Unmounting ${BOOTPART}"
|
||||||
|
umount "${BOOTPART}"
|
||||||
|
eend $?
|
||||||
|
fi
|
||||||
|
# $? is already set to the previous calls.
|
||||||
|
return
|
||||||
|
else
|
||||||
|
load_image
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
stop() {
|
||||||
|
if ! yesno ${RC_REBOOT}; then
|
||||||
|
ebegin "Not rebooting; disabling kexec"
|
||||||
|
kexec -u
|
||||||
|
eend $?
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f /nokexec ]; then
|
||||||
|
ebegin "Rebooting; disabling kexec due to /nokexec"
|
||||||
|
rm -f /nokexec
|
||||||
|
kexec -u
|
||||||
|
eend $?
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "${LOAD_DURING_SHUTDOWN}" = "yes" ]; then
|
||||||
|
load_image
|
||||||
|
fi
|
||||||
|
}
|
16
sdk_container/src/third_party/coreos-overlay/sys-apps/kexec-tools/files/kexec.service
vendored
Normal file
16
sdk_container/src/third_party/coreos-overlay/sys-apps/kexec-tools/files/kexec.service
vendored
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Gracefully restart the box
|
||||||
|
Documentation=man:kexec(8)
|
||||||
|
After=boot.mount
|
||||||
|
Before=shutdown.target umount.target final.target
|
||||||
|
ConditionPathExists=!/nokexec
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
RemainAfterExit=yes
|
||||||
|
EnvironmentFile=/etc/kexec.conf
|
||||||
|
ExecStart=/usr/sbin/kexec -l /boot/${KNAME} ${KEXEC_OPT_ARGS}
|
||||||
|
ExecStop=/usr/sbin/kexec -l /boot/${KNAME} ${KEXEC_OPT_ARGS}
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
81
sdk_container/src/third_party/coreos-overlay/sys-apps/kexec-tools/kexec-tools-2.0.16.ebuild
vendored
Normal file
81
sdk_container/src/third_party/coreos-overlay/sys-apps/kexec-tools/kexec-tools-2.0.16.ebuild
vendored
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
# Copyright 1999-2017 Gentoo Foundation
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=6
|
||||||
|
|
||||||
|
if [[ ${PV} == "9999" ]] ; then
|
||||||
|
inherit git-r3
|
||||||
|
EGIT_REPO_URI="git://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git"
|
||||||
|
AUTOTOOLS_AUTORECONF=true
|
||||||
|
else
|
||||||
|
SRC_URI="mirror://kernel/linux/utils/kernel/kexec/${P}.tar.xz"
|
||||||
|
KEYWORDS="~amd64 ~arm64 ~x86"
|
||||||
|
fi
|
||||||
|
|
||||||
|
inherit libtool linux-info systemd
|
||||||
|
|
||||||
|
DESCRIPTION="Load another kernel from the currently executing Linux kernel"
|
||||||
|
HOMEPAGE="https://kernel.org/pub/linux/utils/kernel/kexec/"
|
||||||
|
|
||||||
|
LICENSE="GPL-2"
|
||||||
|
SLOT="0"
|
||||||
|
IUSE="booke lzma xen zlib"
|
||||||
|
|
||||||
|
REQUIRED_USE="lzma? ( zlib )"
|
||||||
|
|
||||||
|
DEPEND="
|
||||||
|
lzma? ( app-arch/xz-utils )
|
||||||
|
zlib? ( sys-libs/zlib )"
|
||||||
|
RDEPEND="${DEPEND}"
|
||||||
|
|
||||||
|
CONFIG_CHECK="~KEXEC"
|
||||||
|
|
||||||
|
PATCHES=(
|
||||||
|
"${FILESDIR}"/${PN}-2.0.4-disable-kexec-test.patch
|
||||||
|
"${FILESDIR}"/${PN}-2.0.4-out-of-source.patch
|
||||||
|
)
|
||||||
|
|
||||||
|
pkg_setup() {
|
||||||
|
# GNU Make's $(COMPILE.S) passes ASFLAGS to $(CCAS), CCAS=$(CC)
|
||||||
|
export ASFLAGS="${CCASFLAGS}"
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
default
|
||||||
|
elibtoolize
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
local myeconfargs=(
|
||||||
|
$(use_with booke)
|
||||||
|
$(use_with lzma)
|
||||||
|
$(use_with xen)
|
||||||
|
$(use_with zlib)
|
||||||
|
)
|
||||||
|
econf "${myeconfargs[@]}"
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
default
|
||||||
|
|
||||||
|
dodoc "${FILESDIR}"/README.Gentoo
|
||||||
|
|
||||||
|
newinitd "${FILESDIR}"/kexec.init-2.0.13-r1 kexec
|
||||||
|
newconfd "${FILESDIR}"/kexec.conf-2.0.4 kexec
|
||||||
|
|
||||||
|
insinto /etc
|
||||||
|
doins "${FILESDIR}"/kexec.conf
|
||||||
|
|
||||||
|
insinto /etc/kernel/postinst.d
|
||||||
|
doins "${FILESDIR}"/90_kexec
|
||||||
|
|
||||||
|
systemd_dounit "${FILESDIR}"/kexec.service
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
if systemd_is_booted || has_version sys-apps/systemd; then
|
||||||
|
elog "For systemd support the new config file is"
|
||||||
|
elog " /etc/kexec.conf"
|
||||||
|
elog "Please adopt it to your needs as there is no autoconfig anymore"
|
||||||
|
fi
|
||||||
|
}
|
13
sdk_container/src/third_party/coreos-overlay/sys-apps/kexec-tools/metadata.xml
vendored
Normal file
13
sdk_container/src/third_party/coreos-overlay/sys-apps/kexec-tools/metadata.xml
vendored
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||||
|
<pkgmetadata>
|
||||||
|
<maintainer type="project">
|
||||||
|
<email>base-system@gentoo.org</email>
|
||||||
|
<name>Gentoo Base System</name>
|
||||||
|
</maintainer>
|
||||||
|
<use>
|
||||||
|
<flag name="lzma">Enables support for LZMA compressed kernel images</flag>
|
||||||
|
<flag name="booke">Include support for Book-E memory management</flag>
|
||||||
|
<flag name="xen">Enable extended xen support</flag>
|
||||||
|
</use>
|
||||||
|
</pkgmetadata>
|
Loading…
x
Reference in New Issue
Block a user