public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
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


             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