[gentoo-commits] proj/genkernel:master commit in: defaults/keymaps/

2024-02-27 Thread Ben Kohler
commit: 361810b23acd9452218368acecc7cc5262f00c74
Author: Ben Kohler  gentoo  org>
AuthorDate: Tue Feb 27 20:44:59 2024 +
Commit: Ben Kohler  gentoo  org>
CommitDate: Tue Feb 27 20:44:59 2024 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=361810b2

keymaps: replace trf with trq

Bug: https://bugs.gentoo.org/922076

Signed-off-by: Ben Kohler  gentoo.org>

 defaults/keymaps/40.map  |   2 +-
 defaults/keymaps/trf.map | Bin 2823 -> 0 bytes
 defaults/keymaps/trq.map | Bin 0 -> 2823 bytes
 3 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/defaults/keymaps/40.map b/defaults/keymaps/40.map
index e76e565..8aa41ed 12
--- a/defaults/keymaps/40.map
+++ b/defaults/keymaps/40.map
@@ -1 +1 @@
-trf.map
\ No newline at end of file
+trq.map
\ No newline at end of file

diff --git a/defaults/keymaps/trf.map b/defaults/keymaps/trf.map
deleted file mode 100644
index 77908f6..000
Binary files a/defaults/keymaps/trf.map and /dev/null differ

diff --git a/defaults/keymaps/trq.map b/defaults/keymaps/trq.map
new file mode 100644
index 000..cc90565
Binary files /dev/null and b/defaults/keymaps/trq.map differ



[gentoo-commits] proj/genkernel:master commit in: defaults/

2024-02-16 Thread Robin H. Johnson
commit: 5efa00417c425043c393542011ab256f88488cbc
Author: Timothy Kenno Handojo  gmail  com>
AuthorDate: Tue Jan 30 06:45:19 2024 +
Commit: Robin H. Johnson  gentoo  org>
CommitDate: Sat Feb 17 05:11:26 2024 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=5efa0041

updated software.sh

Signed-off-by: Robin H. Johnson  gentoo.org>

 defaults/software.sh | 68 ++--
 1 file changed, 34 insertions(+), 34 deletions(-)

diff --git a/defaults/software.sh b/defaults/software.sh
index b893f06..01c504b 100644
--- a/defaults/software.sh
+++ b/defaults/software.sh
@@ -10,14 +10,14 @@
 #   originate from user changes to /etc/genkernel.conf .
 
 GKPKG_BCACHE_TOOLS_PN="bcache-tools"
-GKPKG_BCACHE_TOOLS_PV="${GKPKG_BCACHE_TOOLS_PV:-VERSION_BCACHE_TOOLS}"
+GKPKG_BCACHE_TOOLS_PV="${GKPKG_BCACHE_TOOLS_PV:-${VERSION_BCACHE_TOOLS}}"
 GKPKG_BCACHE_TOOLS_DEPS="util-linux eudev"
 
GKPKG_BCACHE_TOOLS_SRCTAR="${GKPKG_BCACHE_TOOLS_SRCTAR:-${DISTDIR}/bcache-tools-${GKPKG_BCACHE_TOOLS_PV}.tar.gz}"
 
GKPKG_BCACHE_TOOLS_SRCDIR="${GKPKG_BCACHE_TOOLS_SRCDIR:-bcache-tools-399021549984ad27bf4a13ae85e458833fe003d7}"
 
GKPKG_BCACHE_TOOLS_BINPKG="${GKPKG_BCACHE_TOOLS_BINPKG:-%%CACHE%%/bcache-tools-${GKPKG_BCACHE_TOOLS_PV}-%%ARCH%%.tar.xz}"
 
 GKPKG_BOOST_PN="boost"
-GKPKG_BOOST_PV="${GKPKG_BOOST_PV:-VERSION_BOOST}"
+GKPKG_BOOST_PV="${GKPKG_BOOST_PV:-${VERSION_BOOST}}"
 GKPKG_BOOST_DEPS="boost-build"
 
GKPKG_BOOST_SRCTAR="${GKPKG_BOOST_SRCTAR:-${DISTDIR}/boost_${GKPKG_BOOST_PV//./_}.tar.bz2}"
 GKPKG_BOOST_SRCDIR="${GKPKG_BOOST_SRCDIR:-boost_${GKPKG_BOOST_PV//./_}}"
@@ -31,98 +31,98 @@ GKPKG_BOOST_BUILD_SRCDIR="${GKPKG_BOOST_SRCDIR}"
 
GKPKG_BOOST_BUILD_BINPKG="${GKPKG_BOOST_BUILD_BINPKG:-%%CACHE%%/boost-build-${GKPKG_BOOST_BUILD_PV}.tar.xz}"
 
 GKPKG_BTRFS_PROGS_PN="btrfs-progs"
-GKPKG_BTRFS_PROGS_PV="${GKPKG_BTRFS_PROGS_PV:-VERSION_BTRFS_PROGS}"
+GKPKG_BTRFS_PROGS_PV="${GKPKG_BTRFS_PROGS_PV:-${VERSION_BTRFS_PROGS}}"
 GKPKG_BTRFS_PROGS_DEPS="util-linux zlib zstd lzo eudev"
 
GKPKG_BTRFS_PROGS_SRCTAR="${GKPKG_BTRFS_PROGS_SRCTAR:-${DISTDIR}/btrfs-progs-v${GKPKG_BTRFS_PROGS_PV}.tar.xz}"
 
GKPKG_BTRFS_PROGS_SRCDIR="${GKPKG_BTRFS_PROGS_SRCDIR:-btrfs-progs-v${GKPKG_BTRFS_PROGS_PV}}"
 
GKPKG_BTRFS_PROGS_BINPKG="${GKPKG_BTRFS_PROGS_BINPKG:-%%CACHE%%/btrfs-progs-${GKPKG_BTRFS_PROGS_PV}-%%ARCH%%.tar.xz}"
 
 GKPKG_BUSYBOX_PN="busybox"
-GKPKG_BUSYBOX_PV="${GKPKG_BUSYBOX_PV:-VERSION_BUSYBOX}"
+GKPKG_BUSYBOX_PV="${GKPKG_BUSYBOX_PV:-${VERSION_BUSYBOX}}"
 GKPKG_BUSYBOX_DEPS="libxcrypt"
 
GKPKG_BUSYBOX_SRCTAR="${GKPKG_BUSYBOX_SRCTAR:-${DISTDIR}/busybox-${GKPKG_BUSYBOX_PV}.tar.bz2}"
 GKPKG_BUSYBOX_SRCDIR="${GKPKG_BUSYBOX_SRCDIR:-busybox-${GKPKG_BUSYBOX_PV}}"
 
GKPKG_BUSYBOX_BINPKG="${GKPKG_BUSYBOX_BINPKG:-%%CACHE%%/busybox-${GKPKG_BUSYBOX_PV}-%%ARCH%%.tar.xz}"
 
 GKPKG_COREUTILS_PN="coreutils"
-GKPKG_COREUTILS_PV="${GKPKG_COREUTILS_PV:-VERSION_COREUTILS}"
+GKPKG_COREUTILS_PV="${GKPKG_COREUTILS_PV:-${VERSION_COREUTILS}}"
 GKPKG_COREUTILS_DEPS=""
 
GKPKG_COREUTILS_SRCTAR="${GKPKG_COREUTILS_SRCTAR:-${DISTDIR}/coreutils-${GKPKG_COREUTILS_PV}.tar.xz}"
 
GKPKG_COREUTILS_SRCDIR="${GKPKG_COREUTILS_SRCDIR:-coreutils-${GKPKG_COREUTILS_PV}}"
 
GKPKG_COREUTILS_BINPKG="${GKPKG_COREUTILS_BINPKG:-%%CACHE%%/coreutils-${GKPKG_COREUTILS_PV}-%%ARCH%%.tar.xz}"
 
 GKPKG_CRYPTSETUP_PN="cryptsetup"
-GKPKG_CRYPTSETUP_PV="${GKPKG_CRYPTSETUP_PV:-VERSION_CRYPTSETUP}"
+GKPKG_CRYPTSETUP_PV="${GKPKG_CRYPTSETUP_PV:-${VERSION_CRYPTSETUP}}"
 GKPKG_CRYPTSETUP_DEPS="util-linux eudev json-c popt libgpg-error libgcrypt lvm"
 
GKPKG_CRYPTSETUP_SRCTAR="${GKPKG_CRYPTSETUP_SRCTAR:-${DISTDIR}/cryptsetup-${GKPKG_CRYPTSETUP_PV}.tar.xz}"
 
GKPKG_CRYPTSETUP_SRCDIR="${GKPKG_CRYPTSETUP_SRCDIR:-cryptsetup-${GKPKG_CRYPTSETUP_PV}}"
 
GKPKG_CRYPTSETUP_BINPKG="${GKPKG_CRYPTSETUP_BINPKG:-%%CACHE%%/cryptsetup-${GKPKG_CRYPTSETUP_PV}-%%ARCH%%.tar.xz}"
 
 GKPKG_DMRAID_PN="dmraid"
-GKPKG_DMRAID_PV="${GKPKG_DMRAID_PV:-VERSION_DMRAID}"
+GKPKG_DMRAID_PV="${GKPKG_DMRAID_PV:-${VERSION_DMRAID}}"
 GKPKG_DMRAID_DEPS="eudev lvm"
 
GKPKG_DMRAID_SRCTAR="${GKPKG_DMRAID_SRCTAR:-${DISTDIR}/dmraid-${GKPKG_DMRAID_PV}.tar.bz2}"
 GKPKG_DMRAID_SRCDIR="${GKPKG_DMRAID_SRCDIR:-dmraid/${GKPKG_DMRAID_PV}/dmraid}"
 
GKPKG_DMRAID_BINPKG="${GKPKG_DMRAID_BINPKG:-%%CACHE%%/dmraid-${GKPKG_DMRAID_PV}-%%ARCH%%.tar.xz}"
 
 GKPKG_DROPBEAR_PN="dropbear"
-GKPKG_DROPBEAR_PV="${GKPKG_DROPBEAR_PV:-VERSION_DROPBEAR}"
+GKPKG_DROPBEAR_PV="${GKPKG_DROPBEAR_PV:-${VERSION_DROPBEAR}}"
 GKPKG_DROPBEAR_DEPS="zlib libxcrypt"
 
GKPKG_DROPBEAR_SRCTAR="${GKPKG_DROPBEAR_SRCTAR:-${DISTDIR}/dropbear-${GKPKG_DROPBEAR_PV}.tar.bz2}"
 GKPKG_DROPBEAR_SRCDIR="${GKPKG_DROPBEAR_SRCDIR:-dropbear-${GKPKG_DROPBEAR_PV}}"
 
GKPKG_DROPBEAR_BINPKG="${GKPKG_DROPBEAR_BINPKG:-%%CACHE%%/dropbear-${GKPKG_DROPBEAR_PV}-%%ARCH%%.tar.xz}"
 
 GKPKG_EUDEV_PN="eudev"
-GKPKG_EUDEV_PV="${GKPKG_EUDEV_PV:-VERSION_EUDEV}"
+GKPKG_EUDEV_PV="${GKPKG_EUDEV_PV:-${VERSION_EUDEV}}"
 GKPKG_EUDEV_DEPS="util-linux zlib xz zstd 

[gentoo-commits] proj/genkernel:master commit in: defaults/

2024-02-16 Thread Ben Kohler
commit: bd2f2e1ea079d1721d8fcf684c966d556b763d3e
Author: Ben Kohler  gentoo  org>
AuthorDate: Fri Feb 16 19:38:28 2024 +
Commit: Ben Kohler  gentoo  org>
CommitDate: Fri Feb 16 19:38:28 2024 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=bd2f2e1e

initrd.scripts: create dir layout for overlayfs as well

These dirs like /mnt/gentoo are normally created during boot but
overlayfs usage bypasses that.  Let's create them for overlayfs users as
well.

Signed-off-by: Ben Kohler  gentoo.org>

 defaults/initrd.scripts | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 01bfe07..506f8c6 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -855,6 +855,13 @@ setup_overlayfs() {
run mount --bind "${i}" "${NEW_ROOT}${i}"
done
 
+   # Setup the filesystem nodes and directories
+   # Copied from non-overlayfs logic earlier in this script
+   for i in ${CDROOT_PATH} /mnt/header /mnt/livecd /mnt/key /mnt/gentoo 
/tmp /tmp/.initrd /dev /proc /run /sys; do
+   run mkdir -p "${NEW_ROOT}${i}"
+   run chmod 755 "${NEW_ROOT}${i}"
+   done
+
# Did we populate the overlayfs modules path locations variable?
if [ -n "${mods}" ]
then



[gentoo-commits] proj/genkernel:master commit in: defaults/, /, doc/

2023-08-29 Thread Sam James
commit: 732bd70737b784aa5e6b15430b7cf9f4e28948a1
Author: FlyingWaffle  pm  me>
AuthorDate: Thu May 19 23:43:24 2022 +
Commit: Sam James  gentoo  org>
CommitDate: Wed Aug 30 05:47:41 2023 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=732bd707

Plymouth support for genkernel (squashed).

Bug: https://bugs.gentoo.org/753617
Signed-off-by: FlyingWaffle  pm.me>
Signed-off-by: Sam James  gentoo.org>

 defaults/initrd.scripts | 95 +++--
 defaults/linuxrc| 19 --
 doc/genkernel.8.txt |  7 
 gen_cmdline.sh  | 14 
 gen_determineargs.sh| 16 +
 gen_initramfs.sh| 57 +
 genkernel.conf  |  7 
 7 files changed, 210 insertions(+), 5 deletions(-)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 3d00a55..01bfe07 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1031,6 +1031,8 @@ run_emergency_shell() {
 }
 
 run_shell() {
+   splash 'verbose' >/dev/null &
+
if ! is_userinteraction_allowed
then
bad_msg "gk.userinteraction.disabled is set; Spawning a shell 
is disabled!"
@@ -1226,9 +1228,22 @@ write_env_file() {
 }
 
 crypt_filter() {
+   local ask_pass=${2}
+   good_msg "Using the following decryption command: ${1}" ${CRYPT_SILENT}
+
if [ "${CRYPT_SILENT}" = '1' ]
then
eval run ${1}
+   elif [ "${PLYMOUTH}" = '1' ] && [ ${ask_pass} -eq 1 ]
+   then
+   local ply_cmd_file="$(mktemp -t 'ply_cmd.XX' 2>/dev/null)"
+   printf '#!/bin/sh\n%s\n' "${1}" > "${ply_cmd_file}"
+   run chmod 500 "${ply_cmd_file}"
+   plymouthRun ask-for-password --prompt "Enter LUKS passphrase" \
+   --number-of-tries=3 --command="${ply_cmd_file}"
+   res=$?
+   run rm "${ply_cmd_file}" >/dev/null 2>&1
+   return ${res}
else
splash 'verbose' >/dev/null &
eval run ${1}
@@ -1306,6 +1321,7 @@ prompt_user() {
fi
[ -n "${3}" ] && local explnt=" or : ${3}" || local explnt="."
 
+   splash 'verbose' >/dev/null &
bad_msg "Could not find the ${2} in ${oldvalue}${explnt}"
 
if [ -f "${GK_USERINTERACTION_DISABLED_STATEFILE}" ]
@@ -1388,6 +1404,8 @@ prompt_user() {
eval ${1}'='${oldvalue}
;;
esac
+
+   splash 'quiet' >/dev/null &
 }
 
 cmdline_hwopts() {
@@ -1550,7 +1568,64 @@ copyKeymap() {
 }
 
 splash() {
-   return 0
+   if [ "${FBSPLASH}" = '1' ]
+   then
+   return 0
+   elif [ "${PLYMOUTH}" = '1' ]
+   then
+   case "${1}" in
+   init)
+   plymouthInit
+   ;;
+
+   verbose)
+   plymouthRun --hide-splash
+   ;;
+
+   set_msg)
+   plymouthRun --update="${2}"
+   ;;
+
+   quiet)
+   plymouthRun --show-splash
+   ;;
+
+   hasroot)
+   plymouthRun --newroot="${2}"
+   ;;
+   esac
+   fi
+}
+
+plymouthRun() {
+   run plymouth --ping 2>/dev/null || return $?
+   run plymouth "${@}" 2>/dev/null
+}
+
+plymouthInit() {
+   good_msg "Starting Plymouth..."
+   run mkdir -p -m 0755 /run/plymouth || return 1
+
+   # Make sure that udev is done loading tty and drm
+   run udevadm trigger --action=add --attr-match=class=0x03 >/dev/null 
2>&1
+   run udevadm trigger --action=add --subsystem-match=graphics \
+   --subsystem-match=drm --subsystem-match=tty >/dev/null 2>&1
+   udevsettle
+
+   run plymouthd --mode=boot --attach-to-session \
+   --pid-file=/run/plymouth/pid
+   if [ $? -ne 0 ]
+   then
+   bad_msg "Can't start plymouthd!"
+   PLYMOUTH=0
+   return 1
+   fi
+
+   plymouthRun --show-splash
+   if [ $? -eq 0 ]
+   then
+   good_msg "Plymouth initialized"
+   fi
 }
 
 start_volumes() {
@@ -1825,6 +1900,7 @@ openLUKS() {
eval local LUKS_KEYDEV='"${CRYPT_'${TYPE}'_KEYDEV}"'
eval local LUKS_KEYDEV_FSTYPE='"${CRYPT_'${TYPE}'_KEYDEV_FSTYPE}"'
eval local OPENED_LOCKFILE='"${CRYPT_'${TYPE}'_OPENED_LOCKFILE}"'
+   local ASK_PASS=0
local DEV_ERROR=0
local HEADER_ERROR=0 HEADERDEV_ERROR=0
local KEY_ERROR=0 KEYDEV_ERROR=0
@@ -2054,12 +2130,25 @@ openLUKS() {
else
[ -e /dev/tty ] && run mv 
/dev/tty /dev/tty.org
run mknod /dev/tty c 5 1
+ 

[gentoo-commits] proj/genkernel:master commit in: defaults/

2023-07-27 Thread Sam James
commit: eb778e05720d2721204231e457df6948446d9af5
Author: Marat Buharov  gmail  com>
AuthorDate: Tue Jul 18 23:33:42 2023 +
Commit: Sam James  gentoo  org>
CommitDate: Thu Jul 27 10:58:58 2023 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=eb778e05

Enabling zstd multithreaded compression

Enabling zstd multithreaded compression gives same boost as enabling it for
XZ compression in previous commit.

Signed-off-by: Marat Buharov  gmail.com>
Closes: https://github.com/gentoo/genkernel/pull/47
Closes: https://github.com/gentoo/genkernel/pull/48
Signed-off-by: Sam James  gentoo.org>

 defaults/compression_methods.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/defaults/compression_methods.sh b/defaults/compression_methods.sh
index 37abf46..8cdc38c 100644
--- a/defaults/compression_methods.sh
+++ b/defaults/compression_methods.sh
@@ -37,6 +37,6 @@ GKICM_XZ_EXT=".xz"
 GKICM_XZ_PKG="app-arch/xz-utils"
 
 GKICM_ZSTD_KOPTNAME="ZSTD"
-GKICM_ZSTD_CMD="zstd -f -19 -q"
+GKICM_ZSTD_CMD="zstd -f -19 -q -T0"
 GKICM_ZSTD_EXT=".zst"
 GKICM_ZSTD_PKG="app-arch/zstd"



[gentoo-commits] proj/genkernel:master commit in: defaults/

2023-07-27 Thread Sam James
commit: b44b57129fc4a828e8bf36a34ffe3f078f861b2a
Author: Sam James  gentoo  org>
AuthorDate: Thu Jul 27 10:58:12 2023 +
Commit: Sam James  gentoo  org>
CommitDate: Thu Jul 27 10:58:24 2023 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=b44b5712

defaults/initrd.scripts: kill off some more `which` stragglers

Followup to 04225e090e9936df6c5a9ddd5a3926d13e0001df.

Signed-off-by: Sam James  gentoo.org>

 defaults/initrd.scripts | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index f8cc861..3d00a55 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -2791,16 +2791,16 @@ tuxonice_resume() {
 
if ! grep suspend_noui /proc/cmdline >/dev/null 2>&1
then
-   which suspend2ui_text >/dev/null 2>&1 && which suspend2ui_text 
> "${tuxonice_userui_program}"
-   which tuxoniceui_text >/dev/null 2>&1 && which tuxoniceui_text 
> "${tuxonice_userui_program}"
+   command -v suspend2ui_text >/dev/null 2>&1 && command -v 
suspend2ui_text > "${tuxonice_userui_program}"
+   command -v tuxoniceui_text >/dev/null 2>&1 && command -v 
tuxoniceui_text > "${tuxonice_userui_program}"
 
if [ -n "${splash_theme}" ]
then
ln -s /etc/splash/${splash_theme} /etc/splash/suspend2
ln -s /etc/splash/${splash_theme} /etc/splash/tuxonice
 
-   which suspend2ui_fbsplash >/dev/null 2>&1 && which 
suspend2ui_fbsplash > "${tuxonice_userui_program}"
-   which tuxoniceui_fbsplash >/dev/null 2>&1 && which 
tuxoniceui_fbsplash > "${tuxonice_userui_program}"
+   command -v suspend2ui_fbsplash >/dev/null 2>&1 && 
command -v suspend2ui_fbsplash > "${tuxonice_userui_program}"
+   command -v tuxoniceui_fbsplash >/dev/null 2>&1 && 
command -v tuxoniceui_fbsplash > "${tuxonice_userui_program}"
fi
 
fi



[gentoo-commits] proj/genkernel:master commit in: defaults/

2023-07-27 Thread Sam James
commit: 4d4cb613dfb61f079db30e4f70bbd9aeb56890d8
Author: Sam James  gentoo  org>
AuthorDate: Thu Jul 27 10:50:25 2023 +
Commit: Sam James  gentoo  org>
CommitDate: Thu Jul 27 10:50:25 2023 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=4d4cb613

defaults/software.sh: use dist tarball for libxcrypt

Signed-off-by: Sam James  gentoo.org>

 defaults/software.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/defaults/software.sh b/defaults/software.sh
index 5c75a4e..b893f06 100644
--- a/defaults/software.sh
+++ b/defaults/software.sh
@@ -166,7 +166,7 @@ 
GKPKG_LIBGPG_ERROR_BINPKG="${GKPKG_LIBGPG_ERROR_BINPKG:-%%CACHE%%/libgpg-error-$
 GKPKG_LIBXCRYPT_PN="libxcrypt"
 GKPKG_LIBXCRYPT_PV="${GKPKG_LIBXCRYPT_PV:-VERSION_LIBXCRYPT}"
 GKPKG_LIBXCRYPT_DEPS=""
-GKPKG_LIBXCRYPT_SRCTAR="${GKPKG_LIBXCRYPT_SRCTAR:-${DISTDIR}/libxcrypt-${GKPKG_LIBXCRYPT_PV}.tar.gz}"
+GKPKG_LIBXCRYPT_SRCTAR="${GKPKG_LIBXCRYPT_SRCTAR:-${DISTDIR}/libxcrypt-${GKPKG_LIBXCRYPT_PV}.tar.xz}"
 
GKPKG_LIBXCRYPT_SRCDIR="${GKPKG_LIBXCRYPT_SRCDIR:-libxcrypt-${GKPKG_LIBXCRYPT_PV}}"
 
GKPKG_LIBXCRYPT_BINPKG="${GKPKG_LIBXCRYPT_BINPKG:-%%CACHE%%/libxcrypt-${GKPKG_LIBXCRYPT_PV}-%%ARCH%%.tar.xz}"
 



[gentoo-commits] proj/genkernel:master commit in: defaults/, gkbuilds/

2023-07-27 Thread Sam James
commit: 45b3d3aa452103994e9349b29357944c8b39bad6
Author: Sam James  gentoo  org>
AuthorDate: Thu Jul 27 10:42:28 2023 +
Commit: Sam James  gentoo  org>
CommitDate: Thu Jul 27 10:42:28 2023 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=45b3d3aa

Add userspace-rcu (new dep of xfsprogs)

Signed-off-by: Sam James  gentoo.org>

 defaults/software.sh   |  9 -
 gkbuilds/userspace-rcu.gkbuild | 13 +
 2 files changed, 21 insertions(+), 1 deletion(-)

diff --git a/defaults/software.sh b/defaults/software.sh
index 0dce9e1..5c75a4e 100644
--- a/defaults/software.sh
+++ b/defaults/software.sh
@@ -219,6 +219,13 @@ 
GKPKG_UNIONFS_FUSE_SRCTAR="${GKPKG_UNIONFS_FUSE_SRCTAR:-${DISTDIR}/unionfs-fuse-
 
GKPKG_UNIONFS_FUSE_SRCDIR="${GKPKG_UNIONFS_FUSE_SRCDIR:-unionfs-fuse-${GKPKG_UNIONFS_FUSE_PV}}"
 
GKPKG_UNIONFS_FUSE_BINPKG="${GKPKG_UNIONFS_FUSE_BINPKG:-%%CACHE%%/unionfs-fuse-${GKPKG_UNIONFS_FUSE_PV}-%%ARCH%%.tar.xz}"
 
+GKPKG_USERSPACE_RCU_PN="userspace-rcu"
+GKPKG_USERSPACE_RCU_PV="${GKPKG_USERSPACE_RCU_PV:-VERSION_USERSPACE_RCU}"
+GKPKG_USERSPACE_RCU_DEPS=""
+GKPKG_USERSPACE_RCU_SRCTAR="${GKPKG_UTIL_LINUX_SRCTAR:-${DISTDIR}/userspace-rcu-${GKPKG_USERSPACE_RCU_PV}.tar.bz2}"
+GKPKG_USERSPACE_RCU_SRCDIR="${GKPKG_UTIL_LINUX_SRCDIR:-userspace-rcu-${GKPKG_USERSPACE_RCU_PV}}"
+GKPKG_USERSPACE_RCU_BINPKG="${GKPKG_UTIL_LINUX_BINPKG:-%%CACHE%%/userspace-rcu-${GKPKG_USERSPACE_RCU_PV}-%%ARCH%%.tar.xz}"
+
 GKPKG_UTIL_LINUX_PN="util-linux"
 GKPKG_UTIL_LINUX_PV="${GKPKG_UTIL_LINUX_PV:-VERSION_UTIL_LINUX}"
 GKPKG_UTIL_LINUX_DEPS=""
@@ -228,7 +235,7 @@ 
GKPKG_UTIL_LINUX_BINPKG="${GKPKG_UTIL_LINUX_BINPKG:-%%CACHE%%/util-linux-${GKPKG
 
 GKPKG_XFSPROGS_PN="xfsprogs"
 GKPKG_XFSPROGS_PV="${GKPKG_XFSPROGS_PV:-VERSION_XFSPROGS}"
-GKPKG_XFSPROGS_DEPS="util-linux"
+GKPKG_XFSPROGS_DEPS="util-linux userspace-rcu"
 
GKPKG_XFSPROGS_SRCTAR="${GKPKG_XFSPROGS_SRCTAR:-${DISTDIR}/xfsprogs-${GKPKG_XFSPROGS_PV}.tar.xz}"
 GKPKG_XFSPROGS_SRCDIR="${GKPKG_XFSPROGS_SRCDIR:-xfsprogs-${GKPKG_XFSPROGS_PV}}"
 
GKPKG_XFSPROGS_BINPKG="${GKPKG_XFSPROGS_BINPKG:-%%CACHE%%/xfsprogs-${GKPKG_XFSPROGS_PV}-%%ARCH%%.tar.xz}"

diff --git a/gkbuilds/userspace-rcu.gkbuild b/gkbuilds/userspace-rcu.gkbuild
new file mode 100644
index 000..5b4b7bf
--- /dev/null
+++ b/gkbuilds/userspace-rcu.gkbuild
@@ -0,0 +1,13 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+src_configure() {
+   gkconf --enable-static
+}
+
+src_install() {
+   default
+
+   rm -rf "${D}"/usr/share
+}
+



[gentoo-commits] proj/genkernel:master commit in: defaults/

2023-06-28 Thread Ben Kohler
commit: 1a279fb3c8dde317da95cb394477ea9a961f8302
Author: Ben Kohler  gentoo  org>
AuthorDate: Wed Jun 28 15:09:22 2023 +
Commit: Ben Kohler  gentoo  org>
CommitDate: Wed Jun 28 15:09:22 2023 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=1a279fb3

defaults/kernel-generic-config: enable multi-gen LRU

Bug: https://bugs.gentoo.org/908512

Signed-off-by: Ben Kohler  gentoo.org>

 defaults/kernel-generic-config | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/defaults/kernel-generic-config b/defaults/kernel-generic-config
index 927a44d..ac98e60 100644
--- a/defaults/kernel-generic-config
+++ b/defaults/kernel-generic-config
@@ -3315,6 +3315,8 @@ CONFIG_LPC_ICH=m
 CONFIG_LP_CONSOLE=y
 CONFIG_LPC_SCH=m
 CONFIG_LRU_CACHE=m
+CONFIG_LRU_GEN=y
+CONFIG_LRU_GEN_ENABLED=y
 CONFIG_LSI_ET1011C_PHY=m
 CONFIG_LSM_MMAP_MIN_ADDR=65536
 CONFIG_LSM="yama,loadpin,safesetid,integrity,selinux,smack,tomoyo,apparmor"



[gentoo-commits] proj/genkernel:master commit in: defaults/

2022-06-20 Thread Robin H. Johnson
commit: db1df8ea5a42ce058f12473ea79de3ac1f8afb4f
Author: Maciej S. Szmigiero  maciej  szmigiero  name>
AuthorDate: Fri Jun 10 22:23:32 2022 +
Commit: Robin H. Johnson  gentoo  org>
CommitDate: Fri Jun 10 22:23:53 2022 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=db1df8ea

Enable threaded XZ compression by default

With the current proliferation of multi-core CPUs enabling threaded XZ
compression brings very significant runtime improvement: on my 4-core
system the total genkernel runtime drops from 356 seconds to 166 seconds
(a reduction of more than 50%) - so let's enable this mode by default.

Signed-off-by: Maciej S. Szmigiero  maciej.szmigiero.name>

 defaults/compression_methods.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/defaults/compression_methods.sh b/defaults/compression_methods.sh
index b65f057..37abf46 100644
--- a/defaults/compression_methods.sh
+++ b/defaults/compression_methods.sh
@@ -32,7 +32,7 @@ GKICM_LZMA_EXT=".lzma"
 GKICM_LZMA_PKG="app-arch/xz-utils"
 
 GKICM_XZ_KOPTNAME="XZ"
-GKICM_XZ_CMD="xz -e --check=none -z -f -9"
+GKICM_XZ_CMD="xz -e --check=none -z -f -9 -T 0"
 GKICM_XZ_EXT=".xz"
 GKICM_XZ_PKG="app-arch/xz-utils"
 



[gentoo-commits] proj/genkernel:master commit in: defaults/

2022-05-29 Thread Robin H. Johnson
commit: 2f5a7fc596bdf919f41ddc5df063abf109af6758
Author: FlyingWaffle  pm  me>
AuthorDate: Sat May 28 21:24:41 2022 +
Commit: Robin H. Johnson  gentoo  org>
CommitDate: Sat May 28 21:24:41 2022 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=2f5a7fc5

Fixes a mistake with quotation usage when testing for LVM flag.

Signed-off-by: FlyingWaffle  pm.me>

 defaults/linuxrc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/defaults/linuxrc b/defaults/linuxrc
index 9daad4a..2f94eb4 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -672,7 +672,7 @@ if [ "${CDROOT}" != '1' ]
 then
if ( [ -n "${CRYPT_SWAP_KEY}" ] && [ -z "${CRYPT_SWAP_KEYDEV}" ] ) || \
   ( [ -n "${CRYPT_SWAP_HEADER}" ] && [ -z "${CRYPT_SWAP_HEADERDEV}" ] 
) || \
-  ( [ "${REAL_ROOT}" = "${REAL_RESUME}" ] || [ ${USE_LVM_NORMAL} -eq 1 
] )
+  ( [ "${REAL_ROOT}" = "${REAL_RESUME}" ] || [ "${USE_LVM_NORMAL}" = 
'1' ] )
then
# the swap key or header might be on the root fs so start it 
first in this case
start_LUKS_root



[gentoo-commits] proj/genkernel:master commit in: defaults/

2022-05-28 Thread Robin H. Johnson
commit: eba3381a9d7039cf0a1d066299b1d40e91d23226
Author: FlyingWaffle  pm  me>
AuthorDate: Sat May 28 20:32:49 2022 +
Commit: Robin H. Johnson  gentoo  org>
CommitDate: Sat May 28 20:32:49 2022 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=eba3381a

Additional test to allow for hibernation resume...

...on a broader range of system configurations, including LVM and swapfiles.

Signed-off-by: FlyingWaffle  pm.me>

 defaults/linuxrc | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/defaults/linuxrc b/defaults/linuxrc
index 5ee7804..9daad4a 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -671,7 +671,8 @@ keyctl_keyadd
 if [ "${CDROOT}" != '1' ]
 then
if ( [ -n "${CRYPT_SWAP_KEY}" ] && [ -z "${CRYPT_SWAP_KEYDEV}" ] ) || \
-  ( [ -n "${CRYPT_SWAP_HEADER}" ] && [ -z "${CRYPT_SWAP_HEADERDEV}" ] )
+  ( [ -n "${CRYPT_SWAP_HEADER}" ] && [ -z "${CRYPT_SWAP_HEADERDEV}" ] 
) || \
+  ( [ "${REAL_ROOT}" = "${REAL_RESUME}" ] || [ ${USE_LVM_NORMAL} -eq 1 
] )
then
# the swap key or header might be on the root fs so start it 
first in this case
start_LUKS_root



[gentoo-commits] proj/genkernel:master commit in: defaults/

2022-05-28 Thread Robin H. Johnson
commit: 08c60969a77ae7ce836691b3419429296810b6e8
Author: Dmitry Baranov  gmail  com>
AuthorDate: Tue May 24 23:42:30 2022 +
Commit: Robin H. Johnson  gentoo  org>
CommitDate: Tue May 24 23:51:47 2022 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=08c60969

defaults/initrd.scripts: openLUKS(): remove extra bracket in conditional block

Signed-off-by: Dmitry Baranov  gmail.com>

 defaults/initrd.scripts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index eb556d6..7012356 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1848,7 +1848,7 @@ openLUKS() {
good_msg "The LUKS device ${LUKS_DEVICE} meanwhile was 
opened by someone else."
break
# if crypt_silent=1 and some error occurs, enter shell quietly
-   elif [ \( ${CRYPT_SILENT} -eq 1 \) -a \( \( \( ${DEV_ERROR} -eq 
1 \) \) ]
+   elif [ \( ${CRYPT_SILENT} -eq 1 \) -a \( \( ${DEV_ERROR} -eq 1 
\) \) ]
then
run_emergency_shell
elif [ \( ${CRYPT_SILENT} -eq 1 \) -a \( \( \( ${HEADER_ERROR} 
-eq 1 \) \) -o \( ${HEADERDEV_ERROR} -eq 1 \) \) ]



[gentoo-commits] proj/genkernel:master commit in: defaults/

2022-05-28 Thread Robin H. Johnson
commit: c3249d243fcf6dc56f46e2442df6751db91a4606
Author: Dmitry Baranov  gmail  com>
AuthorDate: Tue May 24 23:38:22 2022 +
Commit: Robin H. Johnson  gentoo  org>
CommitDate: Wed May 25 06:02:41 2022 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=c3249d24

defaults/initrd.scripts: start_LUKS_*(): fix bootstrap calls and sleeps

Signed-off-by: Dmitry Baranov  gmail.com>

 defaults/initrd.scripts | 41 ++---
 1 file changed, 26 insertions(+), 15 deletions(-)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 7012356..f8cc861 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -2486,18 +2486,23 @@ ipv6_tentative() {
 }
 
 start_LUKS_root() {
-   # if key is set but neither ssh enabled or key device is given, find
-   # the key device
+   # if key/header is set but neither ssh enabled or key device is given, 
find
+   # the key/header device
 
-   if [ -n "${CRYPT_ROOT_KEY}" ]
+   if (
+   [ -n "${CRYPT_ROOT_KEY}" -a -z "${CRYPT_ROOT_KEYDEV}" ] ||
+   [ -n "${CRYPT_ROOT_HEADER}" -a -z "${CRYPT_ROOT_HEADERDEV}" ]
+   )
then
-   ( [ -z "${CRYPT_ROOT_KEYDEV}" ] || [ -z 
"${CRYPT_ROOT_HEADERDEV}" ] ) \
-   && sleep 6
-
-   [ -z "${CRYPT_ROOT_KEYDEV}" ] && bootstrapKey "ROOT"
-   [ -z "${CRYPT_ROOT_HEADERDEV}" ] && bootstrapHeader "ROOT"
+   sleep 6
fi
 
+   [ -n "${CRYPT_ROOT_KEY}" -a -z "${CRYPT_ROOT_KEYDEV}" ] \
+   && bootstrapKey "ROOT"
+
+   [ -n "${CRYPT_ROOT_HEADER}" -a -z "${CRYPT_ROOT_HEADERDEV}" ] \
+   && bootstrapHeader "ROOT"
+
if [ -n "${CRYPT_ROOT}" ]
then
openLUKS "root"
@@ -2512,16 +2517,22 @@ start_LUKS_root() {
 }
 
 start_LUKS_swap() {
-   if [ -n "${CRYPT_SWAP_KEY}" ]
-   then
-   # same for swap, but no need to sleep if root was unencrypted
-   ( [ -z "${CRYPT_ROOT_KEYDEV}" ] || [ -z 
"${CRYPT_ROOT_HEADERDEV}" ] ) \
-   && [ -z "${CRYPT_ROOT}" ] && sleep 6
+   # same for swap, but no need to sleep if root was unencrypted
 
-   [ -z "${CRYPT_SWAP_KEYDEV}" ] && bootstrapKey "SWAP"
-   [ -z "${CRYPT_SWAP_HEADERDEV}" ] && bootstrapHeader "SWAP"
+   if (
+   [ -n "${CRYPT_SWAP_KEY}" -a -z "${CRYPT_SWAP_KEYDEV}" ] ||
+   [ -n "${CRYPT_SWAP_HEADER}" -a -z "${CRYPT_SWAP_HEADERDEV}" ]
+   )
+   then
+   [ -z "${CRYPT_ROOT}" ] && sleep 6
fi
 
+   [ -n "${CRYPT_SWAP_KEY}" -a -z "${CRYPT_SWAP_KEYDEV}" ] \
+   && bootstrapKey "SWAP"
+
+   [ -n "${CRYPT_SWAP_HEADER}" -a -z "${CRYPT_SWAP_HEADERDEV}" ] \
+   && bootstrapHeader "SWAP"
+
if [ -n "${CRYPT_SWAP}" ]
then
openLUKS "swap"



[gentoo-commits] proj/genkernel:master commit in: defaults/

2022-05-16 Thread Andreas K. Hüttel
commit: 33394fef9f712ca0854eca248fe85863771ca04a
Author: Andreas K. Hüttel  gentoo  org>
AuthorDate: Mon May 16 19:31:34 2022 +
Commit: Andreas K. Hüttel  gentoo  org>
CommitDate: Mon May 16 19:33:25 2022 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=33394fef

linuxrc: do not rely on chroot evaluating PATH

When trying to install a new kernel on catbus.sparc.dev.gentoo.org, the
newly built initrd consistently claimed that it could not find init, and
dropped to the rescue shell.

However, init was there just fine in /newroot (as before).

I dug out the command that is actually run inside linuxrc,

elif ! chroot "${CHROOT}" test -x /${init#/} 1>/dev/null 2>&1

and tried to run that manually, which led to a rather strange error message

rescueshell / # chroot /newroot test -x /lib/systemd/systemd
chroot: can't execute 'test': File name too long

Some more research led me to the busybox manpage (where here chroot comes
from):
https://busybox.net/downloads/BusyBox.html#chroot

chroot
chroot NEWROOT [PROG [ARGS]]
Run PROG with root directory set to NEWROOT

Note, the third argument is *not* a command (as with usual chroot, see the
manpage from coreutils chroot) but a program!

Bug: https://bugs.gentoo.org/842027
Signed-off-by: Andreas K. Hüttel  gentoo.org>

 defaults/linuxrc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/defaults/linuxrc b/defaults/linuxrc
index ff08ba2..15fbf7c 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -1376,7 +1376,7 @@ do
if  ! mountpoint "${CHROOT}" 1>/dev/null 2>&1
then
bad_msg "${CHROOT} is not a mountpoint; Was root device 
(${REAL_ROOT}) not mounted?"
-   elif ! chroot "${CHROOT}" test -x /${init#/} 1>/dev/null 2>&1
+   elif ! chroot "${CHROOT}" /usr/bin/test -x /${init#/} 1>/dev/null 2>&1
then
mounted_root_device=$(mountpoint -n /newroot 2>/dev/null | awk 
'{ print $1 }')
bad_msg "init (${init}) not found in mounted root device 
(${mounted_root_device})!"



[gentoo-commits] proj/genkernel:master commit in: defaults/

2022-05-15 Thread Robin H. Johnson
commit: 63da86622d47e919ebb08c894b1552d71151473a
Author: Robin H. Johnson  gentoo  org>
AuthorDate: Mon May 16 05:42:04 2022 +
Commit: Robin H. Johnson  gentoo  org>
CommitDate: Mon May 16 05:43:22 2022 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=63da8662

defaults/modules_load: more crypto modules

Needed more cryptsetup in weirder cases. Maybe better in future to
provide easier way to detect these and/or match dracut's code for module
selection.

Based on old https://github.com/robbat2/genkernel/pull/29 submission

Closes: https://github.com/robbat2/genkernel/pull/29
Suggested-by: David Guglielmi  gmail.com>
Signed-off-by: Robin H. Johnson  gentoo.org>

 defaults/modules_load | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/defaults/modules_load b/defaults/modules_load
index 1c78415..2ca2046 100644
--- a/defaults/modules_load
+++ b/defaults/modules_load
@@ -30,7 +30,7 @@ MODULES_USB="ehci-pci ehci-hcd xhci-hcd xhci-pci xhci-plat 
xhci-plat-hcd uhci us
 MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs f2fs fuse virtiofs 
loop squashfs aufs overlay cramfs configfs fscrypto msdos"
 
 # Crypto
-MODULES_CRYPTO="sha256_generic cbc crc32 crc32c crc32c_generic crc32_generic 
aes_generic xts af_alg algif_skcipher algif_hash algif_aead algif_rng 
serpent_generic"
+MODULES_CRYPTO="sha256_generic cbc crc32 crc32c crc32c_generic crc32_generic 
aes_generic xts af_alg algif_skcipher algif_hash algif_aead algif_rng 
serpent_generic ecb blake2b_generic blake2s_generic ccm cfb cmac 
chacha20poly1305 chacha_generic curve25519-generic ofb pcbc sha3_generic vmac 
xcbc"
 
 # Hyper-V
 MODULES_HYPERV="hv_sock hv_utils hv_vmbus hv_balloon hyperv-keyboard 
hid_hyperv hv_utils hyperv_fb hv_storvsc"



[gentoo-commits] proj/genkernel:master commit in: defaults/, doc/

2022-05-15 Thread Robin H. Johnson
commit: 73a05632d61171685ac4960c6b684cefa6d82afd
Author: Dmitry Baranov  gmail  com>
AuthorDate: Wed Oct 14 19:03:01 2020 +
Commit: Robin H. Johnson  gentoo  org>
CommitDate: Sat Aug  7 17:20:10 2021 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=73a05632

Add support for LUKS detached header

Signed-off-by: Dmitry Baranov  gmail.com>

 defaults/initrd.scripts | 162 +++-
 defaults/linuxrc|  18 ++
 doc/genkernel.8.txt |  22 +++
 3 files changed, 186 insertions(+), 16 deletions(-)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 33a48b3..5a83d93 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -306,7 +306,7 @@ bootstrapFS() {
fi
 
# Setup the filesystem nodes and directories
-   for i in ${CDROOT_PATH} /mnt/livecd /mnt/key /mnt/gentoo /tmp 
/tmp/.initrd /dev /proc /run /sys; do
+   for i in ${CDROOT_PATH} /mnt/header /mnt/livecd /mnt/key /mnt/gentoo 
/tmp /tmp/.initrd /dev /proc /run /sys; do
run mkdir -p "${NEW_ROOT}${i}"
run chmod 755 "${NEW_ROOT}${i}"
done
@@ -391,6 +391,14 @@ bootstrapCD() {
fi
 }
 
+bootstrapHeader() {
+   # $1 = ROOT/SWAP
+   local HEADERDEVS=$(devicelist)
+   eval local headerloc='"${CRYPT_'${1}'_HEADER}"'
+
+   findmediamount "header" "${headerloc}" "CRYPT_${1}_HEADERDEV" 
"/mnt/header" ${HEADERDEVS}
+}
+
 bootstrapKey() {
# $1 = ROOT/SWAP
local KEYDEVS=$(devicelist)
@@ -1828,12 +1836,17 @@ openLUKS() {
 
local LUKS_NAME="${1}"
eval local LUKS_DEVICE='"${CRYPT_'${TYPE}'}"'
+   eval local LUKS_HEADER='"${CRYPT_'${TYPE}'_HEADER}"'
+   eval local LUKS_HEADERDEV='"${CRYPT_'${TYPE}'_HEADERDEV}"'
+   eval local LUKS_HEADERDEV_FSTYPE='"${CRYPT_'${TYPE}'_HEADERDEV_FSTYPE}"'
eval local LUKS_KEY='"${CRYPT_'${TYPE}'_KEY}"'
eval local LUKS_KEYDEV='"${CRYPT_'${TYPE}'_KEYDEV}"'
eval local LUKS_KEYDEV_FSTYPE='"${CRYPT_'${TYPE}'_KEYDEV_FSTYPE}"'
eval local OPENED_LOCKFILE='"${CRYPT_'${TYPE}'_OPENED_LOCKFILE}"'
-   local DEV_ERROR=0 KEY_ERROR=0 KEYDEV_ERROR=0
-   local mntkey="/mnt/key/" crypt_filter_ret=
+   local DEV_ERROR=0
+   local HEADER_ERROR=0 HEADERDEV_ERROR=0
+   local KEY_ERROR=0 KEYDEV_ERROR=0
+   local mntheader="/mnt/header/" mntkey="/mnt/key/" crypt_filter_ret=
 
if [ -z "${LUKS_DEVICE}" ]
then
@@ -1853,13 +1866,27 @@ openLUKS() {
good_msg "The LUKS device ${LUKS_DEVICE} meanwhile was 
opened by someone else."
break
# if crypt_silent=1 and some error occurs, enter shell quietly
-   elif [ \( ${CRYPT_SILENT} -eq 1 \) -a \( \( \( ${DEV_ERROR} -eq 
1 \) -o \( ${KEY_ERROR} -eq 1 \) \) -o \( ${KEYDEV_ERROR} -eq 1 \) \) ]
+   elif [ \( ${CRYPT_SILENT} -eq 1 \) -a \( \( \( ${DEV_ERROR} -eq 
1 \) \) ]
+   then
+   run_emergency_shell
+   elif [ \( ${CRYPT_SILENT} -eq 1 \) -a \( \( \( ${HEADER_ERROR} 
-eq 1 \) \) -o \( ${HEADERDEV_ERROR} -eq 1 \) \) ]
+   then
+   run_emergency_shell
+   elif [ \( ${CRYPT_SILENT} -eq 1 \) -a \( \( \( ${KEY_ERROR} -eq 
1 \) \) -o \( ${KEYDEV_ERROR} -eq 1 \) \) ]
then
run_emergency_shell
elif [ ${DEV_ERROR} -eq 1 ]
then
prompt_user "LUKS_DEVICE" "${LUKS_NAME}"
DEV_ERROR=0
+   elif [ ${HEADER_ERROR} -eq 1 ]
+   then
+   prompt_user "LUKS_HEADER" "${LUKS_NAME} header"
+   HEADER_ERROR=0
+   elif [ ${HEADERDEV_ERROR} -eq 1 ]
+   then
+   prompt_user "LUKS_HEADERDEV" "${LUKS_NAME} header 
device"
+   HEADERDEV_ERROR=0
elif [ ${KEY_ERROR} -eq 1 ]
then
prompt_user "LUKS_KEY" "${LUKS_NAME} key"
@@ -1877,18 +1904,93 @@ openLUKS() {
continue
fi
 
-   if ! run cryptsetup isLuks ${LUKS_DEVICE}
+   # Handle headers
+   if [ -n "${LUKS_HEADER}" ]
+   then
+   local REAL_LUKS_HEADERDEV="${LUKS_HEADERDEV}"
+   if [ ! -e "${mntheader}${LUKS_HEADER}" ]
+   then
+   REAL_LUKS_HEADERDEV=$(find_real_device 
"${LUKS_HEADERDEV}")
+   if [ -b "${REAL_LUKS_HEADERDEV}" ]
+   then
+   good_msg "Using header device 
${REAL_LUKS_HEADERDEV}." ${CRYPT_SILENT}
+   else
+  

[gentoo-commits] proj/genkernel:master commit in: defaults/

2022-05-15 Thread Robin H. Johnson
commit: efdf4d0affb587655d703140db86d45ffd2a1ede
Author: Dmitry Baranov  gmail  com>
AuthorDate: Tue Dec 29 20:10:50 2020 +
Commit: Robin H. Johnson  gentoo  org>
CommitDate: Sat Aug  7 17:20:10 2021 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=efdf4d0a

defaults/initrd.scripts: Get rid of extra padding

Simplify conditional blocks where 'continue' is present.

Signed-off-by: Dmitry Baranov  gmail.com>

 defaults/initrd.scripts | 184 
 1 file changed, 92 insertions(+), 92 deletions(-)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index cdee2a4..33a48b3 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1882,119 +1882,119 @@ openLUKS() {
bad_msg "The LUKS device ${LUKS_DEVICE} does 
not contain a LUKS header" ${CRYPT_SILENT}
DEV_ERROR=1
continue
-   else
-   if [ -n "${cryptsetup_options}" ]
-   then
-   good_msg "Using the following 
cryptsetup options for ${LUKS_NAME}: ${cryptsetup_options}" ${CRYPT_SILENT}
-   fi
+   fi
 
-   # Handle keys
-   if [ -n "${LUKS_KEY}" ]
+   if [ -n "${cryptsetup_options}" ]
+   then
+   good_msg "Using the following cryptsetup 
options for ${LUKS_NAME}: ${cryptsetup_options}" ${CRYPT_SILENT}
+   fi
+
+   # Handle keys
+   if [ -n "${LUKS_KEY}" ]
+   then
+   local REAL_LUKS_KEYDEV="${LUKS_KEYDEV}"
+   if [ ! -e "${mntkey}${LUKS_KEY}" ]
then
-   local REAL_LUKS_KEYDEV="${LUKS_KEYDEV}"
-   if [ ! -e "${mntkey}${LUKS_KEY}" ]
+   REAL_LUKS_KEYDEV=$(find_real_device 
"${LUKS_KEYDEV}")
+   if [ -b "${REAL_LUKS_KEYDEV}" ]
then
-   
REAL_LUKS_KEYDEV=$(find_real_device "${LUKS_KEYDEV}")
-   if [ -b "${REAL_LUKS_KEYDEV}" ]
+   good_msg "Using key device 
${REAL_LUKS_KEYDEV}." ${CRYPT_SILENT}
+   else
+   good_msg "Please insert 
removable device ${LUKS_KEYDEV} for ${LUKS_NAME}" ${CRYPT_SILENT}
+   # abort after 10 secs
+   local count=10
+   while [ ${count} -gt 0 ]
+   do
+   count=$((count-1))
+   sleep 1
+   
REAL_LUKS_KEYDEV=$(find_real_device "${LUKS_KEYDEV}")
+   if [ -b 
"${REAL_LUKS_KEYDEV}" ]
+   then
+   good_msg 
"Removable device ${REAL_LUKS_KEYDEV} detected." ${CRYPT_SILENT}
+   break
+   fi
+   done
+   if [ ! -b "${REAL_LUKS_KEYDEV}" 
]
then
-   good_msg "Using key 
device ${REAL_LUKS_KEYDEV}." ${CRYPT_SILENT}
-   else
-   good_msg "Please insert 
removable device ${LUKS_KEYDEV} for ${LUKS_NAME}" ${CRYPT_SILENT}
-   # abort after 10 secs
-   local count=10
-   while [ ${count} -gt 0 ]
-   do
-   
count=$((count-1))
-   sleep 1
-   
REAL_LUKS_KEYDEV=$(find_real_device "${LUKS_KEYDEV}")
-   if [ -b 
"${REAL_LUKS_KEYDEV}" ]
-   then
-   

[gentoo-commits] proj/genkernel:master commit in: defaults/

2021-11-16 Thread Thomas Deutschmann
commit: 779376e0a1e3c55a8bdc40c5e55ce9bb50ee8eae
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Tue Nov 16 17:33:12 2021 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Tue Nov 16 17:33:12 2021 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=779376e0

btrfs-progs-5.15+ needs libudev

Fixes: d3ee3d06 ("Bump btrfs-progs to v5.15")
Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/software.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/defaults/software.sh b/defaults/software.sh
index 9f64ab0..ec2bacb 100644
--- a/defaults/software.sh
+++ b/defaults/software.sh
@@ -32,7 +32,7 @@ 
GKPKG_BOOST_BUILD_BINPKG="${GKPKG_BOOST_BUILD_BINPKG:-%%CACHE%%/boost-build-${GK
 
 GKPKG_BTRFS_PROGS_PN="btrfs-progs"
 GKPKG_BTRFS_PROGS_PV="${GKPKG_BTRFS_PROGS_PV:-VERSION_BTRFS_PROGS}"
-GKPKG_BTRFS_PROGS_DEPS="util-linux zlib zstd lzo"
+GKPKG_BTRFS_PROGS_DEPS="util-linux zlib zstd lzo eudev"
 
GKPKG_BTRFS_PROGS_SRCTAR="${GKPKG_BTRFS_PROGS_SRCTAR:-${DISTDIR}/btrfs-progs-v${GKPKG_BTRFS_PROGS_PV}.tar.xz}"
 
GKPKG_BTRFS_PROGS_SRCDIR="${GKPKG_BTRFS_PROGS_SRCDIR:-btrfs-progs-v${GKPKG_BTRFS_PROGS_PV}}"
 
GKPKG_BTRFS_PROGS_BINPKG="${GKPKG_BTRFS_PROGS_BINPKG:-%%CACHE%%/btrfs-progs-${GKPKG_BTRFS_PROGS_PV}-%%ARCH%%.tar.xz}"



[gentoo-commits] proj/genkernel:master commit in: defaults/

2021-11-14 Thread Thomas Deutschmann
commit: a0140d2e77cc0d48b60f38121b73445351c52678
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Mon Nov 15 01:56:46 2021 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Mon Nov 15 01:58:36 2021 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=a0140d2e

defaults/modules_load: Add support for i8042 & AT keyboards

Closes: https://bugs.gentoo.org/341193
Closes: https://bugs.gentoo.org/822087
Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/modules_load | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/defaults/modules_load b/defaults/modules_load
index cee5f4d..1c78415 100644
--- a/defaults/modules_load
+++ b/defaults/modules_load
@@ -37,3 +37,6 @@ MODULES_HYPERV="hv_sock hv_utils hv_vmbus hv_balloon 
hyperv-keyboard hid_hyperv
 
 # Virtio
 MODULES_VIRTIO="virtio_scsi virtio_blk virtio_console virtio-rng virtio 
virtio_balloon virtio_input virtio_ring virtio_pci virtio_mmio virtio_crypto"
+
+# Misc
+MODULES_MISC="atkbd i8042"



[gentoo-commits] proj/genkernel:master commit in: defaults/

2021-09-29 Thread Thomas Deutschmann
commit: e43878aa62e563fcefa7c1da5c44017816ac65b4
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Wed Sep 29 18:15:56 2021 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Wed Sep 29 18:15:56 2021 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=e43878aa

defaults/software.sh: dropbear needs libxcrypt

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/software.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/defaults/software.sh b/defaults/software.sh
index 54836ad..9f64ab0 100644
--- a/defaults/software.sh
+++ b/defaults/software.sh
@@ -67,7 +67,7 @@ 
GKPKG_DMRAID_BINPKG="${GKPKG_DMRAID_BINPKG:-%%CACHE%%/dmraid-${GKPKG_DMRAID_PV}-
 
 GKPKG_DROPBEAR_PN="dropbear"
 GKPKG_DROPBEAR_PV="${GKPKG_DROPBEAR_PV:-VERSION_DROPBEAR}"
-GKPKG_DROPBEAR_DEPS="zlib"
+GKPKG_DROPBEAR_DEPS="zlib libxcrypt"
 
GKPKG_DROPBEAR_SRCTAR="${GKPKG_DROPBEAR_SRCTAR:-${DISTDIR}/dropbear-${GKPKG_DROPBEAR_PV}.tar.bz2}"
 GKPKG_DROPBEAR_SRCDIR="${GKPKG_DROPBEAR_SRCDIR:-dropbear-${GKPKG_DROPBEAR_PV}}"
 
GKPKG_DROPBEAR_BINPKG="${GKPKG_DROPBEAR_BINPKG:-%%CACHE%%/dropbear-${GKPKG_DROPBEAR_PV}-%%ARCH%%.tar.xz}"



[gentoo-commits] proj/genkernel:master commit in: defaults/

2021-09-08 Thread Thomas Deutschmann
commit: a3e1af34bb4dce30d99fdeca7b8217f89f219a01
Author: Georgy Yakovlev  gentoo  org>
AuthorDate: Wed Sep  8 02:04:16 2021 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Wed Sep  8 14:00:08 2021 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=a3e1af34

initrd.scripts: don't skip top level devices with partitions

ppc64 media should be mounted as /dev/sdX, not as /dev/sdX1
this loop was skipping /dev/sdX if /dev/sdX1 is present.

Bug: https://bugs.gentoo.org/212794
Bug: https://bugs.gentoo.org/796272
Signed-off-by: Georgy Yakovlev  gentoo.org>
Closes: https://bugs.gentoo.org/796272
Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/initrd.scripts | 18 --
 1 file changed, 18 deletions(-)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index cdee2a4..7eac892 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -178,24 +178,6 @@ findmediamount() {
# Check for a block device to mount
if [ -b "${x}" ]
then
-   skip=0
-   bsn=$(basename "${x}")
-   #
-   # If disk and it has at least one partition, 
skip.
-   # We use /sys/block/${bsn}/${bsn}[0-9]* to make 
sure that we
-   # don't skip device mapper devices. Even the 
craziest scenario
-   # deserves a fair chance.
-   #
-   # shellcheck disable=SC2045
-   for part in $(ls 
/sys/block/${bsn}/${bsn}*[0-9]* 2>/dev/null)
-   do
-   skip=1
-   break;
-   done
-   if [ ${skip} -eq 1 ]
-   then
-   continue
-   fi
good_msg "Attempting to mount media: ${x}" 
${CRYPT_SILENT}
 
CDROOT_TYPE=$(determine_fs "${x}" 
"${CDROOT_TYPE}")



[gentoo-commits] proj/genkernel:master commit in: defaults/

2021-07-05 Thread Thomas Deutschmann
commit: 203500a030b608538b15a4a8094de680e1937266
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Mon Jul  5 23:19:34 2021 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Mon Jul  5 23:40:52 2021 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=203500a0

initrd.scripts: openLUKS(): Reset cryptsetup_options on each iteration

Fixes: a0a6d631 ("linuxrc: add kernel command-line argument to allow user to 
pass additional options to cryptsetup")
Bug: https://bugs.gentoo.org/794817
Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/initrd.scripts | 6 --
 defaults/unlock-luks.sh | 4 
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 5ec8adb..cdee2a4 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1831,8 +1831,6 @@ openLUKS() {
eval local LUKS_KEY='"${CRYPT_'${TYPE}'_KEY}"'
eval local LUKS_KEYDEV='"${CRYPT_'${TYPE}'_KEYDEV}"'
eval local LUKS_KEYDEV_FSTYPE='"${CRYPT_'${TYPE}'_KEYDEV_FSTYPE}"'
-   eval local cryptsetup_options='"${CRYPT_'${TYPE}'_OPTIONS}"'
-   cryptsetup_options="$(trim "${cryptsetup_options}")"
eval local OPENED_LOCKFILE='"${CRYPT_'${TYPE}'_OPENED_LOCKFILE}"'
local DEV_ERROR=0 KEY_ERROR=0 KEYDEV_ERROR=0
local mntkey="/mnt/key/" crypt_filter_ret=
@@ -1845,6 +1843,10 @@ openLUKS() {
 
while true
do
+   # Reset cryptsetup_options on each iteration
+   eval local cryptsetup_options='"${CRYPT_'${TYPE}'_OPTIONS}"'
+   cryptsetup_options="$(trim "${cryptsetup_options}")"
+
local gpg_cmd=""
if [ -e "${OPENED_LOCKFILE}" ]
then

diff --git a/defaults/unlock-luks.sh b/defaults/unlock-luks.sh
index 2674d93..54ed1a0 100644
--- a/defaults/unlock-luks.sh
+++ b/defaults/unlock-luks.sh
@@ -58,6 +58,10 @@ main() {
 
while true
do
+   # Reset cryptsetup_options on each iteration
+   eval local cryptsetup_options='"${CRYPT_'${TYPE}'_OPTIONS}"'
+   cryptsetup_options="$(trim "${cryptsetup_options}")"
+
local gpg_cmd crypt_filter_ret
 
if [ -e "${OPENED_LOCKFILE}" ]



[gentoo-commits] proj/genkernel:master commit in: defaults/

2021-07-05 Thread Thomas Deutschmann
commit: f80b81da305f1f782043d31751f81264be6f2ecd
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Wed Jun 23 22:42:13 2021 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Mon Jul  5 22:44:45 2021 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=f80b81da

linuxrc: Don't mess with console log level in quiet mode

Fixes: d5f7d79b ("linuxrc: Refactor handling of console log level")
Bug: https://bugs.gentoo.org/788970
Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/linuxrc | 9 ++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/defaults/linuxrc b/defaults/linuxrc
index 932df46..6ede740 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -452,8 +452,11 @@ do
esac
 done
 
-# Prevent superfluous printks from being printed to the console
-echo ${GK_CONSOLE_LOGLEVEL} > /proc/sys/kernel/printk
+if ! is_quiet
+then
+   # Prevent superfluous printks from being printed to the console
+   echo ${GK_CONSOLE_LOGLEVEL} > /proc/sys/kernel/printk
+fi
 
 good_msg "${GK_META_VERSION} (${GK_META_BUILD_DATE}). Linux kernel ${KV}"
 
@@ -1370,7 +1373,7 @@ do
fi
 done
 
-if [[ "${CONSOLE_LOGLEVEL}" != "${GK_CONSOLE_LOGLEVEL}" ]]
+if ! is_quiet && [[ "${CONSOLE_LOGLEVEL}" != "${GK_CONSOLE_LOGLEVEL}" ]]
 then
good_msg "Restoring console log level (${CONSOLE_LOGLEVEL}) ..."
echo ${CONSOLE_LOGLEVEL} > /proc/sys/kernel/printk \



[gentoo-commits] proj/genkernel:master commit in: defaults/, gkbuilds/

2021-07-05 Thread Thomas Deutschmann
commit: 8fa4d682493e704cfdea5c51aecc26af868e9d97
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Mon Jul  5 22:36:00 2021 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Mon Jul  5 23:40:51 2021 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=8fa4d682

defaults/software.sh: Add libxcrypt

Needed for BusyBox when host system is using sys-libs/libxcrypt[-static-libs]
which is usually enforced via package.use.force.

Bug: https://bugs.gentoo.org/798468
Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/software.sh   |  9 -
 gkbuilds/libxcrypt.gkbuild | 17 +
 2 files changed, 25 insertions(+), 1 deletion(-)

diff --git a/defaults/software.sh b/defaults/software.sh
index 291bad4..54836ad 100644
--- a/defaults/software.sh
+++ b/defaults/software.sh
@@ -39,7 +39,7 @@ 
GKPKG_BTRFS_PROGS_BINPKG="${GKPKG_BTRFS_PROGS_BINPKG:-%%CACHE%%/btrfs-progs-${GK
 
 GKPKG_BUSYBOX_PN="busybox"
 GKPKG_BUSYBOX_PV="${GKPKG_BUSYBOX_PV:-VERSION_BUSYBOX}"
-GKPKG_BUSYBOX_DEPS=""
+GKPKG_BUSYBOX_DEPS="libxcrypt"
 
GKPKG_BUSYBOX_SRCTAR="${GKPKG_BUSYBOX_SRCTAR:-${DISTDIR}/busybox-${GKPKG_BUSYBOX_PV}.tar.bz2}"
 GKPKG_BUSYBOX_SRCDIR="${GKPKG_BUSYBOX_SRCDIR:-busybox-${GKPKG_BUSYBOX_PV}}"
 
GKPKG_BUSYBOX_BINPKG="${GKPKG_BUSYBOX_BINPKG:-%%CACHE%%/busybox-${GKPKG_BUSYBOX_PV}-%%ARCH%%.tar.xz}"
@@ -156,6 +156,13 @@ 
GKPKG_LIBGPG_ERROR_SRCTAR="${GKPKG_LIBGPG_ERROR_SRCTAR:-${DISTDIR}/libgpg-error-
 
GKPKG_LIBGPG_ERROR_SRCDIR="${GKPKG_LIBGPG_ERROR_SRCDIR:-libgpg-error-${GKPKG_LIBGPG_ERROR_PV}}"
 
GKPKG_LIBGPG_ERROR_BINPKG="${GKPKG_LIBGPG_ERROR_BINPKG:-%%CACHE%%/libgpg-error-${GKPKG_LIBGPG_ERROR_PV}-%%ARCH%%.tar.xz}"
 
+GKPKG_LIBXCRYPT_PN="libxcrypt"
+GKPKG_LIBXCRYPT_PV="${GKPKG_LIBXCRYPT_PV:-VERSION_LIBXCRYPT}"
+GKPKG_LIBXCRYPT_DEPS=""
+GKPKG_LIBXCRYPT_SRCTAR="${GKPKG_LIBXCRYPT_SRCTAR:-${DISTDIR}/libxcrypt-${GKPKG_LIBXCRYPT_PV}.tar.gz}"
+GKPKG_LIBXCRYPT_SRCDIR="${GKPKG_LIBXCRYPT_SRCDIR:-libxcrypt-${GKPKG_LIBXCRYPT_PV}}"
+GKPKG_LIBXCRYPT_BINPKG="${GKPKG_LIBXCRYPT_BINPKG:-%%CACHE%%/libxcrypt-${GKPKG_LIBXCRYPT_PV}-%%ARCH%%.tar.xz}"
+
 GKPKG_LVM_PN="lvm"
 GKPKG_LVM_PV="${GKPKG_LVM_PV:-VERSION_LVM}"
 GKPKG_LVM_DEPS="util-linux eudev libaio"

diff --git a/gkbuilds/libxcrypt.gkbuild b/gkbuilds/libxcrypt.gkbuild
new file mode 100644
index 000..1834e25
--- /dev/null
+++ b/gkbuilds/libxcrypt.gkbuild
@@ -0,0 +1,17 @@
+# Copyright 2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+src_prepare() {
+   default
+
+   gkautoreconf
+}
+
+src_configure() {
+   local myopts=(
+   --enable-shared
+   --enable-static
+   )
+
+   gkconf "${myopts[@]}"
+}



[gentoo-commits] proj/genkernel:master commit in: defaults/

2021-03-27 Thread Thomas Deutschmann
commit: cdaef312247a3ed18c9fdcea084058e5f25a7f3e
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sat Mar 27 16:07:21 2021 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sat Mar 27 16:14:55 2021 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=cdaef312

defaults/modules_load: Add support for Lenovo / Thinkpad devices

Support for IBM/Lenovo devices that are not fully compliant with HID standard.

Reported-by: Patrick Lauer  gentoo.org>
Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/modules_load | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/defaults/modules_load b/defaults/modules_load
index 1cc1478..cee5f4d 100644
--- a/defaults/modules_load
+++ b/defaults/modules_load
@@ -24,7 +24,7 @@ MODULES_ISCSI="scsi_transport_iscsi libiscsi iscsi_tcp"
 # Hardware (Pluggable)
 MODULES_FIREWIRE="ieee1394 ohci1394 sbp2"
 MODULES_PCMCIA="pcmcia pcmcia_core yenta_socket pd6729 i82092 i82365 tcic ds 
ide-cs firmware_class"
-MODULES_USB="ehci-pci ehci-hcd xhci-hcd xhci-pci xhci-plat xhci-plat-hcd uhci 
usb-ohci hid usb-storage uas uhci-hcd ohci-hcd usbhid hid-generic sl811-hcd 
hid-a4tech hid-apple hid-belkin hid-cherry hid-chicony hid-cypress hid-dummy 
hid-ezkey hid-gyration hid-logitech hid-logitech-dj hid-microsoft hid-monterey 
hid-petalynx hid-pl hid-samsung hid-sony hid-sunplus"
+MODULES_USB="ehci-pci ehci-hcd xhci-hcd xhci-pci xhci-plat xhci-plat-hcd uhci 
usb-ohci hid usb-storage uas uhci-hcd ohci-hcd usbhid hid-generic sl811-hcd 
hid-a4tech hid-apple hid-belkin hid-cherry hid-chicony hid-cypress hid-dummy 
hid-ezkey hid-gyration hid-lenovo hid-logitech hid-logitech-dj hid-microsoft 
hid-monterey hid-petalynx hid-pl hid-samsung hid-sony hid-sunplus"
 
 # Filesystems
 MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs f2fs fuse virtiofs 
loop squashfs aufs overlay cramfs configfs fscrypto msdos"



[gentoo-commits] proj/genkernel:master commit in: defaults/

2021-03-26 Thread Thomas Deutschmann
commit: 950d8474866b643fbbf7d2b70a9593472a57c226
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Fri Mar 26 22:55:37 2021 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Fri Mar 26 22:55:37 2021 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=950d8474

linuxrc: Fix log message

Fixes: 60ecb8b6d ("linuxrc: Move global variables to initrd.defaults")
Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/linuxrc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/defaults/linuxrc b/defaults/linuxrc
index 81e1050..932df46 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -1372,7 +1372,7 @@ done
 
 if [[ "${CONSOLE_LOGLEVEL}" != "${GK_CONSOLE_LOGLEVEL}" ]]
 then
-   good_msg "Restoring console log level (${console_loglevel}) ..."
+   good_msg "Restoring console log level (${CONSOLE_LOGLEVEL}) ..."
echo ${CONSOLE_LOGLEVEL} > /proc/sys/kernel/printk \
&& log_msg "COMMAND: 'echo \"${CONSOLE_LOGLEVEL}\" > 
/proc/sys/kernel/printk'"
 fi



[gentoo-commits] proj/genkernel:master commit in: defaults/

2021-03-21 Thread Thomas Deutschmann
commit: 92e8f61d4e151549b6e66a073461f7d1dc3659f6
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sat Mar 20 17:23:44 2021 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Mar 21 18:24:03 2021 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=92e8f61d

initrd.scripts: Add is_quiet() function

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/initrd.scripts | 65 +++--
 1 file changed, 36 insertions(+), 29 deletions(-)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index ccbc16d..cbeb6bc 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -85,16 +85,16 @@ modules_scan() {
fi
 
log_msg "Loading modules of module group '${1}' (smart loading: 
${smart_loading}) ..."
-   [ -z "${QUIET}" ] && \
-   printf "%b" "${BOLD}   ::${NORMAL} Loading from ${1}: "
+   is_quiet \
+   || printf "%b" "${BOLD}   ::${NORMAL} Loading from ${1}: "
 
for x in ${MODS}
do
MLOAD=$(echo ${MLIST} | sed -e "s/.*${x}.*/${x}/")
if [ "${MLOAD}" = "${x}" ] # Only module to no-load
then
-   [ -z "${QUIET}" ] && \
-   printf "%b\n" "${BOLD}   ::${NORMAL} Skipping 
${x} ..."
+   is_quiet \
+   || printf "%b\n" "${BOLD}   ::${NORMAL} 
Skipping ${x} ..."
elif [ "${MLOAD}" = "${MLIST}" ]
then
if [ "${smart_loading}" = "yes" ]
@@ -131,14 +131,15 @@ modules_scan() {
echo "not loaded"
 
! is_debug && [ "${loaded}" = "0" ] && \
-   [ -z "${QUIET}" ] && \
+   ! is_quiet && \
printf "%b" "${x} "
else
-   [ -z "${QUIET}" ] && \
-   printf "%b\n" "${BOLD}   ::${NORMAL} Skipping 
${x} ..."
+   is_quiet \
+   || printf "%b\n" "${BOLD}   ::${NORMAL} 
Skipping ${x} ..."
fi
done
-   [ -z "${QUIET}" ] && echo
+
+   is_quiet || echo
 }
 
 uppercase() {
@@ -627,6 +628,12 @@ is_log_enabled() {
return 0
 }
 
+is_quiet() {
+   is_true "${QUIET}" && return 0
+
+   return 1
+}
+
 is_true() {
case "${1}" in
1)
@@ -1174,7 +1181,7 @@ good_msg() {
 
log_msg "[OK] ${msg_string}"
 
-   [ "${2-${QUIET}}" != '1' ] && printf "%b\n" "${GOOD}>>${NORMAL}${BOLD} 
${msg_string} ${NORMAL}"
+   is_true "${2-${QUIET}}" || printf "%b\n" "${GOOD}>>${NORMAL}${BOLD} 
${msg_string} ${NORMAL}"
 }
 
 good_msg_n() {
@@ -1183,7 +1190,7 @@ good_msg_n() {
 
log_msg "[OK] ${msg_string}"
 
-   [ "${2-${QUIET}}" != '1' ] && printf "%b" "${GOOD}>>${NORMAL}${BOLD} 
${msg_string}"
+   is_true "${2-${QUIET}}" || printf "%b" "${GOOD}>>${NORMAL}${BOLD} 
${msg_string}"
 }
 
 bad_msg() {
@@ -1202,7 +1209,7 @@ warn_msg() {
 
log_msg "[**] ${msg_string}"
 
-   [ "${2-${QUIET}}" != '1' ] && printf "%b\n" "${WARN}**${NORMAL}${BOLD} 
${msg_string} ${NORMAL}"
+   is_true "${2-${QUIET}}" || printf "%b\n" "${WARN}**${NORMAL}${BOLD} 
${msg_string} ${NORMAL}"
 }
 
 warn_msg_n() {
@@ -1211,7 +1218,7 @@ warn_msg_n() {
 
log_msg "[**] ${msg_string}"
 
-   [ "${2-${QUIET}}" != '1' ] && printf "%b" "${WARN}**${NORMAL}${BOLD} 
${msg_string}"
+   is_true "${2-${QUIET}}" || printf "%b" "${WARN}**${NORMAL}${BOLD} 
${msg_string}"
 }
 
 write_env_file() {
@@ -1625,7 +1632,7 @@ start_volumes() {
 
local lvm_cmd="run lvm vgscan 2>&1"
is_log_enabled && lvm_cmd="${lvm_cmd} | tee -a 
'${GK_INIT_LOG}'"
-   [ -n "${QUIET}" ] && lvm_cmd="${lvm_cmd} 
1>/dev/null"
+   is_quiet && lvm_cmd="${lvm_cmd} 1>/dev/null"
 
eval "${lvm_cmd}"
if [ $? -ne 0 ]
@@ -1641,7 +1648,7 @@ start_volumes() {
# To activate volumegroups on all devices in the cache
local lvm_cmd="run lvm vgchange -ay --sysinit 2>&1"
is_log_enabled && lvm_cmd="${lvm_cmd} | tee -a 
'${GK_INIT_LOG}'"
-   [ -n "${QUIET}" ] && lvm_cmd="${lvm_cmd} 1>/dev/null"
+   is_quiet && lvm_cmd="${lvm_cmd} 1>/dev/null"
 
eval "${lvm_cmd}"
if [ $? -ne 0 ]
@@ -1663,7 +1670,7 @@ start_volumes() {
 
local zfs_cmd="run /sbin/zpool import -N -a 
${ZPOOL_CACHE} ${ZPOOL_FORCE} 2>&1"
is_log_enabled && zfs_cmd="${zfs_cmd} | tee -a 
'${GK_INIT_LOG}'"
-   [ -n "${QUIET}" ] && zfs_cmd="${zfs_cmd} 1>/dev/null"
+   

[gentoo-commits] proj/genkernel:master commit in: defaults/

2021-03-21 Thread Thomas Deutschmann
commit: 3e69d8284b17f5f3471a9f7b7c58787d4a2bf051
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sun Mar 21 18:17:47 2021 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Mar 21 21:39:29 2021 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=3e69d828

initrd.scripts: do_resume(): Show warning when kernel doesn't support 
hibernation

...but "resume" was specified on kernel command-line.

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/initrd.scripts | 27 +--
 1 file changed, 17 insertions(+), 10 deletions(-)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index fb6f314..927404d 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -2538,30 +2538,38 @@ do_resume() {
local device=$(find_real_device "${REAL_RESUME}")
if [ -z "${device}" ]
then
-   warn_msg "REAL_RESUME (${REAL_RESUME}) device not found; 
Skipping resume ..."
+   warn_msg "resume device (${REAL_RESUME}) not found; Skipping 
resume ..." 0
return 0
else
REAL_RESUME="${device}"
fi
 
+   local resume_tried=no
if [ -d /proc/suspend2 -o -d /sys/power/suspend2 -o -d 
/sys/power/tuxonice ]
then
tuxonice_resume
-   else
+   resume_tried=yes
+   elif [ -f /sys/power/resume ]
+   then
swsusp_resume
+   resume_tried=yes
+   fi
+
+   if is_true "${resume_tried}"
+   then
+   warn_msg "System is not resuming from ${REAL_RESUME}, probably 
because it wasn't suspended; Continue normal booting ..."
+   else
+   warn_msg "resume device (${REAL_RESUME}) specified but kernel 
is lacking proper hibernation support!"
fi
 }
 
 swsusp_resume() {
# determine swap resume partition
local device=$(ls -lL "${REAL_RESUME}" | sed 's/\  */ /g' | cut -d \  
-f 5-6 | sed 's/,\ */:/')
-   if [ -f /sys/power/resume ]
-   then
-   log_msg "Trying to resume using swsusp ..."
-   log_msg "COMMAND: 'echo \"${device}\" > /sys/power/resume'"
-   echo "${device}" > /sys/power/resume
-   log_msg "System is not resuming from ${REAL_RESUME}, probably 
because it wasn't suspended; Continue normal booting ..."
-   fi
+
+   log_msg "Trying to resume using swsusp ..."
+   log_msg "COMMAND: 'echo \"${device}\" > /sys/power/resume'"
+   echo "${device}" > /sys/power/resume
 }
 
 tuxonice_resume() {
@@ -2627,7 +2635,6 @@ tuxonice_resume() {
echo "${REAL_RESUME}" > "${tuxonice_resumedev}"
log_msg "COMMAND: 'echo > ${tuxonice_do_resume}'"
echo > "${tuxonice_do_resume}"
-   log_msg "System is not resuming from ${REAL_RESUME}, probably because 
it wasn't suspended; Continue normal booting ..."
 }
 
 find_loop() {



[gentoo-commits] proj/genkernel:master commit in: defaults/

2021-03-21 Thread Thomas Deutschmann
commit: 5e3215ff97e980bf52cceb230488b0587c965ba1
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sun Mar 21 18:16:21 2021 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Mar 21 18:24:03 2021 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=5e3215ff

linuxrc: Adjust resume device messages

Use same messages we use for root device.

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/linuxrc | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/defaults/linuxrc b/defaults/linuxrc
index bd6d192..81e1050 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -646,6 +646,8 @@ then
RESUME_DEV=""
retval=1
 
+   good_msg "Determining resume device (trying 
${REAL_RESUME}) ..."
+
if [ ${retval} -ne 0 ]
then
RESUME_DEV=$(findfs "${REAL_RESUME}" 
2>/dev/null)
@@ -660,7 +662,7 @@ then
 
if [ ${retval} -eq 0 ] && [ -n "${RESUME_DEV}" ]
then
-   good_msg "Detected 
real_resume=${RESUME_DEV}"
+   good_msg "Resume device detected as 
${RESUME_DEV}!"
REAL_RESUME="${RESUME_DEV}"
fi
;;



[gentoo-commits] proj/genkernel:master commit in: defaults/

2021-03-21 Thread Thomas Deutschmann
commit: b020169858590fb291003c86c8ddfc4194d9ca19
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sat Mar 20 17:13:22 2021 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Mar 21 16:26:39 2021 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=b0201698

linuxrc: Use same $CRYPT_SILENT style

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/linuxrc | 2 +-
 defaults/login-remote.sh | 8 
 defaults/unlock-luks.sh  | 6 +++---
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/defaults/linuxrc b/defaults/linuxrc
index dc34439..2bb4bae 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -1045,7 +1045,7 @@ then
then
CRYPT_ROOT_KEY="$(head -n 1 "${CDROOT_PATH}"/${CDROOT_MARKER})"
CRYPT_ROOT='/dev/loop0'
-   good_msg 'You booted an encrypted livecd' "${CRYPT_SILENT}"
+   good_msg 'You booted an encrypted livecd' ${CRYPT_SILENT}
 
losetup /dev/loop0 "${CDROOT_PATH}/${LOOPEXT}${LOOP}"
test_success 'Preparing loop filesystem'

diff --git a/defaults/login-remote.sh b/defaults/login-remote.sh
index 7fcfc70..8eee09a 100644
--- a/defaults/login-remote.sh
+++ b/defaults/login-remote.sh
@@ -30,11 +30,11 @@ receivefile() {
file=${CRYPT_SWAP_KEYFILE}
;;
'')
-   bad_msg "No keyfile specified." "${CRYPT_SILENT}"
+   bad_msg "No keyfile specified." ${CRYPT_SILENT}
exit 1
;;
*)
-   bad_msg "Unknown '${1}' keyfile received." 
"${CRYPT_SILENT}"
+   bad_msg "Unknown '${1}' keyfile received." 
${CRYPT_SILENT}
exit 1
;;
esac
@@ -67,12 +67,12 @@ then
exit 1
fi
else
-   bad_msg "Keyfile was not properly received!" 
"${CRYPT_SILENT}"
+   bad_msg "Keyfile was not properly received!" 
${CRYPT_SILENT}
exit 1
fi
;;
*)
-   bad_msg "Command '${command}' is not supported!" 
"${CRYPT_SILENT}"
+   bad_msg "Command '${command}' is not supported!" 
${CRYPT_SILENT}
exit 1
esac
 else

diff --git a/defaults/unlock-luks.sh b/defaults/unlock-luks.sh
index 9ef54e0..2674d93 100644
--- a/defaults/unlock-luks.sh
+++ b/defaults/unlock-luks.sh
@@ -74,7 +74,7 @@ main() {
 
if ! run cryptsetup isLuks "${LUKS_DEVICE}"
then
-   bad_msg "The LUKS device ${LUKS_DEVICE} does 
not contain a LUKS header" "${CRYPT_SILENT}"
+   bad_msg "The LUKS device ${LUKS_DEVICE} does 
not contain a LUKS header" ${CRYPT_SILENT}
 
# User has SSH access and is able to call 
script again or
# able to investigate the problem on its own.
@@ -103,10 +103,10 @@ main() {
if [ ${crypt_filter_ret} -eq 0 ]
then
run touch "${OPENED_LOCKFILE}"
-   good_msg "LUKS device ${LUKS_DEVICE} 
opened" "${CRYPT_SILENT}"
+   good_msg "LUKS device ${LUKS_DEVICE} 
opened" ${CRYPT_SILENT}
break
else
-   bad_msg "Failed to open LUKS device 
${LUKS_DEVICE}" "${CRYPT_SILENT}"
+   bad_msg "Failed to open LUKS device 
${LUKS_DEVICE}" ${CRYPT_SILENT}
 
# We need to stop here with a non-zero 
exit code to prevent
# a loop when invalid keyfile was sent.



[gentoo-commits] proj/genkernel:master commit in: defaults/

2021-03-21 Thread Thomas Deutschmann
commit: 60ecb8b6d85b70d07e9aacb12771dde7cd86adf3
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sun Mar 21 16:24:51 2021 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Mar 21 18:24:03 2021 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=60ecb8b6

linuxrc: Move global variables to initrd.defaults

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/initrd.defaults | 17 ++---
 defaults/initrd.scripts  |  4 ++--
 defaults/linuxrc | 25 ++---
 defaults/login-remote.sh |  8 ++--
 4 files changed, 24 insertions(+), 30 deletions(-)

diff --git a/defaults/initrd.defaults b/defaults/initrd.defaults
index 8849539..9ebeecc 100644
--- a/defaults/initrd.defaults
+++ b/defaults/initrd.defaults
@@ -46,15 +46,21 @@ WHITE=""
 # printf ""
 
 KV=$(uname -r)
-KMAJOR=$(echo $KV | cut -f1 -d.)
-KMINOR=$(echo $KV | cut -f2 -d.)
+KMAJOR=$(echo ${KV} | cut -f1 -d.)
+KMINOR=$(echo ${KV} | cut -f2 -d.)
 KVER="${KMAJOR}.${KMINOR}"
 MISCOPTS='debug detect'
 
-QUIET=''
+CONSOLE_LOGLEVEL=$(cut -b1 /proc/sys/kernel/printk 2>/dev/null || echo 7)
+
+QUIET=0
 ROOT_LINKS='bin sbin lib lib32 lib64 boot usr opt emul'
 ROOT_TREES='etc root home var'
 
+FAKE_ROOT=''
+FAKE_INIT=''
+FAKE_ROOTFLAGS=''
+
 REAL_ROOT=''
 NEW_ROOT='/newroot'
 
no_umounts='/newroot|/mnt/aufs-dev|/mnt/aufs-rw-branch|/mnt/livecd|/mnt/cdrom|/.unions/memory|/.unions/memory/xino'
@@ -88,6 +94,8 @@ GK_NET_TIMEOUT_DAD=10
 GK_NET_TIMEOUT_DECONFIGURATION=10
 GK_NET_TIMEOUT_DHCP=10
 GK_NET_TIMEOUT_INTERFACE=10
+GK_META_BUILD_DATE=$(cat /etc/build_date 2>/dev/null || echo "Unknown")
+GK_META_VERSION=$(cat /etc/build_id 2>/dev/null || echo "Unknown")
 GK_PRESERVE_RUN=1
 GK_PROMPT_FILE='/tmp/current_prompt'
 GK_PROMPT_TIMEOUT=0
@@ -107,11 +115,14 @@ CRYPT_ROOT_KEYDEV_FSTYPE='auto'
 CRYPT_ROOT_KEYFILE='/tmp/root.key'
 CRYPT_ROOT_OPENED_LOCKFILE='/tmp/ROOT.opened'
 CRYPT_ROOT_OPTIONS=''
+CRYPT_SILENT=0
 CRYPT_SWAP_KEYDEV_FSTYPE='auto'
 CRYPT_SWAP_KEYFILE='/tmp/swap.key'
 CRYPT_SWAP_OPENED_LOCKFILE='/tmp/SWAP.opened'
 CRYPT_SWAP_OPTIONS=''
 
+ROOTFSTYPE='auto'
+
 ZFS_ENC_ENV_FILE='/etc/ZFS_ENC_ENV.conf'
 ZFS_ENC_OPENED_LOCKFILE='/tmp/ZFS.opened'
 

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index cbeb6bc..fb6f314 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1054,8 +1054,8 @@ run_shell() {
export PS1='rescueshell \w \# '
 
echo
-   GOOD=${BLUE} good_msg "${NORMAL}Welcome to ${BOLD}${gk_ver}${NORMAL} 
(${gk_build_date}) ${BOLD}rescue shell${NORMAL}!" 0
-   GOOD=${BLUE} good_msg "${NORMAL}...running Linux kernel 
${BOLD}${kernel_ver}${NORMAL}" 0
+   GOOD=${BLUE} good_msg "${NORMAL}Welcome to 
${BOLD}${GK_META_VERSION}${NORMAL} (${GK_META_BUILD_DATE}) ${BOLD}rescue 
shell${NORMAL}!" 0
+   GOOD=${BLUE} good_msg "${NORMAL}...running Linux kernel 
${BOLD}${KV}${NORMAL}" 0
echo
 
# Avoid /dev/{console,tty0} due to "can't access tty; job control 
turned off" problem;

diff --git a/defaults/linuxrc b/defaults/linuxrc
index 2bb4bae..bd6d192 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -51,21 +51,8 @@ fi
 # Set up symlinks
 run busybox --install -s
 
-console_loglevel="$(cut -b1 /proc/sys/kernel/printk 2>/dev/null || echo 7)"
-gk_ver="$(cat /etc/build_id)"
-gk_build_date="$(cat /etc/build_date)"
-kernel_ver="$(uname -r)"
-
-CMDLINE=$(cat /proc/cmdline)
-# Scan CMDLINE for any specified real_root= or cdroot arguments
-FAKE_ROOT=''
-FAKE_INIT=''
-FAKE_ROOTFLAGS=''
-ROOTFSTYPE='auto'
-CRYPT_SILENT=0
-QUIET=''
-
-run mkdir -p /etc/cmdline /etc/modprobe.d
+# Handle kernel command-line parameters
+CMDLINE=$(cat /proc/cmdline 2>/dev/null)
 for x in ${CMDLINE}
 do
case "${x}" in
@@ -468,7 +455,7 @@ done
 # Prevent superfluous printks from being printed to the console
 echo ${GK_CONSOLE_LOGLEVEL} > /proc/sys/kernel/printk
 
-good_msg "${gk_ver} (${gk_build_date}). Linux kernel ${kernel_ver}"
+good_msg "${GK_META_VERSION} (${GK_META_BUILD_DATE}). Linux kernel ${KV}"
 
 if [ "${GK_BOOTFONT_DISABLED}" = '0' -a -e /lib/console/font ]
 then
@@ -1381,11 +1368,11 @@ do
fi
 done
 
-if [[ "${console_loglevel}" != "${GK_CONSOLE_LOGLEVEL}" ]]
+if [[ "${CONSOLE_LOGLEVEL}" != "${GK_CONSOLE_LOGLEVEL}" ]]
 then
good_msg "Restoring console log level (${console_loglevel}) ..."
-   echo ${console_loglevel} > /proc/sys/kernel/printk \
-   && log_msg "COMMAND: 'echo \"${console_loglevel}\" > 
/proc/sys/kernel/printk'"
+   echo ${CONSOLE_LOGLEVEL} > /proc/sys/kernel/printk \
+   && log_msg "COMMAND: 'echo \"${CONSOLE_LOGLEVEL}\" > 
/proc/sys/kernel/printk'"
 fi
 
 good_msg "Switching to real root: switch_root ${CHROOT} ${init} ${init_opts}"

diff --git a/defaults/login-remote.sh b/defaults/login-remote.sh
index 8eee09a..4664d7b 100644
--- a/defaults/login-remote.sh
+++ b/defaults/login-remote.sh
@@ -81,14 +81,10 @@ else
# Don't log further 

[gentoo-commits] proj/genkernel:master commit in: defaults/

2021-03-21 Thread Thomas Deutschmann
commit: cc8a012bb8525cfa2c378f2f5d21323e44b106d9
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sun Mar 21 21:53:39 2021 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Mar 21 21:53:39 2021 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=cc8a012b

initrd.scripts: crypt_filter(): crypt_silent shouldn't hide cryptsetup prompt

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/initrd.scripts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 927404d..5ec8adb 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1238,7 +1238,7 @@ write_env_file() {
 crypt_filter() {
if [ "${CRYPT_SILENT}" = '1' ]
then
-   eval run ${1} >/dev/null 2>&1
+   eval run ${1}
else
splash 'verbose' >/dev/null &
eval run ${1}



[gentoo-commits] proj/genkernel:master commit in: defaults/

2021-03-21 Thread Thomas Deutschmann
commit: 90a6419e5f0982baa1493749f6fb1b3c2fe33e7d
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sat Mar 20 17:19:35 2021 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Mar 21 18:19:45 2021 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=90a6419e

initrd.scripts: is_true(): Optimize for most frequently used value

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/initrd.scripts | 9 +
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 8dcb9e2..ccbc16d 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -628,7 +628,10 @@ is_log_enabled() {
 }
 
 is_true() {
-   case "$1" in
+   case "${1}" in
+   1)
+   return 0
+   ;;
[Tt][Rr][Uu][Ee])
return 0
;;
@@ -641,10 +644,8 @@ is_true() {
[Yy])
return 0
;;
-   1)
-   return 0
-   ;;
esac
+
return 1
 }
 



[gentoo-commits] proj/genkernel:master commit in: defaults/

2021-03-21 Thread Thomas Deutschmann
commit: 28c3b424687a0e68f0ebc9f53105bcf0a5cac1bf
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sat Mar 20 17:17:43 2021 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Mar 21 16:26:51 2021 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=28c3b424

initrd.scripts: is_debug(): Mark local variable as such

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/initrd.scripts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index d68875b..8dcb9e2 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -592,7 +592,7 @@ conf_rc_no_umounts() {
 }
 
 is_debug() {
-   is_debug=1
+   local is_debug=1
 
if [ -f "${GK_DEBUGMODE_STATEFILE}" ]
then



[gentoo-commits] proj/genkernel:master commit in: defaults/

2021-03-19 Thread Thomas Deutschmann
commit: ccdfc66e1dd25a361ac8d445225394b581eec729
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Fri Mar 19 19:07:20 2021 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sat Mar 20 00:12:35 2021 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=ccdfc66e

linuxrc: Fix QUIET mode

This commit will ensure that we really don't output anything
when running in QUIET mode -- only errors will be shown.

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/initrd.scripts | 91 +
 defaults/linuxrc| 14 
 2 files changed, 53 insertions(+), 52 deletions(-)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 2bf736f..ea66d9b 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -419,7 +419,7 @@ cache_cd_contents() {
run cp -a ${CDROOT_PATH}/${LOOP} ${NEW_ROOT}/mnt/${LOOP}
if [ $? -ne 0 ]
then
-   warn_msg "Failed to cache the loop file! Lack 
of RAM?"
+   warn_msg "Failed to cache the loop file! Lack 
of RAM?" 0
run rm -rf ${NEW_ROOT}/mnt/${LOOP} 2>/dev/null
run rm -rf ${NEW_ROOT}/mnt/livecd.* 2>/dev/null
run rm -rf ${NEW_ROOT}/mnt/image.* 2>/dev/null
@@ -1013,10 +1013,10 @@ run() {
 run_debug_shell() {
is_debug || return
 
-   good_msg 'Starting debug shell as requested by "debug" option.'
-   good_msg "Run '${BOLD}gksosreport${NORMAL}' to generate debug report"
-   good_msg "in case you want to file a bug report."
-   good_msg "Stopping by: ${1}"
+   good_msg 'Starting debug shell as requested by "debug" option.' 0
+   good_msg "Run '${BOLD}gksosreport${NORMAL}' to generate debug report" 0
+   good_msg "in case you want to file a bug report." 0
+   good_msg "Stopping by: ${1}" 0
run_shell
 }
 
@@ -1025,8 +1025,8 @@ run_emergency_shell() {
then
echo
gksosreport
-   good_msg 'You might want to save 
"/run/initramfs/gksosreport.txt" to a USB stick or /boot'
-   good_msg 'after mounting them and attach it to a bug report.'
+   good_msg 'You might want to save 
"/run/initramfs/gksosreport.txt" to a USB stick or /boot' 0
+   good_msg 'after mounting them and attach it to a bug report.' 0
fi
 
run_shell
@@ -1046,8 +1046,8 @@ run_shell() {
export PS1='rescueshell \w \# '
 
echo
-   GOOD=${BLUE} good_msg "${NORMAL}Welcome to ${BOLD}${gk_ver}${NORMAL} 
(${gk_build_date}) ${BOLD}rescue shell${NORMAL}!"
-   GOOD=${BLUE} good_msg "${NORMAL}...running Linux kernel 
${BOLD}${kernel_ver}${NORMAL}"
+   GOOD=${BLUE} good_msg "${NORMAL}Welcome to ${BOLD}${gk_ver}${NORMAL} 
(${gk_build_date}) ${BOLD}rescue shell${NORMAL}!" 0
+   GOOD=${BLUE} good_msg "${NORMAL}...running Linux kernel 
${BOLD}${kernel_ver}${NORMAL}" 0
echo
 
# Avoid /dev/{console,tty0} due to "can't access tty; job control 
turned off" problem;
@@ -1168,25 +1168,21 @@ log_msg() {
 # $2 hide flag
 
 good_msg() {
-   [ -n "${QUIET}" ] && ! is_debug && return 0
-
local msg_string=${1}
msg_string="${msg_string:-...}"
 
log_msg "[OK] ${msg_string}"
 
-   [ "$2" != '1' ] && printf "%b\n" "${GOOD}>>${NORMAL}${BOLD} 
${msg_string} ${NORMAL}"
+   [ "${2-${QUIET}}" != '1' ] && printf "%b\n" "${GOOD}>>${NORMAL}${BOLD} 
${msg_string} ${NORMAL}"
 }
 
 good_msg_n() {
-   [ -n "${QUIET}" ] && ! is_debug && return 0
-
local msg_string=${1}
msg_string="${msg_string:-...}"
 
log_msg "[OK] ${msg_string}"
 
-   [ "$2" != '1' ] && printf "%b" "${GOOD}>>${NORMAL}${BOLD} ${msg_string}"
+   [ "${2-${QUIET}}" != '1' ] && printf "%b" "${GOOD}>>${NORMAL}${BOLD} 
${msg_string}"
 }
 
 bad_msg() {
@@ -1195,11 +1191,8 @@ bad_msg() {
 
log_msg "[!!] ${msg_string}"
 
-   if [ "$2" != '1' ]
-   then
-   splash 'verbose' >/dev/null &
-   printf "%b\n" "${BAD}!!${NORMAL}${BOLD} ${msg_string} ${NORMAL}"
-   fi
+   splash 'verbose' >/dev/null &
+   printf "%b\n" "${BAD}!!${NORMAL}${BOLD} ${msg_string} ${NORMAL}"
 }
 
 warn_msg() {
@@ -1208,7 +1201,7 @@ warn_msg() {
 
log_msg "[**] ${msg_string}"
 
-   [ "$2" != '1' ] && printf "%b\n" "${WARN}**${NORMAL}${BOLD} 
${msg_string} ${NORMAL}"
+   [ "${2-${QUIET}}" != '1' ] && printf "%b\n" "${WARN}**${NORMAL}${BOLD} 
${msg_string} ${NORMAL}"
 }
 
 warn_msg_n() {
@@ -1217,7 +1210,7 @@ warn_msg_n() {
 
log_msg "[**] ${msg_string}"
 
-   [ "$2" != '1' ] && printf "%b" "${WARN}**${NORMAL}${BOLD} ${msg_string}"
+   [ "${2-${QUIET}}" != '1' ] && printf "%b" "${WARN}**${NORMAL}${BOLD} 
${msg_string}"
 }
 
 write_env_file() {
@@ -1325,8 +1318,8 @@ 

[gentoo-commits] proj/genkernel:master commit in: defaults/

2021-03-19 Thread Thomas Deutschmann
commit: abbdac08738be00b7194edd91d5fc922c565c51c
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sat Mar 20 00:08:48 2021 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sat Mar 20 00:12:34 2021 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=abbdac08

initrd.scripts: setup_keymap(): check console only when dokeymap is set

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/initrd.scripts | 14 +++---
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index ff956b0..2bf736f 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1444,15 +1444,15 @@ cmdline_hwopts() {
 }
 
 setup_keymap() {
-   local console=$(get_active_console)
-   if echo "${console}" | grep -qF 'ttyS'
-   then
-   warn_msg "Active console is ${console}; Skipping dokeymap ..."
-   return
-   fi
-
if [ "${DO_keymap}" ]
then
+   local console=$(get_active_console)
+   if echo "${console}" | grep -qF 'ttyS'
+   then
+   warn_msg "Active console is ${console}; Skipping 
dokeymap ..."
+   return
+   fi
+
if [ ! -e /dev/vc/0 -a ! -e /dev/tty0 ]
then
DEVBIND=1



[gentoo-commits] proj/genkernel:master commit in: defaults/

2021-03-19 Thread Thomas Deutschmann
commit: d5f7d79bab1563c301e0722ede0d75549297a031
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Fri Mar 19 19:09:36 2021 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sat Mar 20 00:12:35 2021 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=d5f7d79b

linuxrc: Refactor handling of console log level

Closes: https://github.com/gentoo/genkernel/pull/24
Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/initrd.defaults |  1 +
 defaults/initrd.scripts  | 18 --
 defaults/linuxrc | 18 +++---
 3 files changed, 12 insertions(+), 25 deletions(-)

diff --git a/defaults/initrd.defaults b/defaults/initrd.defaults
index 18e1382..8849539 100644
--- a/defaults/initrd.defaults
+++ b/defaults/initrd.defaults
@@ -70,6 +70,7 @@ VERIFY=0
 
 IP='dhcp'
 GK_BOOTFONT_DISABLED=0
+GK_CONSOLE_LOGLEVEL=3
 GK_DEBUGMODE_STATEFILE="/tmp/debug.enabled"
 GK_EMERGENCY_ACTION="halt -f"
 GK_HW_LOAD_ALL_MODULES=0

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index ea66d9b..d68875b 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -2502,24 +2502,6 @@ sdelay() {
fi
 }
 
-quiet_kmsg() {
-   # if QUIET is set make the kernel less chatty
-   if [ -n "${QUIET}" ]
-   then
-   echo '0' > /proc/sys/kernel/printk \
-   && log_msg "COMMAND: 'echo \"0\" > 
/proc/sys/kernel/printk'"
-   fi
-}
-
-verbose_kmsg() {
-   # if QUIET is set make the kernel less chatty
-   if [ -n "${QUIET}" ]
-   then
-   echo '6' > /proc/sys/kernel/printk \
-   && log_msg "COMMAND: 'echo \"6\" > 
/proc/sys/kernel/printk'"
-   fi
-}
-
 cdupdate() {
if [ "${CDROOT}" = '1' ]
then

diff --git a/defaults/linuxrc b/defaults/linuxrc
index 1861f23..dc34439 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -42,9 +42,6 @@ then
chmod 0750 /run/initramfs
 fi
 
-# Prevent superfluous printks from being printed to the console
-echo 1 > /proc/sys/kernel/printk
-
 if [ ! -s /etc/ld.so.cache ]
 then
# Looks like we were unable to run ldconfig during initramfs generation
@@ -54,6 +51,7 @@ fi
 # Set up symlinks
 run busybox --install -s
 
+console_loglevel="$(cut -b1 /proc/sys/kernel/printk 2>/dev/null || echo 7)"
 gk_ver="$(cat /etc/build_id)"
 gk_build_date="$(cat /etc/build_date)"
 kernel_ver="$(uname -r)"
@@ -467,6 +465,9 @@ do
esac
 done
 
+# Prevent superfluous printks from being printed to the console
+echo ${GK_CONSOLE_LOGLEVEL} > /proc/sys/kernel/printk
+
 good_msg "${gk_ver} (${gk_build_date}). Linux kernel ${kernel_ver}"
 
 if [ "${GK_BOOTFONT_DISABLED}" = '0' -a -e /lib/console/font ]
@@ -480,8 +481,6 @@ then
fi
 fi
 
-quiet_kmsg
-
 if [ "${CDROOT}" = '0' ]
 then
if [ -z "${REAL_ROOT}" -a "${FAKE_ROOT}" != "/dev/ram0" ]
@@ -1305,8 +1304,6 @@ then
CHROOT="${CHROOT}/${SUBDIR}"
 fi
 
-verbose_kmsg
-
 if [ "${aufs}" = '1' ]
 then
aufs_union_memory=${CHROOT}/.unions/memory
@@ -1384,6 +1381,13 @@ do
fi
 done
 
+if [[ "${console_loglevel}" != "${GK_CONSOLE_LOGLEVEL}" ]]
+then
+   good_msg "Restoring console log level (${console_loglevel}) ..."
+   echo ${console_loglevel} > /proc/sys/kernel/printk \
+   && log_msg "COMMAND: 'echo \"${console_loglevel}\" > 
/proc/sys/kernel/printk'"
+fi
+
 good_msg "Switching to real root: switch_root ${CHROOT} ${init} ${init_opts}"
 exec switch_root "${CHROOT}" "${init}" ${init_opts}
 



[gentoo-commits] proj/genkernel:master commit in: defaults/

2021-03-14 Thread Thomas Deutschmann
commit: c81285f02aaad8bd8161d06976147e9c1aca7a8a
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sun Mar 14 19:30:53 2021 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Mar 14 19:39:48 2021 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=c81285f0

initrd.scripts: run_shell(): Exit early when /dev is gone

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/initrd.scripts | 4 
 1 file changed, 4 insertions(+)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 53cb633..ff956b0 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1072,6 +1072,10 @@ run_shell() {
${SH} --login
fi
 
+   # Leave function early when /dev/null does not exist anymore,
+   # i.e. after failed switch_root call
+   [ ! -e /dev/null ] && return
+
rm "${GK_SHELL_LOCKFILE}"
 
echo



[gentoo-commits] proj/genkernel:master commit in: defaults/

2021-03-14 Thread Thomas Deutschmann
commit: f492e244b60324fac15d7a8f6e74b4a022bdd3bd
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sat Mar 13 18:55:21 2021 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Mar 14 19:33:57 2021 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=f492e244

initrd.scripts: setup_keymap(): Skip keymap loading for serial consoles

Bug: https://bugs.gentoo.org/222699
Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/initrd.scripts | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 505ca02..55fe73f 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1417,6 +1417,13 @@ cmdline_hwopts() {
 }
 
 setup_keymap() {
+   local console=$(get_active_console)
+   if echo "${console}" | grep -qF 'ttyS'
+   then
+   warn_msg "Active console is ${console}; Skipping dokeymap ..."
+   return
+   fi
+
if [ "${DO_keymap}" ]
then
if [ ! -e /dev/vc/0 -a ! -e /dev/tty0 ]



[gentoo-commits] proj/genkernel:master commit in: defaults/

2021-03-14 Thread Thomas Deutschmann
commit: d61b95fa199284170990948b3f0e51e32a213262
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sun Mar 14 15:58:17 2021 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Mar 14 19:34:08 2021 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=d61b95fa

initrd.scripts: Add is_userinteraction_allowed() function

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/initrd.scripts | 23 ++-
 1 file changed, 18 insertions(+), 5 deletions(-)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 3be18b5..53cb633 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -648,6 +648,15 @@ is_true() {
return 1
 }
 
+is_userinteraction_allowed() {
+   if [ -f "${GK_USERINTERACTION_DISABLED_STATEFILE}" ]
+   then
+   return 1
+   fi
+
+   return 0
+}
+
 # Function to create an ext2 fs on $aufs_dev, $aufs_dev_mnt mountpoint
 create_changefs() {
local size
@@ -1012,15 +1021,19 @@ run_debug_shell() {
 }
 
 run_emergency_shell() {
-   echo
-   gksosreport
-   good_msg 'You might want to save "/run/initramfs/gksosreport.txt" to a 
USB stick or /boot'
-   good_msg 'after mounting them and attach it to a bug report.'
+   if is_userinteraction_allowed
+   then
+   echo
+   gksosreport
+   good_msg 'You might want to save 
"/run/initramfs/gksosreport.txt" to a USB stick or /boot'
+   good_msg 'after mounting them and attach it to a bug report.'
+   fi
+
run_shell
 }
 
 run_shell() {
-   if [ -f "${GK_USERINTERACTION_DISABLED_STATEFILE}" ]
+   if ! is_userinteraction_allowed
then
bad_msg "gk.userinteraction.disabled is set; Spawning a shell 
is disabled!"
return



[gentoo-commits] proj/genkernel:master commit in: defaults/

2021-03-14 Thread Thomas Deutschmann
commit: f2bff3217a493b661dcde5dc1dea2f187106ca1a
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sun Mar 14 15:49:27 2021 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Mar 14 19:34:08 2021 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=f2bff321

initrd.scripts: modules_scan(): Rename GK_ROOTFS_DETECTED_STATEFILE -> 
GK_ROOT_DEV_DETECTED_STATEFILE

GK_ROOT_DEV_DETECTED_STATEFILE is the more precise name.

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/initrd.defaults | 2 +-
 defaults/initrd.scripts  | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/defaults/initrd.defaults b/defaults/initrd.defaults
index c9e956a..b4e1e1d 100644
--- a/defaults/initrd.defaults
+++ b/defaults/initrd.defaults
@@ -89,7 +89,7 @@ GK_NET_TIMEOUT_INTERFACE=10
 GK_PRESERVE_RUN=1
 GK_PROMPT_FILE='/tmp/current_prompt'
 GK_PROMPT_TIMEOUT=0
-GK_ROOTFS_DETECTED_STATEFILE="/tmp/rootfs.detected"
+GK_ROOT_DEV_DETECTED_STATEFILE="/tmp/root_dev.detected"
 GK_SHELL_LOCKFILE='/tmp/rescueshell.lock'
 GK_SSHD_LOCKFILE='/tmp/remote-rescueshell.lock'
 GK_SSHD_PIDFILE='/var/run/dropbear.pid'

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 55fe73f..da15db7 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -99,16 +99,16 @@ modules_scan() {
then
if [ "${smart_loading}" = "yes" ]
then
-   if [ ! -f "${GK_ROOTFS_DETECTED_STATEFILE}" ]
+   if [ ! -f "${GK_ROOT_DEV_DETECTED_STATEFILE}" ]
then
_root_dev=$(findfs "${REAL_ROOT}" 
2>/dev/null)
if [ $? -eq 0 ] && [ -n "${_root_dev}" 
] && [ -b "${_root_dev}" ]
then
-   echo "${_root_dev}" > 
"${GK_ROOTFS_DETECTED_STATEFILE}"
+   echo "${_root_dev}" > 
"${GK_ROOT_DEV_DETECTED_STATEFILE}"
fi
fi
 
-   if [ -f "${GK_ROOTFS_DETECTED_STATEFILE}" ]
+   if [ -f "${GK_ROOT_DEV_DETECTED_STATEFILE}" ]
then
log_msg "${root_dev_found}"
printf "%b" "${root_dev_found}"



[gentoo-commits] proj/genkernel:master commit in: defaults/

2021-03-14 Thread Thomas Deutschmann
commit: 2099687bbcc00e5ca3b6e11f2eb1e01e085e
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sun Mar 14 15:56:34 2021 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Mar 14 19:34:08 2021 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=2099

linuxrc: Rename rundebugshell() -> run_debug_shell()

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/initrd.scripts | 26 +++---
 defaults/linuxrc|  6 +++---
 2 files changed, 14 insertions(+), 18 deletions(-)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index da15db7..3be18b5 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -821,7 +821,7 @@ setup_overlayfs() {
local workdir="${overlay}/.work"
local static=/mnt/livecd
 
-   rundebugshell overlayfs
+   run_debug_shell overlayfs
for i in "${overlay}" "${static}"
do
[ ! -d "${i}" ] && run mkdir -p "${i}"
@@ -1001,6 +1001,16 @@ run() {
return ${retval}
 }
 
+run_debug_shell() {
+   is_debug || return
+
+   good_msg 'Starting debug shell as requested by "debug" option.'
+   good_msg "Run '${BOLD}gksosreport${NORMAL}' to generate debug report"
+   good_msg "in case you want to file a bug report."
+   good_msg "Stopping by: ${1}"
+   run_shell
+}
+
 run_emergency_shell() {
echo
gksosreport
@@ -2516,20 +2526,6 @@ cdupdate() {
fi
 }
 
-rundebugshell() {
-   if is_debug
-   then
-   good_msg 'Starting debug shell as requested by "debug" option.'
-   good_msg "Run '${BOLD}gksosreport${NORMAL}' to generate debug 
report"
-   good_msg "in case you want to file a bug report."
-   else
-   return 0
-   fi
-
-   good_msg "Stopping by: ${1}"
-   run_shell
-}
-
 do_resume() {
local device=$(find_real_device "${REAL_RESUME}")
if [ -z "${device}" ]

diff --git a/defaults/linuxrc b/defaults/linuxrc
index 7888130..8356aea 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -572,7 +572,7 @@ else
 fi
 
 # Run debug shell if requested
-rundebugshell "before starting udevd"
+run_debug_shell "before starting udevd"
 
 # Initialize udev
 if [ ! -f "/etc/udev/hwdb.bin" ]
@@ -670,7 +670,7 @@ run mkdir -p "${NEW_ROOT}"
 CHROOT="${NEW_ROOT}"
 
 # Run debug shell if requested
-rundebugshell "before setting up the root filesystem"
+run_debug_shell "before setting up the root filesystem"
 
 if [ "${CDROOT}" = '1' ]
 then
@@ -1331,7 +1331,7 @@ then
 fi
 
 # Run debug shell if requested
-rundebugshell "before entering switch_root"
+run_debug_shell "before switch_root"
 
 if [ "${GK_PRESERVE_RUN}" = '0' ]
 then



[gentoo-commits] proj/genkernel:master commit in: defaults/

2021-03-14 Thread Thomas Deutschmann
commit: 6f2867c2bcc027cfe088804dfeb5d3a6b3866a3e
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sat Mar 13 19:09:48 2021 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Mar 14 19:34:02 2021 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=6f2867c2

linuxrc: Skip loading embedded boot font for serial consoles

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/linuxrc | 8 +++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/defaults/linuxrc b/defaults/linuxrc
index acb246c..7888130 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -453,7 +453,13 @@ good_msg "${gk_ver} (${gk_build_date}). Linux kernel 
${kernel_ver}"
 
 if [ "${GK_BOOTFONT_DISABLED}" = '0' -a -e /lib/console/font ]
 then
-   hash setfont >/dev/null 2>&1 && run setfont /lib/console/font -C 
${CONSOLE} 2>&1
+   if echo "$(get_active_console)" | grep -qF ttyS
+   then
+   warn_msg "Active console is ${console}; Not loading embedded 
boot font ..."
+   elif hash setfont >/dev/null 2>&1
+   then
+   run setfont /lib/console/font -C ${CONSOLE} 2>&1
+   fi
 fi
 
 quiet_kmsg



[gentoo-commits] proj/genkernel:master commit in: defaults/, doc/

2021-03-14 Thread Thomas Deutschmann
commit: 858e9bbef4421cd4a1f85a1b5eeb3ebd4f3dce8a
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sat Mar 13 18:40:10 2021 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Mar 14 19:33:54 2021 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=858e9bbe

linuxrc: Drop "console" kernel argument handling

It was never really used; Kernel's console handling
already did the work.

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/linuxrc| 21 -
 doc/genkernel.8.txt |  4 
 2 files changed, 25 deletions(-)

diff --git a/defaults/linuxrc b/defaults/linuxrc
index 28a504b..acb246c 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -178,12 +178,6 @@ do
MLIST=$(echo ${MLIST} ${x#*=} | sed -e 's/^\ *//;s/,/ 
/g')
export MLIST
;;
-   # Redirect output to a specific tty
-   CONSOLE=*|console=*)
-   NEW_CONSOLE=${x#*=}
-   NEW_CONSOLE=$(basename ${NEW_CONSOLE})
-   NEW_CONSOLE=${NEW_CONSOLE%%,*}
-   ;;
# /dev/md
lvmraid=*)
warn_msg "'${x}' kernel command-line argument is 
deprecated; Use 'dolvm' instead!"
@@ -455,21 +449,6 @@ do
esac
 done
 
-if [ -n "${NEW_CONSOLE}" ]
-then
-   # We cannot update console while processing CMDLINE because we
-   # are only interested in last console= value.
-   [ ! -c "${NEW_CONSOLE}" ] && NEW_CONSOLE="/dev/${NEW_CONSOLE}"
-   if [ -c "${NEW_CONSOLE}" ]
-   then
-   exec 0<>${NEW_CONSOLE} 1<>${NEW_CONSOLE} 2<>${NEW_CONSOLE}
-   good_msg "Console switched from '${CONSOLE}' to 
'${NEW_CONSOLE}'!"
-   CONSOLE="${NEW_CONSOLE}"
-   else
-   bad_msg "Unable to switch console: '${NEW_CONSOLE}' not found 
or not a character device!"
-   fi
-fi
-
 good_msg "${gk_ver} (${gk_build_date}). Linux kernel ${kernel_ver}"
 
 if [ "${GK_BOOTFONT_DISABLED}" = '0' -a -e /lib/console/font ]

diff --git a/doc/genkernel.8.txt b/doc/genkernel.8.txt
index d7afc07..b75f979 100644
--- a/doc/genkernel.8.txt
+++ b/doc/genkernel.8.txt
@@ -872,10 +872,6 @@ enabled.
 *nomodules*::
 Enables/disables loading of modules in general.
 
-*CONSOLE*=<...>::
-*console*=<...>::
-Override location of console, default is "/dev/console".
-
 *part*[=<0,1>]::
 *partitionable*::
 Enable/Disable partitionable RAIDs (metadata 0.x) during auto-run.



[gentoo-commits] proj/genkernel:master commit in: defaults/

2021-03-14 Thread Thomas Deutschmann
commit: bf26667ac4a906601eda8ce72cdd7058556bf387
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sat Mar 13 17:08:40 2021 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Mar 14 19:33:34 2021 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=bf26667a

linuxrc: Reformat exec code

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/linuxrc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/defaults/linuxrc b/defaults/linuxrc
index 1c051bc..f20d606 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -21,7 +21,7 @@
 [ ! -e /dev/zero ] && mknod /dev/zero c 1 5
 
 # Take control
-exec >${CONSOLE} <${CONSOLE} 2>&1
+exec 0<>${CONSOLE} 1<>${CONSOLE} 2<>${CONSOLE}
 
 if [ "$$" != '1' ]
 then
@@ -462,7 +462,7 @@ then
[ ! -c "${NEW_CONSOLE}" ] && NEW_CONSOLE="/dev/${NEW_CONSOLE}"
if [ -c "${NEW_CONSOLE}" ]
then
-   exec >${NEW_CONSOLE} <${NEW_CONSOLE} 2>&1
+   exec 0<>${NEW_CONSOLE} 1<>${NEW_CONSOLE} 2<>${NEW_CONSOLE}
good_msg "Console switched from '${CONSOLE}' to 
'${NEW_CONSOLE}'!"
CONSOLE="${NEW_CONSOLE}"
else



[gentoo-commits] proj/genkernel:master commit in: defaults/

2021-03-14 Thread Thomas Deutschmann
commit: c26b9d493c8530bbfd69e0148ce72a959d7c5321
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sat Mar 13 16:56:29 2021 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Mar 14 19:33:20 2021 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=c26b9d49

initrd.scripts: bootstrapFS(): Create /dev/tty0

If we create ttyS0, we should also create tty0.

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/initrd.scripts | 1 +
 1 file changed, 1 insertion(+)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index d005e0d..b64a2c4 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -314,6 +314,7 @@ bootstrapFS() {
[ ! -e "${NEW_ROOT}/dev/null" ]&& run mknod -m 666 
"${NEW_ROOT}"/dev/null c 1 3
[ ! -e "${NEW_ROOT}/dev/zero" ]&& run mknod -m 666 
"${NEW_ROOT}"/dev/zero c 1 5
[ ! -e "${NEW_ROOT}/dev/console" ] && run mknod -m 600 
"${NEW_ROOT}"/dev/console c 5 1
+   [ ! -e "${NEW_ROOT}/dev/tty0" ]&& run mknod -m 620 
"${NEW_ROOT}"/dev/tty0 c 4 0
[ ! -e "${NEW_ROOT}/dev/ttyS0" ]   && run mknod -m 660 
"${NEW_ROOT}"/dev/ttyS0 c 4 64
 
# For SGI LiveCDs



[gentoo-commits] proj/genkernel:master commit in: defaults/

2021-03-14 Thread Thomas Deutschmann
commit: 8544f0b7a0b574fc982d971347b7b2b06dd91a09
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sat Mar 13 17:10:45 2021 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Mar 14 19:33:40 2021 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=8544f0b7

initrd.scripts: run_shell(): Reformat exec code

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/initrd.scripts | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index b64a2c4..c133282 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1035,7 +1035,7 @@ run_shell() {
&& [ -c "${CONSOLE}" ]
then
log_msg "Opening rescue shell on ${CONSOLE} ..."
-   setsid ${SH} -c "exec sh --login <${CONSOLE} >${CONSOLE} 2>&1"
+   setsid ${SH} -c "exec sh --login 0<>${CONSOLE} 1<>${CONSOLE} 
2<>${CONSOLE}"
elif command -v cttyhack 1>/dev/null 2>&1
then
log_msg "Opening rescue shell using cttyhack ..."
@@ -1043,7 +1043,7 @@ run_shell() {
elif [ -c '/dev/tty1' ]
then
log_msg "Opening rescue shell on /dev/tty1 fallback ..."
-   setsid ${SH} -c 'exec sh --login /dev/tty1 2>&1'
+   setsid ${SH} -c "exec sh --login 0<>/dev/tty1 1<>/dev/tty1 
2<>/dev/tty1"
else
log_msg "Opening rescue shell (last resort) ..."
${SH} --login
@@ -1055,7 +1055,7 @@ run_shell() {
 
# We maybe have called exec and dettached from main script; We
# must restore control...
-   exec >${CONSOLE} <${CONSOLE} 2>&1
+   exec 0<>${CONSOLE} 1<>${CONSOLE} 2<>${CONSOLE}
 }
 
 fs_type_in_use() {



[gentoo-commits] proj/genkernel:master commit in: defaults/

2021-03-14 Thread Thomas Deutschmann
commit: 90d2a28d3d589ba6eb1c1c54b2d12715be1e2673
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sat Mar 13 16:58:53 2021 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Mar 14 19:33:29 2021 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=90d2a28d

linuxrc: Don't delete /linuxrc

It's not clear why this was ever added via commit 
c4e37560598d4dc59ef3619084f3822df71e8aef.

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/linuxrc | 5 -
 1 file changed, 5 deletions(-)

diff --git a/defaults/linuxrc b/defaults/linuxrc
index 222dd35..1c051bc 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -57,11 +57,6 @@ gk_ver="$(cat /etc/build_id)"
 gk_build_date="$(cat /etc/build_date)"
 kernel_ver="$(uname -r)"
 
-if [ "$0" = '/init' ]
-then
-   [ -e /linuxrc ] && run rm /linuxrc
-fi
-
 CMDLINE=$(cat /proc/cmdline)
 # Scan CMDLINE for any specified real_root= or cdroot arguments
 FAKE_ROOT=''



[gentoo-commits] proj/genkernel:master commit in: defaults/

2021-03-14 Thread Thomas Deutschmann
commit: b2f55a479ffbb07dc0abc36660f6cc12bc63eda6
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sat Mar 13 18:35:19 2021 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Mar 14 19:33:45 2021 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=b2f55a47

linuxrc: Determine active console

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/initrd.defaults |  1 -
 defaults/initrd.scripts  | 15 +++
 defaults/linuxrc |  1 +
 3 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/defaults/initrd.defaults b/defaults/initrd.defaults
index 7ee78e9..c9e956a 100644
--- a/defaults/initrd.defaults
+++ b/defaults/initrd.defaults
@@ -56,7 +56,6 @@ ROOT_LINKS='bin sbin lib lib32 lib64 boot usr opt emul'
 ROOT_TREES='etc root home var'
 
 REAL_ROOT=''
-CONSOLE='/dev/console'
 NEW_ROOT='/newroot'
 
no_umounts='/newroot|/mnt/aufs-dev|/mnt/aufs-rw-branch|/mnt/livecd|/mnt/cdrom|/.unions/memory|/.unions/memory/xino'
 ROOTDELAY=5

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index c133282..505ca02 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -2722,6 +2722,21 @@ setup_unionfs() {
fi
 }
 
+get_active_console() {
+   local active_console=console
+
+   while [ -f /sys/class/tty/${active_console}/active ]
+   do
+   active_console=$(cat /sys/class/tty/${active_console}/active)
+
+   # last console will be the active one,
+   # see 
https://www.kernel.org/doc/html/latest/admin-guide/serial-console.html
+   active_console=${active_console##* }
+   done
+
+   echo ${active_console}
+}
+
 get_mounts_list() {
awk '
/^[[:blank:]]*#/ { next }

diff --git a/defaults/linuxrc b/defaults/linuxrc
index f20d606..37a8dfa 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -21,6 +21,7 @@
 [ ! -e /dev/zero ] && mknod /dev/zero c 1 5
 
 # Take control
+CONSOLE="/dev/$(get_active_console)"
 exec 0<>${CONSOLE} 1<>${CONSOLE} 2<>${CONSOLE}
 
 if [ "$$" != '1' ]



[gentoo-commits] proj/genkernel:master commit in: defaults/, gkbuilds/

2021-03-13 Thread Thomas Deutschmann
commit: 0b9f8e012a51eecd3df1a86b4ca639de85537e33
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sat Mar 13 15:40:49 2021 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sat Mar 13 15:41:34 2021 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=0b9f8e01

Bump strace to v5.11

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/software.sh| 2 +-
 gkbuilds/strace.gkbuild | 9 +
 2 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/defaults/software.sh b/defaults/software.sh
index e938584..291bad4 100644
--- a/defaults/software.sh
+++ b/defaults/software.sh
@@ -186,7 +186,7 @@ 
GKPKG_POPT_BINPKG="${GKPKG_POPT_BINPKG:-%%CACHE%%/popt-${GKPKG_POPT_PV}-%%ARCH%%
 
 GKPKG_STRACE_PN="strace"
 GKPKG_STRACE_PV="${GKPKG_STRACE_PV:-VERSION_STRACE}"
-GKPKG_STRACE_DEPS=""
+GKPKG_STRACE_DEPS="libaio"
 
GKPKG_STRACE_SRCTAR="${GKPKG_STRACE_SRCTAR:-${DISTDIR}/strace-${GKPKG_STRACE_PV}.tar.xz}"
 GKPKG_STRACE_SRCDIR="${GKPKG_STRACE_SRCDIR:-strace-${GKPKG_STRACE_PV}}"
 
GKPKG_STRACE_BINPKG="${GKPKG_STRACE_BINPKG:-%%CACHE%%/strace-${GKPKG_STRACE_PV}-%%ARCH%%.tar.xz}"

diff --git a/gkbuilds/strace.gkbuild b/gkbuilds/strace.gkbuild
index 62399ce..d32a4b7 100644
--- a/gkbuilds/strace.gkbuild
+++ b/gkbuilds/strace.gkbuild
@@ -1,12 +1,13 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 src_configure() {
append-ldflags -static -pthread
-   export ac_cv_header_libaio_h=yes
 
local myconf=(
+   --disable-gcc-Werror
--enable-mpers=check
+   --enable-static
--without-libunwind
--without-libdw
)
@@ -19,8 +20,8 @@ src_configure() {
 src_install() {
mkdir -p "${D}"/usr/bin || die "Failed to create '${D}/usr/bin'!"
 
-   cp -a strace "${D}"/usr/bin/ \
-   || die "Failed to copy '${S}/strace' to '${D}/usr/bin/'!"
+   cp -a src/strace "${D}"/usr/bin/ \
+   || die "Failed to copy '${S}/src/strace' to '${D}/usr/bin/'!"
 
"${STRIP}" --strip-all "${D}"/usr/bin/strace \
|| die "Failed to strip '${D}/usr/bin/strace'!"



[gentoo-commits] proj/genkernel:master commit in: defaults/

2021-03-07 Thread Thomas Deutschmann
commit: 3f1a037b36a3df7ba5acb3b91f925df06dbd61da
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Mon Mar  8 00:35:19 2021 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Mon Mar  8 00:36:13 2021 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=3f1a037b

initrd.scripts: Add trim() function

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/initrd.scripts | 10 ++
 defaults/unlock-luks.sh |  1 +
 2 files changed, 11 insertions(+)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index f7e6c3d..d005e0d 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1103,6 +1103,15 @@ test_success() {
fi
 }
 
+trim() {
+   local var="$*"
+
+   var="${var#"${var%%[![:space:]]*}"}"  # remove leading whitespace 
characters
+   var="${var%"${var##*[![:space:]]}"}"  # remove trailing whitespace 
characters
+
+   printf "%s" "${var}"
+}
+
 log_msg() {
is_log_enabled || return
 
@@ -1779,6 +1788,7 @@ openLUKS() {
eval local LUKS_KEYDEV='"${CRYPT_'${TYPE}'_KEYDEV}"'
eval local LUKS_KEYDEV_FSTYPE='"${CRYPT_'${TYPE}'_KEYDEV_FSTYPE}"'
eval local cryptsetup_options='"${CRYPT_'${TYPE}'_OPTIONS}"'
+   cryptsetup_options="$(trim "${cryptsetup_options}")"
eval local OPENED_LOCKFILE='"${CRYPT_'${TYPE}'_OPENED_LOCKFILE}"'
local DEV_ERROR=0 KEY_ERROR=0 KEYDEV_ERROR=0
local mntkey="/mnt/key/" crypt_filter_ret=

diff --git a/defaults/unlock-luks.sh b/defaults/unlock-luks.sh
index 4c99a1f..9ef54e0 100644
--- a/defaults/unlock-luks.sh
+++ b/defaults/unlock-luks.sh
@@ -47,6 +47,7 @@ main() {
eval local LUKS_DEVICE='"${CRYPT_'${TYPE}'}"'
eval local LUKS_KEY='"${CRYPT_'${TYPE}'_KEYFILE}"'
eval local cryptsetup_options='"${CRYPT_'${TYPE}'_OPTIONS}"'
+   cryptsetup_options="$(trim "${cryptsetup_options}")"
eval local OPENED_LOCKFILE='"${CRYPT_'${TYPE}'_OPENED_LOCKFILE}"'
 
if [ -z "${LUKS_DEVICE}" ]



[gentoo-commits] proj/genkernel:master commit in: defaults/

2021-02-18 Thread Thomas Deutschmann
commit: 282b201cc46bb00c4a840cc7780084bf38b36cbb
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Thu Feb 18 23:48:38 2021 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Thu Feb 18 23:48:38 2021 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=282b201c

defaults/modules_load: Add netconsole

This will ensure that netconsole will be available in initramfs.

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/modules_load | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/defaults/modules_load b/defaults/modules_load
index 6f021ac..1cc1478 100644
--- a/defaults/modules_load
+++ b/defaults/modules_load
@@ -16,7 +16,7 @@ MODULES_WAITSCAN="scsi_wait_scan"
 MODULES_BLOCK="sdhci_acpi sdhci_pci"
 
 # Hardware (Network)
-MODULES_NET="8139cp 8139too atl1c atlantic bcm_phy_lib bnx2 bonding broadcom 
cxgb cxgb3 cxgb4 e1000 e1000e ena hv_netvsc ionic igb ixgb ixgbe macvlan 
pcnet32 r8169 realtek samsung-sxgbe sky2 tg3 tulip virtio_net vmxnet3 vxge 
vxlan gve"
+MODULES_NET="8139cp 8139too atl1c atlantic bcm_phy_lib bnx2 bonding broadcom 
cxgb cxgb3 cxgb4 e1000 e1000e ena hv_netvsc ionic igb ixgb ixgbe macvlan 
pcnet32 r8169 realtek samsung-sxgbe sky2 tg3 tulip virtio_net vmxnet3 vxge 
vxlan gve netconsole"
 
 # iSCSI support
 MODULES_ISCSI="scsi_transport_iscsi libiscsi iscsi_tcp"



[gentoo-commits] proj/genkernel:master commit in: defaults/

2021-02-18 Thread Thomas Deutschmann
commit: a0ecf435b3f5093d23209eb43c51c8cb9a6bc3ae
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Thu Feb 18 21:42:31 2021 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Thu Feb 18 21:42:31 2021 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=a0ecf435

kernel-generic-config: rebased against & and updated for linux-5.11

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/kernel-generic-config | 790 +
 1 file changed, 723 insertions(+), 67 deletions(-)

diff --git a/defaults/kernel-generic-config b/defaults/kernel-generic-config
index bd8d415..927a44d 100644
--- a/defaults/kernel-generic-config
+++ b/defaults/kernel-generic-config
@@ -59,6 +59,7 @@ CONFIG_ACPI_CUSTOM_METHOD=m
 # CONFIG_ACPI_DEBUGGER is not set
 CONFIG_ACPI_DEBUG=y
 CONFIG_ACPI_DOCK=y
+# CONFIG_ACPI_DPTF is not set
 CONFIG_ACPI_EC_DEBUGFS=m
 CONFIG_ACPI_EXTLOG=m
 CONFIG_ACPI_FAN=y
@@ -109,14 +110,17 @@ CONFIG_AD5272=m
 # CONFIG_AD5758 is not set
 # CONFIG_AD5761 is not set
 # CONFIG_AD5764 is not set
+# CONFIG_AD5770R is not set
 # CONFIG_AD5791 is not set
 # CONFIG_AD5933 is not set
+# CONFIG_AD7091R5 is not set
 CONFIG_AD7124=m
 # CONFIG_AD7150 is not set
 # CONFIG_AD7192 is not set
 # CONFIG_AD7266 is not set
 # CONFIG_AD7280 is not set
 # CONFIG_AD7291 is not set
+CONFIG_AD7292=m
 # CONFIG_AD7298 is not set
 # CONFIG_AD7303 is not set
 # CONFIG_AD7476 is not set
@@ -135,6 +139,7 @@ CONFIG_AD7949=m
 # CONFIG_AD799X is not set
 # CONFIG_AD8366 is not set
 # CONFIG_AD8801 is not set
+CONFIG_AD9467=m
 # CONFIG_AD9523 is not set
 # CONFIG_AD9832 is not set
 # CONFIG_AD9834 is not set
@@ -143,6 +148,7 @@ CONFIG_ADAPTEC_STARFIRE=m
 # CONFIG_ADF4350 is not set
 # CONFIG_ADF4371 is not set
 # CONFIG_ADFS_FS is not set
+CONFIG_ADI_AXI_ADC=m
 CONFIG_ADIN_PHY=m
 # CONFIG_ADIS16080 is not set
 # CONFIG_ADIS16130 is not set
@@ -154,10 +160,12 @@ CONFIG_ADIN_PHY=m
 # CONFIG_ADIS16260 is not set
 # CONFIG_ADIS16400 is not set
 # CONFIG_ADIS16460 is not set
+# CONFIG_ADIS16475 is not set
 # CONFIG_ADIS16480 is not set
 # CONFIG_ADJD_S311 is not set
 CONFIG_AD_SIGMA_DELTA=m
 # CONFIG_ADT7316 is not set
+# CONFIG_ADUX1020 is not set
 # CONFIG_ADVANTECH_WDT is not set
 CONFIG_ADVISE_SYSCALLS=y
 # CONFIG_ADXL345_I2C is not set
@@ -165,6 +173,7 @@ CONFIG_ADVISE_SYSCALLS=y
 CONFIG_ADXL372_I2C=m
 CONFIG_ADXL372=m
 CONFIG_ADXL372_SPI=m
+# CONFIG_ADXRS290 is not set
 # CONFIG_ADXRS450 is not set
 # CONFIG_AFE4403 is not set
 # CONFIG_AFE4404 is not set
@@ -196,6 +205,7 @@ CONFIG_AIC7XXX_RESET_DELAY_MS=15000
 CONFIG_AIO=y
 # CONFIG_AIX_PARTITION is not set
 # CONFIG_AK09911 is not set
+# CONFIG_AL3010 is not set
 # CONFIG_AL3320A is not set
 CONFIG_ALIENWARE_WMI=m
 CONFIG_ALIM1535_WDT=m
@@ -211,6 +221,8 @@ CONFIG_ALX=m
 CONFIG_AMD8111_ETH=m
 CONFIG_AMD_NB=y
 CONFIG_AMD_PHY=m
+CONFIG_AMD_PMC=m
+# CONFIG_AMD_SFH_HID is not set
 CONFIG_AMD_XGBE_DCB=y
 CONFIG_AMD_XGBE_HAVE_ECC=y
 CONFIG_AMD_XGBE=m
@@ -221,6 +233,7 @@ CONFIG_AMILO_RFKILL=m
 CONFIG_APDS9802ALS=m
 # CONFIG_APDS9960 is not set
 CONFIG_APPLE_GMUX=m
+CONFIG_APPLE_MFI_FASTCHARGE=m
 CONFIG_APPLE_PROPERTIES=y
 # CONFIG_APPLICOM is not set
 CONFIG_AQUANTIA_PHY=m
@@ -232,9 +245,13 @@ CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
 CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
 CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y
 CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
+CONFIG_ARCH_HAS_COPY_MC=y
 CONFIG_ARCH_HAS_CPU_RELAX=y
 CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
+CONFIG_ARCH_HAS_DEBUG_VM_PGTABLE=y
+CONFIG_ARCH_HAS_DEBUG_WX=y
 CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
+CONFIG_ARCH_HAS_EARLY_DEBUG=y
 CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
 CONFIG_ARCH_HAS_FAST_MULTIPLIER=y
 CONFIG_ARCH_HAS_FILTER_PGPROT=y
@@ -242,6 +259,7 @@ CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
 CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
 CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
 CONFIG_ARCH_HAS_MEM_ENCRYPT=y
+CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE=y
 CONFIG_ARCH_HAS_PTE_SPECIAL=y
 CONFIG_ARCH_HAS_REFCOUNT=y
 CONFIG_ARCH_HAS_SET_DIRECT_MAP=y
@@ -254,6 +272,7 @@ CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
 CONFIG_ARCH_HIBERNATION_HEADER=y
 CONFIG_ARCH_HIBERNATION_POSSIBLE=y
 CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+# CONFIG_ARCH_MEMORY_PROBE is not set
 CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y
 CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
 CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y
@@ -273,15 +292,23 @@ CONFIG_ARCH_USE_MEMREMAP_PROT=y
 CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
 CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
 CONFIG_ARCH_USES_PG_UNCACHED=y
+CONFIG_ARCH_USE_SYM_ANNOTATIONS=y
 CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
+CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y
 CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
 CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
+CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y
 CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y
 # CONFIG_ARCNET is not set
 # CONFIG_AS3935 is not set
+# CONFIG_AS73211 is not set
+CONFIG_AS_AVX512=y
 CONFIG_ASM_MODVERSIONS=y
 CONFIG_ASN1=y
+CONFIG_AS_SHA1_NI=y
+CONFIG_AS_SHA256_NI=y
 CONFIG_ASSOCIATIVE_ARRAY=y
+CONFIG_AS_TPAUSE=y
 CONFIG_ASUS_LAPTOP=m
 

[gentoo-commits] proj/genkernel:master commit in: defaults/

2021-02-14 Thread Thomas Deutschmann
commit: f8a26eeba219c4027848fd50a2ae4e9d22029168
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Mon Feb 15 05:44:32 2021 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Mon Feb 15 05:51:59 2021 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=f8a26eeb

initrd.scripts: openLUKS(): differentiate LUKS_DEVICE errors

If LUKS_DEVICE was not found user can either have not set
crypt_{root,swap}, set crypt_{root,swap} to an invalid value
or kernel is lacking storage support (i.e. missing controller driver).

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/initrd.scripts | 8 +++-
 defaults/unlock-luks.sh | 8 +++-
 2 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 2fcc593..f7e6c3d 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1783,6 +1783,12 @@ openLUKS() {
local DEV_ERROR=0 KEY_ERROR=0 KEYDEV_ERROR=0
local mntkey="/mnt/key/" crypt_filter_ret=
 
+   if [ -z "${LUKS_DEVICE}" ]
+   then
+   bad_msg "'crypt_${1}' kernel command-line argument is not set!"
+   exit 1
+   fi
+
while true
do
local gpg_cmd=""
@@ -1810,7 +1816,7 @@ openLUKS() {
LUKS_DEVICE=$(find_real_device "${LUKS_DEVICE}")
if [ -z "${LUKS_DEVICE}" ]
then
-   bad_msg "Looks like CRYPT_${TYPE} kernel 
cmdline argument is not set." ${CRYPT_SILENT}
+   bad_msg "Failed to find LUKS device. If 
crypt_${1} kernel command-line argument is correct you are probably missing 
kernel support for your storage!" ${CRYPT_SILENT}
DEV_ERROR=1
continue
fi

diff --git a/defaults/unlock-luks.sh b/defaults/unlock-luks.sh
index 59e086a..4c99a1f 100644
--- a/defaults/unlock-luks.sh
+++ b/defaults/unlock-luks.sh
@@ -49,6 +49,12 @@ main() {
eval local cryptsetup_options='"${CRYPT_'${TYPE}'_OPTIONS}"'
eval local OPENED_LOCKFILE='"${CRYPT_'${TYPE}'_OPENED_LOCKFILE}"'
 
+   if [ -z "${LUKS_DEVICE}" ]
+   then
+   bad_msg "'crypt_${NAME}' kernel command-line argument is not 
set!"
+   exit 1
+   fi
+
while true
do
local gpg_cmd crypt_filter_ret
@@ -61,7 +67,7 @@ main() {
LUKS_DEVICE=$(find_real_device "${LUKS_DEVICE}")
if [ -z "${LUKS_DEVICE}" ]
then
-   bad_msg "Looks like CRYPT_${TYPE} kernel 
cmdline argument is not set." "${CRYPT_SILENT}"
+   bad_msg "Failed to find LUKS device. If 
crypt_${NAME} kernel command-line argument is correct you are probably missing 
kernel support for your storage!" ${CRYPT_SILENT}
exit 1
fi
 



[gentoo-commits] proj/genkernel:master commit in: defaults/

2021-02-14 Thread Thomas Deutschmann
commit: 3265be70d78e20e385f98e7aad651f4a4a68ee3b
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Mon Feb 15 05:43:26 2021 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Mon Feb 15 05:51:54 2021 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=3265be70

initrd.scripts: openLUKS(): validate argument

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/initrd.scripts | 4 
 1 file changed, 4 insertions(+)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 5d744ee..2fcc593 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1767,6 +1767,10 @@ openLUKS() {
swap)
local TYPE=SWAP
;;
+   *)
+   bad_msg "OpenLUKS(): Unknown type '${1}' specified!"
+   exit 1
+   ;;
esac
 
local LUKS_NAME="${1}"



[gentoo-commits] proj/genkernel:master commit in: defaults/

2021-02-14 Thread Thomas Deutschmann
commit: c4e6b09c79f33303f749b2b40af51a01f168971f
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Mon Feb 15 04:34:57 2021 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Mon Feb 15 05:51:47 2021 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=c4e6b09c

linuxrc: load btrfs module manually

There is no trigger/rule in UDEV/btrfs-progs to load btrfs module.

The only known trigger via mount command could be too late or
is maybe insufficient depending on used BTRFS {meta,}data profile.

Bug: https://bugs.gentoo.org/739892
Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/linuxrc | 8 
 1 file changed, 8 insertions(+)

diff --git a/defaults/linuxrc b/defaults/linuxrc
index d8fee73..222dd35 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -535,6 +535,14 @@ then
FIRSTMODS="${FIRSTMODS} crc32_generic"
 fi
 
+if [ "${ROOTFSTYPE}" = "btrfs" -o -x /sbin/btrfs ]
+then
+   # We have no mechanism to trigger btrfs module loading before UDEV's 
btrfs builtin
+   # will run; In addition, loading btrfs via UDEV could cause problems 
for slow
+   # machines, see https://github.com/dracutdevs/dracut/issues/658
+   FIRSTMODS="${FIRSTMODS} btrfs"
+fi
+
 splash 'init'
 
 cmdline_hwopts



[gentoo-commits] proj/genkernel:master commit in: defaults/, doc/

2021-02-07 Thread Thomas Deutschmann
commit: a0a6d6313874a7567a26c405713aaf610695285d
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sun Feb  7 18:02:29 2021 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Feb  7 18:02:29 2021 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=a0a6d631

linuxrc: add kernel command-line argument to allow user to pass additional 
options to cryptsetup

Cryptsetup supports additional options like "--perf-no_read_workqueue" or
"--perf-no_write_workqueue". While it is recommended to use LUKS2 format
and make these activiation flags permanent, you can also make use of
the new kernel command-line arguments "crypt_root_options" for root device
or "crypt_swap_options" for swap device to pass additional options
to cryptsetup.

These arguments can be specified multiple times or separate multiple
options with a comma.

Bug: https://bugs.gentoo.org/755587
Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/initrd.defaults |  2 ++
 defaults/initrd.scripts  | 16 +++-
 defaults/linuxrc | 13 -
 defaults/unlock-luks.sh  |  8 +++-
 doc/genkernel.8.txt  | 10 ++
 5 files changed, 34 insertions(+), 15 deletions(-)

diff --git a/defaults/initrd.defaults b/defaults/initrd.defaults
index cd485ca..ac3b072 100644
--- a/defaults/initrd.defaults
+++ b/defaults/initrd.defaults
@@ -104,9 +104,11 @@ CRYPT_ENV_FILE='/etc/CRYPT_ENV.conf'
 CRYPT_ROOT_KEYDEV_FSTYPE='auto'
 CRYPT_ROOT_KEYFILE='/tmp/root.key'
 CRYPT_ROOT_OPENED_LOCKFILE='/tmp/ROOT.opened'
+CRYPT_ROOT_OPTIONS=''
 CRYPT_SWAP_KEYDEV_FSTYPE='auto'
 CRYPT_SWAP_KEYFILE='/tmp/swap.key'
 CRYPT_SWAP_OPENED_LOCKFILE='/tmp/SWAP.opened'
+CRYPT_SWAP_OPTIONS=''
 
 ZFS_ENC_ENV_FILE='/etc/ZFS_ENC_ENV.conf'
 ZFS_ENC_OPENED_LOCKFILE='/tmp/ZFS.opened'

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index f6e84fc..5d744ee 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1193,7 +1193,7 @@ write_env_file() {
for varname in $*
do
eval varvalue=\$${varname}
-   echo "${varname}=${varvalue}" >> "${env_file}"
+   echo "${varname}='${varvalue}'" >> "${env_file}"
done
 }
 
@@ -1774,15 +1774,13 @@ openLUKS() {
eval local LUKS_KEY='"${CRYPT_'${TYPE}'_KEY}"'
eval local LUKS_KEYDEV='"${CRYPT_'${TYPE}'_KEYDEV}"'
eval local LUKS_KEYDEV_FSTYPE='"${CRYPT_'${TYPE}'_KEYDEV_FSTYPE}"'
-   eval local LUKS_TRIM='"${CRYPT_'${TYPE}'_TRIM}"'
+   eval local cryptsetup_options='"${CRYPT_'${TYPE}'_OPTIONS}"'
eval local OPENED_LOCKFILE='"${CRYPT_'${TYPE}'_OPENED_LOCKFILE}"'
local DEV_ERROR=0 KEY_ERROR=0 KEYDEV_ERROR=0
local mntkey="/mnt/key/" crypt_filter_ret=
 
while true
do
-   local cryptsetup_options=''
-
local gpg_cmd=""
if [ -e "${OPENED_LOCKFILE}" ]
then
@@ -1819,10 +1817,9 @@ openLUKS() {
DEV_ERROR=1
continue
else
-   if [ "x${LUKS_TRIM}" = "xyes" ]
+   if [ -n "${cryptsetup_options}" ]
then
-   good_msg "Enabling TRIM support for 
${LUKS_NAME} ..." ${CRYPT_SILENT}
-   
cryptsetup_options="${cryptsetup_options} --allow-discards"
+   good_msg "Using the following 
cryptsetup options for ${LUKS_NAME}: ${cryptsetup_options}" ${CRYPT_SILENT}
fi
 
# Handle keys
@@ -2333,9 +2330,10 @@ start_sshd() {
write_env_file \
"${CRYPT_ENV_FILE}" \
CRYPT_ROOT \
-   CRYPT_ROOT_TRIM \
+   CRYPT_ROOT_OPTIONS \
CRYPT_SILENT \
-   CRYPT_SWAP
+   CRYPT_SWAP \
+   CRYPT_SWAP_OPTIONS
 
run touch /var/log/lastlog
 

diff --git a/defaults/linuxrc b/defaults/linuxrc
index df0f570..e33576d 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -244,10 +244,16 @@ do
CRYPT_ROOT=${x#*=}
USE_CRYPTSETUP=1
;;
+   crypt_root_options=*)
+   CRYPT_ROOT_OPTIONS=$(echo ${CRYPT_ROOT_OPTIONS} ${x#*=} 
| sed -e 's/,/ /g')
+   ;;
crypt_swap=*)
CRYPT_SWAP=${x#*=}
USE_CRYPTSETUP=1
;;
+   crypt_swap_options=*)
+   CRYPT_SWAP_OPTIONS=$(echo ${CRYPT_SWAP_OPTIONS} ${x#*=} 
| sed -e 's/,/ /g')
+   ;;
root_key=*)
CRYPT_ROOT_KEY=${x#*=}
;;
@@ -258,7 +264,12 @@ do
CRYPT_ROOT_KEYDEV_FSTYPE=${x#*=}
;;
root_trim=*)
- 

[gentoo-commits] proj/genkernel:master commit in: /, defaults/, doc/

2020-09-11 Thread Thomas Deutschmann
commit: 369cfa98f72675a285ec98439e9054ab57b234c9
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Fri Sep 11 20:01:37 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Fri Sep 11 20:03:24 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=369cfa98

Remove "dobtrfs" kernel command-line argument

This is no longer necessary with the switch to UDEV.

Bug: https://bugs.gentoo.org/739892
Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/initrd.scripts | 32 
 defaults/linuxrc|  6 --
 doc/genkernel.8.txt |  3 ---
 genkernel   |  1 -
 4 files changed, 42 deletions(-)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 5181d6c..f6e84fc 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -75,7 +75,6 @@ modules_scan() {
elif [ "${USE_MDADM}" = '1' ] \
|| [ "${USE_LVM_NORMAL}" = '1' ] \
|| [ "${USE_CRYPTSETUP}" = '1' ] \
-   || [ "${USE_BTRFS}" = '1' ] \
|| [ "${USE_ZFS}" = '1' ] \
|| [ "${USE_DMRAID_NORMAL}" = '1' ]
then
@@ -1612,25 +1611,6 @@ start_volumes() {
fi
fi
 
-   if [ "${USE_BTRFS}" = '1' ]
-   then
-   if ! hash btrfs >/dev/null 2>&1
-   then
-   bad_msg "dobtrfs invoked but 'btrfs' not found; 
Skipping btrfs device scanning ..."
-   else
-   good_msg "Scanning for BTRFS devices ..."
-
-   local btrfs_cmd="run btrfs device scan 2>&1"
-   is_log_enabled && btrfs_cmd="${btrfs_cmd} | tee -a 
'${GK_INIT_LOG}'"
-
-   eval "${btrfs_cmd}"
-   if [ $? -ne 0 ]
-   then
-   bad_msg "Scanning for BTRFS devices failed!"
-   fi
-   fi
-   fi
-
if [ "${USE_ZFS}" = '1' ]
then
# Avoid race involving asynchronous module loading
@@ -2510,18 +2490,6 @@ cdupdate() {
fi
 }
 
-setup_btrfsctl() {
-   # start BTRFS volume detection, if available
-   if hash btrfsctl >/dev/null 2>&1
-   then
-   local btrfs_cmd="run btrfsctl -a 2>&1"
-   is_log_enabled && btrfs_cmd="${btrfs_cmd} | tee -a 
'${GK_INIT_LOG}'"
-
-   eval "${btrfs_cmd}"
-   udevsettle
-   fi
-}
-
 rundebugshell() {
if is_debug
then

diff --git a/defaults/linuxrc b/defaults/linuxrc
index 6d07d9b..df0f570 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -151,9 +151,6 @@ do
;;
esac
;;
-   dobtrfs)
-   USE_BTRFS=1
-   ;;
quiet|quiet_genkernel)
QUIET=1
;;
@@ -615,9 +612,6 @@ fi
 # Apply scan delay if specified
 sdelay
 
-# Setup btrfs, see bug 303529
-setup_btrfsctl
-
 # Scan volumes
 start_volumes
 

diff --git a/doc/genkernel.8.txt b/doc/genkernel.8.txt
index 5d7b74d..8909fc7 100644
--- a/doc/genkernel.8.txt
+++ b/doc/genkernel.8.txt
@@ -775,9 +775,6 @@ when not set. This will allow remote user to provide answer 
through
 Scan for bootable ZFS pools on bootup. Optionally use cachefile or force 
import if
 necessary or perform both actions.
 
-*dobtrfs*::
-Scan for attached Btrfs devices on bootup.
-
 *domultipath*::
 Activate Multipath on bootup.
 

diff --git a/genkernel b/genkernel
index 595c6ea..6ec8905 100755
--- a/genkernel
+++ b/genkernel
@@ -485,7 +485,6 @@ then
print_warning 1 "${BOLD}WARNING... WARNING... WARNING...${NORMAL}"
print_warning 1 'Additional kernel parameters that *may* be required to 
boot properly:'
isTrue "${SPLASH}"&& print_warning 1 "- Add \"vga=791 
splash=silent,theme:${SPLASH_THEME} console=tty1 quiet\" if you use a splash 
framebuffer ]"
-   isTrue "${BTRFS}" && print_warning 1 '- Add "dobtrfs" for Btrfs 
device scanning support'
isTrue "${MULTIPATH}" && print_warning 1 '- Add "domultipath" for 
multipath support'
isTrue "${ISCSI}" && print_warning 1 '- For iSCSI support, add at 
least:'
isTrue "${ISCSI}" && print_warning 1 '  - 
"iscsi_initiatorname="'



[gentoo-commits] proj/genkernel:master commit in: defaults/

2020-09-02 Thread Thomas Deutschmann
commit: 076201c0214837e99bebf3a05a7b0f9727fbf751
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Wed Sep  2 19:56:35 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Wed Sep  2 19:56:35 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=076201c0

defaults/unlock-luks.sh: Unbreak remote unlock using POST action

Fixes: 0025f3693 ("defaults/unlock-luks.sh: Synchronize style with openLUKS()")
Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/unlock-luks.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/defaults/unlock-luks.sh b/defaults/unlock-luks.sh
index bf1deaa..a8ae990 100644
--- a/defaults/unlock-luks.sh
+++ b/defaults/unlock-luks.sh
@@ -45,7 +45,7 @@ main() {
 
local LUKS_NAME="${NAME}"
eval local LUKS_DEVICE='"${CRYPT_'${TYPE}'}"'
-   eval local LUKS_KEY='"${CRYPT_'${TYPE}'_KEY}"'
+   eval local LUKS_KEY='"${CRYPT_'${TYPE}'_KEYFILE}"'
eval local LUKS_TRIM='"${CRYPT_'${TYPE}'_TRIM}"'
eval local OPENED_LOCKFILE='"${CRYPT_'${TYPE}'_OPENED_LOCKFILE}"'
 



[gentoo-commits] proj/genkernel:master commit in: defaults/

2020-09-02 Thread Thomas Deutschmann
commit: fbf7eb4eda41bc8b5afa30017e687f5eb28ec0f2
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Wed Sep  2 13:06:21 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Wed Sep  2 13:06:21 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=fbf7eb4e

defaults/initrd.defaults: Rename $CRYPT_KEYFILE_{ROOT,SWAP} -> 
$CRYPT_{ROOT,SWAP}_KEYFILE

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/initrd.defaults | 4 ++--
 defaults/login-remote.sh | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/defaults/initrd.defaults b/defaults/initrd.defaults
index b665355..cf7406d 100644
--- a/defaults/initrd.defaults
+++ b/defaults/initrd.defaults
@@ -101,9 +101,9 @@ GK_UDEV_TIMEOUT=120
 GK_USERINTERACTION_DISABLED_STATEFILE='/tmp/user-interaction.disabled'
 
 CRYPT_ENV_FILE='/etc/CRYPT_ENV.conf'
-CRYPT_KEYFILE_ROOT='/tmp/root.key'
-CRYPT_KEYFILE_SWAP='/tmp/swap.key'
+CRYPT_ROOT_KEYFILE='/tmp/root.key'
 CRYPT_ROOT_OPENED_LOCKFILE='/tmp/ROOT.opened'
+CRYPT_SWAP_KEYFILE='/tmp/swap.key'
 CRYPT_SWAP_OPENED_LOCKFILE='/tmp/SWAP.opened'
 
 ZFS_ENC_ENV_FILE='/etc/ZFS_ENC_ENV.conf'

diff --git a/defaults/login-remote.sh b/defaults/login-remote.sh
index 94ee014..7fcfc70 100644
--- a/defaults/login-remote.sh
+++ b/defaults/login-remote.sh
@@ -24,10 +24,10 @@ fi
 receivefile() {
case ${1} in
root)
-   file=${CRYPT_KEYFILE_ROOT}
+   file=${CRYPT_ROOT_KEYFILE}
;;
swap)
-   file=${CRYPT_KEYFILE_SWAP}
+   file=${CRYPT_SWAP_KEYFILE}
;;
'')
bad_msg "No keyfile specified." "${CRYPT_SILENT}"



[gentoo-commits] proj/genkernel:master commit in: defaults/

2020-09-02 Thread Thomas Deutschmann
commit: 0025f36938989750928753ff047320dccd9e3e27
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Wed Sep  2 13:16:22 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Wed Sep  2 13:16:22 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=0025f369

defaults/unlock-luks.sh: Synchronize style with openLUKS()

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/unlock-luks.sh | 7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/defaults/unlock-luks.sh b/defaults/unlock-luks.sh
index 710d951..bf1deaa 100644
--- a/defaults/unlock-luks.sh
+++ b/defaults/unlock-luks.sh
@@ -43,8 +43,11 @@ main() {
exit 1
fi
 
-   eval local LUKS_DEVICE='"${CRYPT_'${TYPE}'}"' LUKS_NAME="${NAME}" 
LUKS_KEY='"${CRYPT_KEYFILE_'${TYPE}'}"'
-   eval local LUKS_TRIM='"${CRYPT_'${TYPE}'_TRIM}"' 
OPENED_LOCKFILE='"${CRYPT_'${TYPE}'_OPENED_LOCKFILE}"'
+   local LUKS_NAME="${NAME}"
+   eval local LUKS_DEVICE='"${CRYPT_'${TYPE}'}"'
+   eval local LUKS_KEY='"${CRYPT_'${TYPE}'_KEY}"'
+   eval local LUKS_TRIM='"${CRYPT_'${TYPE}'_TRIM}"'
+   eval local OPENED_LOCKFILE='"${CRYPT_'${TYPE}'_OPENED_LOCKFILE}"'
 
while true
do



[gentoo-commits] proj/genkernel:master commit in: defaults/, doc/

2020-09-02 Thread Thomas Deutschmann
commit: 97b3a9235fdba36bfc6197baf1f47fd472fb74b6
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Wed Sep  2 13:13:40 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Wed Sep  2 13:13:40 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=97b3a923

defaults/initrd.scripts: openLUKS(): Trigger module loading when mounting 
{root,swap}_keydev

We need to do the same we do for rootfs since commit 
05f968fda2c6839744b36c442b3feaa6de974e63
also for {root,swap}_keydev.

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/initrd.defaults |  2 ++
 defaults/initrd.scripts  | 15 +++
 defaults/linuxrc |  6 ++
 doc/genkernel.8.txt  |  6 ++
 4 files changed, 25 insertions(+), 4 deletions(-)

diff --git a/defaults/initrd.defaults b/defaults/initrd.defaults
index cf7406d..cd485ca 100644
--- a/defaults/initrd.defaults
+++ b/defaults/initrd.defaults
@@ -101,8 +101,10 @@ GK_UDEV_TIMEOUT=120
 GK_USERINTERACTION_DISABLED_STATEFILE='/tmp/user-interaction.disabled'
 
 CRYPT_ENV_FILE='/etc/CRYPT_ENV.conf'
+CRYPT_ROOT_KEYDEV_FSTYPE='auto'
 CRYPT_ROOT_KEYFILE='/tmp/root.key'
 CRYPT_ROOT_OPENED_LOCKFILE='/tmp/ROOT.opened'
+CRYPT_SWAP_KEYDEV_FSTYPE='auto'
 CRYPT_SWAP_KEYFILE='/tmp/swap.key'
 CRYPT_SWAP_OPENED_LOCKFILE='/tmp/SWAP.opened'
 

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 7a84755..5181d6c 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1780,7 +1780,7 @@ openLUKS() {
exit 1
fi
 
-   case $1 in
+   case ${1} in
root)
local TYPE=ROOT
;;
@@ -1789,8 +1789,12 @@ openLUKS() {
;;
esac
 
-   eval local LUKS_DEVICE='"${CRYPT_'${TYPE}'}"' LUKS_NAME="$1" 
LUKS_KEY='"${CRYPT_'${TYPE}'_KEY}"'
-   eval local LUKS_KEYDEV='"${CRYPT_'${TYPE}'_KEYDEV}"' 
LUKS_TRIM='"${CRYPT_'${TYPE}'_TRIM}"'
+   local LUKS_NAME="${1}"
+   eval local LUKS_DEVICE='"${CRYPT_'${TYPE}'}"'
+   eval local LUKS_KEY='"${CRYPT_'${TYPE}'_KEY}"'
+   eval local LUKS_KEYDEV='"${CRYPT_'${TYPE}'_KEYDEV}"'
+   eval local LUKS_KEYDEV_FSTYPE='"${CRYPT_'${TYPE}'_KEYDEV_FSTYPE}"'
+   eval local LUKS_TRIM='"${CRYPT_'${TYPE}'_TRIM}"'
eval local OPENED_LOCKFILE='"${CRYPT_'${TYPE}'_OPENED_LOCKFILE}"'
local DEV_ERROR=0 KEY_ERROR=0 KEYDEV_ERROR=0
local mntkey="/mnt/key/" crypt_filter_ret=
@@ -1886,7 +1890,10 @@ openLUKS() {
# At this point a device was 
recognized, now let's see if the key is there
[ ! -d "${mntkey}" ] && mkdir 
-p "${mntkey}" >/dev/null 2>&1
 
-   if ! run mount -n -o ro 
${REAL_LUKS_KEYDEV} ${mntkey} >/dev/null 2>&1
+   # determine fs -- 'auto' will 
not trigger module loading!
+   
LUKS_KEYDEV_FSTYPE=$(determine_fs "${REAL_LUKS_KEYDEV}" "${LUKS_KEYDEV_FSTYPE}")
+
+   if ! run mount -n -t 
${LUKS_KEYDEV_FSTYPE} -o ro ${REAL_LUKS_KEYDEV} ${mntkey} >/dev/null 2>&1
then
KEYDEV_ERROR=1
bad_msg "Mounting of 
device ${REAL_LUKS_KEYDEV} failed." ${CRYPT_SILENT}

diff --git a/defaults/linuxrc b/defaults/linuxrc
index bab54e1..6d07d9b 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -257,6 +257,9 @@ do
root_keydev=*)
CRYPT_ROOT_KEYDEV=${x#*=}
;;
+   root_keydev_fstype=*)
+   CRYPT_ROOT_KEYDEV_FSTYPE=${x#*=}
+   ;;
root_trim=*)
CRYPT_ROOT_TRIM=${x#*=}
;;
@@ -266,6 +269,9 @@ do
swap_keydev=*)
CRYPT_SWAP_KEYDEV=${x#*=}
;;
+   swap_keydev_fstype=*)
+   CRYPT_SWAP_KEYDEV_FSTYPE=${x#*=}
+   ;;
real_resume=*|resume=*)
REAL_RESUME=${x#*=}
;;

diff --git a/doc/genkernel.8.txt b/doc/genkernel.8.txt
index 7ce7391..5d7b74d 100644
--- a/doc/genkernel.8.txt
+++ b/doc/genkernel.8.txt
@@ -646,6 +646,9 @@ recognized by the kernel itself.
 root_key.   If unset while using root_key, it will automatically
 look for the device in every boot.
 
+*root_keydev_fstype*=<...>::
+Used filesystem for *root_keydev*. See *rootfstype* for more details.
+
 *root_trim*=(yes|no)::
 Enables TRIM support for a LUKS-based root device.  Only useful
 with SSD setups.  Have a look at 'https://en.wikipedia.org/wiki/TRIM'
@@ -657,6 +660,9 @@ recognized by the kernel itself.
 *swap_keydev*=<...>::
 Same as root_keydev for swap.
 

[gentoo-commits] proj/genkernel:master commit in: defaults/

2020-08-30 Thread Thomas Deutschmann
commit: 4e42cbc5bcf0d4ed6558c90d09d8c3421d9d11d1
Author: Karlson2k (Evgeny Grin)  narod  ru>
AuthorDate: Sun Aug 30 17:38:55 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Aug 30 21:07:11 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=4e42cbc5

defaults/linuxrc: fix typo

Signed-off-by: Karlson2k (Evgeny Grin)  narod.ru>
Closes: https://github.com/gentoo/genkernel/pull/19
Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/linuxrc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/defaults/linuxrc b/defaults/linuxrc
index e96b637..bab54e1 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -2,7 +2,7 @@
 
 # shellcheck source=initrd.defaults
 . /etc/initrd.defaults
-# shellche2ck source=initrd.scripts
+# shellcheck source=initrd.scripts
 . /etc/initrd.scripts
 
 # shellcheck source=/dev/null



[gentoo-commits] proj/genkernel:master commit in: defaults/

2020-08-28 Thread Thomas Deutschmann
commit: a2b6a16119837df4a803effaefe8ef0be08fe396
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Fri Aug 28 13:22:30 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Fri Aug 28 16:35:59 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=a2b6a161

defaults/linuxrc: Log udevd debug output into /run/initramfs/udevd.log

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/initrd.defaults | 1 +
 defaults/linuxrc | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/defaults/initrd.defaults b/defaults/initrd.defaults
index e310f19..fa71ecb 100644
--- a/defaults/initrd.defaults
+++ b/defaults/initrd.defaults
@@ -95,6 +95,7 @@ GK_SSHD_LOCKFILE='/tmp/remote-rescueshell.lock'
 GK_SSHD_PIDFILE='/var/run/dropbear.pid'
 GK_SSHD_PORT=22
 GK_SSHD_WAIT=
+GK_UDEV_LOG='/run/initramfs/udevd.log'
 GK_UDEV_TIMEOUT=120
 GK_USERINTERACTION_DISABLED_STATEFILE='/tmp/user-interaction.disabled'
 

diff --git a/defaults/linuxrc b/defaults/linuxrc
index a4ed811..1a4ddac 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -568,7 +568,7 @@ good_msg 'Activating udev ...'
 udevd_cmd="run udevd --resolve-names=never"
 if is_debug
 then
-   udevd_cmd="${udevd_cmd} --debug > /tmp/udev.debug 2>&1 &"
+   udevd_cmd="${udevd_cmd} --debug > ${GK_UDEV_LOG} 2>&1 &"
 else
udevd_cmd="${udevd_cmd} --daemon"
 fi



[gentoo-commits] proj/genkernel:master commit in: defaults/

2020-08-28 Thread Thomas Deutschmann
commit: 05f968fda2c6839744b36c442b3feaa6de974e63
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Fri Aug 28 13:38:41 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Fri Aug 28 16:35:59 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=05f968fd

defaults/linuxrc: Try to determine filesystem type

'mount -t auto' will not trigger module loading for filesystem kernel modules.
Therefore we try to determine filesystem to trigger module loading in case
filesystem isn't built into the kernel.

Bug: https://bugs.gentoo.org/739250
Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/initrd.scripts | 42 +-
 defaults/linuxrc|  6 +-
 2 files changed, 46 insertions(+), 2 deletions(-)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index ee7ca2c..36f4791 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -198,6 +198,8 @@ findmediamount() {
fi
good_msg "Attempting to mount media: ${x}" 
${CRYPT_SILENT}
 
+   CDROOT_TYPE=$(determine_fs "${x}" 
"${CDROOT_TYPE}")
+
run mount -t ${CDROOT_TYPE} ${x} ${mntcddir} 
>/dev/null 2>&1
if [ $? -eq 0 ]
then
@@ -233,6 +235,31 @@ findmediamount() {
[ -n "${result}" ] || bad_msg "Media not found" ${CRYPT_SILENT}
 }
 
+determine_fs() {
+   local _dev="${1}"
+   local _orig="${2:-auto}"
+   local _fs line
+
+   _fs=$(udevadm info --query=env --name="$_dev" 2>/dev/null | \
+   while read line || [ -n "${line}" ]
+   do
+   if str_starts ${line} "ID_FS_TYPE="
+   then
+   echo ${line#ID_FS_TYPE=}
+   break
+   fi
+   done
+   )
+   _fs=${_fs:-auto}
+
+   if [ "${_fs}" = "auto" ]
+   then
+   _fs="${_orig}"
+   fi
+
+   echo "${_fs}"
+}
+
 devicelist() {
# Locate the cdrom device with our media on it.
# CDROM DEVICES
@@ -697,7 +724,9 @@ setup_aufs() {
then
good_msg "Mounting ${aufs_dev} to ${aufs_memory} for 
aufs support"
 
-   if ! run mount -t auto "${aufs_dev}" "${aufs_dev_mnt}" 
>/dev/null 2>&1
+   local mounttype=$(determine_fs "${aufs_dev}" "auto")
+
+   if ! run mount -t ${mounttype} "${aufs_dev}" 
"${aufs_dev_mnt}" >/dev/null 2>&1
then
bad_msg "Mount of ${aufs_dev} failed, falling 
back to ramdisk based aufs"
unset aufs_dev
@@ -2727,6 +2756,17 @@ get_zfs_property() {
echo "$(zfs get -H -o value ${propertyname} "${device}" 2>/dev/null)"
 }
 
+# Returns TRUE if $1 contains literal string $2 at the
+# beginning and is not empty
+str_starts() {
+   if [ "${1#"${2}"*}" != "${1}" ]
+   then
+   return 0
+   fi
+
+   return 1
+}
+
 # If the kernel is handed a mount option is does not recognize, it WILL fail to
 # mount. util-linux handles auto/noauto, but busybox passes it straight to the 
kernel
 # which then rejects the mount.

diff --git a/defaults/linuxrc b/defaults/linuxrc
index b42366f..061d3e0 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -910,6 +910,10 @@ do
# If $REAL_ROOT is a symlink
# Resolve it like util-linux mount does
[ -L ${REAL_ROOT} ] && REAL_ROOT=$(readlink -f 
${REAL_ROOT})
+
+   # determine fs -- 'auto' will not trigger module 
loading!
+   ROOTFSTYPE=$(determine_fs "${REAL_ROOT}" 
"${ROOTFSTYPE}")
+
# mount ro so fsck doesn't barf later
if [ "${REAL_ROOTFLAGS}" = '' ]
then
@@ -1028,7 +1032,7 @@ then
MOUNTTYPE="ext2"
;;
*)
-   MOUNTTYPE="${LOOPTYPE}"
+   MOUNTTYPE=$(determine_fs "/dev/mapper/root" 
"${MOUNTTYPE}")
;;
esac
run mount -t "${MOUNTTYPE}" -o ro /dev/mapper/root 
"${NEW_ROOT}/mnt/livecd"



[gentoo-commits] proj/genkernel:master commit in: defaults/, /

2020-08-28 Thread Thomas Deutschmann
commit: 88e1dd1c2ab49f232fed596927c15c3781fc6b28
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Fri Aug 28 15:22:56 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Fri Aug 28 16:35:59 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=88e1dd1c

defaults/linuxrc: Add gksosreport

To help debugging, 'gksosreport' was added (idea was borrowed from dracut):

Whenever a user run into a problem and get to a rescue shell, running 
"gksosreport"
will generate /run/initramfs/gksosreport.txt containing useful debug information
suitable to attach to bug reports.

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/gksosreport.sh | 74 +
 defaults/initrd.scripts | 20 +
 defaults/linuxrc|  4 +--
 gen_initramfs.sh|  8 +-
 4 files changed, 98 insertions(+), 8 deletions(-)

diff --git a/defaults/gksosreport.sh b/defaults/gksosreport.sh
new file mode 100644
index 000..03b44b6
--- /dev/null
+++ b/defaults/gksosreport.sh
@@ -0,0 +1,74 @@
+#!/bin/sh
+
+echo 'Generating "/run/initramfs/gksosreport.txt" ...'
+
+if [ ! -d /run/initramfs ]
+then
+   mkdir -p /run/initramfs
+   chmod 0750 /run/initramfs
+fi
+
+exec >/run/initramfs/gksosreport.txt 2>&1
+
+PWFILTER='s/\(ftp:\/\/.*\):.*@/\1:***@/g;s/\(cifs:\/\/.*\):.*@/\1:***@/g;s/cifspass=[^
 ]*/cifspass=***/g;s/iscsi:.*@/iscsi:**@/g;s/rd.iscsi.password=[^ 
]*/rd.iscsi.password=**/g;s/rd.iscsi.in.password=[^ 
]*/rd.iscsi.in.password=**/g'
+
+echo "Genkernel SOS report from $(date +'%Y-%m-%d %H:%M:%S'):"
+
+set -x
+
+cat /lib/dracut/dracut-gk-version.info
+
+cat /lib/dracut/build-parameter.txt
+
+cat /proc/cmdline | sed -e "${PWFILTER}"
+
+[ -f /etc/cmdline ] && cat /etc/cmdline | sed -e "${PWFILTER}"
+
+lspci -k
+
+lsmod
+
+find /lib/modules/$(uname -r) -type f
+
+cat /proc/self/mountinfo
+cat /proc/mounts
+
+blkid
+blkid -o udev
+
+ls -l /dev/disk/by*
+
+if hash lvm >/dev/null 2>/dev/null
+then
+   lvm pvdisplay
+   lvm vgdisplay
+   lvm lvdisplay
+fi
+
+if hash dmsetup >/dev/null 2>/dev/null
+then
+   dmsetup ls --tree
+fi
+
+if [ -e /proc/mdstat ]
+then
+   cat /proc/mdstat
+fi
+
+if hash cryptsetup >/dev/null 2>/dev/null
+then
+   if [ -e /dev/mapper/root ]
+   then
+   cryptsetup status /dev/mapper/root
+   fi
+fi
+
+if hash ip >/dev/null 2>/dev/null
+then
+   ip link
+   ip addr
+fi
+
+dmesg | sed -e "${PWFILTER}"
+
+[ -f /run/initramfs/init.log ] && cat /run/initramfs/init.log | sed -e 
"${PWFILTER}"

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 36f4791..7a84755 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -983,7 +983,7 @@ check_loop() {
bad_msg 'Please export LOOP with a valid location, or reboot 
and pass a proper loop=...'
bad_msg 'kernel command line!'
 
-   run_shell
+   run_emergency_shell
fi
 }
 
@@ -1001,6 +1001,14 @@ run() {
return ${retval}
 }
 
+run_emergency_shell() {
+   echo
+   gksosreport
+   good_msg 'You might want to save "/run/initramfs/gksosreport.txt" to a 
USB stick or /boot'
+   good_msg 'after mounting them and attach it to a bug report.'
+   run_shell
+}
+
 run_shell() {
if [ -f "${GK_USERINTERACTION_DISABLED_STATEFILE}" ]
then
@@ -1092,7 +1100,7 @@ test_success() {
error_string=${1}
error_string="${error_string:-Failed to run command}"
bad_msg "${error_string}; Failing back to the shell ..."
-   run_shell
+   run_emergency_shell
fi
 }
 
@@ -1347,7 +1355,7 @@ prompt_user() {
'shell')
eval ${1}'='${oldvalue}
warn_msg "To leave and try again just press +D"
-   run_shell
+   run_emergency_shell
;;
'')
eval ${1}'='${oldvalue}
@@ -1799,7 +1807,7 @@ openLUKS() {
# if crypt_silent=1 and some error occurs, enter shell quietly
elif [ \( ${CRYPT_SILENT} -eq 1 \) -a \( \( \( ${DEV_ERROR} -eq 
1 \) -o \( ${KEY_ERROR} -eq 1 \) \) -o \( ${KEYDEV_ERROR} -eq 1 \) \) ]
then
-   run_shell
+   run_emergency_shell
elif [ ${DEV_ERROR} -eq 1 ]
then
prompt_user "LUKS_DEVICE" "${LUKS_NAME}"
@@ -2487,7 +2495,7 @@ cdupdate() {
if [ "$?" != '0' ]
then
bad_msg "Executing cdupdate.sh failed!"
-   run_shell
+   run_emergency_shell
fi
else
good_msg 'No cdupdate.sh script found, skipping ...'
@@ -2511,6 +2519,8 @@ 

[gentoo-commits] proj/genkernel:master commit in: defaults/

2020-08-28 Thread Thomas Deutschmann
commit: 0b378bf0d675188a438bfea9dee392fb2b5d0cfd
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Fri Aug 28 12:39:38 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Fri Aug 28 13:45:38 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=0b378bf0

defaults/linuxrc: Make use of PATH (2)

Don't use absolute paths. Use 'hash' to test if command is available.

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/linuxrc | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/defaults/linuxrc b/defaults/linuxrc
index 466e1f7..5c3b0ce 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -509,15 +509,16 @@ esac
 # Verify that it is safe to use ZFS
 if [ "${USE_ZFS}" = '1' ]
 then
-   for i in /sbin/zfs /sbin/zpool
+   for i in zfs zpool
do
-   if [ ! -x ${i} ]
+   if ! hash ${i} >/dev/null 2>&1
then
USE_ZFS=0
-   bad_msg "Aborting use of ZFS because ${i} not found!"
+   bad_msg "Aborting use of ZFS because '${i}' not found!"
break
fi
done
+   unset i
 
[ "${USE_ZFS}" = '1' ] && MY_HWOPTS="${MY_HWOPTS} zfs"
 fi



[gentoo-commits] proj/genkernel:master commit in: defaults/

2020-08-28 Thread Thomas Deutschmann
commit: 8c110e13f09aad67a666f4af10e51876fab50925
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Thu Aug 27 21:03:21 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Fri Aug 28 13:45:37 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=8c110e13

defaults/linuxrc: Support devices with symlinks (2)

Follow up for commit 0048f44c081dce2e296b48c71a208abf2a815c84.

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/linuxrc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/defaults/linuxrc b/defaults/linuxrc
index 438ed11..466e1f7 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -925,7 +925,7 @@ do
else
# If $REAL_ROOT is a symlink
# Resolve it like util-linux mount does
-   [ -L ${REAL_ROOT} ] && REAL_ROOT=$(readlink 
${REAL_ROOT})
+   [ -L ${REAL_ROOT} ] && REAL_ROOT=$(readlink -f 
${REAL_ROOT})
# mount ro so fsck doesn't barf later
if [ "${REAL_ROOTFLAGS}" = '' ]
then



[gentoo-commits] proj/genkernel:master commit in: defaults/, doc/

2020-08-28 Thread Thomas Deutschmann
commit: 8cca1dada7be5625cbdbcf4e8ab14c51d131e099
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Fri Aug 28 13:28:33 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Fri Aug 28 16:35:59 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=8cca1dad

defaults/linuxrc: Add gk.udev.debug to run udevd in debug mode

When gk.udev.debug=yes is set (boolean option), udevd will run in
debug mode. Output will be written to /run/initramfs/udevd.log.

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/initrd.defaults |  1 +
 defaults/linuxrc | 10 +-
 doc/genkernel.8.txt  |  4 
 3 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/defaults/initrd.defaults b/defaults/initrd.defaults
index fa71ecb..b665355 100644
--- a/defaults/initrd.defaults
+++ b/defaults/initrd.defaults
@@ -96,6 +96,7 @@ GK_SSHD_PIDFILE='/var/run/dropbear.pid'
 GK_SSHD_PORT=22
 GK_SSHD_WAIT=
 GK_UDEV_LOG='/run/initramfs/udevd.log'
+GK_UDEV_DEBUG=0
 GK_UDEV_TIMEOUT=120
 GK_USERINTERACTION_DISABLED_STATEFILE='/tmp/user-interaction.disabled'
 

diff --git a/defaults/linuxrc b/defaults/linuxrc
index 1a4ddac..b42366f 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -332,6 +332,14 @@ do
fi
unset tmp_wait
;;
+   gk.udev.debug=*)
+   tmp_enabled=${x#*=}
+   if is_true "${tmp_enabled}"
+   then
+   GK_UDEV_DEBUG=1
+   fi
+   unset tmp_enabled
+   ;;
gk.udev.timeout=*)
tmp_timeout=${x#*=}
if is_int "${tmp_timeout}"
@@ -566,7 +574,7 @@ fi
 good_msg 'Activating udev ...'
 
 udevd_cmd="run udevd --resolve-names=never"
-if is_debug
+if [ "${GK_UDEV_DEBUG}" = '1' ]
 then
udevd_cmd="${udevd_cmd} --debug > ${GK_UDEV_LOG} 2>&1 &"
 else

diff --git a/doc/genkernel.8.txt b/doc/genkernel.8.txt
index d8b9e09..7b96879 100644
--- a/doc/genkernel.8.txt
+++ b/doc/genkernel.8.txt
@@ -721,6 +721,10 @@ recognized by the kernel itself.
 *gk.net.timeout.interface*=<...>::
 By default we will wait up to 10 seconds for interface to show up.
 
+*gk.udev.debug*=<...>::
+This boolean option allows you to run udevd in debug mode. Output
+will be logged to '/run/initramfs/udevd.log'.
+
 *gk.udev.timeout*=<...>::
 By default we will wait up to 120 seconds (UDEV default) for
 UDEV event queue to become empty.



[gentoo-commits] proj/genkernel:master commit in: defaults/

2020-08-28 Thread Thomas Deutschmann
commit: 3c7bcc98ee94cfda5d1d63d366a61bca281c965c
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Thu Aug 27 22:56:04 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Fri Aug 28 13:45:37 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=3c7bcc98

defaults/initrd.scripts: log_msg(): Leave function early in case log file 
cannot be written

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/initrd.scripts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 29ec123..b579e4f 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1072,7 +1072,7 @@ log_msg() {
 
if [ ! -f "${GK_INIT_LOG}" ]
then
-   touch "${GK_INIT_LOG}"
+   touch "${GK_INIT_LOG}" 2>/dev/null || return
fi
 
local log_prefix=



[gentoo-commits] proj/genkernel:master commit in: defaults/, /

2020-08-28 Thread Thomas Deutschmann
commit: 6ea3cd1f1525fdadb9faabfe8183e22b4836acdf
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Thu Aug 27 20:55:56 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Fri Aug 28 13:45:21 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=6ea3cd1f

defaults/config.sh: Add DEFAULT__ to allow override

_tc-getPROG() can only override variable with user provided value
when there is a default value.

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/config.sh   | 26 --
 gen_determineargs.sh | 26 +-
 2 files changed, 41 insertions(+), 11 deletions(-)

diff --git a/defaults/config.sh b/defaults/config.sh
index f8cb311..a5d9ea3 100644
--- a/defaults/config.sh
+++ b/defaults/config.sh
@@ -37,18 +37,32 @@ DEFAULT_MAKEOPTS="${PORTAGE_MAKEOPTS:- -j$(nproc)}"
 
 DEFAULT_MODULEREBUILD_CMD="emerge --ignore-default-opts --buildpkg=n 
--usepkg=n --quiet-build=y @module-rebuild"
 
-DEFAULT_KERNEL_MAKE=make
-DEFAULT_UTILS_MAKE=make
-
-DEFAULT_KERNEL_CC=gcc
 DEFAULT_KERNEL_AS=as
+DEFAULT_KERNEL_AR=ar
+DEFAULT_KERNEL_CC=gcc
+DEFAULT_KERNEL_CXX=g++
 DEFAULT_KERNEL_LD=ld
+DEFAULT_KERNEL_NM=nm
+DEFAULT_KERNEL_MAKE=make
+DEFAULT_KERNEL_OBJCOPY=objcopy
+DEFAULT_KERNEL_OBJDUMP=objdump
+DEFAULT_KERNEL_RANLIB=ranlib
+DEFAULT_KERNEL_READELF=readelf
+DEFAULT_KERNEL_STRIP=strip
 
-DEFAULT_UTILS_CFLAGS="-Os -pipe -fomit-frame-pointer"
+DEFAULT_UTILS_AS=as
+DEFAULT_UTILS_AR=ar
 DEFAULT_UTILS_CC=gcc
+DEFAULT_UTILS_CFLAGS="-Os -pipe -fomit-frame-pointer"
 DEFAULT_UTILS_CXX=g++
-DEFAULT_UTILS_AS=as
 DEFAULT_UTILS_LD=ld
+DEFAULT_UTILS_NM=nm
+DEFAULT_UTILS_MAKE=make
+DEFAULT_UTILS_OBJCOPY=objcopy
+DEFAULT_UTILS_OBJDUMP=objdump
+DEFAULT_UTILS_RANLIB=ranlib
+DEFAULT_UTILS_READELF=readelf
+DEFAULT_UTILS_STRIP=strip
 
 PORTAGE_CHOST="$(portageq envvar CHOST)"
 DEFAULT_CHOST="${PORTAGE_CHOST:-$(${DEFAULT_UTILS_CC} -dumpmachine 
2>/dev/null)}"

diff --git a/gen_determineargs.sh b/gen_determineargs.sh
index 7332bb0..0fe8886 100755
--- a/gen_determineargs.sh
+++ b/gen_determineargs.sh
@@ -318,16 +318,32 @@ determine_real_args() {
set_config_with_override STRING CHOST 
CMD_CHOST "${DEFAULT_CHOST}"
set_config_with_override STRING MAKEOPTS  
CMD_MAKEOPTS  "${DEFAULT_MAKEOPTS}"
set_config_with_override STRING NICE  
CMD_NICE  "10"
-   set_config_with_override STRING KERNEL_MAKE   
CMD_KERNEL_MAKE   "${DEFAULT_KERNEL_MAKE}"
-   set_config_with_override STRING UTILS_CFLAGS  
CMD_UTILS_CFLAGS  "${DEFAULT_UTILS_CFLAGS}"
-   set_config_with_override STRING UTILS_MAKE
CMD_UTILS_MAKE"${DEFAULT_UTILS_MAKE}"
+   set_config_with_override STRING KERNEL_AS 
CMD_KERNEL_AS "${DEFAULT_KERNEL_AS}"
+   set_config_with_override STRING KERNEL_AR 
CMD_KERNEL_AR "${DEFAULT_KERNEL_AR}"
set_config_with_override STRING KERNEL_CC 
CMD_KERNEL_CC "${DEFAULT_KERNEL_CC}"
+   set_config_with_override STRING KERNEL_CFLAGS 
CMD_KERNEL_CFLAGS "${DEFAULT_KERNEL_CFLAGS}"
+   set_config_with_override STRING KERNEL_CXX
CMD_KERNEL_CXX"${DEFAULT_KERNEL_CXX}"
set_config_with_override STRING KERNEL_LD 
CMD_KERNEL_LD "${DEFAULT_KERNEL_LD}"
-   set_config_with_override STRING KERNEL_AS 
CMD_KERNEL_AS "${DEFAULT_KERNEL_AS}"
+   set_config_with_override STRING KERNEL_NM 
CMD_KERNEL_NM "${DEFAULT_KERNEL_NM}"
+   set_config_with_override STRING KERNEL_MAKE   
CMD_KERNEL_MAKE   "${DEFAULT_KERNEL_MAKE}"
+   set_config_with_override STRING KERNEL_OBJCOPY
CMD_KERNEL_OBJCOPY"${DEFAULT_KERNEL_OBJCOPY}"
+   set_config_with_override STRING KERNEL_OBJDUMP
CMD_KERNEL_OBJDUMP"${DEFAULT_KERNEL_OBJDUMP}"
+   set_config_with_override STRING KERNEL_RANLIB 
CMD_KERNEL_RANLIB "${DEFAULT_KERNEL_RANLIB}"
+   set_config_with_override STRING KERNEL_READELF
CMD_KERNEL_READELF"${DEFAULT_KERNEL_READELF}"
+   set_config_with_override STRING KERNEL_STRIP  
CMD_KERNEL_STRIP 

[gentoo-commits] proj/genkernel:master commit in: defaults/

2020-08-28 Thread Thomas Deutschmann
commit: 92a74db4286051466e7e61d53fbe51ab249c9804
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Thu Aug 27 21:00:19 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Fri Aug 28 13:45:37 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=92a74db4

defaults/linuxrc: Add debug breakpoint before udevd start

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/linuxrc | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/defaults/linuxrc b/defaults/linuxrc
index 263f738..438ed11 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -576,6 +576,9 @@ else
good_msg 'Skipping module load; no modules in the ramdisk!'
 fi
 
+# Run debug shell if requested
+rundebugshell "before starting udevd"
+
 # Initialize udev
 if [ ! -f "/etc/udev/hwdb.bin" ]
 then



[gentoo-commits] proj/genkernel:master commit in: defaults/

2020-08-26 Thread Thomas Deutschmann
commit: 3fc29fcdf0af70a0dd14194089e7fe952748522c
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Wed Aug 26 22:46:43 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Wed Aug 26 22:46:43 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=3fc29fcd

kernel-generic-config: Enable WireGuard support

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/kernel-generic-config | 1 +
 1 file changed, 1 insertion(+)

diff --git a/defaults/kernel-generic-config b/defaults/kernel-generic-config
index bda16a5..bd8d415 100644
--- a/defaults/kernel-generic-config
+++ b/defaults/kernel-generic-config
@@ -6726,6 +6726,7 @@ CONFIG_WIL6210=m
 CONFIG_WILINK_PLATFORM_DATA=y
 # CONFIG_WIMAX is not set
 CONFIG_WINBOND_840=m
+CONFIG_WIREGUARD=m
 CONFIG_WIRELESS_EXT=y
 CONFIG_WIRELESS=y
 CONFIG_WIZNET_BUS_ANY=y



[gentoo-commits] proj/genkernel:master commit in: defaults/, doc/

2020-08-26 Thread Thomas Deutschmann
commit: 809f1f547f0ba8bfa38bbd0977ab2c57ec4c4581
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Wed Aug 26 21:35:52 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Wed Aug 26 21:46:37 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=809f1f54

defaults/linuxrc: Disable processing of modules_load file by default

Now that we are using (e)udev with kmod support, we can rely on UDEV to
load required kernel modules.

Old module loading based on modules_load file can still be enabled via
boolean "gk.hw.use-modules_load" kernel command-line option which is inverting
and replacing previous "nodetect" kernel command-line option.

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/initrd.defaults |  1 +
 defaults/initrd.scripts  | 11 +++
 defaults/linuxrc | 26 ++
 doc/genkernel.8.txt  | 17 +++--
 4 files changed, 37 insertions(+), 18 deletions(-)

diff --git a/defaults/initrd.defaults b/defaults/initrd.defaults
index 3ac5856..e4c861b 100644
--- a/defaults/initrd.defaults
+++ b/defaults/initrd.defaults
@@ -73,6 +73,7 @@ IP='dhcp'
 GK_BOOTFONT_DISABLED=0
 GK_DEBUGMODE_STATEFILE="/tmp/debug.enabled"
 GK_HW_LOAD_ALL_MODULES=0
+GK_HW_USE_MODULES_LOAD=0
 GK_INIT_LOG='/tmp/init.log'
 GK_INIT_LOG_COPYTO=
 GK_INIT_LOG_COPYTO_DEFAULT='/genkernel-boot.log'

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index fd87623..29ec123 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -2019,10 +2019,13 @@ iface_name() {
 start_network() {
good_msg "Starting network ..."
 
-   # Load network modules only when we need them to avoid possible
-   # firmware problems for people not using network that early
-   modules_scan net
-   udevsettle
+   if [ "${GK_HW_USE_MODULES_LOAD}" = '1' ]
+   then
+   # Load network modules only when we need them to avoid possible
+   # firmware problems for people not using network that early
+   modules_scan net
+   udevsettle
+   fi
 
# At least gk.net.iface can only be processed after sysfs was
# mounted.

diff --git a/defaults/linuxrc b/defaults/linuxrc
index 9793fde..263f738 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -175,9 +175,6 @@ do
doload=*)
MDOLIST=$(echo ${MDOLIST} ${x#*=} | sed -e 's/^\ 
*//;s/,/ /g')
;;
-   nodetect)
-   NODETECT=1
-   ;;
noload=*)
MLIST=$(echo ${MLIST} ${x#*=} | sed -e 's/^\ *//;s/,/ 
/g')
export MLIST
@@ -291,6 +288,14 @@ do
fi
unset tmp_disabled
;;
+   gk.hw.use-modules_load=*)
+   tmp_disabled=${x#*=}
+   if is_true "${tmp_disabled}"
+   then
+   GK_HW_USE_MODULES_LOAD=1
+   fi
+   unset tmp_disabled
+   ;;
gk.log.disabled=*)
tmp_disabled=${x#*=}
if is_true "${tmp_disabled}"
@@ -542,26 +547,31 @@ fi
 # Load modules listed in MY_HWOPTS if /lib/modules exists for the running 
kernel
 if [ -z "${DO_modules}" ]
 then
-   good_msg 'Skipping module load; disabled via commandline'
+   good_msg 'Skipping module load; disabled via command-line'
 elif [ -d "/lib/modules/${KV}" ]
 then
-   good_msg 'Loading modules ...'
if [ -n "${FIRSTMODS}" ]
then
+   good_msg 'Loading first modules ...'
# try these modules first -- detected modules for root device:
modules_load firstmods ${FIRSTMODS}
fi
 
# Load appropriate kernel modules
-   if [ "${NODETECT}" != '1' ]
+   if [ "${GK_HW_USE_MODULES_LOAD}" = '1' ]
then
+   good_msg 'Loading modules ...'
for modules in ${MY_HWOPTS}
do
modules_scan ${modules}
done
fi
-   # Always eval doload=...
-   modules_load extra_load ${MDOLIST}
+
+   if [ -n "${MDOLIST}" ]
+   then
+   good_msg 'Loading modules from command-line ...'
+   modules_load extra_load ${MDOLIST}
+   fi
 else
good_msg 'Skipping module load; no modules in the ramdisk!'
 fi

diff --git a/doc/genkernel.8.txt b/doc/genkernel.8.txt
index 8c527b0..f0e4414 100644
--- a/doc/genkernel.8.txt
+++ b/doc/genkernel.8.txt
@@ -823,6 +823,12 @@ when not set. This will allow remote user to provide 
answer through
 loading of all module groups regardless whether root device is
 already available.
 
+*gk.hw.use-modules_load*=<...>::
+By default, genkernel relies on UDEV's capability to load required
+kernel modules. This boolean option 

[gentoo-commits] proj/genkernel:master commit in: defaults/, gkbuilds/

2020-08-26 Thread Thomas Deutschmann
commit: f492c407747e2c266c71ea9f19193f8fecd3bd8f
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Wed Aug 26 21:33:28 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Wed Aug 26 21:46:37 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=f492c407

eudev: Enable kmod support

This will allow us to use (e)udev to load required kernel modules.

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/software.sh   | 13 ++---
 gkbuilds/eudev.gkbuild |  4 +---
 gkbuilds/kmod.gkbuild  | 24 +++-
 gkbuilds/xz.gkbuild| 19 +++
 4 files changed, 49 insertions(+), 11 deletions(-)

diff --git a/defaults/software.sh b/defaults/software.sh
index d8dbfc9..619b026 100644
--- a/defaults/software.sh
+++ b/defaults/software.sh
@@ -74,7 +74,7 @@ 
GKPKG_DROPBEAR_BINPKG="${GKPKG_DROPBEAR_BINPKG:-%%CACHE%%/dropbear-${GKPKG_DROPB
 
 GKPKG_EUDEV_PN="eudev"
 GKPKG_EUDEV_PV="${GKPKG_EUDEV_PV:-VERSION_EUDEV}"
-GKPKG_EUDEV_DEPS="util-linux"
+GKPKG_EUDEV_DEPS="util-linux zlib xz kmod"
 
GKPKG_EUDEV_SRCTAR="${GKPKG_EUDEV_SRCTAR:-${DISTDIR}/eudev-${GKPKG_EUDEV_PV}.tar.gz}"
 GKPKG_EUDEV_SRCDIR="${GKPKG_EUDEV_SRCDIR:-eudev-${GKPKG_EUDEV_PV}}"
 
GKPKG_EUDEV_BINPKG="${GKPKG_EUDEV_BINPKG:-%%CACHE%%/eudev-${GKPKG_EUDEV_PV}-%%ARCH%%.tar.xz}"
@@ -116,7 +116,7 @@ 
GKPKG_HWIDS_BINPKG="${GKPKG_HWIDS_BINPKG:-%%CACHE%%/hwids-${GKPKG_HWIDS_PV}-%%AR
 
 GKPKG_ISCSI_PN="open-iscsi"
 GKPKG_ISCSI_PV="${GKPKG_ISCSI_PV:-VERSION_ISCSI}"
-GKPKG_ISCSI_DEPS="kmod zlib util-linux"
+GKPKG_ISCSI_DEPS="util-linux zlib xz kmod"
 
GKPKG_ISCSI_SRCTAR="${GKPKG_ISCSI_SRCTAR:-${DISTDIR}/open-iscsi-${GKPKG_ISCSI_PV}.tar.gz}"
 GKPKG_ISCSI_SRCDIR="${GKPKG_ISCSI_SRCDIR:-open-iscsi-${GKPKG_ISCSI_PV}}"
 
GKPKG_ISCSI_BINPKG="${GKPKG_ISCSI_BINPKG:-%%CACHE%%/iscsi-${GKPKG_ISCSI_PV}-%%ARCH%%.tar.xz}"
@@ -130,7 +130,7 @@ 
GKPKG_JSON_C_BINPKG="${GKPKG_JSON_C_BINPKG:-%%CACHE%%/json-c-${GKPKG_JSON_C_PV}-
 
 GKPKG_KMOD_PN="kmod"
 GKPKG_KMOD_PV="${GKPKG_KMOD_PV:-VERSION_KMOD}"
-GKPKG_KMOD_DEPS="zlib"
+GKPKG_KMOD_DEPS="zlib xz"
 
GKPKG_KMOD_SRCTAR="${GKPKG_KMOD_SRCTAR:-${DISTDIR}/kmod-${GKPKG_KMOD_PV}.tar.xz}"
 GKPKG_KMOD_SRCDIR="${GKPKG_KMOD_SRCDIR:-kmod-${GKPKG_KMOD_PV}}"
 
GKPKG_KMOD_BINPKG="${GKPKG_KMOD_BINPKG:-%%CACHE%%/kmod-${GKPKG_KMOD_PV}-%%ARCH%%.tar.xz}"
@@ -219,6 +219,13 @@ 
GKPKG_XFSPROGS_SRCTAR="${GKPKG_XFSPROGS_SRCTAR:-${DISTDIR}/xfsprogs-${GKPKG_XFSP
 GKPKG_XFSPROGS_SRCDIR="${GKPKG_XFSPROGS_SRCDIR:-xfsprogs-${GKPKG_XFSPROGS_PV}}"
 
GKPKG_XFSPROGS_BINPKG="${GKPKG_XFSPROGS_BINPKG:-%%CACHE%%/xfsprogs-${GKPKG_XFSPROGS_PV}-%%ARCH%%.tar.xz}"
 
+GKPKG_XZ_PN="xz"
+GKPKG_XZ_PV="${GKPKG_XZ_PV:-VERSION_XZ}"
+GKPKG_XZ_DEPS=""
+GKPKG_XZ_SRCTAR="${GKPKG_XZ_SRCTAR:-${DISTDIR}/xz-${GKPKG_XZ_PV}.tar.gz}"
+GKPKG_XZ_SRCDIR="${GKPKG_XZ_SRCDIR:-xz-${GKPKG_XZ_PV}}"
+GKPKG_XZ_BINPKG="${GKPKG_XZ_BINPKG:-%%CACHE%%/xz-${GKPKG_XZ_PV}-%%ARCH%%.tar.xz}"
+
 GKPKG_ZLIB_PN="zlib"
 GKPKG_ZLIB_PV="${GKPKG_ZLIB_PV:-VERSION_ZLIB}"
 GKPKG_ZLIB_DEPS=""

diff --git a/gkbuilds/eudev.gkbuild b/gkbuilds/eudev.gkbuild
index 54f2c0d..0677f0e 100644
--- a/gkbuilds/eudev.gkbuild
+++ b/gkbuilds/eudev.gkbuild
@@ -10,11 +10,9 @@ src_configure() {
--disable-selinux
--disable-rule-generator
--disable-hwdb
+   --enable-kmod
)
 
-   # Cannot link against static kmod, 
https://lists.freedesktop.org/archives/systemd-devel/2013-June/011173.html
-   myconf+=( --disable-kmod )
-
gkconf "${myconf[@]}"
 }
 

diff --git a/gkbuilds/kmod.gkbuild b/gkbuilds/kmod.gkbuild
index 44a2df3..bf0f355 100644
--- a/gkbuilds/kmod.gkbuild
+++ b/gkbuilds/kmod.gkbuild
@@ -7,16 +7,24 @@ src_prepare() {
sed -i \
-e '/--enable-static is not supported by 
kmod/s:as_fn_error:echo:' \
configure || die "Failed to re-enable static support"
+
+   # List of symbols which are clashing with (e)udev
+   cat <<-EOF >> kmod.syms
+   mkdir_p _kmod_mkdir_p
+   mkdir_parents   _kmod_mkdir_parents
+   path_is_absolute_kmod_path_is_absolute
+   path_make_absolute_cwd  _kmod_path_make_absolute_cwd
+   EOF
 }
 
 src_configure() {
local myconf=(
-   --without-xz
-   --with-zlib
-   --without-openssl
+   --enable-static
--disable-python
--disable-tools
-   --enable-static
+   --with-xz
+   --with-zlib
+   --without-openssl
)
 
gkconf "${myconf[@]}"
@@ -27,10 +35,16 @@ src_install() {
 
# remove hardcoded $BROOT
sed -i \
-   -e 's/-L\/[^ ]*/-L${libdir}/' \
+   -e 's/-L\/[^ ]*/-L${libdir}/g' \
"${D}"/usr/lib*/pkgconfig/*.pc \
|| die
 
+   # rename internal symbols to avoid clashing with (e)udev
+   $(tc-getOBJCOPY) \
+   --redefine-syms=kmod.syms \
+ 

[gentoo-commits] proj/genkernel:master commit in: defaults/

2020-08-25 Thread Thomas Deutschmann
commit: 0f2a198a2c613b4d035099f951fdb49d9c998275
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Tue Aug 25 17:38:44 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Tue Aug 25 17:40:33 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=0f2a198a

defaults/modules_load: Fix Hyper-V keyboard support

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/modules_load | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/defaults/modules_load b/defaults/modules_load
index 8ed4c62..8b2a47e 100644
--- a/defaults/modules_load
+++ b/defaults/modules_load
@@ -33,7 +33,7 @@ MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs 
f2fs fuse virtiofs loo
 MODULES_CRYPTO="sha256_generic cbc crc32 crc32c crc32c_generic crc32_generic 
aes_generic xts af_alg algif_skcipher algif_hash algif_aead algif_rng 
serpent_generic"
 
 # Hyper-V
-MODULES_HYPERV="hv_utils hv_vmbus hv_balloon hyperv_keyboard hid_hyperv 
hv_utils hyperv_fb hv_storvsc"
+MODULES_HYPERV="hv_utils hv_vmbus hv_balloon hyperv-keyboard hid_hyperv 
hv_utils hyperv_fb hv_storvsc"
 
 # Virtio
 MODULES_VIRTIO="virtio_scsi virtio_blk virtio_console virtio-rng virtio 
virtio_balloon virtio_input virtio_ring virtio_pci virtio_mmio virtio_crypto"



[gentoo-commits] proj/genkernel:master commit in: defaults/

2020-08-25 Thread Thomas Deutschmann
commit: 880f6e888501d49556dda0bcc96284b898d70d2b
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Tue Aug 25 17:40:50 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Tue Aug 25 17:40:50 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=880f6e88

defaults/modules_load: Add hv_sock to Hyper-V modules list

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/modules_load | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/defaults/modules_load b/defaults/modules_load
index 8b2a47e..6f021ac 100644
--- a/defaults/modules_load
+++ b/defaults/modules_load
@@ -33,7 +33,7 @@ MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs 
f2fs fuse virtiofs loo
 MODULES_CRYPTO="sha256_generic cbc crc32 crc32c crc32c_generic crc32_generic 
aes_generic xts af_alg algif_skcipher algif_hash algif_aead algif_rng 
serpent_generic"
 
 # Hyper-V
-MODULES_HYPERV="hv_utils hv_vmbus hv_balloon hyperv-keyboard hid_hyperv 
hv_utils hyperv_fb hv_storvsc"
+MODULES_HYPERV="hv_sock hv_utils hv_vmbus hv_balloon hyperv-keyboard 
hid_hyperv hv_utils hyperv_fb hv_storvsc"
 
 # Virtio
 MODULES_VIRTIO="virtio_scsi virtio_blk virtio_console virtio-rng virtio 
virtio_balloon virtio_input virtio_ring virtio_pci virtio_mmio virtio_crypto"



[gentoo-commits] proj/genkernel:master commit in: defaults/

2020-08-24 Thread Thomas Deutschmann
commit: f81f1204372a833a491ef0bcab1b6b3cc81f75d9
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Mon Aug 24 20:25:53 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Mon Aug 24 20:25:53 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=f81f1204

defaults/linuxrc: Hide first output until cmdline was parsed

This will make us honor QUIET kernel command-line argument and allow
full silent boot.

Link: https://forums.gentoo.org/viewtopic-t-1117988.html
Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/linuxrc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/defaults/linuxrc b/defaults/linuxrc
index e0704f7..9793fde 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -51,8 +51,6 @@ gk_ver="$(cat /etc/build_id)"
 gk_build_date="$(cat /etc/build_date)"
 kernel_ver="$(uname -r)"
 
-good_msg "${gk_ver} (${gk_build_date}). Linux kernel ${kernel_ver}"
-
 if [ "$0" = '/init' ]
 then
[ -e /linuxrc ] && run rm /linuxrc
@@ -466,6 +464,8 @@ then
fi
 fi
 
+good_msg "${gk_ver} (${gk_build_date}). Linux kernel ${kernel_ver}"
+
 if [ "${GK_BOOTFONT_DISABLED}" = '0' -a -e /lib/console/font ]
 then
hash setfont >/dev/null 2>&1 && run setfont /lib/console/font -C 
${CONSOLE} 2>&1



[gentoo-commits] proj/genkernel:master commit in: defaults/

2020-08-23 Thread Thomas Deutschmann
commit: 064a2d9f2d6e6d4c5b5f2b04464c767387ef4f6c
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sun Aug 23 20:15:29 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Aug 23 20:15:41 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=064a2d9f

busy-config: Disable CONFIG_STACK_OPTIMIZATION_386

Using '-mpreferred-stack-boundary=2' is considered broken and
is causing problems for some users.

Bug: https://bugs.gentoo.org/725674
Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/busy-config | 1 +
 1 file changed, 1 insertion(+)

diff --git a/defaults/busy-config b/defaults/busy-config
index 0a2456a..b34c912 100644
--- a/defaults/busy-config
+++ b/defaults/busy-config
@@ -73,6 +73,7 @@ CONFIG_SYSROOT=""
 CONFIG_EXTRA_CFLAGS=""
 CONFIG_EXTRA_LDFLAGS=""
 CONFIG_EXTRA_LDLIBS=""
+# CONFIG_STACK_OPTIMIZATION_386 is not set
 
 #
 # Installation Options ("make install" behavior)



[gentoo-commits] proj/genkernel:master commit in: defaults/

2020-08-21 Thread Thomas Deutschmann
commit: 6bc4264df660ff6f639cdd9625f5f0da20418e25
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Fri Aug 21 18:44:32 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Fri Aug 21 18:44:32 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=6bc4264d

defaults/initrd.scripts: log_msg(): Log milliseconds

This will allow us to see more in detail where initramfs spent time.

Bug: https://bugs.gentoo.org/738378
Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/initrd.scripts | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index f34e5a3..fd87623 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1084,10 +1084,10 @@ log_msg() {
# codes and substitution can't be greedy.
# Because Busybox's sed cannot deal with control characters, we
# have to get rid of all non-printable characters like "^[" first...
-   LANG=C echo "${log_prefix}${msg}" | sed \
+   LANG=C echo "] ${log_prefix}${msg}" | sed \
-e "s,[^[:print:]],,g" \
-e 's,\(\\033\)\?\[[0-9;]\+m,,g' \
-   | ts '[%Y-%m-%d %H:%M:%S]' >> "${GK_INIT_LOG}"
+   | ts '[ %Y-%m-%d %H:%M:%.S' >> "${GK_INIT_LOG}"
 }
 
 # msg functions arguments



[gentoo-commits] proj/genkernel:master commit in: defaults/, /, arch/x86_64/, arch/x86/

2020-08-21 Thread Thomas Deutschmann
commit: 1423ede621013e6ecff72b8953f5dccd4eac1c39
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Fri Aug 21 13:11:50 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Fri Aug 21 13:11:50 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=1423ede6

--luks: Add support for Serpent cipher

Link: https://forums.gentoo.org/viewtopic-t-1117806.html
Signed-off-by: Thomas Deutschmann  gentoo.org>

 arch/x86/modules_load|  2 +-
 arch/x86_64/modules_load |  2 +-
 defaults/modules_load|  2 +-
 gen_configkernel.sh  | 14 ++
 4 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/arch/x86/modules_load b/arch/x86/modules_load
index 9d9431d..eece01c 100644
--- a/arch/x86/modules_load
+++ b/arch/x86/modules_load
@@ -2,4 +2,4 @@
 # (extending defaults/modules_load)
 
 # Crypto
-MODULES_CRYPTO+=" crc32c-intel crc32-pclmul aes_586 aesni-intel"
+MODULES_CRYPTO+=" crc32c-intel crc32-pclmul aes_586 aesni-intel 
serpent-sse2-i586"

diff --git a/arch/x86_64/modules_load b/arch/x86_64/modules_load
index 3f6a19c..d755b29 100644
--- a/arch/x86_64/modules_load
+++ b/arch/x86_64/modules_load
@@ -2,4 +2,4 @@
 # (extending defaults/modules_load)
 
 # Crypto
-MODULES_CRYPTO+=" crc32c-intel crc32-pclmul aes-x86_64 aesni-intel"
+MODULES_CRYPTO+=" crc32c-intel crc32-pclmul aes-x86_64 aesni-intel 
serpent-sse2-x86_64 serpent-avx-x86_64 serpent-avx2"

diff --git a/defaults/modules_load b/defaults/modules_load
index eddd23d..8ed4c62 100644
--- a/defaults/modules_load
+++ b/defaults/modules_load
@@ -30,7 +30,7 @@ MODULES_USB="ehci-pci ehci-hcd xhci-hcd xhci-pci xhci-plat 
xhci-plat-hcd uhci us
 MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs f2fs fuse virtiofs 
loop squashfs aufs overlay cramfs configfs fscrypto msdos"
 
 # Crypto
-MODULES_CRYPTO="sha256_generic cbc crc32 crc32c crc32c_generic crc32_generic 
aes_generic xts af_alg algif_skcipher algif_hash algif_aead algif_rng"
+MODULES_CRYPTO="sha256_generic cbc crc32 crc32c crc32c_generic crc32_generic 
aes_generic xts af_alg algif_skcipher algif_hash algif_aead algif_rng 
serpent_generic"
 
 # Hyper-V
 MODULES_HYPERV="hv_utils hv_vmbus hv_balloon hyperv_keyboard hid_hyperv 
hv_utils hyperv_fb hv_storvsc"

diff --git a/gen_configkernel.sh b/gen_configkernel.sh
index 5bccf5d..d08a8d9 100755
--- a/gen_configkernel.sh
+++ b/gen_configkernel.sh
@@ -542,12 +542,21 @@ config_kernel() {
y|m) ;; # Do nothing
*) cfg_CONFIG_CRYPTO_AES=${newcfg_setting}
esac
+
+   local cfg_CONFIG_CRYPTO_SERPENT=$(kconfig_get_opt 
"${KERNEL_OUTPUTDIR}/.config" "CONFIG_CRYPTO_SERPENT")
+   case "${cfg_CONFIG_CRYPTO_SERPENT}" in
+   y|m) ;; # Do nothing
+   *) cfg_CONFIG_CRYPTO_SERPENT=${newcfg_setting}
+   esac
+
kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" 
"CONFIG_CRYPTO_XTS" "${cfg_CONFIG_CRYPTO_AES}" \
&& required_kernel_options+=( 'CONFIG_CRYPTO_XTS' )
kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" 
"CONFIG_CRYPTO_SHA256" "${cfg_CONFIG_CRYPTO_AES}" \
&& required_kernel_options+=( 'CONFIG_CRYPTO_SHA256' )
kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" 
"CONFIG_CRYPTO_AES" "${cfg_CONFIG_CRYPTO_AES}" \
&& required_kernel_options+=( 'CONFIG_CRYPTO_AES' )
+   kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" 
"CONFIG_CRYPTO_SERPENT" "${cfg_CONFIG_CRYPTO_SERPENT}" \
+   && required_kernel_options+=( 'CONFIG_CRYPTO_SERPENT' )
kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" 
"CONFIG_CRYPTO_USER_API_HASH" "${cfg_CONFIG_CRYPTO_AES}" \
&& required_kernel_options+=( 
'CONFIG_CRYPTO_USER_API_HASH' )
kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" 
"CONFIG_CRYPTO_USER_API_SKCIPHER" "${cfg_CONFIG_CRYPTO_AES}" \
@@ -582,6 +591,9 @@ config_kernel() {
then
kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" 
"CONFIG_CRYPTO_SHA1_SSSE3" "${cfg_CONFIG_CRYPTO_AES}"
kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" 
"CONFIG_CRYPTO_SHA256_SSSE3" "${cfg_CONFIG_CRYPTO_AES}"
+   kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" 
"CONFIG_CRYPTO_SERPENT_SSE2_X86_64" "${cfg_CONFIG_CRYPTO_SERPENT}"
+   kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" 
"CONFIG_CRYPTO_SERPENT_AVX_X86_64" "${cfg_CONFIG_CRYPTO_SERPENT}"
+   kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" 
"CONFIG_CRYPTO_SERPENT_AVX2_X86_64" "${cfg_CONFIG_CRYPTO_SERPENT}"
 
if [ ${KV_NUMERIC} -lt 5004 ]
then
@@ -592,6 +604,8 @@ config_kernel() {
then
kconfig_set_opt 

[gentoo-commits] proj/genkernel:master commit in: defaults/

2020-08-19 Thread Thomas Deutschmann
commit: 848f9d5eb48f6fe7cf1d11a2ccb2df9198f474f1
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Wed Aug 19 21:29:34 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Wed Aug 19 21:29:34 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=848f9d5e

defaults/linuxrc: Process /etc/initramfs.mounts multiple times

We need to mount mountpoints listed in /etc/initramfs.mounts
before validating REAL_INIT in case init is located on seperate
mount.

In addition the code was moved to a dedicated function named
process_initramfs_mounts() to allow to run it multiple times
which is needed if REAL_INIT wasn't verified (in case system
was booted from livecd).

Link: https://forums.gentoo.org/viewtopic-t-1117762.html
Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/initrd.scripts | 49 +
 defaults/linuxrc| 41 +++--
 2 files changed, 56 insertions(+), 34 deletions(-)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 14f3c4e..f34e5a3 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1249,6 +1249,55 @@ preserve_log() {
fi
 }
 
+process_initramfs_mounts() {
+   local fslist=
+
+   if [ -f "${NEW_ROOT}/etc/initramfs.mounts" ]
+   then
+   fslist="$(get_mounts_list)"
+   else
+   fslist="/usr"
+   fi
+
+   local dev= fs= fstype= opts= mnt= cmd=
+   for fs in ${fslist}
+   do
+   mnt="${NEW_ROOT}${fs}"
+   if run mountpoint -q "${mnt}"
+   then
+   good_msg "${fs} already mounted, skipping..."
+   continue
+   fi
+
+   dev=$(get_mount_device "${fs}")
+   [ -z "${dev}" ] && continue
+   # Resolve it like util-linux mount does
+   [ -L "${dev}" ] && dev=$(realpath "${dev}")
+   # In this case, it's probably part of the filesystem
+   # and not a mountpoint
+   [ -z "${dev}" ] && continue
+
+   fstype=$(get_mount_fstype "${fs}")
+   if get_mount_options "${fs}" | grep -Fq bind
+   then
+   opts="bind"
+   dev="${NEW_ROOT}${dev}"
+   else
+   # ro must be trailing, and the options will always
+   # contain at least 'defaults'
+   opts="$(get_mount_options ${fs} | strip_mount_options)"
+   opts="${opts},ro"
+   fi
+
+   cmd="mount -t ${fstype} -o ${opts} ${dev} ${mnt}"
+   good_msg "Mounting ${dev} as ${fs}: ${cmd}"
+   if ! run ${cmd}
+   then
+   bad_msg "Unable to mount ${dev} for ${fs}"
+   fi
+   done
+}
+
 prompt_user() {
# $1 = variable whose value is the path (examples: "REAL_ROOT",
#  "LUKS_KEYDEV")

diff --git a/defaults/linuxrc b/defaults/linuxrc
index 3ca7e86..e0704f7 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -930,6 +930,11 @@ do
# else not a good root and start over.
if [ "${mountret}" = '0' ]
then
+   # Make sure that entries from 
$NEWROOT/etc/initramfs.mounts
+   # are mounted before validating $REAL_INIT in case init 
isn't
+   # located on $REAL_ROOT.
+   process_initramfs_mounts
+
init_binary_file="${NEW_ROOT}${REAL_INIT:-/sbin/init}"
init_binary_fallback_file="${NEW_ROOT}/bin/sh"
 
@@ -1261,40 +1266,8 @@ else
fi
 fi # if [ "${CDROOT}" = '1' ]
 
-# Mount the additional things as required by udev & systemd
-if [ -f ${NEW_ROOT}/etc/initramfs.mounts ]
-then
-   fslist=$(get_mounts_list)
-else
-   fslist="/usr"
-fi
-
-for fs in ${fslist}
-do
-   dev=$(get_mount_device ${fs})
-   [ -z "${dev}" ] && continue
-   # Resolve it like util-linux mount does
-   [ -L ${dev} ] && dev=$(readlink ${dev})
-   # In this case, it's probably part of the filesystem
-   # and not a mountpoint
-   [ -z "${dev}" ] && continue
-   fstype=$(get_mount_fstype ${fs})
-   if get_mount_options ${fs} | grep -Fq bind
-   then
-   opts='bind'
-   dev=${NEW_ROOT}${dev}
-   else
-   # ro must be trailing, and the options will always contain at 
least 'defaults'
-   opts="$(get_mount_options ${fs} | strip_mount_options),ro"
-   fi
-   mnt=${NEW_ROOT}${fs}
-   cmd="mount -t ${fstype} -o ${opts} ${dev} ${mnt}"
-   good_msg "Mounting ${dev} as ${fs}: ${cmd}"
-   if ! ${cmd}
-   then
-   bad_msg "Unable to mount ${dev} for ${fs}"
-   fi
-done # for fs in $fslist; do
+# Re-run to ensure $NEWROOT/etc/initramfs.mounts 

[gentoo-commits] proj/genkernel:master commit in: defaults/

2020-08-09 Thread Thomas Deutschmann
commit: 5c2d7fc5bbc302c6ad6eac111e375709d7031187
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sun Aug  9 20:02:07 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Aug  9 20:02:07 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=5c2d7fc5

defaults/initrd.scripts: start_volumes(): Don't wait for /dev/zfs

This is not needed anymore and also not working.

Bug: https://bugs.gentoo.org/736084
Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/initrd.scripts | 13 +
 1 file changed, 1 insertion(+), 12 deletions(-)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index b7dbdd8..14f3c4e 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1501,17 +1501,6 @@ copyKeymap() {
fi
 }
 
-# This helper function is to be called using call_func_timeout.
-# It enables us to wait a reasonable amount of time until /dev/zfs appears.
-waitForZFS() {
-   while [ ! -c /dev/zfs ]
-   do
-   echo >/dev/null
-   done
-
-   exit 1
-}
-
 splash() {
return 0
 }
@@ -1631,7 +1620,7 @@ start_volumes() {
if [ "${USE_ZFS}" = '1' ]
then
# Avoid race involving asynchronous module loading
-   if call_func_timeout waitForZFS 5
+   if [ ! -e /dev/zfs ]
then
bad_msg "Cannot import ZFS pool because /dev/zfs is 
missing"
elif [ -z "${ZFS_POOL}" ]



[gentoo-commits] proj/genkernel:master commit in: defaults/

2020-08-09 Thread Thomas Deutschmann
commit: e6de787bd21542bbc94efe21eacd99178a756c65
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sun Aug  9 17:30:03 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Aug  9 19:50:43 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=e6de787b

defaults/initrd.scripts: start_volumes(): Drop ZPOOL_IMPORT_UDEV_TIMEOUT_MS 
workaround

Now that we switched to (E)UDEV usage, this workaround is no longer needed.

Follow-up: 73689f8 ("ZFS: Enable UDEV support")
Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/initrd.scripts | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 22d7e85..b7dbdd8 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1630,7 +1630,6 @@ start_volumes() {
 
if [ "${USE_ZFS}" = '1' ]
then
-   export ZPOOL_IMPORT_UDEV_TIMEOUT_MS=0
# Avoid race involving asynchronous module loading
if call_func_timeout waitForZFS 5
then
@@ -1648,7 +1647,6 @@ start_volumes() {
bad_msg "Importing ZFS pools failed!"
fi
else
-
if [ "$(zpool list -H -o name ${ZFS_POOL} 2>&1)" = 
"${ZFS_POOL}" ]
then
good_msg "ZFS pool ${ZFS_POOL} already 
imported."
@@ -1690,7 +1688,6 @@ start_volumes() {
fi
fi
fi
-   unset ZPOOL_IMPORT_UDEV_TIMEOUT_MS
fi
 
udevsettle



[gentoo-commits] proj/genkernel:master commit in: defaults/

2020-08-04 Thread Thomas Deutschmann
commit: 7c5e666c2c4575dbf0f1901c90d13ec95520cdba
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Tue Aug  4 21:27:41 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Tue Aug  4 21:27:41 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=7c5e666c

modules_load: Add vmw_pvscsi for VMware PVSCSI driver support

Link: https://forums.gentoo.org/viewtopic-t-1116502.html
Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/modules_load | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/defaults/modules_load b/defaults/modules_load
index 9caa3c7..eddd23d 100644
--- a/defaults/modules_load
+++ b/defaults/modules_load
@@ -11,7 +11,7 @@ MODULES_MULTIPATH="dm-mod dm-multipath dm-round-robin dm-rdac 
dm-queue-length dm
 MODULES_NVME="nvme-core nvme nvme-fabrics nvme-rdma nvme-loop nvme-fc"
 MODULES_PATA="libata pata_mpiix pata_pdc2027x pata_radisys pata_sil680 
pata_rz1000 pata_efar pata_cmd64x pata_hpt366 pata_hpt37x pata_hpt3x3 
pata_hpt3x2n pata_optidma pata_it821x pata_artop pata_oldpiix pata_cypress 
pata_platform pata_serverworks pata_legacy pata_ns87410 pata_ns87415 
pata_pcmcia pata_isapnp pata_it8213 pata_ali pata_amd pata_opti pata_atiixp 
pata_triflex pata_pdc202xx_old pata_sc1200 pata_qdi pata_netcell pata_sis 
pata_hpt3x2n pata_marvell pata_jmicron pata_via pata_cs5520 pata_cs5530 
pata_cs5535 pata_sl82c105"
 MODULES_SATA="ahci libata ata_piix sata_promise sata_sil sata_sil24 sata_svw 
sata_via sata_nv sata_sx4 sata_sis sata_uli sata_vsc sata_qstor sata_mv 
sata_inic162x pdc_adma"
-MODULES_SCSI="mptspi megaraid_sas megaraid mpt2sas mpt3sas sd_mod sg sr_mod 
aic79xx aic7xxx aic7xxx_old arcmsr BusLogic ncr53c8xx NCR53c406a initio 
advansys aha1740 aha1542 aha152x dtc fdomain gdth pas16 pci2220i pci2000 
psi240i qlogicfas qlogicfc qlogicisp qlogicpti seagate t128 u14-34f ultrastor 
wd7000 sym53c8xx dmx3191d imm in2000 ips qla1280 sim710 sym53c416 dc395x 
atp870u mptbase mptscsih mptfc mptsas 3w-sas 3w- 3w-9xxx cpqarray cciss 
hpsa DAC960 sx8 aacraid megaraid_mbox megaraid_mm qla2xxx lpfc 
scsi_transport_fc aic94xx"
+MODULES_SCSI="mptspi megaraid_sas megaraid mpt2sas mpt3sas sd_mod sg sr_mod 
aic79xx aic7xxx aic7xxx_old arcmsr BusLogic ncr53c8xx NCR53c406a initio 
advansys aha1740 aha1542 aha152x dtc fdomain gdth pas16 pci2220i pci2000 
psi240i qlogicfas qlogicfc qlogicisp qlogicpti seagate t128 u14-34f ultrastor 
wd7000 sym53c8xx dmx3191d imm in2000 ips qla1280 sim710 sym53c416 dc395x 
atp870u mptbase mptscsih mptfc mptsas 3w-sas 3w- 3w-9xxx cpqarray cciss 
hpsa DAC960 sx8 aacraid megaraid_mbox megaraid_mm qla2xxx lpfc 
scsi_transport_fc aic94xx vmw_pvscsi"
 MODULES_WAITSCAN="scsi_wait_scan"
 MODULES_BLOCK="sdhci_acpi sdhci_pci"
 



[gentoo-commits] proj/genkernel:master commit in: defaults/, /

2020-08-01 Thread Thomas Deutschmann
commit: 9f540e262f18abdfde67d63a7d87da04abc322c8
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sat Aug  1 13:55:57 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sat Aug  1 20:35:00 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=9f540e26

Unify grep usage

Signed-off-by: Thomas Deutschmann  gentoo.org>

 Makefile| 4 ++--
 defaults/initrd.scripts | 2 +-
 defaults/linuxrc| 4 ++--
 gen_determineargs.sh| 4 ++--
 gen_funcs.sh| 4 ++--
 gen_initramfs.sh| 2 +-
 6 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/Makefile b/Makefile
index e423ab0..92d1278 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-#PACKAGE_VERSION = $(shell /bin/fgrep GK_V= genkernel | sed 
"s/.*GK_V='\([^']\+\)'/\1/")
+#PACKAGE_VERSION = $(shell /bin/grep -F -- GK_V= genkernel | sed 
"s/.*GK_V='\([^']\+\)'/\1/")
 PACKAGE_VERSION = $(shell git describe --tags |sed 's,^v,,g')
 distdir = genkernel-$(PACKAGE_VERSION)
 MANPAGE = genkernel.8
@@ -78,7 +78,7 @@ verify-doc: doc/genkernel.8.txt
-e 
'/ssh-host-keys/s,=\(create\|create-from-host\|runtime\),,g' | \
while read opt ; do \
regex="^*--(...no-...)?$$opt" ; \
-   if ! egrep -e "$$regex" $< -sq ; then \
+   if ! grep -Ee "$$regex" $< -sq ; then \
touch faildoc ; \
echo "Undocumented option: $$opt" ; \
fi ; \

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 304d634..22d7e85 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1023,7 +1023,7 @@ run_shell() {
 
 fs_type_in_use() {
fs_type=$1
-   cut -d ' ' -f 3 < /proc/mounts | fgrep -q "${fs_type}"
+   cut -d ' ' -f 3 < /proc/mounts | grep -Fq "${fs_type}"
 }
 
 mount_devfs() {

diff --git a/defaults/linuxrc b/defaults/linuxrc
index e9e97b6..3ca7e86 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -1062,7 +1062,7 @@ then
bad_msg "Squashfs filesystem could not 
be mounted, dropping into shell."
if [ -e /proc/filesystems ]
then
-   fgrep -q squashfs 
/proc/filesystems || \
+   grep -Fq squashfs 
/proc/filesystems || \
bad_msg "HINT: Your 
kernel does not know filesystem \"squashfs\"."
fi
run_shell
@@ -1279,7 +1279,7 @@ do
# and not a mountpoint
[ -z "${dev}" ] && continue
fstype=$(get_mount_fstype ${fs})
-   if get_mount_options ${fs} | fgrep -q bind
+   if get_mount_options ${fs} | grep -Fq bind
then
opts='bind'
dev=${NEW_ROOT}${dev}

diff --git a/gen_determineargs.sh b/gen_determineargs.sh
index d8f3028..75dc151 100755
--- a/gen_determineargs.sh
+++ b/gen_determineargs.sh
@@ -606,7 +606,7 @@ determine_real_args() {
vars_to_initialize+=( "BUSYBOX_CONFIG" )
vars_to_initialize+=( "DEFAULT_KERNEL_CONFIG" )
 
-   local binpkgs=( $(compgen -A variable |grep '^GKPKG_.*_BINPKG$') )
+   local binpkgs=( $(compgen -A variable | grep '^GKPKG_.*_BINPKG$') )
local binpkg
for binpkg in "${binpkgs[@]}"
do
@@ -639,7 +639,7 @@ determine_real_args() {
declare -gA GKICM_LOOKUP_TABLE_PKG=()
local known_initramfs_compression_methods_by_compression=( 
$(get_initramfs_compression_method_by_compression) )
local known_initramfs_compression_methods_by_speed=( 
$(get_initramfs_compression_method_by_speed) )
-   local initramfs_compression_methods=( $(compgen -A variable |grep 
'^GKICM_.*_KOPTNAME$') )
+   local initramfs_compression_methods=( $(compgen -A variable | grep 
'^GKICM_.*_KOPTNAME$') )
local initramfs_compression_method key var_name var_prefix
for initramfs_compression_method in 
"${initramfs_compression_methods[@]}"
do

diff --git a/gen_funcs.sh b/gen_funcs.sh
index f2f075a..0eea8ee 100755
--- a/gen_funcs.sh
+++ b/gen_funcs.sh
@@ -1908,7 +1908,7 @@ check_disk_space_requirements() {
 }
 
 check_distfiles() {
-   local source_files=( $(compgen -A variable |grep '^GKPKG_.*_SRCTAR$') )
+   local source_files=( $(compgen -A variable | grep '^GKPKG_.*_SRCTAR$') )
 
local -a missing_sources
local source_file=
@@ -2046,7 +2046,7 @@ make_bootdir_writable() {
local bootdir_status=unknown
 
# Based on mount-boot.eclass code
-   local fstabstate=$(awk "!/^#|^[[:blank:]]+#|^${BOOTDIR//\//\\/}/ {print 
\$2}" /etc/fstab 2>/dev/null | egrep "^${BOOTDIR}$" )
+   local fstabstate=$(awk "!/^#|^[[:blank:]]+#|^${BOOTDIR//\//\\/}/ {print 
\$2}" 

[gentoo-commits] proj/genkernel:master commit in: defaults/keymaps/

2020-08-01 Thread Thomas Deutschmann
commit: b44a14b43649127307fbb3a69a744e870d1be036
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sat Aug  1 21:34:16 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sat Aug  1 21:35:04 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=b44a14b4

keymaps: update Norwegian (no) keymap

Bug: https://bugs.gentoo.org/666442
Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/keymaps/no.map | Bin 2823 -> 2823 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)

diff --git a/defaults/keymaps/no.map b/defaults/keymaps/no.map
index a5ae10e..67e335a 100644
Binary files a/defaults/keymaps/no.map and b/defaults/keymaps/no.map differ



[gentoo-commits] proj/genkernel:master commit in: /, defaults/

2020-07-23 Thread Thomas Deutschmann
commit: 73689f82a7ef090c4d8c22eced7a56471be14156
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Thu Jul 23 21:06:51 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Thu Jul 23 22:56:48 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=73689f82

ZFS: Enable UDEV support

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/initrd.scripts | 24 +---
 gen_initramfs.sh| 23 ++-
 2 files changed, 39 insertions(+), 8 deletions(-)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index d2db059..304d634 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1641,12 +1641,11 @@ start_volumes() {
 
local zfs_cmd="run /sbin/zpool import -N -a 
${ZPOOL_CACHE} ${ZPOOL_FORCE} 2>&1"
is_log_enabled && zfs_cmd="${zfs_cmd} | tee -a 
'${GK_INIT_LOG}'"
+
eval "${zfs_cmd}"
-   if [ $? -eq 0 ]
+   if [ $? -ne 0 ]
then
-   good_msg "Importing ZFS pools succeeded!"
-   else
-   bad_msg "Imported ZFS pools failed!"
+   bad_msg "Importing ZFS pools failed!"
fi
else
 
@@ -1660,22 +1659,33 @@ start_volumes() {
 
local zfs_cmd="run /sbin/zpool export 
-f '${ZFS_POOL}' 2>&1"
is_log_enabled && zfs_cmd="${zfs_cmd} | 
tee -a '${GK_INIT_LOG}'"
+
eval "${zfs_cmd}"
+   if [ $? -ne 0 ]
+   then
+   bad_msg "Exporting ZFS pools 
failed!"
+   else
+   udevsettle
+   fi
 
zfs_cmd="run /sbin/zpool import -N 
${ZPOOL_CACHE} ${ZPOOL_FORCE} '${ZFS_POOL}' 2>&1"
is_log_enabled && zfs_cmd="${zfs_cmd} | 
tee -a '${GK_INIT_LOG}'"
+
eval "${zfs_cmd}"
+   if [ $? -ne 0 ]
+   then
+   bad_msg "Re-importing ZFS pools 
failed!"
+   fi
fi
else
good_msg "Importing ZFS pool ${ZFS_POOL} ..."
 
local zfs_cmd="run /sbin/zpool import -N 
${ZPOOL_CACHE} ${ZPOOL_FORCE} '${ZFS_POOL}' 2>&1"
is_log_enabled && zfs_cmd="${zfs_cmd} | tee -a 
'${GK_INIT_LOG}'"
+
eval "${zfs_cmd}"
-   if [ $? -eq 0 ]
+   if [ $? -ne 0 ]
then
-   good_msg "Import of ${ZFS_POOL} 
succeeded!"
-   else
bad_msg "Import of ${ZFS_POOL} failed!"
fi
fi

diff --git a/gen_initramfs.sh b/gen_initramfs.sh
index 24b23bb..570100e 100755
--- a/gen_initramfs.sh
+++ b/gen_initramfs.sh
@@ -992,7 +992,6 @@ append_zfs() {
fi
 
mkdir "${TDIR}" || gen_die "Failed to create '${TDIR}'!"
-   cd "${TDIR}" || gen_die "Failed to chdir to '${TDIR}'!"
 
mkdir -p "${TDIR}"/etc/zfs || gen_die "Failed to create 
'${TDIR}/etc/zfs'!"
 
@@ -1022,6 +1021,28 @@ append_zfs() {
 
copy_binaries "${TDIR}" /sbin/{mount.zfs,zdb,zfs,zpool}
 
+   local udevdir=$(get_udevdir)
+   local udevdir_initramfs="/usr/lib/udev"
+   local udev_files=( $(qlist -e sys-fs/zfs:0 \
+   | xargs --no-run-if-empty realpath \
+   | grep -E -- "^${udevdir}")
+   )
+
+   if [ ${#udev_files[@]} -eq 0 ]
+   then
+   gen_die "Something went wrong: Did not found any udev-related 
files for sys-fs/zfs!"
+   fi
+
+   mkdir -p "${TDIR}"/usr/lib/udev/rules.d || gen_die "Failed to create 
'${TDIR}/usr/lib/udev/rules.d'!"
+
+   local udev_files
+   for udev_file in "${udev_files[@]}"
+   do
+   local 
dest_file="${TDIR%/}${udev_file/${udevdir}/${udevdir_initramfs}}"
+   cp -aL "${udev_file}" "${dest_file}" \
+   || gen_die "Failed to copy '${udev_file}' to 
'${dest_file}'"
+   done
+
cd "${TDIR}" || gen_die "Failed to chdir to '${TDIR}'!"
log_future_cpio_content
find . -print0 | "${CPIO_COMMAND}" ${CPIO_ARGS} --append -F 
"${CPIO_ARCHIVE}" \



[gentoo-commits] proj/genkernel:master commit in: defaults/

2020-07-23 Thread Thomas Deutschmann
commit: 28d5ae82fc5269eb85b484cb7c086247156c5ea3
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Thu Jul 23 21:08:12 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Thu Jul 23 22:56:47 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=28d5ae82

defaults/initrd.scripts: openLUKS(): Fix style

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/initrd.scripts | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index b307fe1..426a64e 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1884,7 +1884,8 @@ openLUKS() {
then

REAL_LUKS_KEYDEV=$(find_real_device "${LUKS_KEYDEV}")
if [ -b "${REAL_LUKS_KEYDEV}" ]
-   then good_msg "Using key device 
${REAL_LUKS_KEYDEV}." ${CRYPT_SILENT}
+   then
+   good_msg "Using key 
device ${REAL_LUKS_KEYDEV}." ${CRYPT_SILENT}
else
good_msg "Please insert 
removable device ${LUKS_KEYDEV} for ${LUKS_NAME}" ${CRYPT_SILENT}
# abort after 10 secs



[gentoo-commits] proj/genkernel:master commit in: defaults/

2020-07-23 Thread Thomas Deutschmann
commit: 1ff8e13eae1052c56989bd313da860ef73c7bedd
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Thu Jul 23 20:30:52 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Thu Jul 23 22:56:47 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=1ff8e13e

defaults/initrd.scripts: mount_devfs(): Make sure that /dev/shm is available

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/initrd.scripts | 4 
 1 file changed, 4 insertions(+)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index d95da4d..1bf778d 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1043,6 +1043,10 @@ mount_devfs() {
run mkdir -m 0755 /dev/pts
run mount -t devpts -o gid=5,mode=0620 devpts /dev/pts || 
bad_msg "Failed to mount /dev/pts"
fi
+
+   run mkdir -m 1777 /dev/shm
+   run mount -t tmpfs -o mode=1777,nosuid,nodev,strictatime tmpfs /dev/shm 
\
+   || bad_msg "Failed to mount /dev/shm"
 }
 
 test_success() {



[gentoo-commits] proj/genkernel:master commit in: defaults/

2020-07-23 Thread Thomas Deutschmann
commit: 32dd11ac4e681ea9fadb0e8286468b518c0c252d
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Thu Jul 23 20:04:17 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Thu Jul 23 22:56:41 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=32dd11ac

defaults/initrd.scripts: do_resume(): Use find_real_device() to determine 
REAL_RESUME device

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/initrd.scripts | 9 +
 1 file changed, 9 insertions(+)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 3bede8a..b307fe1 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -2574,6 +2574,15 @@ rundebugshell() {
 }
 
 do_resume() {
+   local device=$(find_real_device "${REAL_RESUME}")
+   if [ -z "${device}" ]
+   then
+   warn_msg "REAL_RESUME (${REAL_RESUME}) device not found; 
Skipping resume ..."
+   return 0
+   else
+   REAL_RESUME="${device}"
+   fi
+
if [ -d /proc/suspend2 -o -d /sys/power/suspend2 -o -d 
/sys/power/tuxonice ]
then
tuxonice_resume



[gentoo-commits] proj/genkernel:master commit in: defaults/, gkbuilds/

2020-07-23 Thread Thomas Deutschmann
commit: aa0e4e5d3db44547983d0a227f62afde7754f417
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Thu Jul 23 20:46:09 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Thu Jul 23 22:56:47 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=aa0e4e5d

cryptsetup: Enable UDEV support

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/software.sh|  2 +-
 gkbuilds/cryptsetup.gkbuild | 10 +-
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/defaults/software.sh b/defaults/software.sh
index 3de9470..a4f15d6 100644
--- a/defaults/software.sh
+++ b/defaults/software.sh
@@ -46,7 +46,7 @@ 
GKPKG_COREUTILS_BINPKG="${GKPKG_COREUTILS_BINPKG:-%%CACHE%%/coreutils-${GKPKG_CO
 
 GKPKG_CRYPTSETUP_PN="cryptsetup"
 GKPKG_CRYPTSETUP_PV="${GKPKG_CRYPTSETUP_PV:-VERSION_CRYPTSETUP}"
-GKPKG_CRYPTSETUP_DEPS="util-linux json-c popt libgpg-error libgcrypt lvm"
+GKPKG_CRYPTSETUP_DEPS="util-linux eudev json-c popt libgpg-error libgcrypt lvm"
 
GKPKG_CRYPTSETUP_SRCTAR="${GKPKG_CRYPTSETUP_SRCTAR:-${DISTDIR}/cryptsetup-${GKPKG_CRYPTSETUP_PV}.tar.xz}"
 
GKPKG_CRYPTSETUP_SRCDIR="${GKPKG_CRYPTSETUP_SRCDIR:-cryptsetup-${GKPKG_CRYPTSETUP_PV}}"
 
GKPKG_CRYPTSETUP_BINPKG="${GKPKG_CRYPTSETUP_BINPKG:-%%CACHE%%/cryptsetup-${GKPKG_CRYPTSETUP_PV}-%%ARCH%%.tar.xz}"

diff --git a/gkbuilds/cryptsetup.gkbuild b/gkbuilds/cryptsetup.gkbuild
index a99ce28..57fc537 100644
--- a/gkbuilds/cryptsetup.gkbuild
+++ b/gkbuilds/cryptsetup.gkbuild
@@ -1,17 +1,25 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 src_configure() {
export ac_cv_header_security_pam_misc_h=no
export ac_cv_header_security_pam_appl_h=no
 
+   # devicemapper needs to find udev
+   append-ldflags -Wl,-rpath-link,${BROOT}/usr/lib
+
local myconf=(
--enable-internal-argon2
--sbindir=/sbin
--disable-nls
+   --disable-selinux
+   --disable-veritysetup
+   --disable-cryptsetup-reencrypt
+   --disable-integritysetup
--enable-static=yes
--enable-shared=no
--enable-static-cryptsetup
+   --enable-udev
--with-crypto_backend=gcrypt
)
 



[gentoo-commits] proj/genkernel:master commit in: defaults/

2020-07-23 Thread Thomas Deutschmann
commit: ea22a5f24f5e179c1ec8448657c753375f8567be
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Thu Jul 23 21:58:58 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Thu Jul 23 22:56:46 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=ea22a5f2

defaults/software.sh: Fix style

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/software.sh | 36 ++--
 1 file changed, 18 insertions(+), 18 deletions(-)

diff --git a/defaults/software.sh b/defaults/software.sh
index fbdca42..a9f9cf0 100644
--- a/defaults/software.sh
+++ b/defaults/software.sh
@@ -26,8 +26,8 @@ 
GKPKG_BOOST_BUILD_BINPKG="${GKPKG_BOOST_BUILD_BINPKG:-%%CACHE%%/boost-build-${GK
 GKPKG_BTRFS_PROGS_PN="btrfs-progs"
 GKPKG_BTRFS_PROGS_PV="${GKPKG_BTRFS_PROGS_PV:-VERSION_BTRFS_PROGS}"
 GKPKG_BTRFS_PROGS_DEPS="util-linux zlib zstd lzo"
-GKPKG_BTRFS_PROGS_SRCDIR="${GKPKG_BTRFS_PROGS_SRCDIR:-btrfs-progs-v${GKPKG_BTRFS_PROGS_PV}}"
 
GKPKG_BTRFS_PROGS_SRCTAR="${GKPKG_BTRFS_PROGS_SRCTAR:-${DISTDIR}/btrfs-progs-v${GKPKG_BTRFS_PROGS_PV}.tar.xz}"
+GKPKG_BTRFS_PROGS_SRCDIR="${GKPKG_BTRFS_PROGS_SRCDIR:-btrfs-progs-v${GKPKG_BTRFS_PROGS_PV}}"
 
GKPKG_BTRFS_PROGS_BINPKG="${GKPKG_BTRFS_PROGS_BINPKG:-%%CACHE%%/btrfs-progs-${GKPKG_BTRFS_PROGS_PV}-%%ARCH%%.tar.xz}"
 
 GKPKG_BUSYBOX_PN="busybox"
@@ -54,8 +54,8 @@ 
GKPKG_CRYPTSETUP_BINPKG="${GKPKG_CRYPTSETUP_BINPKG:-%%CACHE%%/cryptsetup-${GKPKG
 GKPKG_DMRAID_PN="dmraid"
 GKPKG_DMRAID_PV="${GKPKG_DMRAID_PV:-VERSION_DMRAID}"
 GKPKG_DMRAID_DEPS="lvm"
-GKPKG_DMRAID_SRCDIR="${GKPKG_DMRAID_SRCDIR:-dmraid/${GKPKG_DMRAID_PV}/dmraid}"
 
GKPKG_DMRAID_SRCTAR="${GKPKG_DMRAID_SRCTAR:-${DISTDIR}/dmraid-${GKPKG_DMRAID_PV}.tar.bz2}"
+GKPKG_DMRAID_SRCDIR="${GKPKG_DMRAID_SRCDIR:-dmraid/${GKPKG_DMRAID_PV}/dmraid}"
 
GKPKG_DMRAID_BINPKG="${GKPKG_DMRAID_BINPKG:-%%CACHE%%/dmraid-${GKPKG_DMRAID_PV}-%%ARCH%%.tar.xz}"
 
 GKPKG_DROPBEAR_PN="dropbear"
@@ -82,85 +82,85 @@ 
GKPKG_E2FSPROGS_BINPKG="${GKPKG_E2FSPROGS_BINPKG:-%%CACHE%%/e2fsprogs-${GKPKG_E2
 GKPKG_FUSE_PN="fuse"
 GKPKG_FUSE_PV="${GKPKG_FUSE_PV:-VERSION_FUSE}"
 GKPKG_FUSE_DEPS=""
-GKPKG_FUSE_SRCDIR="${GKPKG_FUSE_SRCDIR:-fuse-${GKPKG_FUSE_PV}}"
 
GKPKG_FUSE_SRCTAR="${GKPKG_FUSE_SRCTAR:-${DISTDIR}/fuse-${GKPKG_FUSE_PV}.tar.gz}"
+GKPKG_FUSE_SRCDIR="${GKPKG_FUSE_SRCDIR:-fuse-${GKPKG_FUSE_PV}}"
 
GKPKG_FUSE_BINPKG="${GKPKG_FUSE_BINPKG:-%%CACHE%%/fuse-${GKPKG_FUSE_PV}-%%ARCH%%.tar.xz}"
 
 GKPKG_GPG_PN="gnupg"
 GKPKG_GPG_PV="${GKPKG_GPG_PV:-VERSION_GPG}"
 GKPKG_GPG_DEPS=""
-GKPKG_GPG_SRCDIR="${GKPKG_GPG_SRCDIR:-gnupg-${GKPKG_GPG_PV}}"
 
GKPKG_GPG_SRCTAR="${GKPKG_GPG_SRCTAR:-${DISTDIR}/gnupg-${GKPKG_GPG_PV}.tar.bz2}"
+GKPKG_GPG_SRCDIR="${GKPKG_GPG_SRCDIR:-gnupg-${GKPKG_GPG_PV}}"
 
GKPKG_GPG_BINPKG="${GKPKG_GPG_BINPKG:-%%CACHE%%/gnupg-${GKPKG_GPG_PV}-%%ARCH%%.tar.xz}"
 
 GKPKG_ISCSI_PN="open-iscsi"
 GKPKG_ISCSI_PV="${GKPKG_ISCSI_PV:-VERSION_ISCSI}"
 GKPKG_ISCSI_DEPS="kmod zlib util-linux"
-GKPKG_ISCSI_SRCDIR="${GKPKG_ISCSI_SRCDIR:-open-iscsi-${GKPKG_ISCSI_PV}}"
 
GKPKG_ISCSI_SRCTAR="${GKPKG_ISCSI_SRCTAR:-${DISTDIR}/open-iscsi-${GKPKG_ISCSI_PV}.tar.gz}"
+GKPKG_ISCSI_SRCDIR="${GKPKG_ISCSI_SRCDIR:-open-iscsi-${GKPKG_ISCSI_PV}}"
 
GKPKG_ISCSI_BINPKG="${GKPKG_ISCSI_BINPKG:-%%CACHE%%/iscsi-${GKPKG_ISCSI_PV}-%%ARCH%%.tar.xz}"
 
 GKPKG_JSON_C_PN="json-c"
 GKPKG_JSON_C_PV="${GKPKG_JSON_C_PV:-VERSION_JSON_C}"
 GKPKG_JSON_C_DEPS=""
-GKPKG_JSON_C_SRCDIR="${GKPKG_JSON_C_SRCDIR:-json-c-${GKPKG_JSON_C_PV}}"
 
GKPKG_JSON_C_SRCTAR="${GKPKG_JSON_C_SRCTAR:-${DISTDIR}/json-c-${GKPKG_JSON_C_PV}.tar.gz}"
+GKPKG_JSON_C_SRCDIR="${GKPKG_JSON_C_SRCDIR:-json-c-${GKPKG_JSON_C_PV}}"
 
GKPKG_JSON_C_BINPKG="${GKPKG_JSON_C_BINPKG:-%%CACHE%%/json-c-${GKPKG_JSON_C_PV}-%%ARCH%%.tar.xz}"
 
 GKPKG_KMOD_PN="kmod"
 GKPKG_KMOD_PV="${GKPKG_KMOD_PV:-VERSION_KMOD}"
 GKPKG_KMOD_DEPS="zlib"
-GKPKG_KMOD_SRCDIR="${GKPKG_KMOD_SRCDIR:-kmod-${GKPKG_KMOD_PV}}"
 
GKPKG_KMOD_SRCTAR="${GKPKG_KMOD_SRCTAR:-${DISTDIR}/kmod-${GKPKG_KMOD_PV}.tar.xz}"
+GKPKG_KMOD_SRCDIR="${GKPKG_KMOD_SRCDIR:-kmod-${GKPKG_KMOD_PV}}"
 
GKPKG_KMOD_BINPKG="${GKPKG_KMOD_BINPKG:-%%CACHE%%/kmod-${GKPKG_KMOD_PV}-%%ARCH%%.tar.xz}"
 
 GKPKG_LIBAIO_PN="libaio"
 GKPKG_LIBAIO_PV="${GKPKG_LIBAIO_PV:-VERSION_LIBAIO}"
 GKPKG_LIBAIO_DEPS=""
-GKPKG_LIBAIO_SRCDIR="${GKPKG_LIBAIO_SRCDIR:-libaio-${GKPKG_LIBAIO_PV}}"
 
GKPKG_LIBAIO_SRCTAR="${GKPKG_LIBAIO_SRCTAR:-${DISTDIR}/libaio-${GKPKG_LIBAIO_PV}.tar.gz}"
+GKPKG_LIBAIO_SRCDIR="${GKPKG_LIBAIO_SRCDIR:-libaio-${GKPKG_LIBAIO_PV}}"
 
GKPKG_LIBAIO_BINPKG="${GKPKG_LIBAIO_BINPKG:-%%CACHE%%/libaio-${GKPKG_LIBAIO_PV}-%%ARCH%%.tar.xz}"
 
 GKPKG_LIBGCRYPT_PN="libgcrypt"
 GKPKG_LIBGCRYPT_PV="${GKPKG_LIBGCRYPT_PV:-VERSION_LIBGCRYPT}"
 GKPKG_LIBGCRYPT_DEPS="libgpg-error"
-GKPKG_LIBGCRYPT_SRCDIR="${GKPKG_LIBGCRYPT_SRCDIR:-libgcrypt-${GKPKG_LIBGCRYPT_PV}}"
 
GKPKG_LIBGCRYPT_SRCTAR="${GKPKG_LIBGCRYPT_SRCTAR:-${DISTDIR}/libgcrypt-${GKPKG_LIBGCRYPT_PV}.tar.bz2}"
+GKPKG_LIBGCRYPT_SRCDIR="${GKPKG_LIBGCRYPT_SRCDIR:-libgcrypt-${GKPKG_LIBGCRYPT_PV}}"
 

[gentoo-commits] proj/genkernel:master commit in: defaults/

2020-07-23 Thread Thomas Deutschmann
commit: 0048f44c081dce2e296b48c71a208abf2a815c84
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Thu Jul 23 20:00:12 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Thu Jul 23 20:00:12 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=0048f44c

defaults/linuxrc: Support devices with symlinks

/dev/vg/foo can be a symlink to ../dm-1. This commit will allow
to use such a value for devices, i.e. ROOT=/dev/vg/foo.

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/initrd.scripts | 24 
 defaults/linuxrc|  5 -
 2 files changed, 20 insertions(+), 9 deletions(-)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 6dc588f..3bede8a 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -905,31 +905,39 @@ findnfsmount() {
 }
 
 find_real_device() {
-   local DEVICE="${1}"
-   case "${DEVICE}" in
+   local device="${1}"
+   local real_device=
+   local candidate=
+   case "${device}" in
UUID\=*|LABEL\=*|PARTLABEL=*|PARTUUID\=*)
-   local REAL_DEVICE=""
local retval=1
 
if [ ${retval} -ne 0 ]
then
-   REAL_DEVICE=$(findfs "${DEVICE}" 2>/dev/null)
+   candidate=$(findfs "${device}" 2>/dev/null)
retval=$?
fi
 
if [ ${retval} -ne 0 ]
then
-   REAL_DEVICE=$(blkid -o device -l -t "${DEVICE}" 
2>/dev/null)
+   candidate=$(blkid -o device -l -t "${device}" 
2>/dev/null)
retval=$?
fi
 
-   if [ ${retval} -eq 0 ] && [ -n "${REAL_DEVICE}" ]
+   if [ ${retval} -eq 0 ] && [ -n "${candidate}" ]
then
-   DEVICE="${REAL_DEVICE}"
+   real_device="${candidate}"
fi
;;
+   *)
+   candidate=$(readlink -f "${device}")
+   if [ -b "${candidate}" ]
+   then
+   real_device="${candidate}"
+   fi
esac
-   printf "%s" "${DEVICE}"
+
+   printf "%s" "${real_device}"
 }
 
 check_loop() {

diff --git a/defaults/linuxrc b/defaults/linuxrc
index 5354d09..f1357f6 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -783,15 +783,18 @@ do
fi
;;
*)
-   if [ -b "${REAL_ROOT}" ]
+   ROOT_DEV=$(readlink -f "${REAL_ROOT}")
+   if [ -b "${ROOT_DEV}" ]
then
got_good_root=1
+   REAL_ROOT=${ROOT_DEV}
echo
good_msg "Root device detected 
as ${REAL_ROOT}!"
break
fi
;;
esac
+   unset ROOT_DEV
 
if [ "${got_good_root}" != '1' ]
then



[gentoo-commits] proj/genkernel:master commit in: defaults/

2020-07-23 Thread Thomas Deutschmann
commit: be199c08fada12dc7ccfbf75c8dddba99e185263
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Thu Jul 23 22:15:59 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Thu Jul 23 22:56:47 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=be199c08

defaults/initrd.scripts: Improve logging in *_resume functions

Add device which was tried to resume from to log message.

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/initrd.scripts | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 1bf778d..d5a3612 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -2608,7 +2608,7 @@ swsusp_resume() {
log_msg "Trying to resume using swsusp ..."
log_msg "COMMAND: 'echo \"${device}\" > /sys/power/resume'"
echo "${device}" > /sys/power/resume
-   log_msg "System is not resuming, probably because it wasn't 
suspended; Continue normal booting ..."
+   log_msg "System is not resuming from ${REAL_RESUME}, probably 
because it wasn't suspended; Continue normal booting ..."
fi
 }
 
@@ -2675,7 +2675,7 @@ tuxonice_resume() {
echo "${REAL_RESUME}" > "${tuxonice_resumedev}"
log_msg "COMMAND: 'echo > ${tuxonice_do_resume}'"
echo > "${tuxonice_do_resume}"
-   log_msg "System is not resuming, probably because it wasn't suspended; 
Continue normal booting ..."
+   log_msg "System is not resuming from ${REAL_RESUME}, probably because 
it wasn't suspended; Continue normal booting ..."
 }
 
 find_loop() {



[gentoo-commits] proj/genkernel:master commit in: defaults/, gkbuilds/, /

2020-07-23 Thread Thomas Deutschmann
commit: fe4f505dab7c4c1420c54d493d638445d95dc742
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Thu Jul 23 20:59:33 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Thu Jul 23 22:56:48 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=fe4f505d

multipath: Switch to UDEV usage

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/initrd.scripts | 46 ++
 gen_initramfs.sh| 31 ---
 gkbuilds/lvm.gkbuild|  5 +++--
 3 files changed, 41 insertions(+), 41 deletions(-)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 8e7d109..7d852ee 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1527,48 +1527,22 @@ start_volumes() {
 
if [ "${USE_MULTIPATH_NORMAL}" = '1' ]
then
-   for multipath_path in /sbin/multipath /bin/multipath MISSING
-   do
-   [ -x "${multipath_path}" ] && break
-   done
-
-   for dmsetup_path in /usr/sbin/dmsetup /sbin/dmsetup 
/bin/dmsetup MISSING
-   do
-   [ -x "${dmsetup_path}" ] && break
-   done
-
-   for kpartx_path in /sbin/kpartx /bin/kpartx MISSING
-   do
-   [ -x "${kpartx_path}" ] && break
-   done
-
-   fail=0
-   [ "${multipath_path}" = "MISSING" ] && fail=1 && bad_msg 
"domultipath called, but multipath binary missing! Skipping multipath"
-   [ "${dmsetup_path}" = "MISSING" ] && fail=1 && bad_msg 
"domultipath called, but dmsetup binary missing! Skipping multipath"
-   [ "${kpartx_path}" = "MISSING" ] && fail=1 && bad_msg 
"domultipath called, but kpartx binary missing! Skipping multipath"
-
-   if [ ${fail} -eq 0 ]
+   if ! hash multipath >/dev/null 2>&1
then
+   bad_msg "domultipath called, but multipath binary 
missing! Skipping multipath"
+   else
good_msg "Scanning for multipath devices"
-   good_msg ":: Populating scsi_id info for libudev 
queries"
-   run mkdir -p /run/udev/data
 
-   local ech
-   for ech in /sys/block/*
-   do
-   local tgtfile=b$(cat ${ech}/dev)
-   run /lib/udev/scsi_id -g -x /dev/${ech##*/} | 
sed -e 's/^/E:/' >/run/udev/data/${tgtfile}
-   done
-
-   local multipath_cmd="run ${multipath_path} -v 0 2>&1"
+   local multipath_cmd="run multipath -v 0 2>&1"
is_log_enabled && multipath_cmd="${multipath_cmd} | tee 
-a '${GK_INIT_LOG}'"
-   eval "${multipath_cmd}"
-   sleep 2
 
-   good_msg "Activating multipath devices ..."
-   multipath_cmd="run ${dmsetup_path} ls --target 
multipath --exec '${kpartx_path} -a -v' 2>&1"
-   is_log_enabled && multipath_cmd="${multipath_cmd} | tee 
-a '${GK_INIT_LOG}'"
eval "${multipath_cmd}"
+   if [ $? -ne 0 ]
+   then
+   bad_msg "Scanning for multipath devices failed!"
+   else
+   udevsettle
+   fi
fi
fi
 

diff --git a/gen_initramfs.sh b/gen_initramfs.sh
index af0ff44..1b8c829 100755
--- a/gen_initramfs.sh
+++ b/gen_initramfs.sh
@@ -701,15 +701,40 @@ append_multipath() {
 
mkdir -p "${TDIR}"/etc || gen_die "Failed to create '${TDIR}/etc'!"
 
+   mkdir -p "${TDIR}"/usr/lib/udev/rules.d || gen_die "Failed to create 
'${TDIR}/usr/lib/udev/rules.d'!"
+
local libdir=$(get_chost_libdir)
+   if [[ "${libdir}" =~ ^/usr ]]
+   then
+   libdir=${libdir/\/usr/}
+   fi
 
copy_binaries \
-   "${TDIR}"\
+   "${TDIR}" \
/sbin/multipath \
/sbin/kpartx \
/sbin/mpathpersist \
-   ${libdir}/multipath/lib*.so \
-   /lib/udev/scsi_id
+   ${libdir}/multipath/lib*.so
+
+   local udevdir=$(get_udevdir)
+   local udevdir_initramfs="/usr/lib/udev"
+   local udev_files=( $(qlist -e sys-fs/multipath-tools:0 \
+   | xargs --no-run-if-empty realpath \
+   | grep -E -- "^${udevdir}")
+   )
+
+   if [ ${#udev_files[@]} -eq 0 ]
+   then
+   gen_die "Something went wrong: Did not found any udev-related 
files for sys-fs/multipath-tools!"
+   fi
+
+   local udev_files
+   for udev_file in "${udev_files[@]}"
+   do
+   local 
dest_file="${TDIR%/}${udev_file/${udevdir}/${udevdir_initramfs}}"
+   

[gentoo-commits] proj/genkernel:master commit in: defaults/

2020-07-23 Thread Thomas Deutschmann
commit: 81b8f5d615cec53aaf93e6bc11540d45a92d038d
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Thu Jul 23 20:56:28 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Thu Jul 23 22:56:47 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=81b8f5d6

defaults/linuxrc: Make use of PATH

Don't use absolute paths. Use 'hash' to test if command is available.

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/initrd.scripts | 28 
 defaults/linuxrc| 16 
 defaults/unlock-luks.sh |  2 +-
 3 files changed, 25 insertions(+), 21 deletions(-)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 426a64e..d95da4d 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -718,7 +718,7 @@ setup_aufs() {
 
if ! hash e2fsck >/dev/null 2>&1
then
-   bad_msg "/sbin/e2fsck not 
found! aborting filesystem check"
+   bad_msg "e2fsck not found! 
aborting filesystem check"
bad_msg "Moving 
${aufs_union_file#*/} to ${aufs_union_file#*/}.bad"
 
run mv 
"${aufs_dev_mnt}${aufs_union_file}" "${aufs_dev_mnt}${aufs_union_file}.bad"
@@ -1675,16 +1675,20 @@ start_volumes() {
 
if [ "${USE_BTRFS}" = '1' ]
then
-   if [ -x '/sbin/btrfs' ]
+   if ! hash btrfs >/dev/null 2>&1
then
+   bad_msg "dobtrfs invoked but 'btrfs' not found; 
Skipping btrfs device scanning ..."
+   else
good_msg "Scanning for BTRFS devices ..."
 
-   local btrfs_cmd="run /sbin/btrfs device scan 2>&1"
+   local btrfs_cmd="run btrfs device scan 2>&1"
is_log_enabled && btrfs_cmd="${btrfs_cmd} | tee -a 
'${GK_INIT_LOG}'"
 
eval "${btrfs_cmd}"
-   else
-   bad_msg "dobtrfs invoked but /sbin/btrfs not found; 
Skipping btrfs device scanning ..."
+   if [ $? -ne 0 ]
+   then
+   bad_msg "Scanning for BTRFS devices failed!"
+   fi
fi
fi
 
@@ -1808,7 +1812,7 @@ start_iscsi() {
 # It is either the root or a swap, other devices are supported in the scripts 
provided with sys-fs/cryptsetup
 # $1 - root/swap
 openLUKS() {
-   if [ ! -x /sbin/cryptsetup ]
+   if ! hash cryptsetup >/dev/null 2>&1
then
bad_msg "cryptsetup program is missing. Was initramfs built 
without --luks parameter?"
exit 1
@@ -1945,7 +1949,7 @@ openLUKS() {
 
if [ "$(echo ${LUKS_KEY} | grep -o 
'.gpg$')" = ".gpg" ]
then
-   if [ ! -x '/usr/bin/gpg' ]
+   if ! hash gpg >/dev/null 2>&1
then
bad_msg "GPG-encrypted 
key file provided but gpg program is missing. Was initramfs built without --gpg 
parameter?"
bad_msg "Falling back 
to passphrase usage!"
@@ -1953,7 +1957,7 @@ openLUKS() {
[ -e /dev/tty ] && run 
mv /dev/tty /dev/tty.org
run mknod /dev/tty c 5 1

cryptsetup_options="${cryptsetup_options} -d -"
-   gpg_cmd="/usr/bin/gpg 
--logger-file /dev/null --quiet --decrypt ${mntkey}${LUKS_KEY} |"
+   gpg_cmd="gpg 
--logger-file /dev/null --quiet --decrypt ${mntkey}${LUKS_KEY} |"
fi
else

cryptsetup_options="${cryptsetup_options} -d ${mntkey}${LUKS_KEY}"
@@ -2363,7 +2367,7 @@ start_sshd() {
return
fi
 
-   if [ ! -x "/usr/sbin/dropbear" ]
+   if ! hash dropbear >/dev/null 2>&1
then
bad_msg "/usr/sbin/dropbear not found! Was initramfs built 
without --ssh parameter?"
return
@@ -2382,7 +2386,7 @@ start_sshd() {
run touch /var/log/lastlog
 
good_msg "Starting dropbear sshd ..." ${QUIET}
-   run /usr/sbin/dropbear -p ${GK_SSHD_PORT} -R -P "${GK_SSHD_PIDFILE}" 
2>/var/log/dropbear.log
+   run dropbear -p ${GK_SSHD_PORT} -R -P "${GK_SSHD_PIDFILE}" 
2>/var/log/dropbear.log
if [ $? -eq 0 ]
then
  

[gentoo-commits] proj/genkernel:master commit in: defaults/, /

2020-07-23 Thread Thomas Deutschmann
commit: 17cdd9c8ca954c180a216b9e33cf8de7be5f4a43
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Thu Jul 23 21:05:18 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Thu Jul 23 22:56:48 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=17cdd9c8

dmraid: Switch to UDEV usage

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/initrd.scripts | 18 +-
 defaults/software.sh|  2 +-
 gen_initramfs.sh|  2 ++
 3 files changed, 12 insertions(+), 10 deletions(-)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 7d852ee..d2db059 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1548,10 +1548,12 @@ start_volumes() {
 
if [ "${USE_DMRAID_NORMAL}" = '1' ]
then
-   if [ -x '/sbin/dmraid' ]
+   if ! hash dmraid >/dev/null 2>&1
then
+   bad_msg "dodmraid invoked but 'dmraid' not found; 
Skipping dmraid activation ..."
+   else
good_msg "Activating Device-Mapper RAID(s) ..."
-   local dmraid_cmd="run /sbin/dmraid -ay"
+   local dmraid_cmd="run dmraid -ay"
if [ -z "${DMRAID_OPTS}" ]
then
dmraid_cmd="${dmraid_cmd} 2>&1"
@@ -1559,16 +1561,14 @@ start_volumes() {
dmraid_cmd="${dmraid_cmd} ${DMRAID_OPTS} 2>&1"
fi
is_log_enabled && dmraid_cmd="${dmraid_cmd} | tee -a 
'${GK_INIT_LOG}'"
-   eval "${dmraid_cmd}"
 
-   if [ -x '/sbin/kpartx' ]
+   eval "${dmraid_cmd}"
+   if [ $? -ne 0 ]
then
-   dmraid_cmd="run /sbin/dmsetup ls --exec 
'/sbin/kpartx -a -s' 2>&1"
-   is_log_enabled && dmraid_cmd="${dmraid_cmd} | 
tee -a '${GK_INIT_LOG}'"
-   eval "${dmraid_cmd}"
+   bad_msg "Activation of Device-Mapper RAID(s) 
failed!"
+   else
+   udevsettle
fi
-   else
-   bad_msg "dodmraid invoked but /sbin/dmraid not found; 
Skipping dmraid activation ..."
fi
fi
 

diff --git a/defaults/software.sh b/defaults/software.sh
index ae7532f..d8dbfc9 100644
--- a/defaults/software.sh
+++ b/defaults/software.sh
@@ -60,7 +60,7 @@ 
GKPKG_CRYPTSETUP_BINPKG="${GKPKG_CRYPTSETUP_BINPKG:-%%CACHE%%/cryptsetup-${GKPKG
 
 GKPKG_DMRAID_PN="dmraid"
 GKPKG_DMRAID_PV="${GKPKG_DMRAID_PV:-VERSION_DMRAID}"
-GKPKG_DMRAID_DEPS="lvm"
+GKPKG_DMRAID_DEPS="eudev lvm"
 
GKPKG_DMRAID_SRCTAR="${GKPKG_DMRAID_SRCTAR:-${DISTDIR}/dmraid-${GKPKG_DMRAID_PV}.tar.bz2}"
 GKPKG_DMRAID_SRCDIR="${GKPKG_DMRAID_SRCDIR:-dmraid/${GKPKG_DMRAID_PV}/dmraid}"
 
GKPKG_DMRAID_BINPKG="${GKPKG_DMRAID_BINPKG:-%%CACHE%%/dmraid-${GKPKG_DMRAID_PV}-%%ARCH%%.tar.xz}"

diff --git a/gen_initramfs.sh b/gen_initramfs.sh
index 1b8c829..24b23bb 100755
--- a/gen_initramfs.sh
+++ b/gen_initramfs.sh
@@ -775,6 +775,8 @@ append_dmraid() {
 
unpack "$(get_gkpkg_binpkg "${PN}")" "${TDIR}"
 
+   mkdir -p "${TDIR}"/run/lock/dmraid || gen_die "Failed to create 
'${TDIR}/run/lock/dmraid'!"
+
cd "${TDIR}" || gen_die "Failed to chdir to '${TDIR}'!"
 
# Delete unneeded files



[gentoo-commits] proj/genkernel:master commit in: defaults/, gkbuilds/

2020-07-23 Thread Thomas Deutschmann
commit: f6f9384b423e9bb9b8cee294f4ddbeee7c518463
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Thu Jul 23 20:36:13 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Thu Jul 23 22:56:47 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=f6f9384b

mdadm: Switch to UDEV usage

Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/initrd.scripts | 38 --
 defaults/linuxrc|  3 ---
 defaults/software.sh|  2 +-
 defaults/unlock-luks.sh |  1 -
 gkbuilds/mdadm.gkbuild  |  3 +++
 5 files changed, 4 insertions(+), 43 deletions(-)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 9b2b32c..5515f49 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1525,24 +1525,6 @@ start_volumes() {
run ln -sf /dev/device-mapper /dev/mapper/control
fi
 
-   if [ "${USE_MDADM}" = '1' ]
-   then
-   if [ -x '/sbin/mdadm' ]
-   then
-   local mdadm_cmd="run /sbin/mdadm --assemble --scan 2>&1"
-   is_log_enabled && mdadm_cmd="${mdadm_cmd} | tee -a 
'${GK_INIT_LOG}'"
-   eval "${mdadm_cmd}"
-
-   #Intel Matrix RAID (and possibly others) have a 
container layer above the actual volumes,
-   #So we have to look for volumes that haven't been 
activated.
-   mdadm_cmd="run /sbin/mdadm -IRs 2>&1"
-   is_log_enabled && mdadm_cmd="${mdadm_cmd} | tee -a 
'${GK_INIT_LOG}'"
-   eval "${mdadm_cmd}"
-   else
-   bad_msg "domdadm invoked but /sbin/mdadm not found; 
Skipping mdadm raid assembly ..."
-   fi
-   fi
-
if [ "${USE_MULTIPATH_NORMAL}" = '1' ]
then
for multipath_path in /sbin/multipath /bin/multipath MISSING
@@ -1887,7 +1869,6 @@ openLUKS() {
continue
fi
 
-   setup_md_device ${LUKS_DEVICE}
if ! run cryptsetup isLuks ${LUKS_DEVICE}
then
bad_msg "The LUKS device ${LUKS_DEVICE} does 
not contain a LUKS header" ${CRYPT_SILENT}
@@ -2571,25 +2552,6 @@ setup_btrfsctl() {
fi
 }
 
-setup_md_device() {
-   local device
-
-   [ -z "$1" ] && device="${REAL_ROOT}" || device="$1"
-   [ -z "${device}" ] && return # LiveCD
-
-   if [ $(echo ${device}|sed -e 
's#\(luks:\)\?\(/dev/md\)[[:digit:]]\+#\2#') = "/dev/md" ]
-   then
-   good_msg 'Detected real_root as a md device. Setting up the 
device node ...'
-   MD_NUMBER=$(echo ${device}|sed -e 
's#\(luks:\)\?/dev/md\([[:digit:]]\+\)#\2#')
-   if [ ! -e /dev/md${MD_NUMBER} ]
-   then
-   run mknod /dev/md${MD_NUMBER} b 9 ${MD_NUMBER} 
>/dev/null 2>&1
-   [ $? -ne 0 ] && bad_msg "Creation of 
/dev/md${MD_NUMBER} failed ..."
-   fi
-   run raidautorun /dev/md${MD_NUMBER}
-   fi
-}
-
 rundebugshell() {
if is_debug
then

diff --git a/defaults/linuxrc b/defaults/linuxrc
index 210085a..4c1b470 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -625,9 +625,6 @@ sdelay
 # Setup btrfs, see bug 303529
 setup_btrfsctl
 
-# Setup md device nodes if they dont exist
-setup_md_device
-
 # Scan volumes
 start_volumes
 

diff --git a/defaults/software.sh b/defaults/software.sh
index 463d8cf..3de9470 100644
--- a/defaults/software.sh
+++ b/defaults/software.sh
@@ -165,7 +165,7 @@ 
GKPKG_LZO_BINPKG="${GKPKG_LZO_BINPKG:-%%CACHE%%/lzo-${GKPKG_LZO_PV}-%%ARCH%%.tar
 
 GKPKG_MDADM_PN="mdadm"
 GKPKG_MDADM_PV="${GKPKG_MDADM_PV:-VERSION_MDADM}"
-GKPKG_MDADM_DEPS=""
+GKPKG_MDADM_DEPS="eudev"
 
GKPKG_MDADM_SRCTAR="${GKPKG_MDADM_SRCTAR:-${DISTDIR}/mdadm-${GKPKG_MDADM_PV}.tar.xz}"
 GKPKG_MDADM_SRCDIR="${GKPKG_MDADM_SRCDIR:-mdadm-${GKPKG_MDADM_PV}}"
 
GKPKG_MDADM_BINPKG="${GKPKG_MDADM_BINPKG:-%%CACHE%%/mdadm-${GKPKG_MDADM_PV}-%%ARCH%%.tar.xz}"

diff --git a/defaults/unlock-luks.sh b/defaults/unlock-luks.sh
index 87381ab..710d951 100644
--- a/defaults/unlock-luks.sh
+++ b/defaults/unlock-luks.sh
@@ -63,7 +63,6 @@ main() {
exit 1
fi
 
-   setup_md_device "${LUKS_DEVICE}"
if ! run cryptsetup isLuks "${LUKS_DEVICE}"
then
bad_msg "The LUKS device ${LUKS_DEVICE} does 
not contain a LUKS header" "${CRYPT_SILENT}"

diff --git a/gkbuilds/mdadm.gkbuild b/gkbuilds/mdadm.gkbuild
index 2307d0e..b43f753 100644
--- a/gkbuilds/mdadm.gkbuild
+++ b/gkbuilds/mdadm.gkbuild
@@ -10,6 +10,7 @@ src_prepare() {
-e "/^CXFLAGS = /s:^CXFLAGS = \(.*\)$:CXFLAGS = ${CFLAGS} 
${defs}:" \
-e "/^CWFLAGS = /s:^CWFLAGS = \(.*\)$:CWFLAGS 

  1   2   3   4   >