mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-20 05:51:18 +02:00
sys-apps/kexec-tools: Move back to portage-stable
This commit is contained in:
parent
b3d2dfd486
commit
b651d349b7
@ -1,14 +0,0 @@
|
||||
DEFINED_PHASES=configure install postinst prepare setup
|
||||
DEPEND=lzma? ( app-arch/xz-utils ) zlib? ( sys-libs/zlib ) >=app-portage/elt-patches-20170815 virtual/pkgconfig
|
||||
DESCRIPTION=Load another kernel from the currently executing Linux kernel
|
||||
EAPI=6
|
||||
HOMEPAGE=https://kernel.org/pub/linux/utils/kernel/kexec/
|
||||
IUSE=booke lzma xen zlib kernel_linux
|
||||
KEYWORDS=~amd64 ~arm64 ~x86
|
||||
LICENSE=GPL-2
|
||||
RDEPEND=lzma? ( app-arch/xz-utils ) zlib? ( sys-libs/zlib )
|
||||
REQUIRED_USE=lzma? ( zlib )
|
||||
SLOT=0
|
||||
SRC_URI=mirror://kernel/linux/utils/kernel/kexec/kexec-tools-2.0.16.tar.xz
|
||||
_eclasses_=eapi7-ver 756b3f27d8e46131d5cf3c51bd876446 libtool f143db5a74ccd9ca28c1234deffede96 linux-info 953c3b1c472dcadbf62098a9301327f2 multilib b2f01ad412baf81650c23fcf0975fa33 systemd 47c677ae1d7b69031f11f630ac09f0d1 toolchain-funcs f164325a2cdb5b3ea39311d483988861
|
||||
_md5_=6811a0b93cdd4407f9c3a3ceb5e06877
|
@ -1 +0,0 @@
|
||||
DIST kexec-tools-2.0.16.tar.xz 287888 BLAKE2B 7e7bbe11dc2792be3cab6318c12b6866bf6b373fb7bf2d7601ef68a39dd5882aceab7c8905ce0d9b0af1da2072b3f3d2677bd9e006676c484e1d6506ac7036fa SHA512 f2f06e7702fef20c8d7d6aabe1b264e2e2689e5c38cc00dbc2186dd7fa0479edb2dc9e307dd2ad7f03db47015e966e577f11576172604ef01c1bcca471fe2c24
|
@ -1,9 +0,0 @@
|
||||
#!/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
|
@ -1,33 +0,0 @@
|
||||
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
|
@ -1,27 +0,0 @@
|
||||
From 9d291e5a9425e23dd90c6fd79081bafd5bcd4c32 Mon Sep 17 00:00:00 2001
|
||||
From: David Michael <david.michael@coreos.com>
|
||||
Date: Sun, 7 Jan 2018 11:05:06 -0500
|
||||
Subject: [PATCH] arm64: Set -fno-PIC along with -mcmodel=large
|
||||
|
||||
As seen in GCC's gcc/config/aarch64/aarch64.c, -fPIC with large
|
||||
code model is unsupported. This fixes the "sorry, unimplemented"
|
||||
errors when building with compilers defaulting to -fPIC.
|
||||
---
|
||||
purgatory/arch/arm64/Makefile | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/purgatory/arch/arm64/Makefile b/purgatory/arch/arm64/Makefile
|
||||
index 636abea..80068ca 100644
|
||||
--- a/purgatory/arch/arm64/Makefile
|
||||
+++ b/purgatory/arch/arm64/Makefile
|
||||
@@ -1,6 +1,7 @@
|
||||
|
||||
arm64_PURGATORY_EXTRA_CFLAGS = \
|
||||
-mcmodel=large \
|
||||
+ -fno-PIC \
|
||||
-fno-stack-protector \
|
||||
-fno-asynchronous-unwind-tables \
|
||||
-Wundef \
|
||||
--
|
||||
2.14.3
|
||||
|
@ -1,17 +0,0 @@
|
||||
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)
|
||||
|
@ -1,24 +0,0 @@
|
||||
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
|
@ -1,16 +0,0 @@
|
||||
# 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"
|
@ -1,34 +0,0 @@
|
||||
# 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"
|
@ -1,186 +0,0 @@
|
||||
#!/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
|
||||
}
|
@ -1,16 +0,0 @@
|
||||
[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
|
@ -1,82 +0,0 @@
|
||||
# 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
|
||||
"${FILESDIR}"/${P}-arm64-no-PIC.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
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
<?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