This commit is contained in:
TriForceX
2019-09-25 20:51:37 -03:00
commit 6203ff3e7c
11215 changed files with 428258 additions and 0 deletions

View File

@@ -0,0 +1,34 @@
From 0a654c20e1b9324c57ba4116b52fb6ab33847e1d Mon Sep 17 00:00:00 2001
From: Jeremy Kerr <jk@ozlabs.org>
Date: Thu, 8 Aug 2013 17:16:31 +0800
Subject: [PATCH] kexec: Implement clean restart for busybox init
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
---
kexec.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/kexec.c b/kexec.c
index 2edb7df..b2a0c42 100644
--- a/kexec.c
+++ b/kexec.c
@@ -27,6 +27,7 @@
#include <fcntl.h>
#include <errno.h>
#include <syscall.h>
+#include <signal.h>
#include <libfdt.h>
#include <getopt.h>
#include <sys/types.h>
@@ -818,7 +819,7 @@ int main(int argc, char *argv[])
sync();
exec_kexec();
} else {
- execlp("shutdown", "shutdown", "-r", "now", NULL);
+ kill(1, SIGQUIT);
}
return -1;
--
1.7.10.4

View File

@@ -0,0 +1,21 @@
config BR2_PACKAGE_KEXEC_LITE
bool "kexec-lite"
depends on BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le
depends on !BR2_STATIC_LIBS # dtc, elfutils
depends on BR2_USE_WCHAR # elfutils
depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC # elfutils
select BR2_PACKAGE_ELFUTILS
select BR2_PACKAGE_DTC
select BR2_PACKAGE_DTC_PROGRAMS
help
Kexec is a user space utiltity for loading another kernel
and asking the currently running kernel to do something with
it.
This package is a tiny implementation of the kexec userspace
components, for devicetree-based platforms.
comment "kexec-lite needs a uClibc or glibc toolchain w/ wchar, dynamic library"
depends on BR2_powerpc || BR2_powerpc64
depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR \
|| !(BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC)

View File

@@ -0,0 +1,2 @@
# Locally calculated
sha256 2e9b131324cec9d27840179daa35e3159a4032ff78b74e301850faa007567d0e kexec-lite-87d044a895b1c004320a2676099a54a5a2a74f2e.tar.gz

View File

@@ -0,0 +1,21 @@
################################################################################
#
# kexec-lite
#
################################################################################
KEXEC_LITE_VERSION = 87d044a895b1c004320a2676099a54a5a2a74f2e
KEXEC_LITE_SITE = $(call github,antonblanchard,kexec-lite,$(KEXEC_LITE_VERSION))
KEXEC_LITE_LICENSE = GPL-2.0+
KEXEC_LITE_LICENSE_FILES = COPYING
KEXEC_LITE_DEPENDENCIES = elfutils dtc
define KEXEC_LITE_BUILD_CMDS
$(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) all
endef
define KEXEC_LITE_INSTALL_TARGET_CMDS
$(INSTALL) -D -m 755 $(@D)/kexec $(TARGET_DIR)/usr/sbin/kexec
endef
$(eval $(generic-package))