From: "Thomas Deutschmann" <whissi@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/genkernel:master commit in: /, doc/, defaults/
Date: Mon, 29 Jul 2019 20:10:24 +0000 (UTC) [thread overview]
Message-ID: <1564430426.c452f3d690dc695a55aee63f0f2e4ab0cbb7b93a.whissi@gentoo> (raw)
commit: c452f3d690dc695a55aee63f0f2e4ab0cbb7b93a
Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 28 20:56:30 2019 +0000
Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Mon Jul 29 20:00:26 2019 +0000
URL: https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=c452f3d6
Change kernel and initramfs default filename in $BOOTDIR
This commit will change default kernel and initramfs filename:
kernel-genkernel-%%ARCH%%-%%KV%% -> vmlinuz-%%KV%%
System.map-genkernel--%%ARCH%%-%%KV%% -> System.map-%%KV%%
initramfs-genkernel-%%ARCH%%-%%KV%% -> initramfs-%%KV%%.img
The new naming will be consistent with kernel's "make install" and
will allow to match files in /lib/modules with actual kernel.
In addition, $ARCH value was moved to kernel's LOCALVERSION. This will
ensure that this information is still present and when you do
cross-compilation, that /lib/modules content don't get mixed.
Bug: https://bugs.gentoo.org/390407
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>
defaults/config.sh | 6 +++---
doc/genkernel.8.txt | 21 ++++++++++++++++-----
gen_configkernel.sh | 2 +-
gen_determineargs.sh | 11 +++++++++--
genkernel | 10 ++++++++++
genkernel.conf | 6 +++---
6 files changed, 42 insertions(+), 14 deletions(-)
diff --git a/defaults/config.sh b/defaults/config.sh
index 7232671..9d15633 100644
--- a/defaults/config.sh
+++ b/defaults/config.sh
@@ -21,11 +21,11 @@ KERNEL_SUPPORT_MICROCODE=no
# Arch-specific defaults that can be overridden in the config file or on the
# command line.
#
-DEFAULT_INITRAMFS_FILENAME="initramfs-genkernel-%%ARCH%%-%%KV%%"
+DEFAULT_INITRAMFS_FILENAME="initramfs-%%KV%%.img"
DEFAULT_INITRAMFS_SYMLINK_NAME="initramfs"
-DEFAULT_KERNEL_FILENAME="kernel-genkernel-%%ARCH%%-%%KV%%"
+DEFAULT_KERNEL_FILENAME="vmlinuz-%%KV%%"
DEFAULT_KERNEL_SYMLINK_NAME="kernel"
-DEFAULT_SYSTEMMAP_FILENAME="System.map-%%ARCH%%-%%KV%%"
+DEFAULT_SYSTEMMAP_FILENAME="System.map-%%KV%%"
DEFAULT_SYSTEMMAP_SYMLINK_NAME="System.map"
DEFAULT_COMPRESS_INITRD=yes
diff --git a/doc/genkernel.8.txt b/doc/genkernel.8.txt
index e94fa12..35762a2 100644
--- a/doc/genkernel.8.txt
+++ b/doc/genkernel.8.txt
@@ -125,8 +125,19 @@ KERNEL CONFIGURATION
Adds, or skip adding VirtIO support to kernel configuration.
*--kernel-localversion*=<...>::
- Set kernel option CONFIG_LOCALVERSION. Use special value "UNSET" to
- unset any already set LOCALVERSION.
+Set kernel option *LOCALVERSION*. Use special value *UNSET* to
+unset any already set *LOCALVERSION*. The following placeholders are
+available:
++
+[horizontal]
+*%%ARCH%%*:::
+Will be replaced with genkernel arch value, for example 'x86_64'.
+
++
+*LOCALVERSION* is only allowed to contain characters like 'a-z' or 'A-Z',
+'0-9', '_', '.' and '-'.
++
+By default, *LOCALVERSION* will be set to '-%%ARCH%%'.
KERNEL COMPILATION
@@ -437,7 +448,7 @@ Set initramfs filename which will be used when initramfs will be installed
into *BOOTDIR* (implies *--install* option). Please see
*--kernel-filename* option for available placeholders and restrictions.
+
-By default, initramfs filename will be set to 'initramfs-genkernel-%%ARCH%%-%%KV%%'.
+By default, initramfs filename will be set to 'initramfs-%%KV%%.img'.
*--initramfs-symlink-name*=<...>::
Set initramfs symlink name which will be used when initramfs will be
@@ -477,7 +488,7 @@ Will be replaced with kernel version, for example '5.2.3-gentoo'.
Kernel filename is only allowed to contain characters like 'a-z' or 'A-Z',
'0-9', '_', '.' and '-'.
+
-By default, kernel name will be set to 'kernel-genkernel-%%ARCH%%-%%KV%%'.
+By default, kernel name will be set to 'vmlinuz-%%KV%%'.
NOTE: When setting a custom kernel name make sure that your bootloader and
tools like *kexec* when used are recognizing your custom kernel name.
@@ -502,7 +513,7 @@ Set System.map filename which will be used when kernel will be installed
into *BOOTDIR* (implies *--install* option). Please see
*--kernel-filename* option for available placeholders and restrictions.
+
-By default, System.map filename will be set to 'System.map-genkernel-%%ARCH%%-%%KV%%'.
+By default, System.map filename will be set to 'System.map-%%KV%%'.
*--systemmap-symlink-name*=<...>::
Set System.map symlink name which will be used when kernel will be
diff --git a/gen_configkernel.sh b/gen_configkernel.sh
index 124852e..4cfd246 100755
--- a/gen_configkernel.sh
+++ b/gen_configkernel.sh
@@ -27,7 +27,7 @@ determine_kernel_config_file() {
then
print_info 1 "Default configuration was forced. Will ignore any user kernel configuration!"
else
- kconfig_candidates=( "/etc/kernels/${GK_FILENAME_CONFIG}" ${kconfig_candidates[@]} )
+ kconfig_candidates=( "/etc/kernels/${GK_FILENAME_CONFIG}" "/etc/kernels/kernel-config-${ARCH}-${KV}" ${kconfig_candidates[@]} )
fi
local f
diff --git a/gen_determineargs.sh b/gen_determineargs.sh
index 2689f86..df0934d 100755
--- a/gen_determineargs.sh
+++ b/gen_determineargs.sh
@@ -86,7 +86,7 @@ determine_KV() {
determine_output_filenames() {
print_info 5 '' 1 0
- GK_FILENAME_CONFIG="kernel-config-${ARCH}-${KV}"
+ GK_FILENAME_CONFIG="kernel-config-${KV}"
GK_FILENAME_KERNELZ="kernelz-${KV}"
GK_FILENAME_TEMP_CONFIG="config-${ARCH}-${KV}"
GK_FILENAME_TEMP_INITRAMFS="initramfs-${ARCH}-${KV}"
@@ -290,7 +290,7 @@ determine_real_args() {
set_config_with_override STRING CROSS_COMPILE CMD_CROSS_COMPILE
set_config_with_override STRING BOOTDIR CMD_BOOTDIR "/boot"
set_config_with_override STRING KERNEL_OUTPUTDIR CMD_KERNEL_OUTPUTDIR "${KERNEL_DIR}"
- set_config_with_override STRING KERNEL_LOCALVERSION CMD_KERNEL_LOCALVERSION
+ set_config_with_override STRING KERNEL_LOCALVERSION CMD_KERNEL_LOCALVERSION "-%%ARCH%%"
set_config_with_override STRING MODPROBEDIR CMD_MODPROBEDIR "/etc/modprobe.d"
set_config_with_override BOOL SPLASH CMD_SPLASH "no"
@@ -644,6 +644,13 @@ determine_real_args() {
UNSET)
;;
*)
+ KERNEL_LOCALVERSION=$(arch_replace "${KERNEL_LOCALVERSION}")
+ if [ -z "${KERNEL_LOCALVERSION}" ]
+ then
+ # We somehow lost value...
+ gen_die "Internal error: Variable 'KERNEL_LOCALVERSION' is empty!"
+ fi
+
local valid_localversion_pattern='^[A-Za-z0-9_.-]{1,}$'
if [[ ! "${KERNEL_LOCALVERSION}" =~ ${valid_localversion_pattern} ]]
then
diff --git a/genkernel b/genkernel
index 3c125c9..31a880d 100755
--- a/genkernel
+++ b/genkernel
@@ -247,6 +247,16 @@ then
print_warning 1 "Unable to copy the kernel configuration file; Ignoring non-fatal error ..."
# Just a warning because ordinary users are not allowed to write in /etc
fi
+elif [[ -n "${KERNEL_LOCALVERSION}" && "${KERNEL_LOCALVERSION}" != "${LOV}" ]]
+then
+ if [[ "${KERNEL_LOCALVERSION}" == "UNSET" && -z "${LOV}" ]]
+ then
+ # LOV is already unset...
+ :
+ else
+ print_warning 1 '' 1 0
+ print_warning 1 "Current kernel's LOCALVERSION is set to '${LOV}'; Will ignore set --kernel-localversion value '${KERNEL_LOCALVERSION}' because kernel was not build ..."
+ fi
fi
if isTrue "${CMD_INSTALL}"
diff --git a/genkernel.conf b/genkernel.conf
index 23e015b..aa458fb 100644
--- a/genkernel.conf
+++ b/genkernel.conf
@@ -281,7 +281,7 @@ DEFAULT_KERNEL_SOURCE="/usr/src/linux"
#
# Set kernel filename which will be used when kernel will be installed
# into BOOTDIR. See man page to learn more about available placeholders.
-#KERNEL_FILENAME="kernel-genkernel-%%ARCH%%-%%KV%%"
+#KERNEL_FILENAME="vmlinuz-%%KV%%"
# Set kernel symlink name which will be used when kernel will be installed
# into BOOTDIR and SYMLINK option is enabled
@@ -289,7 +289,7 @@ DEFAULT_KERNEL_SOURCE="/usr/src/linux"
# This option will set kernel option CONFIG_LOCALVERSION.
# Use special value "UNSET" to unset already set CONFIG_LOCALVERSION.
-#KERNEL_LOCALVERSION=""
+#KERNEL_LOCALVERSION="-%%ARCH%%"
# This option is only valid if kerncache is
# defined. If there is a valid kerncache no checks
@@ -318,7 +318,7 @@ DEFAULT_KERNEL_SOURCE="/usr/src/linux"
# Set initramfs filename which will be used when initramfs will be
# installed into BOOTDIR. See man page to learn more about available
# placeholders.
-#INITRAMFS_FILENAME="initramfs-genkernel-%%ARCH%%-%%KV%%"
+#INITRAMFS_FILENAME="initramfs-%%KV%%.img"
# Set initramfs symlink name which will be used when initramfs will be
# installed into BOOTDIR and SYMLINK option is enabled
next reply other threads:[~2019-07-29 20:10 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-29 20:10 Thomas Deutschmann [this message]
-- strict thread matches above, loose matches on Subject: below --
2020-07-16 15:03 [gentoo-commits] proj/genkernel:master commit in: /, doc/, defaults/ Thomas Deutschmann
2020-03-04 0:02 Thomas Deutschmann
2019-10-02 22:45 Thomas Deutschmann
2012-10-13 22:52 Robin H. Johnson
2012-07-19 20:56 Richard Yao
2012-07-19 20:43 Richard Yao
2012-07-19 20:24 Richard Yao
2011-08-28 9:19 Fabio Erculiani
2011-07-20 19:24 Fabio Erculiani
2011-07-20 15:55 Fabio Erculiani
2011-06-01 1:44 Sebastian Pipping
2011-05-31 13:18 Sebastian Pipping
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1564430426.c452f3d690dc695a55aee63f0f2e4ab0cbb7b93a.whissi@gentoo \
--to=whissi@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox