Redesign for new eclass
This commit is contained in:
@@ -1,55 +0,0 @@
|
||||
# Copyright 2004-2009 Sabayon Project
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $
|
||||
|
||||
inherit eutils
|
||||
|
||||
# @ECLASS-VARIABLE: KERN_INITRAMFS_SEARCH_NAME
|
||||
# @DESCRIPTION:
|
||||
# Argument used by `find` to search inside ${ROOT}boot Linux
|
||||
# Kernel initramfs files to patch
|
||||
KERN_INITRAMFS_SEARCH_NAME="${KERN_INITRAMFS_SEARCH_NAME:-initramfs-genkernel*}"
|
||||
|
||||
# @ECLASS-VARIABLE: GFX_SPLASH_NAME
|
||||
# @DESCRIPTION:
|
||||
# Default splash theme name to use
|
||||
GFX_SPLASH_NAME="${GFX_SPLASH_NAME:-sabayon}"
|
||||
|
||||
# @FUNCTION: update_kernel_initramfs_splash
|
||||
# @USAGE: update_kernel_initramfs_splash [splash_theme] [splash_file]
|
||||
# @RETURN: 1, if something went wrong
|
||||
#
|
||||
# @MAINTAINER:
|
||||
# Fabio Erculiani
|
||||
update_kernel_initramfs_splash() {
|
||||
|
||||
[[ -z "${2}" ]] && die "wrong update_kernel_splash arguments"
|
||||
|
||||
if ! has_version "media-gfx/splashutils"; then
|
||||
ewarn "media-gfx/splashutils not found, cannot update kernel splash"
|
||||
return 1
|
||||
fi
|
||||
splash_geninitramfs -a "${2}" ${1}
|
||||
return ${?}
|
||||
|
||||
}
|
||||
|
||||
# @FUNCTION: update_sabayon_kernel_initramfs_splash
|
||||
# @USAGE: update_sabayon_kernel_initramfs_splash
|
||||
#
|
||||
# @MAINTAINER:
|
||||
# Fabio Erculiani
|
||||
update_sabayon_kernel_initramfs_splash() {
|
||||
local splash_name="${GFX_SPLASH_NAME}"
|
||||
local override_splash_file="${ROOT}etc/oem/splash_name"
|
||||
if [ -f "${override_splash_file}" ]; then
|
||||
found_splash_name=$(cat "${override_splash_file}" | cut -d" " -f 1)
|
||||
if [ -d "/etc/splash/${found_splash_name}" ]; then
|
||||
splash_name="${found_splash_name}"
|
||||
fi
|
||||
fi
|
||||
for bootfile in `find ${ROOT}boot -name "${KERN_INITRAMFS_SEARCH_NAME}"`; do
|
||||
einfo "Updating boot splash for ${bootfile}"
|
||||
update_kernel_initramfs_splash "${GFX_SPLASH_NAME}" "${bootfile}"
|
||||
done
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
865
eclass/sablink-kernel.eclass.diff
Normal file
865
eclass/sablink-kernel.eclass.diff
Normal file
@@ -0,0 +1,865 @@
|
||||
--- sabayon-kernel.eclass 2013-12-06 10:17:33.000000000 +0100
|
||||
+++ nas-kernel.eclass 2013-11-10 23:18:44.459733043 +0100
|
||||
@@ -2,51 +2,51 @@
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $
|
||||
|
||||
-# @ECLASS-VARIABLE: K_SABPATCHES_VER
|
||||
+# @ECLASS-VARIABLE: K_NASPATCHES_VER
|
||||
# @DESCRIPTION:
|
||||
-# The version of the sabayon patches tarball(s) to apply.
|
||||
+# The version of the sablink patches tarball(s) to apply.
|
||||
# A value of "5" would apply 2.6.12-5 to my-sources-2.6.12.ebuild
|
||||
|
||||
-# @ECLASS-VARIABLE: K_SABKERNEL_NAME
|
||||
+# @ECLASS-VARIABLE: K_NASKERNEL_NAME
|
||||
# @DESCRIPTION:
|
||||
# The kernel name used by the ebuild, it should be the ending ${PN} part
|
||||
-# for example, of linux-sabayon it is "${PN/${PN/-*}-}" (sabayon)
|
||||
-K_SABKERNEL_NAME="${K_SABKERNEL_NAME:-${PN/${PN/-*}-}}"
|
||||
+# for example, of linux-sablink it is "${PN/${PN/-*}-}" (sablink)
|
||||
+K_NASKERNEL_NAME="${K_NASKERNEL_NAME:-${PN/${PN/-*}-}}"
|
||||
|
||||
-# @ECLASS-VARIABLE: K_SABKERNEL_URI_CONFIG
|
||||
+# @ECLASS-VARIABLE: K_NASKERNEL_URI_CONFIG
|
||||
# @DESCRIPTION:
|
||||
# Set this either to "no" or "yes" depending on the location of the
|
||||
# kernel config files. If they are inside FILESDIR (old location)
|
||||
# leave this option set to "no", otherwise set this to "yes"
|
||||
-K_SABKERNEL_URI_CONFIG="${K_SABKERNEL_URI_CONFIG:-no}"
|
||||
+K_NASKERNEL_URI_CONFIG="${K_NASKERNEL_URI_CONFIG:-no}"
|
||||
|
||||
-# @ECLASS-VARIABLE: K_SABKERNEL_SELF_TARBALL_NAME
|
||||
+# @ECLASS-VARIABLE: K_NASKERNEL_SELF_TARBALL_NAME
|
||||
# @DESCRIPTION:
|
||||
# If the main kernel sources tarball is generated in-house and available
|
||||
-# on the "sabayon" mirror, set this variable to the extension name (see example
|
||||
+# on the "sablink" mirror, set this variable to the extension name (see example
|
||||
# below). This will disable ALL the extra/local patches (since they have to
|
||||
-# be applied inside the tarball). Moreover, K_SABKERNEL_URI_CONFIG,
|
||||
-# K_SABPATCHES_VER, K_SABKERNEL_NAME, K_KERNEL_PATCH_VER will be ignored.
|
||||
+# be applied inside the tarball). Moreover, K_NASKERNEL_URI_CONFIG,
|
||||
+# K_NASPATCHES_VER, K_NASKERNEL_NAME, K_KERNEL_PATCH_VER will be ignored.
|
||||
# Example:
|
||||
-# K_SABKERNEL_SELF_TARBALL_NAME="sabayon"
|
||||
+# K_NASKERNEL_SELF_TARBALL_NAME="sablink"
|
||||
# This would generate:
|
||||
-# SRC_URI="mirror://sabayon/sys-kernel/linux-${PV}+sabayon.tar.bz2"
|
||||
-K_SABKERNEL_SELF_TARBALL_NAME="${K_SABKERNEL_SELF_TARBALL_NAME:-}"
|
||||
+# SRC_URI="mirror://sablink/sys-kernel/linux-${PV}+sablink.tar.bz2"
|
||||
+K_NASKERNEL_SELF_TARBALL_NAME="${K_NASKERNEL_SELF_TARBALL_NAME:-}"
|
||||
|
||||
-# @ECLASS-VARIABLE: K_SABKERNEL_FORCE_SUBLEVEL
|
||||
+# @ECLASS-VARIABLE: K_NASKERNEL_FORCE_SUBLEVEL
|
||||
# @DESCRIPTION:
|
||||
# Force the rewrite of SUBLEVEL in kernel sources Makefile
|
||||
-K_SABKERNEL_FORCE_SUBLEVEL="${K_SABKERNEL_FORCE_SUBLEVEL:-}"
|
||||
+K_NASKERNEL_FORCE_SUBLEVEL="${K_NASKERNEL_FORCE_SUBLEVEL:-}"
|
||||
|
||||
-# @ECLASS-VARIABLE: K_SABKERNEL_RESET_EXTRAVERSION
|
||||
+# @ECLASS-VARIABLE: K_NASKERNEL_RESET_EXTRAVERSION
|
||||
# @DESCRIPTION:
|
||||
# Force the rewrite of EXTRAVERSION in kernel sources Makefile (setting it to "")
|
||||
-K_SABKERNEL_RESET_EXTRAVERSION="${K_SABKERNEL_RESET_EXTRAVERSION:-}"
|
||||
+K_NASKERNEL_RESET_EXTRAVERSION="${K_NASKERNEL_RESET_EXTRAVERSION:-}"
|
||||
|
||||
-# @ECLASS-VARIABLE: K_SABKERNEL_LONGTERM
|
||||
+# @ECLASS-VARIABLE: K_NASKERNEL_LONGTERM
|
||||
# @DESCRIPTION:
|
||||
# Consider Kernel stable patchset as longterm (changing URL)
|
||||
-K_SABKERNEL_LONGTERM="${K_SABKERNEL_LONGTERM:-}"
|
||||
+K_NASKERNEL_LONGTERM="${K_NASKERNEL_LONGTERM:-}"
|
||||
|
||||
# @ECLASS-VARIABLE: K_KERNEL_SOURCES_PKG
|
||||
# @DESCRIPTION:
|
||||
@@ -82,7 +82,7 @@
|
||||
# firmware pkgs.
|
||||
K_KERNEL_SLOT_USEPVR="${K_KERNEL_SLOT_USEPVR:-0}"
|
||||
|
||||
-# @ECLASS-VARIABLE: K_SABKERNEL_FIRMWARE
|
||||
+# @ECLASS-VARIABLE: K_NASKERNEL_FIRMWARE
|
||||
# @DESCRIPTION:
|
||||
# Set this to "1" if your ebuild is a kernel firmware package
|
||||
K_FIRMWARE_PACKAGE="${K_FIRMWARE_PACKAGE:-}"
|
||||
@@ -127,40 +127,40 @@
|
||||
# [ARM ONLY] Provide the ramdisk entry point address to be used with mkimage
|
||||
K_MKIMAGE_RAMDISK_ENTRYPOINT="${K_MKIMAGE_RAMDISK_ENTRYPOINT:-}"
|
||||
|
||||
-KERN_INITRAMFS_SEARCH_NAME="${KERN_INITRAMFS_SEARCH_NAME:-initramfs-genkernel*${K_SABKERNEL_NAME}}"
|
||||
+KERN_INITRAMFS_SEARCH_NAME="${KERN_INITRAMFS_SEARCH_NAME:-initramfs-genkernel*${K_NASKERNEL_NAME}}"
|
||||
|
||||
# Disable deblobbing feature
|
||||
K_DEBLOB_AVAILABLE=0
|
||||
ETYPE="sources"
|
||||
|
||||
-inherit eutils kernel-2 sabayon-artwork mount-boot linux-info
|
||||
+inherit eutils kernel-2 mount-boot linux-info
|
||||
|
||||
# from kernel-2 eclass
|
||||
detect_version
|
||||
detect_arch
|
||||
|
||||
-DESCRIPTION="Sabayon Linux kernel functions and phases"
|
||||
+DESCRIPTION="sablink Linux kernel functions and phases"
|
||||
|
||||
|
||||
K_LONGTERM_URL_STR=""
|
||||
-if [ -n "${K_SABKERNEL_LONGTERM}" ]; then
|
||||
+if [ -n "${K_NASKERNEL_LONGTERM}" ]; then
|
||||
K_LONGTERM_URL_STR="/longterm/v${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}"
|
||||
fi
|
||||
|
||||
## kernel-2 eclass settings
|
||||
-if [ -n "${K_SABKERNEL_SELF_TARBALL_NAME}" ]; then
|
||||
- SRC_URI="mirror://sabayon/${CATEGORY}/linux-${PVR}+${K_SABKERNEL_SELF_TARBALL_NAME}.tar.bz2"
|
||||
-elif [ -n "${K_SABPATCHES_VER}" ]; then
|
||||
+if [ -n "${K_NASKERNEL_SELF_TARBALL_NAME}" ]; then
|
||||
+ SRC_URI="mirror://sablink/${CATEGORY}/linux-${PVR}+${K_NASKERNEL_SELF_TARBALL_NAME}.tar.bz2"
|
||||
+elif [ -n "${K_NASPATCHES_VER}" ]; then
|
||||
UNIPATCH_STRICTORDER="yes"
|
||||
- K_SABPATCHES_PKG="${PV}-${K_SABPATCHES_VER}.tar.bz2"
|
||||
- UNIPATCH_LIST="${DISTFILES}/${K_SABPATCHES_PKG}"
|
||||
+ K_NASPATCHES_PKG="nas-patches-${PV}-${K_NASPATCHES_VER}.tar.bz2"
|
||||
+ UNIPATCH_LIST="${DISTFILES}/${K_NASPATCHES_PKG}"
|
||||
SRC_URI="${KERNEL_URI}
|
||||
- mirror://sabayon/${CATEGORY}/linux-sabayon-patches/${K_SABPATCHES_PKG}"
|
||||
+ mirror://sablink/${CATEGORY}/linux-nas-patches/${K_NASPATCHES_PKG}"
|
||||
else
|
||||
SRC_URI="${KERNEL_URI}"
|
||||
fi
|
||||
|
||||
-if [ -z "${K_SABKERNEL_SELF_TARBALL_NAME}" ]; then
|
||||
+if [ -z "${K_NASKERNEL_SELF_TARBALL_NAME}" ]; then
|
||||
if [ -n "${K_KERNEL_PATCH_VER}" ]; then
|
||||
K_PATCH_NAME="patch-${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}.${K_KERNEL_PATCH_VER}.bz2"
|
||||
SRC_URI="${SRC_URI}
|
||||
@@ -173,22 +173,24 @@
|
||||
UNIPATCH_LIST="${K_KERNEL_PATCH_HOTFIXES} ${UNIPATCH_LIST}"
|
||||
fi
|
||||
|
||||
+
|
||||
_get_real_kv_full() {
|
||||
if [[ "${KV_MAJOR}${KV_MINOR}" -eq 26 ]]; then
|
||||
echo "${ORIGINAL_KV_FULL}"
|
||||
elif [[ "${OKV/.*}" = "3" ]]; then
|
||||
- # Linux 3.x support, KV_FULL is set to: 3.0-sabayon
|
||||
+ # Linux 3.x support, KV_FULL is set to: 3.0-sablink
|
||||
# need to add another final .0 to the version part
|
||||
- echo "${ORIGINAL_KV_FULL/-/.0-}"
|
||||
+ # echo "${ORIGINAL_KV_FULL/-/.0-}"
|
||||
+ echo "${ORIGINAL_KV_FULL}"
|
||||
else
|
||||
echo "${ORIGINAL_KV_FULL}"
|
||||
fi
|
||||
}
|
||||
|
||||
-# replace "linux" with K_SABKERNEL_NAME, usually replaces
|
||||
-# "linux" with "sabayon" or "server" or "openvz"
|
||||
-KV_FULL="${KV_FULL/${PN/-*}/${K_SABKERNEL_NAME}}"
|
||||
-EXTRAVERSION="${EXTRAVERSION/${PN/-*}/${K_SABKERNEL_NAME}}"
|
||||
+# replace "linux" with K_NASKERNEL_NAME, usually replaces
|
||||
+# "linux" with "sablink" or "server" or "openvz"
|
||||
+KV_FULL="${KV_FULL/${PN/-*}/${K_NASKERNEL_NAME}}"
|
||||
+EXTRAVERSION="${EXTRAVERSION/${PN/-*}/${K_NASKERNEL_NAME}}"
|
||||
# drop -rX if exists
|
||||
if [[ -n "${PR//r0}" ]] && [[ "${K_KERNEL_DISABLE_PR_EXTRAVERSION}" = "1" ]] \
|
||||
&& [[ -z "${K_NOSETEXTRAVERSION}" ]]; then
|
||||
@@ -201,7 +203,7 @@
|
||||
KV_FULL="$(_get_real_kv_full)"
|
||||
|
||||
# Starting from linux-3.0, we still have to install
|
||||
-# sources stuff into /usr/src/linux-3.0.0-sabayon (example)
|
||||
+# sources stuff into /usr/src/linux-3.0.0-sablink (example)
|
||||
# where the last part must always match uname -r
|
||||
# otherwise kernel-switcher (and RELEASE_LEVEL file)
|
||||
# will complain badly
|
||||
@@ -232,22 +234,29 @@
|
||||
PROVIDE="virtual/linux-binary"
|
||||
fi
|
||||
|
||||
-if [ -n "${K_SABKERNEL_SELF_TARBALL_NAME}" ]; then
|
||||
- HOMEPAGE="http://gitweb.sabayon.org/?p=linux/kernel/sabayon.git;a=summary"
|
||||
+if [ -n "${K_NASKERNEL_SELF_TARBALL_NAME}" ]; then
|
||||
+ HOMEPAGE="http://gitweb.sablink.org/?p=linux/kernel/sablink.git;a=summary"
|
||||
else
|
||||
- HOMEPAGE="http://www.sabayon.org"
|
||||
+ HOMEPAGE="http://www.sablink.org"
|
||||
fi
|
||||
|
||||
# set SRC_URI
|
||||
-if [ -z "${K_SABKERNEL_SELF_TARBALL_NAME}" ]; then
|
||||
- if [ "${K_SABKERNEL_URI_CONFIG}" = "yes" ]; then
|
||||
- tmp_K_SABKERNEL_CONFIG_FILE="${K_SABKERNEL_CONFIG_FILE:-${K_SABKERNEL_NAME}-${PVR}-__ARCH__.config}"
|
||||
- # ARM not supported, if put in SRC_URI it tries to fetch it
|
||||
+if [ -z "${K_NASKERNEL_SELF_TARBALL_NAME}" ]; then
|
||||
+ if [ "${K_NASKERNEL_URI_CONFIG}" = "yes" ]; then
|
||||
+ tmp_K_NASKERNEL_CONFIG_FILE="${K_NASKERNEL_CONFIG_FILE:-${K_NASKERNEL_NAME}-${PVR}-__ARCH__.config}"
|
||||
+ tmp_K_NASKERNEL_FW_CONFIG_FILE="${K_NASKERNEL_FW_CONFIG_FILE:-${K_NASKERNEL_NAME}-fw_env-__ARCH__.config}"
|
||||
+ if [ -n "${K_NASCONFIGS_VER}" ]; then
|
||||
+ K_NASCONFIGS_PKG="nas-configs-${PV}-${K_NASCONFIGS_VER}.tar.bz2"
|
||||
+ SRC_URI="${SRC_URI}
|
||||
+ mirror://sablink/${CATEGORY}/linux-nas-configs/${K_NASCONFIGS_PKG}"
|
||||
+ else
|
||||
+ SRC_URI="${SRC_URI}
|
||||
+ arm? ( mirror://sablink/${CATEGORY}/linux-nas-patches/config/${tmp_K_NASKERNEL_FW_CONFIG_FILE/__ARCH__/arm} )"
|
||||
+ fi
|
||||
SRC_URI="${SRC_URI}
|
||||
- amd64? ( mirror://sabayon/${CATEGORY}/linux-sabayon-patches/config/${tmp_K_SABKERNEL_CONFIG_FILE/__ARCH__/amd64} )
|
||||
- x86? ( mirror://sabayon/${CATEGORY}/linux-sabayon-patches/config/${tmp_K_SABKERNEL_CONFIG_FILE/__ARCH__/x86} )"
|
||||
- # K_SABKERNEL_CONFIG_FILE will be set in _set_config_file_vars
|
||||
- unset tmp_K_SABKERNEL_CONFIG_FILE
|
||||
+ arm? ( mirror://sablink/${CATEGORY}/linux-nas-patches/config/${tmp_K_NASKERNEL_FW_CONFIG_FILE/__ARCH__/arm} )"
|
||||
+ # K_NASKERNEL_CONFIG_FILE will be set in _set_config_file_vars
|
||||
+ unset tmp_K_NASKERNEL_CONFIG_FILE
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -258,28 +267,24 @@
|
||||
|
||||
_set_config_file_vars() {
|
||||
# Setup kernel configuration file name
|
||||
- if [ -z "${K_SABKERNEL_SELF_TARBALL_NAME}" ]; then
|
||||
- if [ "${K_SABKERNEL_URI_CONFIG}" = "yes" ]; then
|
||||
- K_SABKERNEL_CONFIG_FILE="${K_SABKERNEL_CONFIG_FILE:-${K_SABKERNEL_NAME}-${PVR}-__ARCH__.config}"
|
||||
- use amd64 && K_SABKERNEL_CONFIG_FILE=${K_SABKERNEL_CONFIG_FILE/__ARCH__/amd64}
|
||||
- use x86 && K_SABKERNEL_CONFIG_FILE=${K_SABKERNEL_CONFIG_FILE/__ARCH__/x86}
|
||||
+ if [ -z "${K_NASKERNEL_SELF_TARBALL_NAME}" ]; then
|
||||
+ if [ "${K_NASKERNEL_URI_CONFIG}" = "yes" ]; then
|
||||
+ K_NASKERNEL_CONFIG_FILE="${K_NASKERNEL_CONFIG_FILE:-${K_NASKERNEL_NAME}-${PVR}-__ARCH__.config}"
|
||||
+ K_NASKERNEL_FW_CONFIG_FILE="${K_NASKERNEL_FW_CONFIG_FILE:-${K_NASKERNEL_NAME}-fw_env-__ARCH__.config}"
|
||||
+ use arm && K_NASKERNEL_CONFIG_FILE=${K_NASKERNEL_CONFIG_FILE/__ARCH__/arm}
|
||||
+ use arm && K_NASKERNEL_FW_CONFIG_FILE=${K_NASKERNEL_FW_CONFIG_FILE/__ARCH__/arm}
|
||||
else
|
||||
- use arm && K_SABKERNEL_CONFIG_FILE="${K_SABKERNEL_CONFIG_FILE:-${K_SABKERNEL_NAME}-${PVR}-arm.config}"
|
||||
- use amd64 && K_SABKERNEL_CONFIG_FILE="${K_SABKERNEL_CONFIG_FILE:-${K_SABKERNEL_NAME}-${PVR}-amd64.config}"
|
||||
- use x86 && K_SABKERNEL_CONFIG_FILE="${K_SABKERNEL_CONFIG_FILE:-${K_SABKERNEL_NAME}-${PVR}-x86.config}"
|
||||
- fi
|
||||
- else
|
||||
- K_SABKERNEL_CONFIG_FILE="${K_SABKERNEL_CONFIG_FILE:-${K_SABKERNEL_NAME}-${PVR}-__ARCH__.config}"
|
||||
- K_SABKERNEL_ALT_CONFIG_FILE="${K_SABKERNEL_ALT_CONFIG_FILE:-${K_SABKERNEL_NAME}-${PV}-__ARCH__.config}"
|
||||
- if use amd64; then
|
||||
- K_SABKERNEL_CONFIG_FILE=${K_SABKERNEL_CONFIG_FILE/__ARCH__/amd64}
|
||||
- K_SABKERNEL_ALT_CONFIG_FILE=${K_SABKERNEL_ALT_CONFIG_FILE/__ARCH__/amd64}
|
||||
- elif use x86; then
|
||||
- K_SABKERNEL_CONFIG_FILE=${K_SABKERNEL_CONFIG_FILE/__ARCH__/x86}
|
||||
- K_SABKERNEL_ALT_CONFIG_FILE=${K_SABKERNEL_ALT_CONFIG_FILE/__ARCH__/x86}
|
||||
- elif use arm; then
|
||||
- K_SABKERNEL_CONFIG_FILE=${K_SABKERNEL_CONFIG_FILE/__ARCH__/arm}
|
||||
- K_SABKERNEL_ALT_CONFIG_FILE=${K_SABKERNEL_ALT_CONFIG_FILE/__ARCH__/arm}
|
||||
+ use arm && K_NASKERNEL_CONFIG_FILE="${K_NASKERNEL_CONFIG_FILE:-${K_NASKERNEL_NAME}-${PVR}-arm.config}"
|
||||
+ use arm && K_NASKERNEL_FW_CONFIG_FILE="${K_NASKERNEL_FW_CONFIG_FILE:-${K_NASKERNEL_NAME}-fw_env-arm.config}"
|
||||
+ fi
|
||||
+ else
|
||||
+ K_NASKERNEL_CONFIG_FILE="${K_NASKERNEL_CONFIG_FILE:-${K_NASKERNEL_NAME}-${PVR}-__ARCH__.config}"
|
||||
+ K_NASKERNEL_ALT_CONFIG_FILE="${K_NASKERNEL_ALT_CONFIG_FILE:-${K_NASKERNEL_NAME}-${PV}-__ARCH__.config}"
|
||||
+ use arm && K_NASKERNEL_FW_CONFIG_FILE="${K_NASKERNEL_FW_CONFIG_FILE:-${K_NASKERNEL_NAME}-fw_env-arm.config}"
|
||||
+ if use arm; then
|
||||
+ K_NASKERNEL_CONFIG_FILE=${K_NASKERNEL_CONFIG_FILE/__ARCH__/arm}
|
||||
+ K_NASKERNEL_ALT_CONFIG_FILE=${K_NASKERNEL_ALT_CONFIG_FILE/__ARCH__/arm}
|
||||
+ K_NASKERNEL_FW_CONFIG_FILE=${K_NASKERNEL_FW_CONFIG_FILE/__ARCH__/arm}
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -291,14 +296,15 @@
|
||||
DEPEND="sys-apps/sed"
|
||||
RDEPEND="${RDEPEND}"
|
||||
else
|
||||
- IUSE="dmraid dracut iscsi luks lvm mdadm splash"
|
||||
+ IUSE="dmraid dracut iscsi lvm mdadm"
|
||||
DEPEND="app-arch/xz-utils
|
||||
sys-apps/sed
|
||||
sys-devel/make
|
||||
- >=sys-kernel/genkernel-3.4.16-r1
|
||||
- arm? ( dev-embedded/u-boot-tools )
|
||||
- splash? ( x11-themes/sabayon-artwork-core )
|
||||
- dracut? ( sys-kernel/dracut )"
|
||||
+ >=sys-kernel/genkernel-next-30
|
||||
+ dracut? ( sys-kernel/dracut )
|
||||
+ sys-block/devio
|
||||
+ dev-embedded/u-boot-tools
|
||||
+ sys-fs/dosfstools"
|
||||
RDEPEND="sys-apps/sed
|
||||
sys-kernel/linux-firmware"
|
||||
if [ -n "${K_REQUIRED_LINUX_FIRMWARE_VER}" ]; then
|
||||
@@ -332,7 +338,7 @@
|
||||
fi
|
||||
}
|
||||
|
||||
-sabayon-kernel_pkg_setup() {
|
||||
+nas-kernel_pkg_setup() {
|
||||
if [ -n "${K_FIRMWARE_PACKAGE}" ]; then
|
||||
einfo "Preparing kernel firmwares"
|
||||
else
|
||||
@@ -340,18 +346,23 @@
|
||||
fi
|
||||
}
|
||||
|
||||
-sabayon-kernel_src_unpack() {
|
||||
+nas-kernel_src_unpack() {
|
||||
local okv="${OKV}"
|
||||
- if [ -n "${K_SABKERNEL_SELF_TARBALL_NAME}" ]; then
|
||||
- OKV="${PVR}+${K_SABKERNEL_SELF_TARBALL_NAME}"
|
||||
+ if [ -n "${K_NASKERNEL_SELF_TARBALL_NAME}" ]; then
|
||||
+ OKV="${PVR}+${K_NASKERNEL_SELF_TARBALL_NAME}"
|
||||
+ fi
|
||||
+ if [ -n "${K_NASCONFIGS_VER}" ]; then
|
||||
+ unpack "${K_NASCONFIGS_PKG}"
|
||||
fi
|
||||
kernel-2_src_unpack
|
||||
- if [ -n "${K_SABKERNEL_FORCE_SUBLEVEL}" ]; then
|
||||
+ if [ -n "${K_NASKERNEL_FORCE_SUBLEVEL}" ]; then
|
||||
# patch out Makefile with proper sublevel
|
||||
- sed -i "s:^SUBLEVEL = .*:SUBLEVEL = ${K_SABKERNEL_FORCE_SUBLEVEL}:" \
|
||||
+ sed -i "s:^SUBLEVEL = .*:SUBLEVEL = ${K_NASKERNEL_FORCE_SUBLEVEL}:" \
|
||||
"${S}/Makefile" || die
|
||||
fi
|
||||
- if [ -n "${K_SABKERNEL_RESET_EXTRAVERSION}" ]; then
|
||||
+ #comment out Extra verion change by CK patch
|
||||
+ sed -i -e 's/\(^EXTRAVERSION :=.*$\)/# \1/' "${S}/Makefile"
|
||||
+ if [ -n "${K_NASKERNEL_RESET_EXTRAVERSION}" ]; then
|
||||
sed -i "s:^EXTRAVERSION =.*:EXTRAVERSION = :" "${S}/Makefile" || die
|
||||
# some sources could have multiple append-based EXTRAVERSIONs
|
||||
sed -i "s/^EXTRAVERSION :=.*//" "${S}/Makefile" || die
|
||||
@@ -360,15 +371,20 @@
|
||||
|
||||
# Let's handle EAPIs 0 and 1...
|
||||
case ${EAPI:-0} in
|
||||
- 0|1) sabayon-kernel_src_prepare ;;
|
||||
+ 0|1) nas-kernel_src_prepare ;;
|
||||
esac
|
||||
+
|
||||
+ # delete empty directories
|
||||
+ pushd "${S}"
|
||||
+ find . -depth -type d -empty -delete
|
||||
+ popd
|
||||
}
|
||||
|
||||
-sabayon-kernel_src_prepare() {
|
||||
+nas-kernel_src_prepare() {
|
||||
_set_config_file_vars
|
||||
}
|
||||
|
||||
-sabayon-kernel_src_compile() {
|
||||
+nas-kernel_src_compile() {
|
||||
if [ -n "${K_FIRMWARE_PACKAGE}" ]; then
|
||||
_firmwares_src_compile
|
||||
elif [ -n "${K_ONLY_SOURCES}" ]; then
|
||||
@@ -392,22 +408,32 @@
|
||||
|
||||
_kernel_copy_config() {
|
||||
_is_config_file_set \
|
||||
- || die "Kernel configuration file not set. Was sabayon-kernel_src_prepare() called?"
|
||||
+ || die "Kernel configuration file not set. Was nas-kernel_src_prepare() called?"
|
||||
|
||||
- if [ -n "${K_SABKERNEL_SELF_TARBALL_NAME}" ]; then
|
||||
- local base_path="${S}/sabayon/config"
|
||||
- if [ -f "${base_path}/${K_SABKERNEL_ALT_CONFIG_FILE}" ]; then
|
||||
+ if [ -n "${K_NASKERNEL_SELF_TARBALL_NAME}" ]; then
|
||||
+ local base_path="${S}/sablink/config"
|
||||
+ if [ -f "${base_path}/${K_NASKERNEL_ALT_CONFIG_FILE}" ]; then
|
||||
# new path, without revision
|
||||
- cp "${base_path}/${K_SABKERNEL_ALT_CONFIG_FILE}" "${1}" || die "cannot copy kernel config"
|
||||
+ cp "${base_path}/${K_NASKERNEL_ALT_CONFIG_FILE}" "${1}" || die "cannot copy kernel config"
|
||||
else
|
||||
# PVR path (old)
|
||||
- cp "${base_path}/${K_SABKERNEL_CONFIG_FILE}" "${1}" || die "cannot copy kernel config"
|
||||
+ cp "${base_path}/${K_NASKERNEL_CONFIG_FILE}" "${1}" || die "cannot copy kernel config"
|
||||
fi
|
||||
else
|
||||
- if [ "${K_SABKERNEL_URI_CONFIG}" = "no" ]; then
|
||||
+ if [ "${K_NASKERNEL_URI_CONFIG}" = "no" ]; then
|
||||
cp "${FILESDIR}/${PF/-r0/}-${ARCH}.config" "${1}" || die "cannot copy kernel config"
|
||||
else
|
||||
- cp "${DISTDIR}/${K_SABKERNEL_CONFIG_FILE}" "${1}" || die "cannot copy kernel config"
|
||||
+ if [ -n "${K_NASCONFIGS_VER}" ]; then
|
||||
+ rm -rf "${S}/sablink"
|
||||
+ cp -rf "${WORKDIR}"/sablink "${S}"
|
||||
+ pushd "${S}"
|
||||
+ sablink/scripts/prepareconfig ${K_NASKERNEL_NAME}-${CHOST/-*/}
|
||||
+ mv .config "${1}.tmp"
|
||||
+ mv "${1}.tmp" "${1}"
|
||||
+ popd
|
||||
+ else
|
||||
+ cp "${DISTDIR}/${K_NASKERNEL_CONFIG_FILE}" "${1}" || die "cannot copy kernel config"
|
||||
+ fi
|
||||
fi
|
||||
fi
|
||||
}
|
||||
@@ -417,8 +443,8 @@
|
||||
export SANDBOX_ON=0
|
||||
|
||||
# needed anyway, even if grub use flag is not used here
|
||||
- if use amd64 || use x86; then
|
||||
- mkdir -p "${WORKDIR}"/boot/grub
|
||||
+ if use arm; then
|
||||
+ mkdir -p "${WORKDIR}"/boot/dtb
|
||||
else
|
||||
mkdir -p "${WORKDIR}"/boot
|
||||
fi
|
||||
@@ -440,15 +466,14 @@
|
||||
cd "${S}" || die
|
||||
GKARGS="--no-save-config --disklabel"
|
||||
use dracut && GKARGS="${GKARGS} --dracut"
|
||||
- use splash && GKARGS="${GKARGS} --splash=sabayon"
|
||||
use dmraid && GKARGS="${GKARGS} --dmraid"
|
||||
use iscsi && GKARGS="${GKARGS} --iscsi"
|
||||
use mdadm && GKARGS="${GKARGS} --mdadm"
|
||||
- use luks && GKARGS="${GKARGS} --luks"
|
||||
use lvm && GKARGS="${GKARGS} --lvm"
|
||||
|
||||
export DEFAULT_KERNEL_SOURCE="${S}"
|
||||
export CMD_KERNEL_DIR="${S}"
|
||||
+ export KERNEL_DIR="${S}"
|
||||
for opt in ${MAKEOPTS}; do
|
||||
if [ "${opt:0:2}" = "-j" ]; then
|
||||
mkopts="${opt}"
|
||||
@@ -474,9 +499,9 @@
|
||||
fi
|
||||
|
||||
# If ARM, build the uImage directly
|
||||
- if use arm; then
|
||||
- K_GENKERNEL_ARGS+=" --kernel-target=uImage --kernel-binary=arch/arm/boot/uImage"
|
||||
- fi
|
||||
+ #if use arm; then
|
||||
+ # K_GENKERNEL_ARGS+=" --kernel-target=uImage --kernel-binary=arch/arm/boot/uImage"
|
||||
+ #fi
|
||||
|
||||
# Workaround bug in splash_geninitramfs corrupting the initramfs
|
||||
# if xz compression is used (newer genkernel >3.4.24)
|
||||
@@ -485,8 +510,145 @@
|
||||
GKARGS+=" --compress-initramfs-type=gzip"
|
||||
fi
|
||||
|
||||
+ K_NASKERNEL_DTB="none"
|
||||
+
|
||||
+ #################################### ARM V5 ######################################
|
||||
+ # Buffalo anounced a new box named Pro Live (video transcode streaming)
|
||||
+ # so the old ls_pro_live has to be split to ls_pro ls_live
|
||||
+ # for now let it stay but a move schould be done to ls_pro
|
||||
+ if [ "${K_NASKERNEL_NAME}" = "buffalo_kb_pro" ]; then
|
||||
+ devio > foo 'wl 0xe3a01c05,4' 'wl 0xe38110e5,4' # KuroBox Pro 1509
|
||||
+ K_NASKERNEL_TYPE="buffalo"
|
||||
+ K_NASKERNEL_DEVICE="Buffalo/Revogear Kurobox Pro"
|
||||
+ fi
|
||||
+ if [ "${K_NASKERNEL_NAME}" = "buffalo_ls_chl" ]; then
|
||||
+ devio > foo 'wl 0xe3a01c0b,4' 'wl 0xe3811061,4' # Linkstation Live V3 (2.6.34) 2913
|
||||
+ K_NASKERNEL_TYPE="buffalo"
|
||||
+ K_NASKERNEL_DEVICE="Buffalo Linkstation LiveV3 (LS-CHL)"
|
||||
+ fi
|
||||
+ if [ "${K_NASKERNEL_NAME}" = "buffalo_ls_chl2" ]; then
|
||||
+ if [[ "${KV_MAJOR}${KV_MINOR}" -ge 35 ]]; then
|
||||
+ # new Device tree no need for devio
|
||||
+ K_NASKERNEL_DTB="kirkwood-lschlv2.dtb"
|
||||
+ else
|
||||
+ devio > foo 'wl 0xe3a01c0b,4' 'wl 0xe38110be,4' # Linkstation XHL/CHLv2 3006
|
||||
+ fi
|
||||
+ K_NASKERNEL_TYPE="buffalo"
|
||||
+ K_NASKERNEL_DEVICE="Buffalo Linkstation LS-CHLv2"
|
||||
+ fi
|
||||
+ if [ "${K_NASKERNEL_NAME}" = "buffalo_ls_hgl" ]; then
|
||||
+ devio > foo 'wl 0xe3a01c07,4' 'wl 0xe38110d5,4' # Linkstation HGL (2.6.31) 2005
|
||||
+ K_NASKERNEL_TYPE="buffalo"
|
||||
+ K_NASKERNEL_DEVICE="Buffalo Linkstation LS-HGL"
|
||||
+ fi
|
||||
+ if [ "${K_NASKERNEL_NAME}" = "buffalo_ls_mini" ]; then
|
||||
+ devio > foo 'wl 0xe3a01c07,4' 'wl 0xe3811042,4' # Linkstation mini (2.6.29) 1858
|
||||
+ K_NASKERNEL_TYPE="buffalo"
|
||||
+ K_NASKERNEL_DEVICE="Buffalo Linkstation Mini"
|
||||
+ fi
|
||||
+ if [ "${K_NASKERNEL_NAME}" = "buffalo_ls_pro_live" ]; then
|
||||
+ devio > foo 'wl 0xe3a01c06,4' 'wl 0xe3811031,4' # Linkstation Pro/Live (2.6.26) 1585
|
||||
+ K_NASKERNEL_TYPE="buffalo"
|
||||
+ K_NASKERNEL_DEVICE="Buffalo Linkstation Pro/Live"
|
||||
+ fi
|
||||
+ if [ "${K_NASKERNEL_NAME}" = "buffalo_ls_pro_duo_rev1" ]; then
|
||||
+ devio > foo 'wl 0xe3a01c07,4' 'wl 0xe3811027,4' # Linkstation Pro Duo (2.6.30) 1831
|
||||
+ K_NASKERNEL_TYPE="buffalo"
|
||||
+ K_NASKERNEL_DEVICE="Buffalo Linkstation Pro Duo - Revision 1"
|
||||
+ fi
|
||||
+ if [ "${K_NASKERNEL_NAME}" = "buffalo_ls_pro_duo_rev2" ]; then
|
||||
+ devio > foo 'wl 0xe3a01c07,4' 'wl 0xe3811027,4' # Linkstation Pro Duo (2.6.30) 1831
|
||||
+ K_NASKERNEL_TYPE="buffalo"
|
||||
+ K_NASKERNEL_DEVICE="Buffalo Linkstation Pro Duo - Revision 2"
|
||||
+ fi
|
||||
+ if [ "${K_NASKERNEL_NAME}" = "buffalo_ls_ql" ]; then
|
||||
+ devio > foo 'wl 0xe3a01c10,4' 'wl 0xe381108e,4' # Buffalo Linkstation Quad LSQL. Registered 2012.06.15. 4238
|
||||
+ K_NASKERNEL_TYPE="buffalo"
|
||||
+ K_NASKERNEL_DEVICE="Buffalo Linkstation Quad"
|
||||
+ fi
|
||||
+ if [ "${K_NASKERNEL_NAME}" = "buffalo_ls_vl" ]; then
|
||||
+ devio > foo 'wl 0xe3a01c14,4' 'wl 0xe381109d,4' # Linkstation vl is not in the db so took one 5277
|
||||
+ K_NASKERNEL_TYPE="buffalo"
|
||||
+ K_NASKERNEL_DEVICE="Buffalo LS-VL Series"
|
||||
+ fi
|
||||
+ if [ "${K_NASKERNEL_NAME}" = "buffalo_ls_wvl" ]; then
|
||||
+ if [[ "${KV_MAJOR}${KV_MINOR}" -ge 39 ]]; then
|
||||
+ # new Device tree no need for devio
|
||||
+ K_NASKERNEL_DTB="kirkwood-lswvl.dtb"
|
||||
+ else
|
||||
+ devio > foo 'wl 0xe3a01c14,4' 'wl 0xe381109e,4' # Linkstation wvl is not in the db so took one 5278
|
||||
+ fi
|
||||
+ K_NASKERNEL_TYPE="buffalo"
|
||||
+ K_NASKERNEL_DEVICE="Buffalo Linkstation LS-WVL"
|
||||
+ fi
|
||||
+ if [ "${K_NASKERNEL_NAME}" = "buffalo_ts_wxl" ]; then
|
||||
+ devio > foo 'wl 0xe3a01c0a,4' 'wl 0xe3811089,4' # Terastation WXL (2.6.35) 2697
|
||||
+ K_NASKERNEL_TYPE="buffalo"
|
||||
+ # Broken hardware name needs to be correct in u-boot firmware
|
||||
+ K_NASKERNEL_DEVICE="Buffalo Linkstation Pro/Live"
|
||||
+ fi
|
||||
+ if [ "${K_NASKERNEL_NAME}" = "buffalo_ls_xhl" ]; then
|
||||
+ if [[ "${KV_MAJOR}${KV_MINOR}" -ge 35 ]]; then
|
||||
+ # new Device tree no need for devio
|
||||
+ K_NASKERNEL_DTB="kirkwood-lsxhl.dtb"
|
||||
+ else
|
||||
+ devio > foo 'wl 0xe3a01c0a,4' 'wl 0xe3811067,4' # Linkstation XHL/CHLv2 (2.6.30) 2663
|
||||
+ fi
|
||||
+ K_NASKERNEL_TYPE="buffalo"
|
||||
+ K_NASKERNEL_DEVICE="Buffalo Linkstation LS-XHL"
|
||||
+ fi
|
||||
+
|
||||
+ #################################### ARM V6 ######################################
|
||||
+ # oxnas
|
||||
+ if [ "${K_NASKERNEL_NAME}" = "medion_stg212" ]; then
|
||||
+ K_NASKERNEL_TYPE="default"
|
||||
+ K_NASKERNEL_DEVICE="Oxford NAS"
|
||||
+ K_GENKERNEL_ARGS+=" --kernel-target=uImage --kernel-binary=arch/arm/boot/uImage"
|
||||
+ fi
|
||||
+ if [ "${K_NASKERNEL_NAME}" = "pogoplug_pro" ]; then
|
||||
+ K_NASKERNEL_TYPE="default"
|
||||
+ K_NASKERNEL_DEVICE="Oxford NAS"
|
||||
+ K_GENKERNEL_ARGS+=" --kernel-target=uImage --kernel-binary=arch/arm/boot/uImage"
|
||||
+ fi
|
||||
+ if [ "${K_NASKERNEL_NAME}" = "pogoplug_pro_pci" ]; then
|
||||
+ K_NASKERNEL_TYPE="default"
|
||||
+ K_NASKERNEL_DEVICE="Oxford NAS"
|
||||
+ K_GENKERNEL_ARGS+=" --kernel-target=uImage --kernel-binary=arch/arm/boot/uImage"
|
||||
+ fi
|
||||
+ if [ "${K_NASKERNEL_NAME}" = "iomega_hmnd_ce" ]; then
|
||||
+ K_NASKERNEL_TYPE="default"
|
||||
+ K_NASKERNEL_DEVICE="Oxford NAS"
|
||||
+ K_GENKERNEL_ARGS+=" --kernel-target=uImage --kernel-binary=arch/arm/boot/uImage"
|
||||
+ fi
|
||||
+
|
||||
+
|
||||
+ #################################### ARM V7 ######################################
|
||||
+ # Freescale
|
||||
+ if [ "${K_NASKERNEL_NAME}" = "freescale_mx53_loco" ]; then
|
||||
+ K_NASKERNEL_TYPE="default"
|
||||
+ K_NASKERNEL_DEVICE="Freescale MX53 LOCO Board"
|
||||
+ K_GENKERNEL_ARGS+=" --kernel-target=uImage --kernel-binary=arch/arm/boot/uImage"
|
||||
+ fi
|
||||
+
|
||||
+ # Freescale
|
||||
+ if [ "${K_NASKERNEL_NAME}" = "pandaboard" ]; then
|
||||
+ K_NASKERNEL_TYPE="default"
|
||||
+ K_NASKERNEL_DEVICE="OMAP4 Panda board"
|
||||
+ K_GENKERNEL_ARGS+=" --kernel-target=uImage --kernel-binary=arch/arm/boot/uImage"
|
||||
+ fi
|
||||
+
|
||||
unset LDFLAGS
|
||||
- DEFAULT_KERNEL_SOURCE="${S}" CMD_KERNEL_DIR="${S}" genkernel ${GKARGS} ${K_GENKERNEL_ARGS} \
|
||||
+
|
||||
+ if [ "${K_NASKERNEL_DTB}" != "none" ]; then
|
||||
+ cp "${WORKDIR}/config" .config
|
||||
+ emake ${K_NASKERNEL_DTB}
|
||||
+ cp "${S}"/arch/arm/boot/${K_NASKERNEL_DTB} "${S}"
|
||||
+ emake mrproper
|
||||
+ fi
|
||||
+
|
||||
+ emake 3rdparty
|
||||
+
|
||||
+ DEFAULT_KERNEL_SOURCE="${S}" CMD_KERNEL_DIR="${S}" KERNEL_DIR="${S}" genkernel ${GKARGS} ${K_GENKERNEL_ARGS} \
|
||||
--kerneldir="${S}" \
|
||||
--kernel-config="${WORKDIR}"/config \
|
||||
--cachedir="${WORKDIR}"/cache \
|
||||
@@ -498,6 +660,46 @@
|
||||
--module-prefix="${WORKDIR}"/lib \
|
||||
all || die "genkernel failed"
|
||||
ARCH=${OLDARCH}
|
||||
+
|
||||
+ cp "${S}"/Module.symvers "${S}"/System.map "${S}"/include/linux/version.h "${WORKDIR}"
|
||||
+ #cp /usr/src/linux/Module.symvers /usr/src/linux/System.map /usr/src/linux/include/linux/version.h "${WORKDIR}"
|
||||
+
|
||||
+ # Buffalo Boxes have a special naming and start address
|
||||
+ if [ "${K_NASKERNEL_TYPE}" = "buffalo" ]; then
|
||||
+ if [ "${K_NASKERNEL_DTB}" = "none" ]; then
|
||||
+ einfo "Prepend the correct Device ID to the Kenel Image"
|
||||
+ cat foo "${WORKDIR}"/boot/kernel-genkernel-${ARCH}-${KV_FULL} > zImage.new
|
||||
+ einfo "Create uImage of the resulting Image"
|
||||
+ mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n uImage-${KV_FULL} \
|
||||
+ -d zImage.new "${WORKDIR}"/boot/uImage-genkernel-${ARCH}-${KV_FULL}.buffalo
|
||||
+ einfo "Create uInitrd with correct start address"
|
||||
+ mkimage -A arm -O linux -T ramdisk -C none -a 0x00000000 -e 0x00000000 -n initrd-${KV_FULL} \
|
||||
+ -d "${WORKDIR}"/boot/initramfs-genkernel-${ARCH}-${KV_FULL} "${WORKDIR}"/boot/uInitramfs-genkernel-${ARCH}-${KV_FULL}.buffalo
|
||||
+ else
|
||||
+ einfo "Append the device-tree-blob to the Kenel Image"
|
||||
+ cat "${WORKDIR}"/boot/kernel-genkernel-${ARCH}-${KV_FULL} "${S}"/${K_NASKERNEL_DTB} > zImage.new
|
||||
+ cp "${S}"/${K_NASKERNEL_DTB} "${WORKDIR}"/boot/dtb/
|
||||
+ einfo "Create uImage of the resulting Image"
|
||||
+ mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n uImage-${KV_FULL} \
|
||||
+ -d zImage.new "${WORKDIR}"/boot/uImage-genkernel-${ARCH}-${KV_FULL}.buffalo
|
||||
+ einfo "Create uInitrd with correct start address"
|
||||
+ mkimage -A arm -O linux -T ramdisk -C none -a 0x00000000 -e 0x00000000 -n initrd-${KV_FULL} \
|
||||
+ -d "${WORKDIR}"/boot/initramfs-genkernel-${ARCH}-${KV_FULL} "${WORKDIR}"/boot/uInitramfs-genkernel-${ARCH}-${KV_FULL}.buffalo
|
||||
+ fi
|
||||
+ fi
|
||||
+
|
||||
+ if [ "${K_NASKERNEL_TYPE}" = "default" ]; then
|
||||
+ einfo "Rename Kernel Image for consistency"
|
||||
+ mv "${WORKDIR}"/boot/kernel-genkernel-${ARCH}-${KV_FULL} "${WORKDIR}"/boot/uImage-genkernel-${ARCH}-${KV_FULL}
|
||||
+ einfo "Create uInitrd with correct start address"
|
||||
+ mkimage -A arm -O linux -T ramdisk -C none -a 0x00000000 -e 0x00000000 -n initrd-${KV_FULL} \
|
||||
+ -d "${WORKDIR}"/boot/initramfs-genkernel-${ARCH}-${KV_FULL} "${WORKDIR}"/boot/uInitramfs-genkernel-${ARCH}-${KV_FULL}
|
||||
+ fi
|
||||
+
|
||||
+
|
||||
+ # cleanup
|
||||
+ rm -rf foo zImage.new ${K_NASKERNEL_DTB}
|
||||
+ rm "${WORKDIR}"/boot/kernel-genkernel-${ARCH}-${KV_FULL} "${WORKDIR}"/boot/initramfs-genkernel-${ARCH}-${KV_FULL}
|
||||
}
|
||||
|
||||
_setup_mkimage_ramdisk() {
|
||||
@@ -514,7 +716,7 @@
|
||||
return 0
|
||||
}
|
||||
|
||||
-sabayon-kernel_src_install() {
|
||||
+nas-kernel_src_install() {
|
||||
if [ -n "${K_FIRMWARE_PACKAGE}" ]; then
|
||||
_firmwares_src_install
|
||||
elif [ -n "${K_ONLY_SOURCES}" ]; then
|
||||
@@ -563,8 +765,8 @@
|
||||
_kernel_copy_config ".config"
|
||||
doins ".config" || die "cannot copy kernel config"
|
||||
doins Makefile || die "cannot copy Makefile"
|
||||
- doins Module.symvers || die "cannot copy Module.symvers"
|
||||
- doins System.map || die "cannot copy System.map"
|
||||
+ doins "${WORKDIR}"/Module.symvers || die "cannot copy Module.symvers"
|
||||
+ doins "${WORKDIR}"/System.map || die "cannot copy System.map"
|
||||
|
||||
# NOTE: this is a workaround caused by linux-info.eclass not
|
||||
# being ported to EAPI=2 yet
|
||||
@@ -579,7 +781,7 @@
|
||||
# Include include/linux/version.h to make Portage happy
|
||||
dodir "${KV_OUT_DIR}/include/linux"
|
||||
insinto "${KV_OUT_DIR}/include/linux"
|
||||
- doins "${S}/include/linux/version.h" || die "cannot copy version.h"
|
||||
+ doins "${WORKDIR}/version.h" || die "cannot copy version.h"
|
||||
|
||||
insinto "/boot"
|
||||
doins "${WORKDIR}"/boot/* || die "cannot copy /boot over"
|
||||
@@ -623,28 +825,26 @@
|
||||
doins "RELEASE_LEVEL"
|
||||
einfo "Installing ${base_dir}/RELEASE_LEVEL file: ${KV_FULL}"
|
||||
fi
|
||||
+
|
||||
+ # copy firmware config file to propper location
|
||||
+ if [ -n "${K_NASKERNEL_SELF_TARBALL_NAME}" ]; then
|
||||
+ local base_path="${S}/sablink/config"
|
||||
+ cp "${base_path}/${K_NASKERNEL_FW_CONFIG_FILE}" "${D}/etc/fw_env.config.${K_NASKERNEL_NAME}" || die "cannot copy firmware config"
|
||||
+ else
|
||||
+ if [ "${K_NASKERNEL_URI_CONFIG}" = "no" ]; then
|
||||
+ cp "${FILESDIR}/${PF/-r0/}-${ARCH}.config" "${D}/etc/fw_env.config.${K_NASKERNEL_NAME}" || die "cannot copy firmware config"
|
||||
+ else
|
||||
+ cp "${DISTDIR}/${K_NASKERNEL_FW_CONFIG_FILE}" "${D}/etc/fw_env.config.${K_NASKERNEL_NAME}" || die "cannot copy firmware config"
|
||||
+ fi
|
||||
+ fi
|
||||
+
|
||||
}
|
||||
|
||||
-sabayon-kernel_pkg_preinst() {
|
||||
+nas-kernel_pkg_preinst() {
|
||||
if _is_kernel_binary; then
|
||||
mount-boot_pkg_preinst
|
||||
fi
|
||||
}
|
||||
-sabayon-kernel_grub2_mkconfig() {
|
||||
- if [ -x "${ROOT}usr/sbin/grub2-mkconfig" ]; then
|
||||
- # Grub 2.00
|
||||
- "${ROOT}usr/sbin/grub2-mkconfig" -o "${ROOT}boot/grub/grub.cfg"
|
||||
- elif [ -x "${ROOT}sbin/grub-mkconfig" ]; then
|
||||
- # Grub 1.99
|
||||
- "${ROOT}sbin/grub-mkdevicemap" --device-map="${ROOT}boot/grub/device.map"
|
||||
- "${ROOT}sbin/grub-mkconfig" -o "${ROOT}boot/grub/grub.cfg"
|
||||
- else
|
||||
- echo
|
||||
- ewarn "Attention, Grub2 is not installed !!!"
|
||||
- ewarn "Grub2 bootloader configuration won't be updated"
|
||||
- echo
|
||||
- fi
|
||||
-}
|
||||
|
||||
_get_real_extraversion() {
|
||||
make_file="${ROOT}${KV_OUT_DIR}/Makefile"
|
||||
@@ -659,7 +859,7 @@
|
||||
elif [[ "${KV_MAJOR}${KV_MINOR}" -eq 26 ]]; then
|
||||
echo "${KV_FULL}"
|
||||
elif [[ "${OKV/.*}" = "3" ]] && [[ "${KV_PATCH}" = "0" ]]; then
|
||||
- # Linux 3.x support, KV_FULL is set to: 3.0-sabayon
|
||||
+ # Linux 3.x support, KV_FULL is set to: 3.0-sablink
|
||||
# need to add another final .0 to the version part
|
||||
echo "${KV_FULL/-/.0-}"
|
||||
else
|
||||
@@ -667,7 +867,7 @@
|
||||
fi
|
||||
}
|
||||
|
||||
-sabayon-kernel_uimage_config() {
|
||||
+nas-kernel_uimage_config() {
|
||||
# Two cases here:
|
||||
# 1. /boot/uImage symlink is broken (pkg_postrm)
|
||||
# 2. /boot/uImage symlink doesn't exist (pkg_postinst)
|
||||
@@ -699,50 +899,8 @@
|
||||
fi
|
||||
}
|
||||
|
||||
-sabayon-kernel_bzimage_config() {
|
||||
- # Two cases here:
|
||||
- # 1. /boot/bzImage symlink is broken (pkg_postrm)
|
||||
- # 2. /boot/bzImage symlink doesn't exist (pkg_postinst)
|
||||
- local kern_arch
|
||||
- use x86 && kern_arch="x86"
|
||||
- use amd64 && kern_arch="x86_64"
|
||||
-
|
||||
- if ! has_version app-admin/eselect-bzimage; then
|
||||
- ewarn "app-admin/eselect-bzimage not installed"
|
||||
- ewarn "If you are using this tool, please install it"
|
||||
- return 0
|
||||
- fi
|
||||
-
|
||||
- local bzimage_file=$(eselect bzimage show --quiet 2> /dev/null)
|
||||
- if [ -z "${bzimage_file}" ]; then
|
||||
- # try to pic what's being installed
|
||||
- local eselect_list=$(eselect bzimage list --quiet 2> /dev/null)
|
||||
- if [ -n "${eselect_list}" ]; then
|
||||
- eselect bzimage set "kernel-genkernel-${kern_arch}-${KV_FULL}"
|
||||
- if [ "${?}" != "0" ]; then
|
||||
- # pick the first available, sorry!
|
||||
- echo
|
||||
- eselect bzimage set 1
|
||||
- ewarn "Unable to select the right kernel, falling back"
|
||||
- ewarn "to the first available entry. You have been warned"
|
||||
- echo
|
||||
- fi
|
||||
- else
|
||||
- echo
|
||||
- ewarn "No more kernels available, you might not be able to boot"
|
||||
- echo
|
||||
- fi
|
||||
- else
|
||||
- echo
|
||||
- ewarn "You are currently booting with kernel:"
|
||||
- ewarn "${bzimage_file}"
|
||||
- ewarn
|
||||
- ewarn "Use 'eselect bzimage' in order to switch between the available ones"
|
||||
- echo
|
||||
- fi
|
||||
-}
|
||||
|
||||
-sabayon-kernel_pkg_postinst() {
|
||||
+nas-kernel_pkg_postinst() {
|
||||
if _is_kernel_binary; then
|
||||
fstab_file="${ROOT}etc/fstab"
|
||||
einfo "Removing extents option for ext4 drives from ${fstab_file}"
|
||||
@@ -751,35 +909,9 @@
|
||||
sed -i '/ext4/ s/extents//g' "${fstab_file}"
|
||||
fi
|
||||
|
||||
- # Update kernel initramfs to match user customizations
|
||||
- update_sabayon_kernel_initramfs_splash
|
||||
-
|
||||
- # Add kernel to grub.conf
|
||||
- if use amd64 || use x86; then
|
||||
- if use amd64; then
|
||||
- local kern_arch="x86_64"
|
||||
- else
|
||||
- local kern_arch="x86"
|
||||
- fi
|
||||
- # grub-legacy
|
||||
- if [ -x "${ROOT}usr/sbin/grub-handler" ]; then
|
||||
- "${ROOT}usr/sbin/grub-handler" add \
|
||||
- "/boot/kernel-genkernel-${kern_arch}-${KV_FULL}" \
|
||||
- "/boot/initramfs-genkernel-${kern_arch}-${KV_FULL}"
|
||||
- fi
|
||||
-
|
||||
- sabayon-kernel_grub2_mkconfig
|
||||
- fi
|
||||
-
|
||||
# Setup newly installed kernel on ARM
|
||||
if use arm; then
|
||||
- sabayon-kernel_uimage_config
|
||||
- fi
|
||||
- # Setup newly installed kernel on x86/amd64
|
||||
- # This is quite handy for static grub1/grub2
|
||||
- # configurations (like on Amazon EC2)
|
||||
- if use x86 || use amd64; then
|
||||
- sabayon-kernel_bzimage_config
|
||||
+ nas-kernel_uimage_config
|
||||
fi
|
||||
|
||||
kernel-2_pkg_postinst
|
||||
@@ -787,52 +919,36 @@
|
||||
_update_depmod "${depmod_r}"
|
||||
|
||||
elog "Please report kernel bugs at:"
|
||||
- elog "http://bugs.sabayon.org"
|
||||
+ elog "http://bugs.sablink.org"
|
||||
|
||||
elog "The source code of this kernel is located at"
|
||||
elog "=${K_KERNEL_SOURCES_PKG}."
|
||||
- elog "Sabayon Linux recommends that portage users install"
|
||||
+ elog "sablink Linux recommends that portage users install"
|
||||
elog "${K_KERNEL_SOURCES_PKG} if you want"
|
||||
elog "to build any packages that install kernel modules"
|
||||
elog "(such as ati-drivers, nvidia-drivers, virtualbox, etc...)."
|
||||
+
|
||||
+ # copy the firmware config for the actual hardware to the right place
|
||||
+ device=$(grep "Hardware[[:space:]]*:" /proc/cpuinfo 2>/dev/null | head -n1 | sed "s/^[^:]*: //")
|
||||
+ if [ "${K_NASKERNEL_DEVICE}" = "$device" ]; then
|
||||
+ cp ${ROOT}/etc/fw_env.config.${K_NASKERNEL_NAME} ${ROOT}/etc/fw_env.config
|
||||
+ fi
|
||||
else
|
||||
kernel-2_pkg_postinst
|
||||
fi
|
||||
}
|
||||
|
||||
-sabayon-kernel_pkg_prerm() {
|
||||
+nas-kernel_pkg_prerm() {
|
||||
if _is_kernel_binary; then
|
||||
mount-boot_pkg_prerm
|
||||
fi
|
||||
}
|
||||
|
||||
-sabayon-kernel_pkg_postrm() {
|
||||
+nas-kernel_pkg_postrm() {
|
||||
if _is_kernel_binary; then
|
||||
- # Remove kernel from grub.conf
|
||||
- if use amd64 || use x86; then
|
||||
- if use amd64; then
|
||||
- local kern_arch="x86_64"
|
||||
- else
|
||||
- local kern_arch="x86"
|
||||
- fi
|
||||
- if [ -x "${ROOT}usr/sbin/grub-handler" ]; then
|
||||
- "${ROOT}usr/sbin/grub-handler" remove \
|
||||
- "/boot/kernel-genkernel-${kern_arch}-${KV_FULL}" \
|
||||
- "/boot/initramfs-genkernel-${kern_arch}-${KV_FULL}"
|
||||
- fi
|
||||
-
|
||||
- sabayon-kernel_grub2_mkconfig
|
||||
- fi
|
||||
-
|
||||
# Setup newly installed kernel on ARM
|
||||
if use arm; then
|
||||
- sabayon-kernel_uimage_config
|
||||
- fi
|
||||
- # Setup newly installed kernel on x86/amd64
|
||||
- # This is quite handy for static grub1/grub2
|
||||
- # configurations (like on Amazon EC2)
|
||||
- if use x86 || use amd64; then
|
||||
- sabayon-kernel_bzimage_config
|
||||
+ nas-kernel_uimage_config
|
||||
fi
|
||||
fi
|
||||
}
|
||||
Reference in New Issue
Block a user