Initial commit
Some checks failed
Build Kernel / Build all affected Kernels (push) Has been cancelled
Build all core packages / Build all core packages for selected target (push) Has been cancelled
Build and Push prebuilt tools container / Build and Push all prebuilt containers (push) Has been cancelled
Build Toolchains / Build Toolchains for each target (push) Has been cancelled
Build host tools / Build host tools for linux and macos based systems (push) Has been cancelled
Coverity scan build / Coverity x86/64 build (push) Has been cancelled
Some checks failed
Build Kernel / Build all affected Kernels (push) Has been cancelled
Build all core packages / Build all core packages for selected target (push) Has been cancelled
Build and Push prebuilt tools container / Build and Push all prebuilt containers (push) Has been cancelled
Build Toolchains / Build Toolchains for each target (push) Has been cancelled
Build host tools / Build host tools for linux and macos based systems (push) Has been cancelled
Coverity scan build / Coverity x86/64 build (push) Has been cancelled
This commit is contained in:
132
package/boot/kexec-tools/Makefile
Normal file
132
package/boot/kexec-tools/Makefile
Normal file
@@ -0,0 +1,132 @@
|
||||
#
|
||||
# Copyright (C) 2006-2012 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=kexec-tools
|
||||
PKG_VERSION:=2.0.28
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||
PKG_SOURCE_URL:=@KERNEL/linux/utils/kernel/kexec
|
||||
PKG_HASH:=d2f0ef872f39e2fe4b1b01feb62b0001383207239b9f8041f98a95564161d053
|
||||
|
||||
PKG_CONFIG_DEPENDS := CONFIG_KEXEC_ZLIB CONFIG_KEXEC_LZMA
|
||||
|
||||
PKG_BUILD_FLAGS:=gc-sections
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/kexec-tools/Default
|
||||
SECTION:=utils
|
||||
CATEGORY:=Utilities
|
||||
URL:=http://kernel.org/pub/linux/kernel/people/horms/kexec-tools/
|
||||
endef
|
||||
|
||||
define Package/kexec-tools
|
||||
$(call Package/kexec-tools/Default)
|
||||
TITLE:=kexec-tools transition meta package
|
||||
DEPENDS:=+kexec
|
||||
endef
|
||||
|
||||
define Package/kexec-tools/description
|
||||
kexec is a set of system calls that allows you to load
|
||||
another kernel from the currently executing Linux kernel.
|
||||
The kexec utility allows to load and boot another kernel.
|
||||
endef
|
||||
|
||||
define Package/kexec
|
||||
$(call Package/kexec-tools/Default)
|
||||
TITLE:=Kernel boots kernel
|
||||
DEPENDS:=\
|
||||
@(armeb||arm||i386||x86_64||powerpc64||mipsel||mips) \
|
||||
+KEXEC_ZLIB:zlib +KEXEC_LZMA:liblzma @KERNEL_KEXEC
|
||||
endef
|
||||
|
||||
define Package/kexec/description
|
||||
The kexec utility allows to load and boot another kernel.
|
||||
endef
|
||||
|
||||
define Package/kdump
|
||||
$(call Package/kexec-tools/Default)
|
||||
TITLE:=Kernel crash analysis
|
||||
DEPENDS:=+kexec @(i386||x86_64||arm) @KERNEL_CRASH_DUMP
|
||||
endef
|
||||
|
||||
define Package/kdump/description
|
||||
The kdump package allows to automatically boot into a
|
||||
special kernel for analyzing kernel crashes using kdump.
|
||||
endef
|
||||
|
||||
define Package/kexec/config
|
||||
source "$(SOURCE)/Config.in"
|
||||
endef
|
||||
|
||||
KEXEC_TARGET_NAME:=$(ARCH)-linux-$(TARGET_SUFFIX)
|
||||
|
||||
CONFIGURE_ARGS = \
|
||||
--target=$(KEXEC_TARGET_NAME) \
|
||||
--host=$(REAL_GNU_TARGET_NAME) \
|
||||
--build=$(GNU_HOST_NAME) \
|
||||
--program-prefix="" \
|
||||
--program-suffix="" \
|
||||
--prefix=/usr \
|
||||
--exec-prefix=/usr \
|
||||
--bindir=/usr/bin \
|
||||
--sbindir=/usr/sbin \
|
||||
--libexecdir=/usr/lib \
|
||||
--sysconfdir=/etc \
|
||||
$(if $(CONFIG_KEXEC_ZLIB),--with,--without)-zlib \
|
||||
$(if $(CONFIG_KEXEC_LZMA),--with,--without)-lzma \
|
||||
TARGET_LD="$(TARGET_CROSS)ld"
|
||||
|
||||
CONFIGURE_VARS += \
|
||||
BUILD_CC="$(HOSTCC)" \
|
||||
TARGET_CC="$(TARGET_CC)"
|
||||
|
||||
define Build/Compile
|
||||
$(MAKE) -C $(PKG_BUILD_DIR) DESTDIR="$(PKG_INSTALL_DIR)" all install
|
||||
endef
|
||||
|
||||
define Package/kexec-tools/install
|
||||
:
|
||||
endef
|
||||
|
||||
define Package/kexec/install
|
||||
$(INSTALL_DIR) $(1)/usr/sbin
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/kexec $(1)/usr/sbin
|
||||
|
||||
# make a link for compatability with other distros
|
||||
$(INSTALL_DIR) $(1)/sbin
|
||||
$(LN) ../usr/sbin/kexec $(1)/sbin/kexec
|
||||
endef
|
||||
|
||||
define Package/kdump/install
|
||||
$(INSTALL_DIR) $(1)/usr/sbin $(1)/etc/init.d $(1)/etc/config $(1)/etc/uci-defaults
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/vmcore-dmesg $(1)/usr/sbin
|
||||
$(INSTALL_BIN) ./files/kdump.init $(1)/etc/init.d/kdump
|
||||
$(INSTALL_BIN) ./files/kdump.defaults $(1)/etc/uci-defaults/kdump
|
||||
$(INSTALL_CONF) ./files/kdump.config $(1)/etc/config/kdump
|
||||
endef
|
||||
|
||||
define Package/kdump/prerm
|
||||
#!/bin/sh
|
||||
|
||||
case $$(uname -m) in
|
||||
i?86|x86_64)
|
||||
if grep -q " crashkernel=" /boot/grub/grub.cfg; then
|
||||
mount /boot -o remount,rw
|
||||
sed -i 's/ crashkernel=[^ ]*//' /boot/grub/grub.cfg
|
||||
mount /boot -o remount,ro
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,kexec-tools))
|
||||
$(eval $(call BuildPackage,kexec))
|
||||
$(eval $(call BuildPackage,kdump))
|
||||
Reference in New Issue
Block a user