[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 

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

2020-07-16 Thread Thomas Deutschmann
commit: 1a68a5349bb423ddff5ec56ea733631621eba862
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Thu Jul 16 18:22:57 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Thu Jul 16 18:34:28 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=1a68a534

linuxrc: Add gk.userinteraction.disabled

When this option is set and enabled, genkernel initramfs will not prompt
on errors, i.e. this will disable any user interaction, e.g. for a kiosk system.

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

 defaults/initrd.defaults |  1 +
 defaults/initrd.scripts  | 52 
 defaults/linuxrc |  8 
 doc/genkernel.8.txt  |  8 
 4 files changed, 69 insertions(+)

diff --git a/defaults/initrd.defaults b/defaults/initrd.defaults
index 15326dd..79d7322 100644
--- a/defaults/initrd.defaults
+++ b/defaults/initrd.defaults
@@ -96,6 +96,7 @@ GK_SSHD_LOCKFILE='/tmp/remote-rescueshell.lock'
 GK_SSHD_PIDFILE='/var/run/dropbear.pid'
 GK_SSHD_PORT=22
 GK_SSHD_WAIT=
+GK_USERINTERACTION_DISABLED_STATEFILE='/tmp/user-interaction.disabled'
 
 CRYPT_ENV_FILE='/etc/CRYPT_ENV.conf'
 CRYPT_KEYFILE_ROOT='/tmp/root.key'

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index d5378b7..6dc588f 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -959,6 +959,12 @@ run() {
 }
 
 run_shell() {
+   if [ -f "${GK_USERINTERACTION_DISABLED_STATEFILE}" ]
+   then
+   bad_msg "gk.userinteraction.disabled is set; Spawning a shell 
is disabled!"
+   return
+   fi
+
[ -x /bin/sh ] && SH=/bin/sh || SH=/bin/ash
 
run touch "${GK_SHELL_LOCKFILE}"
@@ -1114,6 +1120,15 @@ warn_msg() {
[ "$2" != '1' ] && printf "%b\n" "${WARN}**${NORMAL}${BOLD} 
${msg_string} ${NORMAL}"
 }
 
+warn_msg_n() {
+   local msg_string=${1}
+   msg_string="${msg_string:-...}"
+
+   log_msg "[**] ${msg_string}"
+
+   [ "$2" != '1' ] && printf "%b" "${WARN}**${NORMAL}${BOLD} ${msg_string}"
+}
+
 write_env_file() {
local env_file=${1}
shift
@@ -1233,6 +1248,43 @@ prompt_user() {
[ -n "${3}" ] && local explnt=" or : ${3}" || local explnt="."
 
bad_msg "Could not find the ${2} in ${oldvalue}${explnt}"
+
+   if [ -f "${GK_USERINTERACTION_DISABLED_STATEFILE}" ]
+   then
+   bad_msg "gk.userinteraction.disabled is set; No user 
interaction allowed!"
+
+   wait_sshd
+
+   if [ -f "${GK_SSHD_LOCKFILE}" ]
+   then
+   warn_msg "The lockfile at '${GK_SSHD_LOCKFILE}' exists."
+   warn_msg "The boot process will be paused until the 
lock is removed."
+   while true
+   do
+   if [ -f "${GK_SSHD_LOCKFILE}" ]
+   then
+   sleep 1
+   else
+   break
+   fi
+   done
+   fi
+
+   local timeout=${GK_PROMPT_TIMEOUT}
+   [ ${timeout} -eq 0 ] && timeout=10
+
+   warn_msg_n "System will automatically reboot in ${timeout} 
seconds ..."
+   while [ ${timeout} -gt 0 ]
+   do
+   let timeout=${timeout}-1
+   sleep 1
+   printf "."
+   done
+   echo
+
+   reboot -f
+   fi
+
bad_msg "Please specify another value or:"
bad_msg "- press Enter for the same"
bad_msg '- type "shell" for a shell'

diff --git a/defaults/linuxrc b/defaults/linuxrc
index 682f647..5354d09 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -356,6 +356,14 @@ do
fi
unset tmp_wait
;;
+   gk.userinteraction.disabled=*)
+   tmp_disabled=${x#*=}
+   if is_true "${tmp_disabled}"
+   then
+   touch "${GK_USERINTERACTION_DISABLED_STATEFILE}"
+   fi
+   unset tmp_disabled
+   ;;
gk.prompt.timeout=*)
tmp_timeout=${x#*=}
if is_int "${tmp_timeout}"

diff --git a/doc/genkernel.8.txt b/doc/genkernel.8.txt
index 5b15a02..f84892c 100644
--- a/doc/genkernel.8.txt
+++ b/doc/genkernel.8.txt
@@ -835,6 +835,14 @@ genkernel's initramfs will only mount root filesystem by 
default. If you
 want to store the log file in '/var/log/genkernel-boot.log' for example
 make sure that this mountpoint is accessible, see *initramfs.mounts*.
 
+*gk.userinteraction.disabled*=<...>::
+By default, genkernel will prompt on errors. In case this is not wanted
+or desired, e.g. for a kiosk 

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

2020-07-16 Thread Thomas Deutschmann
commit: cc875f5163a6e79110e4afcabe07acdacd369bf5
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Tue Jul 14 15:00:21 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Thu Jul 16 14:29:16 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=cc875f51

gen_determineargs.sh: determine_real_args(): Don't call gcc directly

Set $CHOST variable via config so that we no longer need to call
gcc directly to determine CHOST value.

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

 defaults/config.sh   |  3 +++
 gen_determineargs.sh | 13 ++---
 2 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/defaults/config.sh b/defaults/config.sh
index bab7b7e..f8cb311 100644
--- a/defaults/config.sh
+++ b/defaults/config.sh
@@ -49,3 +49,6 @@ DEFAULT_UTILS_CC=gcc
 DEFAULT_UTILS_CXX=g++
 DEFAULT_UTILS_AS=as
 DEFAULT_UTILS_LD=ld
+
+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 956e3bf..b464505 100755
--- a/gen_determineargs.sh
+++ b/gen_determineargs.sh
@@ -300,6 +300,7 @@ determine_real_args() {
 
set_config_with_override STRING COMPRESS_INITRD   
CMD_COMPRESS_INITRD   "${DEFAULT_COMPRESS_INITRD}"
set_config_with_override STRING COMPRESS_INITRD_TYPE  
CMD_COMPRESS_INITRD_TYPE  "${DEFAULT_COMPRESS_INITRD_TYPE}"
+   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}"
@@ -563,17 +564,15 @@ determine_real_args() {
ARCH_CONFIG="${GK_SHARE}/arch/${ARCH}/config.sh"
[ -f "${ARCH_CONFIG}" ] || gen_die "${ARCH} not yet supported by 
genkernel. Please add the arch-specific config file '${ARCH_CONFIG}'!"
 
-   # set CBUILD and CHOST
-   local build_cc=$(tc-getBUILD_CC)
-   CBUILD=$(${build_cc} -dumpmachine 2>/dev/null)
-   if [ -z "${CBUILD}" ]
+   # Set CBUILD and CHOST
+   if ! isTrue "$(is_valid_triplet "${CHOST}")"
then
-   gen_die "Failed to determine CBUILD using '${build_cc} 
-dumpmachine' command!"
+   gen_die "Set CHOST '${CHOST}' does NOT represent a valid 
triplet!"
else
+   # Initialize CBUILD with CHOST value
+   CBUILD=${CHOST}
print_info 5 "CBUILD set to '${CBUILD}' ..."
-   CHOST="${CBUILD}"
fi
-   unset build_cc
 
if [ -n "${CMD_CROSS_COMPILE}" ]
then



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

2020-07-16 Thread Thomas Deutschmann
commit: 80e3a6086c92e30101f772170c4b056f1ff4c81c
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Wed Jul 15 22:05:53 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Thu Jul 16 14:29:17 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=80e3a608

Add ZSTD compression support for initramfs

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

 defaults/compression_methods.sh | 5 +
 doc/genkernel.8.txt | 3 ++-
 gen_cmdline.sh  | 2 +-
 gen_funcs.sh| 2 ++
 4 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/defaults/compression_methods.sh b/defaults/compression_methods.sh
index 41ee9c4..b65f057 100644
--- a/defaults/compression_methods.sh
+++ b/defaults/compression_methods.sh
@@ -35,3 +35,8 @@ GKICM_XZ_KOPTNAME="XZ"
 GKICM_XZ_CMD="xz -e --check=none -z -f -9"
 GKICM_XZ_EXT=".xz"
 GKICM_XZ_PKG="app-arch/xz-utils"
+
+GKICM_ZSTD_KOPTNAME="ZSTD"
+GKICM_ZSTD_CMD="zstd -f -19 -q"
+GKICM_ZSTD_EXT=".zst"
+GKICM_ZSTD_PKG="app-arch/zstd"

diff --git a/doc/genkernel.8.txt b/doc/genkernel.8.txt
index 40c591e..5b15a02 100644
--- a/doc/genkernel.8.txt
+++ b/doc/genkernel.8.txt
@@ -598,7 +598,8 @@ NOTE: System.map filename and System.map symlink name must 
be different.
 Deprecated alias for *--*[*no-*]*compress-initramfs*.
 
 *--compress-initramfs-type*=::
-Compression type for initramfs (best, bzip2, fastest, gzip, lz4, lzma, 
lza, xz).
+Compression type for initramfs (best, bzip2, fastest, gzip, lz4, lzma,
+lza, xz, zstd).
 +
 *best* will select the algorithm providing best compression
 from those selected in your kernel configuration.

diff --git a/gen_cmdline.sh b/gen_cmdline.sh
index 1daee5c..5e667bd 100755
--- a/gen_cmdline.sh
+++ b/gen_cmdline.sh
@@ -244,7 +244,7 @@ longusage() {
   echo "   --no-compress-initrdDeprecated alias for 
--no-compress-initramfs"
   echo "   --compress-initramfs-type="
   echo "   Compression type for initramfs (best, 
bzip2, fastest, gzip, lz4,"
-  echo "   lzma, lza, xz)"
+  echo "   lzma, lza, xz, zstd)"
   echo "   --strip=(all|kernel|modules|none)"
   echo "   Strip debug symbols from none, all, 
installed kernel (obsolete) or"
   echo "   modules (default)"

diff --git a/gen_funcs.sh b/gen_funcs.sh
index 69e7242..a58fbbb 100755
--- a/gen_funcs.sh
+++ b/gen_funcs.sh
@@ -468,6 +468,7 @@ get_initramfs_compression_method_by_compression() {
local -a methods=()
methods+=( XZ )
methods+=( LZMA )
+   methods+=( ZSTD )
methods+=( GZIP )
methods+=( BZIP2 )
methods+=( LZO )
@@ -479,6 +480,7 @@ get_initramfs_compression_method_by_compression() {
 get_initramfs_compression_method_by_speed() {
local -a methods=()
methods+=( LZ4 )
+   methods+=( ZSTD )
methods+=( LZO )
methods+=( GZIP )
methods+=( BZIP2 )



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

2020-07-16 Thread Thomas Deutschmann
commit: 0e13d3f704220379a40e1a8e750dd58961f9e78e
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Thu Jul 16 01:04:02 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Thu Jul 16 14:29:17 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=0e13d3f7

defaults/linuxrc: Fix mounting of /proc

Cannot use `run` before root was mounted writable.

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 e90bd34..682f647 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -31,7 +31,7 @@ then
exit 1
 fi
 
-run mount -t proc -o noexec,nosuid,nodev proc /proc >/dev/null 2>&1
+mount -t proc -o noexec,nosuid,nodev proc /proc >/dev/null 2>&1
 mount -o remount,rw / >/dev/null 2>&1
 
 # Prevent superfluous printks from being printed to the console



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

2020-06-23 Thread Thomas Deutschmann
commit: 24d3f6b4b3afe1125fa9296b50b55f75870c645e
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Tue Jun 23 19:08:17 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Tue Jun 23 19:08:17 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=24d3f6b4

defaults/initrd.scripts: test_success(): Fix quoting

Bug: https://bugs.gentoo.org/494710
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 c03629d..d5378b7 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1037,8 +1037,8 @@ test_success() {
if [ "${retcode}" != '0' ]
then
error_string=${1}
-   error_string="${error_string:-run command}"
-   bad_msg 'Failed to ${1}; failing back to the shell ...'
+   error_string="${error_string:-Failed to run command}"
+   bad_msg "${error_string}; Failing back to the shell ..."
run_shell
fi
 }



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

2020-06-21 Thread Thomas Deutschmann
commit: dc3923c6f8d61ac28f9b1edb73b643aa6e7e67c2
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sun Jun 21 22:14:07 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Jun 21 22:14:07 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=dc3923c6

defaults/initrd.scripts: Log what is happening in *_resume functions

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

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

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 2e3632b..c03629d 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -2525,7 +2525,13 @@ do_resume() {
 swsusp_resume() {
# determine swap resume partition
local device=$(ls -lL "${REAL_RESUME}" | sed 's/\  */ /g' | cut -d \  
-f 5-6 | sed 's/,\ */:/')
-   [ -f /sys/power/resume ] && echo "${device}" > /sys/power/resume
+   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, probably because it wasn't 
suspended; Continue normal booting ..."
+   fi
 }
 
 tuxonice_resume() {
@@ -2585,8 +2591,13 @@ tuxonice_resume() {
fi
 
fi
+
+   log_msg "Trying to resume using TuxOnIce ..."
+   log_msg "COMMAND: 'echo \"${REAL_RESUME}\" > ${tuxonice_resumedev}'"
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 ..."
 }
 
 find_loop() {



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

2020-06-12 Thread Thomas Deutschmann
commit: 94edd477e491da2b900e6d1b1d71884081cf09ab
Author: Richard Yao  gentoo  org>
AuthorDate: Thu Jun  4 02:22:28 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Fri Jun 12 14:55:32 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=94edd477

defaults/linuxrc: Disable unnecessary udev timeout in zpool import

This is a regression that was introduced in sys-fs/zfs-kmod-0.7.0.
It was originally fixed by 2eb1d04cfbfa397b58a0b388f8ed28688fd114d8, but
this neglected to handle the case where booting is done via arguments
such as "root=ZFS" or "root=ZFS=rpool/ROOT/gentoo" on the kernel
commandline. This handles it.

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

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

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 514a8bc..2e3632b 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1630,6 +1630,7 @@ 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
@@ -1679,6 +1680,7 @@ start_volumes() {
fi
fi
fi
+   unset ZPOOL_IMPORT_UDEV_TIMEOUT_MS
fi
 }
 

diff --git a/defaults/linuxrc b/defaults/linuxrc
index 964a932..e90bd34 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -128,7 +128,6 @@ do
;;
dozfs*)
USE_ZFS=1
-   export ZPOOL_IMPORT_UDEV_TIMEOUT_MS=0
 
case "${x#*=}" in
*force*)



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

2020-04-11 Thread Thomas Deutschmann
commit: 262764a5ff8dd64a7b5b2b810783b31eae4bfa8b
Author: Mihai Donțu  gmail  com>
AuthorDate: Sat Apr 11 15:16:55 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sat Apr 11 19:40:32 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=262764a5

defaults/initrd.scripts: minor syntax fix in bootstrapCD()

Fixes 621a5e46599 ("defaults/initrd.scripts: proper b2sum missing error")
Signed-off-by: Mihai Donțu  gmail.com>
Closes: https://bugs.gentoo.org/717102
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 b5da21a..d4b159a 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -334,7 +334,7 @@ bootstrapCD() {
else
bad_msg "Unable to verify isoroot_b2sums due to 
missing b2sums"
bad_msg "Please use 'genkernel --b2sums' to 
generate initramfs"
-   if [ -z "${checkfile" ]
+   if [ -z "${checkfile}" ]
then
bad_msg "Press any key to skip ..."
read -n1 -s



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

2020-04-11 Thread Thomas Deutschmann
commit: 039494e11540c963e7b804e7b4eecbef87d5eaa0
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sat Apr 11 19:38:53 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sat Apr 11 19:43:17 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=039494e1

defaults/initrd.scripts: ignore SC2045

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

 defaults/initrd.scripts | 1 +
 defaults/linuxrc| 2 ++
 2 files changed, 3 insertions(+)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index d4b159a..514a8bc 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -186,6 +186,7 @@ findmediamount() {
# 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

diff --git a/defaults/linuxrc b/defaults/linuxrc
index b3e1740..964a932 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -1133,6 +1133,7 @@ FSTAB
then
if [ -e "${CDROOT_PATH}/add" ]
then
+   # shellcheck disable=SC2045
for targz in $(ls ${CDROOT_PATH}/add/*.tar.gz)
do
tarname=$(basename ${targz})
@@ -1188,6 +1189,7 @@ FSTAB
if [ -e "/${NEW_ROOT}/${directory}" ]
then
# It does exist, link all the 
individual files
+   # shellcheck disable=SC2045
for file in $(ls 
/${NEW_ROOT}/${FS_LOCATION}/${directory})
do
if [ ! -d 
"/${NEW_ROOT}/${FS_LOCATION}/${directory}/${file}" ] && [ ! -e 
"${NEW_ROOT}/${directory}/${file}" ]



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

2020-04-11 Thread Thomas Deutschmann
commit: 46bb41537a96103f1674225cfaf3a8b0f7e4a4a8
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sat Apr 11 19:38:19 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sat Apr 11 19:43:17 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=46bb4153

defaults/linuxrc: help shellcheck sourcing scripts

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

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

diff --git a/defaults/linuxrc b/defaults/linuxrc
index 7fbd0ad..b3e1740 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -1,8 +1,11 @@
 #!/bin/sh
 
+# shellcheck source=initrd.defaults
 . /etc/initrd.defaults
+# shellche2ck source=initrd.scripts
 . /etc/initrd.scripts
 
+# shellcheck source=/dev/null
 [ -e /etc/initrd.splash ] && . /etc/initrd.splash
 
 # Basic /dev content, we need it as fast as possible.



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

2020-04-09 Thread Rick Farina
commit: 621a5e4659939f0d4d447e16667004fc41384f7d
Author: Rick Farina (Zero_Chaos)  gentoo  org>
AuthorDate: Thu Apr  9 17:35:46 2020 +
Commit: Rick Farina  gentoo  org>
CommitDate: Thu Apr  9 17:36:55 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=621a5e46

defaults/initrd.scripts: proper b2sum missing error

sanify checks a little

Signed-off-by: Rick Farina (Zero_Chaos)  gentoo.org>

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

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 7c115cb..b5da21a 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -320,15 +320,28 @@ bootstrapCD() {
cd "${CDROOT_PATH}"
checkfile=""
checker=""
-   if [ -r "isoroot_b2sums" ] && [ -x "$(command -v b2sum 2>&1)" ]
-   then
-   checkfile="isoroot_b2sums"
-   checker="b2sum"
-   elif [ -r "isoroot_checksums" ]
+   if [ -r "isoroot_checksums" ] && [ -z "${checkfile}" ]
then
checkfile="isoroot_checksums"
checker="sha512sum"
fi
+   if [ -r "isoroot_b2sums" ]
+   then
+   if [ -x "$(command -v b2sum 2>&1)" ]
+   then
+   checkfile="isoroot_b2sums"
+   checker="b2sum"
+   else
+   bad_msg "Unable to verify isoroot_b2sums due to 
missing b2sums"
+   bad_msg "Please use 'genkernel --b2sums' to 
generate initramfs"
+   if [ -z "${checkfile" ]
+   then
+   bad_msg "Press any key to skip ..."
+   read -n1 -s
+   return
+   fi
+   fi
+   fi
 
if [ -n "${checkfile}" ]
then



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

2020-03-05 Thread Thomas Deutschmann
commit: 2b2ada1ab9a30e214b69d596636d7abbbc51d249
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Thu Mar  5 15:03:31 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Thu Mar  5 15:03:31 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=2b2ada1a

defaults/software.sh: Fix coreutils binpkg name

Fixes 17d706a ("defaults/software.sh: Add coreutils")
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 60f6a31..fbdca42 100644
--- a/defaults/software.sh
+++ b/defaults/software.sh
@@ -42,7 +42,7 @@ 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%%/cryptsetup-${GKPKG_COREUTILS_PV}-%%ARCH%%.tar.xz}"
+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}"



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

2020-03-04 Thread Rick Farina
commit: 236ce6b9cbc7870e8d7baf094d68720bb5cc5678
Author: Rick Farina (Zero_Chaos)  gentoo  org>
AuthorDate: Wed Mar  4 15:36:52 2020 +
Commit: Rick Farina  gentoo  org>
CommitDate: Wed Mar  4 15:38:24 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=236ce6b9

update MAKEOPTS default fallback

we normally take 'portageq envvar MAKEOPTS' as the default MAKEOPTS, and
if that isn't available we set a static -j2.  Let's use all the cpus by
  default instead, and let the user override if they wish.

Signed-off-by: Rick Farina (Zero_Chaos)  gentoo.org>

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

diff --git a/defaults/config.sh b/defaults/config.sh
index 8c7cf7e..bab7b7e 100644
--- a/defaults/config.sh
+++ b/defaults/config.sh
@@ -33,7 +33,7 @@ DEFAULT_COMPRESS_INITRD=yes
 DEFAULT_COMPRESS_INITRD_TYPE=best
 
 PORTAGE_MAKEOPTS="$(portageq envvar MAKEOPTS)"
-DEFAULT_MAKEOPTS="${PORTAGE_MAKEOPTS:- -j2}"
+DEFAULT_MAKEOPTS="${PORTAGE_MAKEOPTS:- -j$(nproc)}"
 
 DEFAULT_MODULEREBUILD_CMD="emerge --ignore-default-opts --buildpkg=n 
--usepkg=n --quiet-build=y @module-rebuild"
 



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

2020-02-15 Thread Thomas Deutschmann
commit: 17d706a4a3da500cc13d29bc0316a8f908cb3b56
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sat Feb 15 21:13:19 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sat Feb 15 21:13:19 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=17d706a4

defaults/software.sh: Add coreutils

Fixes 3d23af3 ("Add b2sum")
Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/software.sh | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/defaults/software.sh b/defaults/software.sh
index 4be9c92..60f6a31 100644
--- a/defaults/software.sh
+++ b/defaults/software.sh
@@ -37,6 +37,13 @@ 
GKPKG_BUSYBOX_SRCTAR="${GKPKG_BUSYBOX_SRCTAR:-${DISTDIR}/busybox-${GKPKG_BUSYBOX
 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_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%%/cryptsetup-${GKPKG_COREUTILS_PV}-%%ARCH%%.tar.xz}"
+
 GKPKG_CRYPTSETUP_PN="cryptsetup"
 GKPKG_CRYPTSETUP_PV="${GKPKG_CRYPTSETUP_PV:-VERSION_CRYPTSETUP}"
 GKPKG_CRYPTSETUP_DEPS="util-linux json-c popt libgpg-error libgcrypt lvm"



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

2020-02-14 Thread Rick Farina
commit: 5c55dd467a563623f16be27f670b5a3ddc79fb02
Author: Rick Farina (Zero_Chaos)  gentoo  org>
AuthorDate: Fri Feb 14 16:23:21 2020 +
Commit: Rick Farina  gentoo  org>
CommitDate: Fri Feb 14 16:23:21 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=5c55dd46

verify support for blake2

Signed-off-by: Rick Farina (Zero_Chaos)  gentoo.org>

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

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 6c7d72b..3ea80ee 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -318,20 +318,33 @@ bootstrapCD() {
if [ "${VERIFY}" = '1' ]
then
cd "${CDROOT_PATH}"
-   if [ -f isoroot_checksums ]
+   if [ -r "isoroot_b2sums" ] && [ -x "$(command -v b2sum 2>&1)" ]
then
-   good_msg "Verifying checksums, this may take some time 
..."
+   good_msg "Verifying BLAKE2 checksums, this may take 
some time ..."
+   if ! run b2sum -c isoroot_b2sums
+   then
+   bad_msg "Some checksums failed, press any key 
to poweroff ..."
+   read -n1 -s
+   poweroff -f
+   else
+   good_msg "BLAKE2 checksums all valid, 
continuing boot ..."
+   fi
+   cd "${OLDPWD}"
+   elif [ -r "isoroot_checksums" ]
+   then
+   good_msg "Verifying SHA512 checksums, this may take 
some time ..."
if ! run sha512sum -c isoroot_checksums
then
bad_msg "Some checksums failed, press any key 
to poweroff ..."
read -n1 -s
poweroff -f
else
-   good_msg "Checksums all valid, continuing boot 
..."
+   good_msg "SHA512 checksums all valid, 
continuing boot ..."
fi
cd "${OLDPWD}"
else
-   bad_msg "Verify enabled but no checksums file exists, 
skipping"
+   bad_msg "Verify requested but no checksums file exists, 
press any key to skip ..."
+   read -n1 -s
fi
fi
 }



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

2020-02-14 Thread Rick Farina
commit: ee2d1bfe83add4441909e999fff06694c6f3c433
Author: Rick Farina (Zero_Chaos)  gentoo  org>
AuthorDate: Fri Feb 14 16:34:59 2020 +
Commit: Rick Farina  gentoo  org>
CommitDate: Fri Feb 14 16:34:59 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=ee2d1bfe

dedupe verify the best we can

Signed-off-by: Rick Farina (Zero_Chaos)  gentoo.org>

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

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 3ea80ee..7c115cb 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -318,28 +318,28 @@ bootstrapCD() {
if [ "${VERIFY}" = '1' ]
then
cd "${CDROOT_PATH}"
+   checkfile=""
+   checker=""
if [ -r "isoroot_b2sums" ] && [ -x "$(command -v b2sum 2>&1)" ]
then
-   good_msg "Verifying BLAKE2 checksums, this may take 
some time ..."
-   if ! run b2sum -c isoroot_b2sums
-   then
-   bad_msg "Some checksums failed, press any key 
to poweroff ..."
-   read -n1 -s
-   poweroff -f
-   else
-   good_msg "BLAKE2 checksums all valid, 
continuing boot ..."
-   fi
-   cd "${OLDPWD}"
+   checkfile="isoroot_b2sums"
+   checker="b2sum"
elif [ -r "isoroot_checksums" ]
then
-   good_msg "Verifying SHA512 checksums, this may take 
some time ..."
-   if ! run sha512sum -c isoroot_checksums
+   checkfile="isoroot_checksums"
+   checker="sha512sum"
+   fi
+
+   if [ -n "${checkfile}" ]
+   then
+   good_msg "Verifying ${checkfile}, this may take some 
time ..."
+   if ! run "${checker}" -c "${checkfile}"
then
bad_msg "Some checksums failed, press any key 
to poweroff ..."
read -n1 -s
poweroff -f
else
-   good_msg "SHA512 checksums all valid, 
continuing boot ..."
+   good_msg "${checkfile} all valid, continuing 
boot ..."
fi
cd "${OLDPWD}"
else



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

2020-01-12 Thread Thomas Deutschmann
commit: 9e7b41cda3df648b509a0f8a2af29a683100a46f
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Fri Jan 10 16:07:20 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sat Jan 11 19:54:40 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=9e7b41cd

Rework ZFS unlock

- Prompt for key when key is unavailable, not when key is available.

- Check ZFS' keystatus property instead of return value to allow
  remote unlock.

- Add unlock-zfs command to remote rescue shell.

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

 defaults/initrd.defaults |  3 ++
 defaults/initrd.scripts  | 38 +++-
 defaults/linuxrc | 42 +++---
 defaults/login-remote.sh |  5 +++
 defaults/unlock-zfs.sh   | 91 
 gen_initramfs.sh |  6 
 6 files changed, 165 insertions(+), 20 deletions(-)

diff --git a/defaults/initrd.defaults b/defaults/initrd.defaults
index 198800b..15326dd 100644
--- a/defaults/initrd.defaults
+++ b/defaults/initrd.defaults
@@ -103,6 +103,9 @@ CRYPT_KEYFILE_SWAP='/tmp/swap.key'
 CRYPT_ROOT_OPENED_LOCKFILE='/tmp/ROOT.opened'
 CRYPT_SWAP_OPENED_LOCKFILE='/tmp/SWAP.opened'
 
+ZFS_ENC_ENV_FILE='/etc/ZFS_ENC_ENV.conf'
+ZFS_ENC_OPENED_LOCKFILE='/tmp/ZFS.opened'
+
 # Flag for if ok when using CDROOT
 got_good_root='0'
 # if LOOP found on root before mount, trigger Unpacking additional packages

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 73cd94c..6c7d72b 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1087,6 +1087,20 @@ warn_msg() {
[ "$2" != '1' ] && printf "%b\n" "${WARN}**${NORMAL}${BOLD} 
${msg_string} ${NORMAL}"
 }
 
+write_env_file() {
+   local env_file=${1}
+   shift
+
+   run touch "${env_file}"
+
+   local varname= varvalue=
+   for varname in $*
+   do
+   eval varvalue=\$${varname}
+   echo "${varname}=${varvalue}" >> "${env_file}"
+   done
+}
+
 crypt_filter() {
if [ "${CRYPT_SILENT}" = '1' ]
then
@@ -2265,14 +2279,15 @@ start_sshd() {
return
fi
 
-   # setup environment variables for the ssh login shell
-   local varname= varvalue=
-   run touch "${CRYPT_ENV_FILE}"
-   for varname in CRYPT_ROOT CRYPT_ROOT_TRIM CRYPT_SILENT CRYPT_SWAP
-   do
-   eval varvalue=\$${varname}
-   echo "${varname}=${varvalue}" >> "${CRYPT_ENV_FILE}"
-   done
+   # setup environment variables for the remote rescue shell
+   # ZFS will use a different file because $REAL_ROOT for ZFS
+   # isn't known yet.
+   write_env_file \
+   "${CRYPT_ENV_FILE}" \
+   CRYPT_ROOT \
+   CRYPT_ROOT_TRIM \
+   CRYPT_SILENT \
+   CRYPT_SWAP
 
run touch /var/log/lastlog
 
@@ -2679,6 +2694,13 @@ get_mount_device() {
' ${NEW_ROOT}/etc/fstab
 }
 
+get_zfs_property() {
+   local device=${1}
+   local propertyname=${2}
+
+   echo "$(zfs get -H -o value ${propertyname} "${device}" 2>/dev/null)"
+}
+
 # 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 f585017..7fbd0ad 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -491,7 +491,7 @@ then
if [ ! -x ${i} ]
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
@@ -740,7 +740,7 @@ do
ROOT_DEV="${REAL_ROOT#*=}"
if [ "${ROOT_DEV}" != 'ZFS' ]
then
-   if [ "$(zfs get type -o value 
-H ${ROOT_DEV} 2>/dev/null)" = 'filesystem' ]
+   if [ "$(get_zfs_property 
"${ROOT_DEV}" type)" = 'filesystem' ]
then
got_good_root=1
REAL_ROOT=${ROOT_DEV}
@@ -753,7 +753,7 @@ do
continue
fi
else
-   BOOTFS=$(/sbin/zpool list -H -o 
bootfs 2>/dev/null)
+   BOOTFS=$(zpool list -H -o 
bootfs 2>/dev/null)
if [ "${BOOTFS}" != '-' ]
   

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

2020-01-12 Thread Thomas Deutschmann
commit: da5a5fa797a5fffa6c4d694cbfe2edc83bab4890
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Fri Jan 10 17:10:08 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sat Jan 11 19:54:40 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=da5a5fa7

--module-rebuild: Call emerge with --ignore-default-opts

It's possible that user has set conflicting emerge options like
"--ask" in EMERGE_DEFAULT_OPTS which could break genkernel.
Calling emerge with --ignore-default-opts will allow us to
avoid such scenarios.

In addition, --module-rebuild-cmd (MODULEREBUILD_CMD) option was
added to allow user to alter default command.

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

 defaults/config.sh   |  2 ++
 doc/genkernel.8.txt  | 15 +++
 gen_cmdline.sh   |  6 ++
 gen_compile.sh   | 18 --
 gen_determineargs.sh | 12 
 5 files changed, 39 insertions(+), 14 deletions(-)

diff --git a/defaults/config.sh b/defaults/config.sh
index d9ea32c..678c0f9 100644
--- a/defaults/config.sh
+++ b/defaults/config.sh
@@ -34,6 +34,8 @@ DEFAULT_COMPRESS_INITRD_TYPE=best
 PORTAGE_MAKEOPTS="$(portageq envvar MAKEOPTS)"
 DEFAULT_MAKEOPTS="${PORTAGE_MAKEOPTS:- -j2}"
 
+DEFAULT_MODULEREBUILD_CMD="emerge --ignore-default-opts --quiet 
@module-rebuild"
+
 DEFAULT_KERNEL_MAKE=make
 DEFAULT_UTILS_MAKE=make
 

diff --git a/doc/genkernel.8.txt b/doc/genkernel.8.txt
index 6c4c155..e9076a4 100644
--- a/doc/genkernel.8.txt
+++ b/doc/genkernel.8.txt
@@ -196,10 +196,17 @@ specified.
 Copies or does not copy all kernel modules to the initrd.
 
 *--*[*no-*]*module-rebuild*::
-Runs, or does not run "emerge @module-rebuild" to build out-of-tree
-modules when possible, i.e. when non-static kernel and modules will be
-build, installed, no custom INSTALL_MOD_PATH is set,
-'/var/lib/module-rebuild/moduledb' exists and is not empty.
+Runs, or does not run "emerge --ignore-default-opts --quiet 
@module-rebuild"
+to build out-of-tree modules when possible, i.e. when non-static
+kernel and modules will be build, installed, no custom
+'INSTALL_MOD_PATH' is set, '/var/lib/module-rebuild/moduledb' exists
+and is not empty.
+
+NOTE: Command can be customized using '--module-rebuild-cmd' command-line
+argument or 'MODULEREBUILD_CMD' in '/etc/genkernel.conf'.
+
+*--module-rebuild-cmd*=<...>::
+Overwrite default *--module-rebuild* command.
 
 *--callback*=<...>::
 Run the specified arguments in the current environment after the

diff --git a/gen_cmdline.sh b/gen_cmdline.sh
index 025187f..db9c1f8 100755
--- a/gen_cmdline.sh
+++ b/gen_cmdline.sh
@@ -65,6 +65,8 @@ longusage() {
   echo "   --module-rebuildAutomatically run 'emerge 
@module-rebuild' when"
   echo "   necessary (and possible)"
   echo "   --no-module-rebuild Don't automatically run 'emerge 
@module-rebuild'"
+  echo "   --module-rebuild-cmd=<...>"
+  echo "   Overwrite default --module-rebuild 
command"
   echo "   --callback=<...>Run the specified arguments after the"
   echo "   kernel and modules have been compiled"
   echo "   --staticBuild a static (monolithic kernel)"
@@ -606,6 +608,10 @@ parse_cmdline() {
CMD_MODULEREBUILD=$(parse_optbool "$*")
print_info 3 "CMD_MODULEREBUILD: ${CMD_MODULEREBUILD}"
;;
+   --module-rebuild-cmd=*)
+   CMD_MODULEREBUILD_CMD="${*#--module-rebuild-cmd=}"
+   print_info 3 "CMD_MODULEREBUILD_CMD: 
${CMD_MODULEREBUILD_CMD}"
+   ;;
--callback=*)
CMD_CALLBACK="${*#*=}"
print_info 3 "CMD_CALLBACK: ${CMD_CALLBACK}/$*"

diff --git a/gen_compile.sh b/gen_compile.sh
index 3f10adb..3b96f48 100755
--- a/gen_compile.sh
+++ b/gen_compile.sh
@@ -2,53 +2,51 @@
 # $Id$
 
 compile_external_modules() {
-   local command="emerge --quiet @module-rebuild 2>&1"
-
if ! isTrue "${CMD_MODULEREBUILD}"
then
-   print_info 3 "$(get_indent 1)>> --no-module-rebuild set; 
Skipping 'emerge @module-rebuild' ..."
+   print_info 3 "$(get_indent 1)>> --no-module-rebuild set; 
Skipping '${MODULEREBUILD_CMD}' ..."
return
fi
 
if isTrue "$(tc-is-cross-compiler)"
then
-   print_info 3 "$(get_indent 1)>> Cross-compilation detected; 
Skipping 'emerge @module-rebuild' ..."
+   print_info 3 "$(get_indent 1)>> Cross-compilation detected; 
Skipping '${MODULEREBUILD_CMD}' ..."
return
fi
 
if ! isTrue "${CMD_INSTALL}"
then
-   print_info 3 "$(get_indent 1)>> --no-install set; Skipping 
'emerge @module-rebuild' ..."
+   

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

2020-01-05 Thread Thomas Deutschmann
commit: a6efe051a610e0ce6aa7eb36a40dfceba7065940
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sun Jan  5 20:53:09 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Jan  5 20:57:17 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=a6efe051

linuxrc: Don't call findfs multiple times

"findfs" and "busybox findfs" is the same command.

For $REAL_ROOT, this was already fixed via
commit 9daa9b77165339495dd4cb35bd57237bd9ca9206.

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

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

diff --git a/defaults/linuxrc b/defaults/linuxrc
index 50b99de..f585017 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -619,12 +619,6 @@ then
retval=$?
fi
 
-   if [ ${retval} -ne 0 ]
-   then
-   RESUME_DEV=$(busybox findfs 
"${REAL_RESUME}" 2>/dev/null)
-   retval=$?
-   fi
-
if [ ${retval} -ne 0 ]
then
RESUME_DEV=$(blkid -o device -l -t 
"${REAL_RESUME}" 2>/dev/null)



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

2020-01-05 Thread Thomas Deutschmann
commit: ea892515ef3a46171d288d9c119defedf8dbee28
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sun Jan  5 20:45:51 2020 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Jan  5 20:57:16 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=ea892515

initrd.scripts: modules_scan(): Cache found rootfs

Calling findfs() isn't a cheap operation especially when slow
media like optical drives are involved.

WIth this change, a statefile (GK_ROOTFS_DETECTED_STATEFILE) will
be created when rootfs was found which will allow us to skip
further findfs() calls when present.

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

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

diff --git a/defaults/initrd.defaults b/defaults/initrd.defaults
index 268a7be..198800b 100644
--- a/defaults/initrd.defaults
+++ b/defaults/initrd.defaults
@@ -90,6 +90,7 @@ GK_NET_TIMEOUT_DHCP=10
 GK_NET_TIMEOUT_INTERFACE=10
 GK_PROMPT_FILE='/tmp/current_prompt'
 GK_PROMPT_TIMEOUT=0
+GK_ROOTFS_DETECTED_STATEFILE="/tmp/rootfs.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 4b43d33..73cd94c 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -100,9 +100,16 @@ modules_scan() {
then
if [ "${smart_loading}" = "yes" ]
then
-   _root_dev=$(findfs "${REAL_ROOT}" 2>/dev/null)
+   if [ ! -f "${GK_ROOTFS_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}"
+   fi
+   fi
 
-   if [ $? -eq 0 ] && [ -n "${_root_dev}" ] && [ 
-b "${_root_dev}" ]
+   if [ -f "${GK_ROOTFS_DETECTED_STATEFILE}" ]
then
log_msg "${root_dev_found}"
printf "%b" "${root_dev_found}"



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

2020-01-03 Thread Ben Kohler
commit: 06f6a268ef0c62f4f0e8dc8b699643bc55b357d7
Author: Ben Kohler  gentoo  org>
AuthorDate: Fri Jan  3 13:36:57 2020 +
Commit: Ben Kohler  gentoo  org>
CommitDate: Fri Jan  3 13:37:18 2020 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=06f6a268

linuxrc, initrd.scripts: allow PARTLABEL for root & resume

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

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

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 6acbbf6..4b43d33 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -873,7 +873,7 @@ findnfsmount() {
 find_real_device() {
local DEVICE="${1}"
case "${DEVICE}" in
-   UUID\=*|LABEL\=*|PARTUUID\=*)
+   UUID\=*|LABEL\=*|PARTLABEL=*|PARTUUID\=*)
local REAL_DEVICE=""
local retval=1
 

diff --git a/defaults/linuxrc b/defaults/linuxrc
index 5d79a7c..50b99de 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -609,7 +609,7 @@ then
if [ "${NORESUME}" != '1' ] && [ -n "${REAL_RESUME}" ]
then
case "${REAL_RESUME}" in
-   LABEL=*|UUID=*|PARTUUID=*)
+   LABEL=*|UUID=*|PARTLABEL=*|PARTUUID=*)
RESUME_DEV=""
retval=1
 
@@ -711,7 +711,7 @@ do
while [ "${got_good_root}" != '1' -a $(date +%s) -le 
${ROOTDELAY_TIMEOUT} ]
do
case "${REAL_ROOT}" in
-   LABEL=*|UUID=*|PARTUUID=*)
+   LABEL=*|UUID=*|PARTLABEL=*|PARTUUID=*)
ROOT_DEV=""
retval=1
 



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

2019-12-14 Thread Thomas Deutschmann
commit: 63f7d255e2dc2956f293f1e7f5f7b4c503951fb0
Author: Zac Medico  gentoo  org>
AuthorDate: Fri Dec 13 08:41:20 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sat Dec 14 18:44:41 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=63f7d255

modules_load: include realtek for r8169

Since linux-5.3-rc1, the r8169 driver triggers a kernel oops unless the
realtek module is also included in the initramfs.

See: https://bugzilla.kernel.org/show_bug.cgi?id=204343
Signed-off-by: Zac Medico  gentoo.org>
Closes: https://github.com/gentoo/genkernel/pull/11
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 1b85842..9caa3c7 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 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"
 
 # iSCSI support
 MODULES_ISCSI="scsi_transport_iscsi libiscsi iscsi_tcp"



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

2019-12-13 Thread Thomas Deutschmann
commit: e0ee3888e7f008636c60f9536bddaf22bffb8b70
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sat Dec 14 00:47:20 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sat Dec 14 00:47:20 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=e0ee3888

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

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

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

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 973a38a..6acbbf6 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1717,10 +1717,12 @@ openLUKS() {
eval local LUKS_KEYDEV='"${CRYPT_'${TYPE}'_KEYDEV}"' 
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= cryptsetup_options=''
+   local mntkey="/mnt/key/" crypt_filter_ret=
 
while true
do
+   local cryptsetup_options=''
+
local gpg_cmd=""
if [ -e "${OPENED_LOCKFILE}" ]
then

diff --git a/defaults/unlock-luks.sh b/defaults/unlock-luks.sh
index 457aa54..0f54504 100644
--- a/defaults/unlock-luks.sh
+++ b/defaults/unlock-luks.sh
@@ -45,10 +45,10 @@ main() {
 
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 cryptsetup_options
 
while true
do
+   local cryptsetup_options=""
local gpg_cmd crypt_filter_ret
 
if [ -e "${OPENED_LOCKFILE}" ]



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

2019-12-05 Thread Thomas Deutschmann
commit: c8f7a864edab44c33a6a1bbe057abb2b2b6a0f83
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Tue Dec  3 21:33:51 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Tue Dec  3 21:45:35 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=c8f7a864

kernel-generic-config: Enable CONFIG_CGROUP_PIDS

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 c20a84c..053a21a 100644
--- a/defaults/kernel-generic-config
+++ b/defaults/kernel-generic-config
@@ -3820,6 +3820,7 @@ CONFIG_FAIR_GROUP_SCHED=y
 CONFIG_SCHED_OMIT_FRAME_POINTER=y
 CONFIG_GROUP_SCHED=y
 CONFIG_RT_GROUP_SCHED=y
+CONFIG_CGROUP_PIDS=y
 CONFIG_CGROUP_SCHED=y
 CONFIG_CGROUP_MEM_RES_CTLR=y
 CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y



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

2019-12-05 Thread Thomas Deutschmann
commit: 5c251fb662d2efc0c3c650564063b5543cbec610
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Mon Dec  2 20:28:13 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Mon Dec  2 20:32:50 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=5c251fb6

kernel-generic-config: Add Broadcom FullMAC WLAN driver support

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

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

diff --git a/defaults/kernel-generic-config b/defaults/kernel-generic-config
index 0b7e94b..f9fa0dc 100644
--- a/defaults/kernel-generic-config
+++ b/defaults/kernel-generic-config
@@ -4745,7 +4745,13 @@ CONFIG_HERMES_PRISM=y
 # CONFIG_ORINOCO_USB is not set
 CONFIG_BRCMUTIL=m
 CONFIG_BRCMSMAC=m
+CONFIG_BRCMFMAC=m
 # CONFIG_BRCMDBG is not set
+CONFIG_BRCMFMAC_PROTO_BCDC=y
+CONFIG_BRCMFMAC_PROTO_MSGBUF=y
+CONFIG_BRCMFMAC_SDIO=y
+# CONFIG_BRCMFMAC_USB is not set
+CONFIG_BRCMFMAC_PCIE=y
 # CONFIG_LPC_SCH is not set
 # CONFIG_LPC_ICH is not set
 # CONFIG_IE6XX_WDT is not set



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

2019-12-05 Thread Thomas Deutschmann
commit: 1bd58d5b38c46ab18af691e5994616161657f9e6
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Tue Dec  3 12:26:56 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Tue Dec  3 12:26:56 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=1bd58d5b

kernel-generic-config: Add Realtek 802.11ac wireless chips support

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

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

diff --git a/defaults/kernel-generic-config b/defaults/kernel-generic-config
index f9fa0dc..5fe434a 100644
--- a/defaults/kernel-generic-config
+++ b/defaults/kernel-generic-config
@@ -1704,6 +1704,11 @@ CONFIG_RT73USB=m
 CONFIG_RT73USB_LEDS=y
 CONFIG_RTL8180=m
 CONFIG_RTL8187=m
+CONFIG_RTW88=m
+CONFIG_RTW88_CORE=m
+CONFIG_RTW88_PCI=m
+CONFIG_RTW88_8822BE=y
+CONFIG_RTW88_8822CE=y
 CONFIG_TMD_HERMES=m
 CONFIG_USB_ZD1201=m
 CONFIG_USB_NET_RNDIS_WLAN=m



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

2019-12-05 Thread Thomas Deutschmann
commit: f1a966975156030a4167d1f96a54a5d07a061596
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Tue Dec  3 21:33:24 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Tue Dec  3 21:45:35 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=f1a96697

kernel-generic-config: Enable CONFIG_SCHED_MC

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 5fe434a..c20a84c 100644
--- a/defaults/kernel-generic-config
+++ b/defaults/kernel-generic-config
@@ -3815,6 +3815,7 @@ CONFIG_LCD_PLATFORM=m
 
 CONFIG_SCHEDSTATS=y
 CONFIG_SCHED_DEBUG=y
+CONFIG_SCHED_MC=y
 CONFIG_FAIR_GROUP_SCHED=y
 CONFIG_SCHED_OMIT_FRAME_POINTER=y
 CONFIG_GROUP_SCHED=y



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

2019-12-02 Thread Thomas Deutschmann
commit: 8edead988fb30067eaf3a23c55abd7f66b00b550
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Mon Dec  2 19:12:12 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Mon Dec  2 19:12:12 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=8edead98

kernel-generic-config: Add Atheros 802.11ac wireless cards support

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

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

diff --git a/defaults/kernel-generic-config b/defaults/kernel-generic-config
index a7ce965..0b7e94b 100644
--- a/defaults/kernel-generic-config
+++ b/defaults/kernel-generic-config
@@ -4673,6 +4673,9 @@ CONFIG_CARL9170=m
 CONFIG_CARL9170_LEDS=y
 CONFIG_CARL9170_WPC=y
 # CONFIG_CARL9170_HWRNG is not set
+CONFIG_ATH10K=m
+CONFIG_ATH10K_CE=y
+CONFIG_ATH10K_PCI=m
 CONFIG_AVERAGE=y
 CONFIG_CORDIC=m
 # CONFIG_B43_HWRNG is not set



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

2019-11-27 Thread Thomas Deutschmann
commit: 80b8bc853f44dbd8e4042b4ac3c64a1f5d8f63af
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Wed Nov 27 10:43:41 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Wed Nov 27 16:05:48 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=80b8bc85

initrd.scripts: start_sshd(): Only set gk.prompt.timeout when dropbear was 
actually started

If we failed to start dropbear for some reason, user has no chance to
answer prompt without physical access so setting gk.prompt.timeout
would only cause an unnecessary delay.

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

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

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 96ca339..dd5be3b 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -2250,12 +2250,6 @@ start_sshd() {
return
fi
 
-   if [ "${GK_PROMPT_TIMEOUT}" = '0' ]
-   then
-   warn_msg "Changing gk.prompt.timeout=0 to 30 to allow remote 
user to answer prompts ..."
-   GK_PROMPT_TIMEOUT=30
-   fi
-
if [ ! -x "/usr/sbin/dropbear" ]
then
bad_msg "/usr/sbin/dropbear not found! Was initramfs built 
without --ssh parameter?"
@@ -2275,6 +2269,14 @@ start_sshd() {
 
good_msg "Starting dropbear sshd ..." ${QUIET}
run /usr/sbin/dropbear -p ${GK_SSHD_PORT} -R -P "${GK_SSHD_PIDFILE}" 
2>/var/log/dropbear.log
+   if [ $? -eq 0 ]
+   then
+   if [ "${GK_PROMPT_TIMEOUT}" = '0' ]
+   then
+   warn_msg "Changing gk.prompt.timeout=0 to 30 to allow 
remote user to answer prompts ..."
+   GK_PROMPT_TIMEOUT=30
+   fi
+   fi
 }
 
 wait_sshd() {



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

2019-11-27 Thread Thomas Deutschmann
commit: e74be22505742ea98910cd7231c76e384913f2ca
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Wed Nov 27 12:04:44 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Wed Nov 27 16:05:48 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=e74be225

initrd.scripts: preserve_log(): Log what we do

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

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

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index dd5be3b..a81632c 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1114,6 +1114,8 @@ preserve_log() {
return 1
fi
 
+   log_msg "Determining mountpoint of '${logfile_target}' ..."
+
local logfile_mountpoint="${logfile_target_dir}"
while [ true ]
do



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

2019-11-27 Thread Thomas Deutschmann
commit: 341ee3801aaf1051ea97865c7907bbe0423f3c2b
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Wed Nov 27 13:41:49 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Wed Nov 27 16:18:56 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=341ee380

initrd.defaults: Drop bcache from MY_HWOPTS

There's no /etc/modules/bcache. Bcache module gets loaded via
dobcache kernel-commandline argument.

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

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

diff --git a/defaults/initrd.defaults b/defaults/initrd.defaults
index 9892631..268a7be 100644
--- a/defaults/initrd.defaults
+++ b/defaults/initrd.defaults
@@ -133,4 +133,4 @@ HWOPTS="keymap cache modules virtio hyperv ${HWOPTS_BLK} 
bcache lvm dmraid multi
 
 # This is the set of default HWOPTS, in the order that they are loaded.
 # This is whitespace aligned with HWOPTS above.
-MY_HWOPTS="  modules virtio hyperv ${HWOPTS_BLK} bcache lvm dmraid 
  mdadm fs   crypto"
+MY_HWOPTS="  modules virtio hyperv ${HWOPTS_BLK}lvm dmraid 
  mdadm fs   crypto"



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

2019-11-27 Thread Thomas Deutschmann
commit: 42037cd53c8097904aac02603b98793b758f1847
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Wed Nov 27 15:16:52 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Wed Nov 27 16:18:57 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=42037cd5

initrd.scripts: start_volumes(): Show what we do

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 59e39fc..973a38a 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1547,6 +1547,8 @@ start_volumes() {
then
bad_msg "dobcache invoked but 
'/sys/fs/bcache/register_quiet' does not exist; Skipping bcache initialization 
..."
else
+   good_msg "Registering all block devices in bcache ..."
+
local i=
for i in $(awk '$4 !~ /^(name$|$)/ { print $4 }' 
/proc/partitions)
do
@@ -1567,6 +1569,8 @@ start_volumes() {
then
if [ -x '/sbin/btrfs' ]
then
+   good_msg "Scanning for BTRFS devices ..."
+
local btrfs_cmd="run /sbin/btrfs device scan 2>&1"
is_log_enabled && btrfs_cmd="${btrfs_cmd} | tee -a 
'${GK_INIT_LOG}'"
 



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

2019-11-27 Thread Thomas Deutschmann
commit: dc006e62ffc0861cc6f2c7979d977bf49d2da994
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Wed Nov 27 10:39:55 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Wed Nov 27 10:39:55 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=dc006e62

initrd.scripts: start_sshd(): Don't drop to shell when starting dropbear failed

Assuming that user using dosshd don't has physical access, dropping to shell
in case when starting dropbear failed is not a good idea.

User with physical access can always reboot and enable debug mode if
interested in debug shell in this case.

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

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

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index c19701c..33b5199 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -2275,7 +2275,6 @@ start_sshd() {
 
good_msg "Starting dropbear sshd ..." ${QUIET}
run /usr/sbin/dropbear -p ${GK_SSHD_PORT} -R -P "${GK_SSHD_PIDFILE}" 
2>/var/log/dropbear.log
-   test_success "Failed to start dropbear"
 }
 
 wait_sshd() {



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

2019-11-27 Thread Thomas Deutschmann
commit: c7c2fbb02642dc3f9179df2cd5eec3629100dc29
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Wed Nov 27 16:16:59 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Wed Nov 27 16:16:59 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=c7c2fbb0

initrd.scripts: load_modules(): Remove unused load_modules() function

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

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

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 11b529b..597fb09 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1267,22 +1267,6 @@ cmdline_hwopts() {
MY_HWOPTS=${TMP_HWOPTS}
 }
 
-load_modules() {
-   # Load modules listed in MY_HWOPTS if /lib/modules exists for the 
running
-   # kernel version
-   if [ -d "/lib/modules/${KV}" ]
-   then
-   good_msg 'Loading modules ...'
-   # Load appropriate kernel modules
-   for modules in ${MY_HWOPTS}
-   do
-   modules_scan ${modules}
-   done
-   else
-   good_msg 'Skipping module load; no modules in the ramdisk!'
-   fi
-}
-
 setup_keymap() {
if [ "${DO_keymap}" ]
then



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

2019-11-27 Thread Thomas Deutschmann
commit: 333b9fe9e3e5aed9e64186bf505a72b43dd8e2f5
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Wed Nov 27 13:52:20 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Wed Nov 27 16:05:23 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=333b9fe9

initrd.scripts: start_sshd(): Update binary not found message

Use same message like we use in similar cases.

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 33b5199..96ca339 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -2258,7 +2258,7 @@ start_sshd() {
 
if [ ! -x "/usr/sbin/dropbear" ]
then
-   bad_msg "/usr/sbin/dropbear not found! Did you call genkernel 
with --ssh parameter?"
+   bad_msg "/usr/sbin/dropbear not found! Was initramfs built 
without --ssh parameter?"
return
fi
 



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

2019-11-27 Thread Thomas Deutschmann
commit: 008d2cf12926c2fe91139c4fed802c053676d74c
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Wed Nov 27 12:08:07 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Wed Nov 27 16:18:56 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=008d2cf1

initrd.scripts: modules_load(): Log what we do

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

 defaults/initrd.scripts | 48 
 1 file changed, 28 insertions(+), 20 deletions(-)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 597fb09..59e39fc 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -29,30 +29,49 @@ modules_load() {
 modules_scan() {
local MODS
local loaded
+   local x
local smart_loading=yes
local _root_dev
local root_dev_found="Root block device found, skipping loading of 
module group \"${1}\" ..."
 
+   MODS=$(cat /etc/modules/${1} 2>/dev/null)
+   if [ -z "${MODS}" ]
+   then
+   log_msg "/etc/modules/${1} is empty; Nothing to load for '${1}' 
..."
+   return
+   fi
+
+   if [ -z "${MODULES_SCAN_WARNING_SHOWN}" ]
+   then
+   local note_msg="NOTE: Due to how genkernel auto-detects your"
+   note_msg="${note_msg} hardware you will now see a lot of failed 
modprobe" \
+   note_msg="${note_msg} attempts which you can ignore:"
+
+   log_msg "${note_msg}"
+
+   MODULES_SCAN_WARNING_SHOWN=yes
+   fi
+
if [ "${GK_HW_LOAD_ALL_MODULES}" = '1' ]
then
-   smart_loading=
+   smart_loading=no
elif [ "${1}" = "virtio" ] || [ "${1}" = "hyperv" ]
then
# Virtio/HyperV modules group is special -- it's about
# hypervisor support in general, not root block device
-   smart_loading=
+   smart_loading=no
elif [ "${1}" = "net" ]
then
# We already load network modules only when we need
# network so don't stop loading network modules when
# $REAL_ROOT is already present or we will probably
# end up without network we wanted ...
-   smart_loading=
+   smart_loading=no
elif [ "${1}" = "fs" ]
then
# We don't know if kernel supports root filesystem so
# better load all filesystems ...
-   smart_loading=
+   smart_loading=no
elif [ "${USE_MDADM}" = '1' ] \
|| [ "${USE_LVM_NORMAL}" = '1' ] \
|| [ "${USE_CRYPTSETUP}" = '1' ] \
@@ -63,24 +82,13 @@ modules_scan() {
# All of this will require the call of another program before
# root becomes available so checking for root after each module
# was loaded will only waste time.
-   smart_loading=
+   smart_loading=no
fi
 
-   MODS=$(cat /etc/modules/${1} 2>/dev/null)
-   [ -n "${MODS}" ] && [ -z "${QUIET}" ] && \
+   log_msg "Loading modules of module group '${1}' (smart loading: 
${smart_loading}) ..."
+   [ -z "${QUIET}" ] && \
printf "%b" "${BOLD}   ::${NORMAL} Loading from ${1}: "
 
-   if [ -z "${MODULES_SCAN_WARNING_SHOWN}" ]
-   then
-   local note_msg="NOTE: Due to how genkernel auto-detects your"
-   note_msg="${note_msg} hardware you will now see a lot of failed 
modprobe" \
-   note_msg="${note_msg} attempts which you can ignore:"
-
-   log_msg "${note_msg}"
-
-   MODULES_SCAN_WARNING_SHOWN=yes
-   fi
-
for x in ${MODS}
do
MLOAD=$(echo ${MLIST} | sed -e "s/.*${x}.*/${x}/")
@@ -90,7 +98,7 @@ modules_scan() {
printf "%b\n" "${BOLD}   ::${NORMAL} Skipping 
${x} ..."
elif [ "${MLOAD}" = "${MLIST}" ]
then
-   if [ -n "${smart_loading}" ]
+   if [ "${smart_loading}" = "yes" ]
then
_root_dev=$(findfs "${REAL_ROOT}" 2>/dev/null)
 
@@ -124,7 +132,7 @@ modules_scan() {
printf "%b\n" "${BOLD}   ::${NORMAL} Skipping 
${x} ..."
fi
done
-   [ -n "${MODS}" ] && [ -z "${QUIET}" ] && echo
+   [ -z "${QUIET}" ] && echo
 }
 
 uppercase() {



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

2019-11-27 Thread Thomas Deutschmann
commit: 96b11d121cab23d105928fd9bb1987defd741704
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Wed Nov 27 16:11:50 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Wed Nov 27 16:11:50 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=96b11d12

initrd.scripts: start_network(): Use modules_scan()

Using modules_scan() instead of load_modules() will prevent output
of multiple "Loading modules ..." lines.

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

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

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index a81632c..11b529b 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1906,9 +1906,11 @@ 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
-   MY_HWOPTS=net load_modules
+   modules_scan net
 
# At least gk.net.iface can only be processed after sysfs was
# mounted.



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

2019-11-26 Thread Thomas Deutschmann
commit: b8bf4c4ae97f8d077a8e6b9cb23593e45d9ea966
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Tue Nov 26 13:36:31 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Tue Nov 26 13:47:20 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=b8bf4c4a

gen_configkernel.sh: config_kernel(): Add virtiofs support

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

 defaults/modules_load |  2 +-
 gen_configkernel.sh   | 12 
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/defaults/modules_load b/defaults/modules_load
index ed5e197..1b85842 100644
--- a/defaults/modules_load
+++ b/defaults/modules_load
@@ -27,7 +27,7 @@ MODULES_PCMCIA="pcmcia pcmcia_core yenta_socket pd6729 i82092 
i82365 tcic ds ide
 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"
 
 # Filesystems
-MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs f2fs fuse loop 
squashfs aufs overlay cramfs configfs fscrypto msdos"
+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"

diff --git a/gen_configkernel.sh b/gen_configkernel.sh
index 7dbcadd..7840491 100755
--- a/gen_configkernel.sh
+++ b/gen_configkernel.sh
@@ -790,6 +790,18 @@ config_kernel() {
 
[ ${KV_NUMERIC} -ge 4010 ] &&
kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" 
"CONFIG_CRYPTO_DEV_VIRTIO" "${newvirtio_setting}"
+
+   if [ ${KV_NUMERIC} -ge 5004 ]
+   then
+   local cfg_CONFIG_FUSE_FS=$(kconfig_get_opt 
"${KERNEL_OUTPUTDIR}/.config" "CONFIG_FUSE_FS")
+   case "${cfg_CONFIG_FUSE_FS}" in
+   y|m) ;; # Do nothing
+   *) cfg_CONFIG_FUSE_FS=${newvirtio_setting}
+   esac
+
+   kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" 
"CONFIG_FUSE_FS" "${cfg_CONFIG_FUSE_FS}"
+   kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" 
"CONFIG_VIRTIO_FS" "${cfg_CONFIG_FUSE_FS}"
+   fi
fi
 
# Microcode setting, intended for early microcode loading, if 
--microcode



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

2019-11-26 Thread Thomas Deutschmann
commit: 17233983a6be283b1fe2308f5a88293fa9abfd6d
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Tue Nov 26 13:10:36 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Tue Nov 26 13:47:00 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=17233983

kernel-generic-config: Add Pensando Ethernet IONIC support

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

 defaults/kernel-generic-config | 1 +
 defaults/modules_load  | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/defaults/kernel-generic-config b/defaults/kernel-generic-config
index fa95ae1..a7ce965 100644
--- a/defaults/kernel-generic-config
+++ b/defaults/kernel-generic-config
@@ -4812,6 +4812,7 @@ CONFIG_NET_VENDOR_NUVOTON=y
 CONFIG_NET_VENDOR_NVIDIA=y
 CONFIG_NET_VENDOR_OKI=y
 CONFIG_NET_VENDOR_PASEMI=y
+CONFIG_NET_VENDOR_PENSANDO=y
 CONFIG_NET_VENDOR_QLOGIC=y
 CONFIG_NET_VENDOR_QUALCOMM=y
 CONFIG_NET_VENDOR_RDC=y

diff --git a/defaults/modules_load b/defaults/modules_load
index 9ba7dab..ed5e197 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 igb ixgb ixgbe macvlan pcnet32 
r8169 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 samsung-sxgbe sky2 tg3 tulip virtio_net vmxnet3 vxge vxlan gve"
 
 # iSCSI support
 MODULES_ISCSI="scsi_transport_iscsi libiscsi iscsi_tcp"



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

2019-11-25 Thread Thomas Deutschmann
commit: 5dbad2e10c32043f90e6507438d93c9a9d480e07
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Mon Nov 25 13:40:42 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Mon Nov 25 13:40:42 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=5dbad2e1

initrd.scripts: modules_scan(): Disable smart module loading when root needs an 
external program

When using dolvm or domdadm for example, root won't be available until lvm
program scanned for volumes and made them available or mdadm program was
called to assemble RAID.
So checking for root block device after each module was loaded won't save
us any time instead will just waste time.

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

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

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 561788d..c19701c 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -53,17 +53,17 @@ modules_scan() {
# We don't know if kernel supports root filesystem so
# better load all filesystems ...
smart_loading=
-   elif [ -n "${CRYPT_ROOT}" ] || [ -n "${CRYPT_SWAP}" ]
-   then
-   if [ "${1}" = "crypto" ]
-   then
-   smart_loading=
-   elif [ "${1}" = "usb" ]
-   then
-   # We don't know if user is using an USB keyboard to
-   # enter passphrase so better load USB ...
-   smart_loading=
-   fi
+   elif [ "${USE_MDADM}" = '1' ] \
+   || [ "${USE_LVM_NORMAL}" = '1' ] \
+   || [ "${USE_CRYPTSETUP}" = '1' ] \
+   || [ "${USE_BTRFS}" = '1' ] \
+   || [ "${USE_ZFS}" = '1' ] \
+   || [ "${USE_DMRAID_NORMAL}" = '1' ]
+   then
+   # All of this will require the call of another program before
+   # root becomes available so checking for root after each module
+   # was loaded will only waste time.
+   smart_loading=
fi
 
MODS=$(cat /etc/modules/${1} 2>/dev/null)



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

2019-11-25 Thread Thomas Deutschmann
commit: 0b8bec3f106b5d49ac6aeefc426b16b1dda31d91
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Mon Nov 25 13:38:30 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Mon Nov 25 13:38:30 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=0b8bec3f

linuxrc: Set USE_CRYPTSETUP=1 when crypt_{root,swap} is used

This will allow us to check only one variable later.

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

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

diff --git a/defaults/linuxrc b/defaults/linuxrc
index 63df802..5d79a7c 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -244,9 +244,11 @@ do
# Crypto
crypt_root=*)
CRYPT_ROOT=${x#*=}
+   USE_CRYPTSETUP=1
;;
crypt_swap=*)
CRYPT_SWAP=${x#*=}
+   USE_CRYPTSETUP=1
;;
root_key=*)
CRYPT_ROOT_KEY=${x#*=}



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

2019-11-25 Thread Thomas Deutschmann
commit: af2dcc0455d6601a7490b13cb6876fb5f6d62c62
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Mon Nov 25 13:40:02 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Mon Nov 25 13:40:02 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=af2dcc04

initrd.scripts: modules_scan(): Always load Virtio/HyperV modules

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

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

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 053ac68..561788d 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -36,6 +36,11 @@ modules_scan() {
if [ "${GK_HW_LOAD_ALL_MODULES}" = '1' ]
then
smart_loading=
+   elif [ "${1}" = "virtio" ] || [ "${1}" = "hyperv" ]
+   then
+   # Virtio/HyperV modules group is special -- it's about
+   # hypervisor support in general, not root block device
+   smart_loading=
elif [ "${1}" = "net" ]
then
# We already load network modules only when we need



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

2019-11-24 Thread Thomas Deutschmann
commit: caacc574629e8d464cb9468a696908b21e08af36
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Wed Nov 20 01:22:31 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Nov 24 19:59:15 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=caacc574

defaults/kernel-config: Delete unused file

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

 defaults/kernel-config | 3645 
 1 file changed, 3645 deletions(-)

diff --git a/defaults/kernel-config b/defaults/kernel-config
deleted file mode 100644
index 80909ea..000
--- a/defaults/kernel-config
+++ /dev/null
@@ -1,3645 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.24-gentoo-r4
-# Thu Apr 17 08:21:12 2008
-#
-# CONFIG_64BIT is not set
-CONFIG_X86_32=y
-# CONFIG_X86_64 is not set
-CONFIG_X86=y
-CONFIG_GENERIC_TIME=y
-CONFIG_GENERIC_CMOS_UPDATE=y
-CONFIG_CLOCKSOURCE_WATCHDOG=y
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
-CONFIG_LOCKDEP_SUPPORT=y
-CONFIG_STACKTRACE_SUPPORT=y
-CONFIG_SEMAPHORE_SLEEPERS=y
-CONFIG_MMU=y
-CONFIG_ZONE_DMA=y
-CONFIG_QUICKLIST=y
-CONFIG_GENERIC_ISA_DMA=y
-CONFIG_GENERIC_IOMAP=y
-CONFIG_GENERIC_BUG=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_ARCH_MAY_HAVE_PC_FDC=y
-CONFIG_DMI=y
-# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
-CONFIG_RWSEM_XCHGADD_ALGORITHM=y
-# CONFIG_ARCH_HAS_ILOG2_U32 is not set
-# CONFIG_ARCH_HAS_ILOG2_U64 is not set
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-# CONFIG_GENERIC_TIME_VSYSCALL is not set
-CONFIG_ARCH_SUPPORTS_OPROFILE=y
-# CONFIG_ZONE_DMA32 is not set
-CONFIG_ARCH_POPULATES_NODE_MAP=y
-CONFIG_AUDIT=y
-CONFIG_GENERIC_HARDIRQS=y
-CONFIG_GENERIC_IRQ_PROBE=y
-CONFIG_GENERIC_PENDING_IRQ=y
-CONFIG_X86_SMP=y
-CONFIG_X86_HT=y
-CONFIG_X86_BIOS_REBOOT=y
-CONFIG_X86_TRAMPOLINE=y
-CONFIG_KTIME_SCALAR=y
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-
-#
-# General setup
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_LOCK_KERNEL=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_LOCALVERSION=""
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_SWAP=y
-CONFIG_SYSVIPC=y
-CONFIG_SYSVIPC_SYSCTL=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_BSD_PROCESS_ACCT_V3=y
-CONFIG_TASKSTATS=y
-CONFIG_TASK_DELAY_ACCT=y
-CONFIG_TASK_XACCT=y
-CONFIG_TASK_IO_ACCOUNTING=y
-CONFIG_USER_NS=y
-CONFIG_PID_NS=y
-CONFIG_FHANDLE=y
-CONFIG_AUDIT=y
-CONFIG_AUDITSYSCALL=y
-CONFIG_AUDIT_TREE=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=15
-CONFIG_CGROUPS=y
-# CONFIG_CGROUP_DEBUG is not set
-CONFIG_CGROUP_NS=y
-CONFIG_CPUSETS=y
-CONFIG_FAIR_GROUP_SCHED=y
-CONFIG_FAIR_USER_SCHED=y
-# CONFIG_FAIR_CGROUP_SCHED is not set
-CONFIG_CGROUP_CPUACCT=y
-# CONFIG_SYSFS_DEPRECATED is not set
-CONFIG_PROC_PID_CPUSET=y
-CONFIG_RELAY=y
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE=""
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-CONFIG_SYSCTL=y
-# CONFIG_EMBEDDED is not set
-CONFIG_UID16=y
-CONFIG_SYSCTL_SYSCALL=y
-CONFIG_KALLSYMS=y
-# CONFIG_KALLSYMS_ALL is not set
-# CONFIG_KALLSYMS_EXTRA_PASS is not set
-CONFIG_HOTPLUG=y
-CONFIG_PRINTK=y
-CONFIG_BUG=y
-CONFIG_ELF_CORE=y
-CONFIG_BASE_FULL=y
-CONFIG_FUTEX=y
-CONFIG_ANON_INODES=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-CONFIG_VM_EVENT_COUNTERS=y
-CONFIG_SLAB=y
-# CONFIG_SLUB is not set
-# CONFIG_SLOB is not set
-CONFIG_SLABINFO=y
-CONFIG_RT_MUTEXES=y
-# CONFIG_TINY_SHMEM is not set
-CONFIG_BASE_SMALL=0
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODULE_FORCE_UNLOAD=y
-CONFIG_MODVERSIONS=y
-# CONFIG_MODULE_SRCVERSION_ALL is not set
-CONFIG_KMOD=y
-CONFIG_STOP_MACHINE=y
-CONFIG_BLOCK=y
-CONFIG_LBD=y
-CONFIG_BLK_DEV_IO_TRACE=y
-CONFIG_LSF=y
-CONFIG_BLK_DEV_BSG=y
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
-CONFIG_IOSCHED_DEADLINE=y
-CONFIG_IOSCHED_CFQ=y
-CONFIG_DEFAULT_AS=y
-# CONFIG_DEFAULT_DEADLINE is not set
-# CONFIG_DEFAULT_CFQ is not set
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="anticipatory"
-CONFIG_PREEMPT_NOTIFIERS=y
-
-#
-# Processor type and features
-#
-CONFIG_TICK_ONESHOT=y
-# CONFIG_NO_HZ is not set
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
-CONFIG_SMP=y
-CONFIG_X86_PC=y
-# CONFIG_X86_ELAN is not set
-# CONFIG_X86_VOYAGER is not set
-# CONFIG_X86_NUMAQ is not set
-# CONFIG_X86_SUMMIT is not set
-# CONFIG_X86_BIGSMP is not set
-# CONFIG_X86_VISWS is not set
-# CONFIG_X86_GENERICARCH is not set
-# CONFIG_X86_ES7000 is not set
-# CONFIG_X86_VSMP is not set
-CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
-CONFIG_PARAVIRT=y
-CONFIG_PARAVIRT_GUEST=y
-CONFIG_XEN=y
-CONFIG_VMI=y
-# CONFIG_M386 is not set
-# CONFIG_M486 is not set
-# CONFIG_M586 is not set
-# CONFIG_M586TSC is not set
-# CONFIG_M586MMX is not set
-CONFIG_M686=y
-# CONFIG_MPENTIUMII is not set
-# CONFIG_MPENTIUMIII is not set
-# CONFIG_MPENTIUMM is not set
-# CONFIG_MPENTIUM4 is not set
-# CONFIG_MK6 is not set
-# CONFIG_MK7 is not set
-# CONFIG_MK8 is not set
-# CONFIG_MCRUSOE is not set
-# 

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

2019-11-24 Thread Thomas Deutschmann
commit: eccc25ea093340a4e3ba662ed8d9e858800cd134
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Wed Nov 20 00:23:45 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Nov 24 19:59:15 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=eccc25ea

initrd.scripts: modules_load() refactored

- Add support for LABEL/UUID in root kernel parameter

- When loading network, always load all network modules
  even when root block device is already available

- Always load crypto and USB module group when CRYPT_{ROOT,SWAP}
  is set.

- Always load fs module group.

- Add gk.hw.load-all kernel command-line argument to allow
  user to force loading of all module groups.

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

 defaults/initrd.defaults |  1 +
 defaults/initrd.scripts  | 43 ---
 defaults/linuxrc |  8 
 doc/genkernel.8.txt  |  7 +++
 4 files changed, 56 insertions(+), 3 deletions(-)

diff --git a/defaults/initrd.defaults b/defaults/initrd.defaults
index 8937e65..32f99ec 100644
--- a/defaults/initrd.defaults
+++ b/defaults/initrd.defaults
@@ -72,6 +72,7 @@ VERIFY=0
 IP='dhcp'
 GK_BOOTFONT_DISABLED=0
 GK_DEBUGMODE_STATEFILE="/tmp/debug.enabled"
+GK_HW_LOAD_ALL_MODULES=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 1004ff5..053ac68 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -29,6 +29,37 @@ modules_load() {
 modules_scan() {
local MODS
local loaded
+   local smart_loading=yes
+   local _root_dev
+   local root_dev_found="Root block device found, skipping loading of 
module group \"${1}\" ..."
+
+   if [ "${GK_HW_LOAD_ALL_MODULES}" = '1' ]
+   then
+   smart_loading=
+   elif [ "${1}" = "net" ]
+   then
+   # We already load network modules only when we need
+   # network so don't stop loading network modules when
+   # $REAL_ROOT is already present or we will probably
+   # end up without network we wanted ...
+   smart_loading=
+   elif [ "${1}" = "fs" ]
+   then
+   # We don't know if kernel supports root filesystem so
+   # better load all filesystems ...
+   smart_loading=
+   elif [ -n "${CRYPT_ROOT}" ] || [ -n "${CRYPT_SWAP}" ]
+   then
+   if [ "${1}" = "crypto" ]
+   then
+   smart_loading=
+   elif [ "${1}" = "usb" ]
+   then
+   # We don't know if user is using an USB keyboard to
+   # enter passphrase so better load USB ...
+   smart_loading=
+   fi
+   fi
 
MODS=$(cat /etc/modules/${1} 2>/dev/null)
[ -n "${MODS}" ] && [ -z "${QUIET}" ] && \
@@ -54,10 +85,16 @@ modules_scan() {
printf "%b\n" "${BOLD}   ::${NORMAL} Skipping 
${x} ..."
elif [ "${MLOAD}" = "${MLIST}" ]
then
-   if [ "${ROOTFSTYPE}" != 'auto' ] && [ -b "${REAL_ROOT}" 
]
+   if [ -n "${smart_loading}" ]
then
-   echo "Root block device found, continuing ..."
-   break
+   _root_dev=$(findfs "${REAL_ROOT}" 2>/dev/null)
+
+   if [ $? -eq 0 ] && [ -n "${_root_dev}" ] && [ 
-b "${_root_dev}" ]
+   then
+   log_msg "${root_dev_found}"
+   printf "%b" "${root_dev_found}"
+   break
+   fi
fi
 
if is_debug

diff --git a/defaults/linuxrc b/defaults/linuxrc
index ee46293..f01203b 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -283,6 +283,14 @@ do
fi
unset tmp_disabled
;;
+   gk.hw.load-all=*)
+   tmp_disabled=${x#*=}
+   if is_true "${tmp_disabled}"
+   then
+   GK_HW_LOAD_ALL_MODULES=1
+   fi
+   unset tmp_disabled
+   ;;
gk.log.disabled=*)
tmp_disabled=${x#*=}
if is_true "${tmp_disabled}"

diff --git a/doc/genkernel.8.txt b/doc/genkernel.8.txt
index bee3017..cb2009f 100644
--- a/doc/genkernel.8.txt
+++ b/doc/genkernel.8.txt
@@ -787,6 +787,13 @@ when not set. This will allow remote user to provide 
answer through
 will load that font. This boolean option allows you to disable
 loading of the user embedded bootfont.
 

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

2019-11-24 Thread Thomas Deutschmann
commit: 0e65cc0f1b68b958cf38df6bd7d7900ed442151f
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sun Nov 24 13:45:58 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Nov 24 19:59:17 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=0e65cc0f

modules_load: Don't load efivarfs and qemu_fw_cfg

These filesystems aren't required to boot a system.

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 644cf21..5a0b1d8 100644
--- a/defaults/modules_load
+++ b/defaults/modules_load
@@ -27,7 +27,7 @@ MODULES_PCMCIA="pcmcia pcmcia_core yenta_socket pd6729 i82092 
i82365 tcic ds ide
 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"
 
 # Filesystems
-MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs f2fs fuse loop 
squashfs aufs overlay cramfs configfs fscrypto efivarfs msdos qemu_fw_cfg"
+MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs f2fs fuse loop 
squashfs aufs overlay cramfs configfs fscrypto msdos"
 
 # Crypto
 MODULES_CRYPTO="sha256_generic cbc crc32 crc32c crc32c_generic crc32_generic 
aes_generic xts"



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

2019-11-24 Thread Thomas Deutschmann
commit: de2468a92abdf61b53e1611953259409ba7f7361
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sun Nov 24 15:01:22 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Nov 24 19:59:17 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=de2468a9

kernel-generic-config: Add Google Virtual NIC (gVNIC) support

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

 defaults/kernel-generic-config | 2 ++
 defaults/modules_load  | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/defaults/kernel-generic-config b/defaults/kernel-generic-config
index b7611cb..696eb88 100644
--- a/defaults/kernel-generic-config
+++ b/defaults/kernel-generic-config
@@ -1490,6 +1490,7 @@ CONFIG_E1000=m
 CONFIG_E1000_NAPI=y
 # CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
 CONFIG_E1000E=m
+CONFIG_GVE=m
 CONFIG_IGB=m
 # CONFIG_IGB_LRO is not set
 CONFIG_IGB_DCA=y
@@ -4789,6 +4790,7 @@ CONFIG_NET_VENDOR_EZCHIP=y
 CONFIG_NET_VENDOR_FARADAY=y
 CONFIG_NET_VENDOR_FREESCALE=y
 CONFIG_NET_VENDOR_FUJITSU=y
+CONFIG_NET_VENDOR_GOOGLE=y
 CONFIG_NET_VENDOR_HISILICON=y
 CONFIG_NET_VENDOR_HP=y
 CONFIG_NET_VENDOR_I825XX=y

diff --git a/defaults/modules_load b/defaults/modules_load
index 0ee0540..c897de0 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 bcm_phy_lib bnx2 bonding broadcom cxgb cxgb3 
cxgb4 e1000 e1000e hv_netvsc igb ixgb ixgbe macvlan pcnet32 r8169 samsung-sxgbe 
sky2 tg3 tulip virtio_net vmxnet3 vxge vxlan"
+MODULES_NET="8139cp 8139too atl1c bcm_phy_lib bnx2 bonding broadcom cxgb cxgb3 
cxgb4 e1000 e1000e hv_netvsc igb ixgb ixgbe macvlan pcnet32 r8169 samsung-sxgbe 
sky2 tg3 tulip virtio_net vmxnet3 vxge vxlan gve"
 
 # iSCSI support
 MODULES_ISCSI="scsi_transport_iscsi libiscsi iscsi_tcp"



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

2019-11-24 Thread Thomas Deutschmann
commit: 5d5fe800adea70e7477cb53a4d48fc3612bf8598
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sun Nov 24 15:05:23 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Nov 24 19:59:19 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=5d5fe800

kernel-generic-config: Add Amazon Elastic Network Adapter (ENA) support

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

 defaults/kernel-generic-config | 1 +
 defaults/modules_load  | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/defaults/kernel-generic-config b/defaults/kernel-generic-config
index 36c1484..fa95ae1 100644
--- a/defaults/kernel-generic-config
+++ b/defaults/kernel-generic-config
@@ -1490,6 +1490,7 @@ CONFIG_E1000=m
 CONFIG_E1000_NAPI=y
 # CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
 CONFIG_E1000E=m
+CONFIG_ENA_ETHERNET=m
 CONFIG_GVE=m
 CONFIG_IGB=m
 # CONFIG_IGB_LRO is not set

diff --git a/defaults/modules_load b/defaults/modules_load
index 07978d9..9ba7dab 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 hv_netvsc igb ixgb ixgbe macvlan pcnet32 r8169 
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 igb ixgb ixgbe macvlan pcnet32 
r8169 samsung-sxgbe sky2 tg3 tulip virtio_net vmxnet3 vxge vxlan gve"
 
 # iSCSI support
 MODULES_ISCSI="scsi_transport_iscsi libiscsi iscsi_tcp"



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

2019-11-24 Thread Thomas Deutschmann
commit: 503aeddb91ea1c5d3afd81287c49c0db238f6743
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Wed Nov 20 00:29:08 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Nov 24 19:59:15 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=503aeddb

linuxrc: Make sure that we always load bcache module when dobcache is set

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

 defaults/linuxrc  | 7 +++
 defaults/modules_load | 2 +-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/defaults/linuxrc b/defaults/linuxrc
index f01203b..63df802 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -503,6 +503,13 @@ then
FIRSTMODS="${FIRSTMODS} crc32_generic"
 fi
 
+if [ "${USE_BCACHE}" = '1' ]
+then
+   # Force loading of bcache module in case module loading would
+   # be skipped because $REAL_ROOT is already present
+   FIRSTMODS="${FIRSTMODS} bcache"
+fi
+
 splash 'init'
 
 cmdline_hwopts

diff --git a/defaults/modules_load b/defaults/modules_load
index f55fab3..b4caf50 100644
--- a/defaults/modules_load
+++ b/defaults/modules_load
@@ -27,7 +27,7 @@ MODULES_PCMCIA="pcmcia pcmcia_core yenta_socket pd6729 i82092 
i82365 tcic ds ide
 MODULES_USB="ehci-pci ehci-hcd uhci usb-ohci hid usb-storage uas uhci-hcd 
ohci-hcd xhci-hcd xhci-pci xhci-plat 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"
 
 # Filesystems
-MODULES_FS="ext2 ext3 ext4 bcache btrfs reiserfs jfs nfs xfs zfs f2fs fuse 
loop squashfs aufs overlay cramfs configfs fscrypto efivarfs msdos qemu_fw_cfg"
+MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs f2fs fuse loop 
squashfs aufs overlay cramfs configfs fscrypto efivarfs msdos qemu_fw_cfg"
 
 # Crypto
 MODULES_CRYPTO="sha256_generic cbc crc32c_generic crc32c-intel crc32_generic 
aes_generic xts"



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

2019-11-24 Thread Thomas Deutschmann
commit: 7e8c41c2ff79d0463ccf02064e4976dc8929c13e
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Wed Nov 20 01:59:08 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Nov 24 19:59:16 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=7e8c41c2

kernel-generic-config: Disable bcache by default, use --bcache

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

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

diff --git a/defaults/kernel-generic-config b/defaults/kernel-generic-config
index 3e5d589..b7611cb 100644
--- a/defaults/kernel-generic-config
+++ b/defaults/kernel-generic-config
@@ -3408,7 +3408,6 @@ CONFIG_AUTOFS4_FS=m
 # CONFIG_EXOFS_DEBUG is not set
 CONFIG_NILFS2_FS=m
 
-CONFIG_BCACHE=m
 CONFIG_FSCACHE=m
 CONFIG_FSCACHE_STATS=y
 # CONFIG_FSCACHE_HISTOGRAM is not set



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

2019-11-24 Thread Thomas Deutschmann
commit: 8e321f68744786b41786d2f650301f99294bccf9
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sun Nov 24 13:49:52 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Nov 24 19:59:17 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=8e321f68

modules_load: Load modules required for LUKS2

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 5a0b1d8..0ee0540 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 loop 
squashfs aufs overlay cramfs configfs fscrypto msdos"
 
 # Crypto
-MODULES_CRYPTO="sha256_generic cbc crc32 crc32c crc32c_generic crc32_generic 
aes_generic xts"
+MODULES_CRYPTO="sha256_generic cbc crc32 crc32c crc32c_generic crc32_generic 
aes_generic xts af_alg algif_skcipher algif_hash algif_aead algif_rng"
 
 # Hyper-V
 MODULES_HYPERV="hv_utils hv_vmbus hv_balloon hyperv_keyboard hid_hyperv 
hv_utils hyperv_fb hv_storvsc"



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

2019-11-24 Thread Thomas Deutschmann
commit: b640eba801a4e70cf790efb4b0fdbaf39739986b
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sun Nov 24 18:04:29 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Nov 24 19:59:22 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=b640eba8

initrd.defaults: Update HWOPTS_BLK loading order

Updating order to load modern modules first.

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

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

diff --git a/defaults/initrd.defaults b/defaults/initrd.defaults
index 32f99ec..9892631 100644
--- a/defaults/initrd.defaults
+++ b/defaults/initrd.defaults
@@ -127,7 +127,7 @@ DEFAULT_NFSOPTIONS="ro,nolock"
 # - keymap
 # - cache
 # - modules
-HWOPTS_BLK='nvme pata sata scsi usb firewire waitscan'
+HWOPTS_BLK='nvme sata scsi pata usb firewire waitscan'
 HWOPTS_OBSOLETE='pcmcia ataraid' # Obsolete stuff that might be useful on old 
hardware, do$X only.
 HWOPTS="keymap cache modules virtio hyperv ${HWOPTS_BLK} bcache lvm dmraid 
multipath mdadm zfs fs iscsi crypto"
 



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

2019-11-24 Thread Thomas Deutschmann
commit: c016fa911d55334398fc83cf8ca4178c8d77484a
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Wed Nov 20 01:58:00 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Nov 24 19:59:16 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=c016fa91

kernel-generic-config: Disable Virtio by default, use --virtio

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

 defaults/kernel-generic-config | 21 ++---
 gen_configkernel.sh|  3 +++
 2 files changed, 5 insertions(+), 19 deletions(-)

diff --git a/defaults/kernel-generic-config b/defaults/kernel-generic-config
index c76b175..3e5d589 100644
--- a/defaults/kernel-generic-config
+++ b/defaults/kernel-generic-config
@@ -470,23 +470,8 @@ CONFIG_BLK_DEV_VIA82CXXX=y
 # CONFIG_BLK_DEV_IDEDMA is not set
 # CONFIG_BLK_DEV_HD is not set
 
-CONFIG_VIRTIO=m
-CONFIG_VIRTIO_BLK=m
-CONFIG_VIRTIO_BLK_SCSI=m
-CONFIG_VIRTIO_RING=m
-CONFIG_VIRTIO_PCI=m
-CONFIG_VIRTIO_BALLOON=m
-CONFIG_VIRTIO_NET=m
-CONFIG_VMXNET3=m
-CONFIG_HW_RANDOM_VIRTIO=m
-CONFIG_VIRTIO_CONSOLE=m
-CONFIG_VIRTIO_MMIO=m
-CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
-CONFIG_VIRTIO_VSOCKETS=m
-CONFIG_BLK_MQ_VIRTIO=y
-CONFIG_CRYPTO_DEV_VIRTIO=m
-CONFIG_DRM_VIRTIO_GPU=m
-
+# CONFIG_VIRT_DRIVERS is not set
+# CONFIG_VIRTIO_MENU is not set
 
 #
 # SCSI device support
@@ -946,7 +931,6 @@ CONFIG_RDS_TCP=m
 
 CONFIG_NET_9P=m
 CONFIG_NET_9P_FD=m
-CONFIG_NET_9P_VIRTIO=m
 # CONFIG_NET_9P_DEBUG is not set
 CONFIG_NET_9P_RDMA=m
 
@@ -4529,7 +4513,6 @@ CONFIG_IXGBEVF=m
 CONFIG_IXGBE_HWMON=y
 CONFIG_IXGBE_PTP=y
 CONFIG_VMWARE_PVSCSI=m
-CONFIG_SCSI_VIRTIO=m
 CONFIG_SCSI_PM8001=m
 CONFIG_MACVTAP=m
 CONFIG_SND_HDA_PREALLOC_SIZE=512

diff --git a/gen_configkernel.sh b/gen_configkernel.sh
index d95368f..6141ba6 100755
--- a/gen_configkernel.sh
+++ b/gen_configkernel.sh
@@ -749,6 +749,9 @@ config_kernel() {
kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" 
"CONFIG_VIRTIO_MMIO" "${newvirtio_setting}"
kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" 
"CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES" "y"
 
+   kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" "CONFIG_NET_9P" 
"${newvirtio_setting}"
+   kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" 
"CONFIG_NET_9P_VIRTIO" "${newvirtio_setting}"
+
if [ ${KV_NUMERIC} -ge 4008 ]
then
local cfg_CONFIG_VSOCKETS=$(kconfig_get_opt 
"${KERNEL_OUTPUTDIR}/.config" "CONFIG_VSOCKETS")



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

2019-11-24 Thread Thomas Deutschmann
commit: 9b6b48d37605630d2cc01f6104dcb97aebfc9d03
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Wed Nov 20 00:21:31 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Nov 24 19:59:15 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=9b6b48d3

linuxrc: Fix code style

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 4a5c39b..ee46293 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -489,9 +489,9 @@ then
[ "${USE_ZFS}" = '1' ] && MY_HWOPTS="${MY_HWOPTS} zfs"
 fi
 
-# Hack for f2fs, which uses crc32 but does not depend on it (in many kernels 
at least):
 if [ "${ROOTFSTYPE}" = "f2fs" ]
 then
+   # Hack for f2fs, which uses crc32 but does not depend on it (in many 
kernels at least):
FIRSTMODS="${FIRSTMODS} crc32_generic"
 fi
 



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

2019-11-24 Thread Thomas Deutschmann
commit: 370dde2816bd28f75dbf6111fac571ed9d34791f
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Wed Nov 20 01:54:58 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Nov 24 19:59:16 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=370dde28

kernel-generic-config: Enable support for bzip2, gzip and xz compressed 
initramfs

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

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

diff --git a/defaults/kernel-generic-config b/defaults/kernel-generic-config
index 3a7992e..c76b175 100644
--- a/defaults/kernel-generic-config
+++ b/defaults/kernel-generic-config
@@ -35,6 +35,9 @@ CONFIG_TASKSTATS=y
 CONFIG_TASK_DELAY_ACCT=y
 CONFIG_TASK_XACCT=y
 CONFIG_TASK_IO_ACCOUNTING=y
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_XZ=y
 CONFIG_SYSCTL=y
 CONFIG_LOG_BUF_SHIFT=19
 CONFIG_IKCONFIG=y



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

2019-11-24 Thread Thomas Deutschmann
commit: 5a5169856848df0381a6277ac514b63f563c02b1
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sun Nov 24 15:03:53 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Nov 24 19:59:17 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=5a516985

kernel-generic-config: Add aQuantia AQtion(tm) support

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

 defaults/kernel-generic-config | 1 +
 defaults/modules_load  | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/defaults/kernel-generic-config b/defaults/kernel-generic-config
index 696eb88..36c1484 100644
--- a/defaults/kernel-generic-config
+++ b/defaults/kernel-generic-config
@@ -1512,6 +1512,7 @@ CONFIG_JME=m
 #
 # Ethernet (1 Mbit)
 #
+CONFIG_AQTION=m
 CONFIG_CHELSIO_T1=m
 CONFIG_CHELSIO_T1_1G=y
 CONFIG_CHELSIO_T1_NAPI=y

diff --git a/defaults/modules_load b/defaults/modules_load
index c897de0..07978d9 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 bcm_phy_lib bnx2 bonding broadcom cxgb cxgb3 
cxgb4 e1000 e1000e hv_netvsc igb ixgb ixgbe macvlan pcnet32 r8169 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 hv_netvsc igb ixgb ixgbe macvlan pcnet32 r8169 
samsung-sxgbe sky2 tg3 tulip virtio_net vmxnet3 vxge vxlan gve"
 
 # iSCSI support
 MODULES_ISCSI="scsi_transport_iscsi libiscsi iscsi_tcp"



[gentoo-commits] proj/genkernel:master commit in: /, defaults/, patches/multipath-tools/0.8.0/, gkbuilds/

2019-10-13 Thread Thomas Deutschmann
commit: f5abf1319b37b89f49264d8e944ac1a9e7547b4d
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sun Oct 13 13:58:22 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Oct 13 14:13:32 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=f5abf131

Don't compile multipath-tools; Copy from host

multipath-tools package doesn't really support a static
build: While we managed to build programs like multipath
statically, it still relied on dynamic libs for checkers
which we are unable to fix.

This commit will change --multipath support in that way that
we now require that sys-fs/multipath-tools is installed on
host system because we will copy binaries and used libraries
from host to initramfs.

Due to this change, you can't add multipath support in cross-
compile scenarios anymore.

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

 defaults/software.sh   |  21 ---
 gen_determineargs.sh   |  29 
 gen_initramfs.sh   |  19 +--
 gkbuilds/eudev.gkbuild |  46 --
 gkbuilds/multipath-tools.gkbuild   |  62 
 gkbuilds/userspace-rcu.gkbuild |  17 ---
 .../multipath-tools-0.7.5-respect-flags.patch  |  19 ---
 .../multipath-tools-0.8.0-respect-sysroot.patch|  55 ---
 .../0.8.0/multipath-tools-0.8.0-static-libs.patch  | 159 -
 9 files changed, 40 insertions(+), 387 deletions(-)

diff --git a/defaults/software.sh b/defaults/software.sh
index 363013f..793c90e 100644
--- a/defaults/software.sh
+++ b/defaults/software.sh
@@ -58,13 +58,6 @@ 
GKPKG_DROPBEAR_SRCTAR="${GKPKG_DROPBEAR_SRCTAR:-${DISTDIR}/dropbear-${GKPKG_DROP
 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_DEPS=""
-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}"
-
 GKPKG_EXPAT_PN="expat"
 GKPKG_EXPAT_PV="${GKPKG_EXPAT_PV:-VERSION_EXPAT}"
 GKPKG_EXPAT_DEPS=""
@@ -149,13 +142,6 @@ 
GKPKG_MDADM_SRCDIR="${GKPKG_MDADM_SRCDIR:-mdadm-${GKPKG_MDADM_PV}}"
 
GKPKG_MDADM_SRCTAR="${GKPKG_MDADM_SRCTAR:-${DISTDIR}/mdadm-${GKPKG_MDADM_PV}.tar.xz}"
 
GKPKG_MDADM_BINPKG="${GKPKG_MDADM_BINPKG:-%%CACHE%%/mdadm-${GKPKG_MDADM_PV}-%%ARCH%%.tar.xz}"
 
-GKPKG_MULTIPATH_TOOLS_PN="multipath-tools"
-GKPKG_MULTIPATH_TOOLS_PV="${GKPKG_MULTIPATH_TOOLS_PV:-VERSION_MULTIPATH_TOOLS}"
-GKPKG_MULTIPATH_TOOLS_DEPS="json-c libaio userspace-rcu eudev lvm"
-GKPKG_MULTIPATH_TOOLS_SRCTAR="${GKPKG_MULTIPATH_TOOLS_SRCTAR:-${DISTDIR}/multipath-tools-${GKPKG_MULTIPATH_TOOLS_PV}.tar.gz}"
-GKPKG_MULTIPATH_TOOLS_SRCDIR="${GKPKG_MULTIPATH_TOOLS_SRCDIR:-multipath-tools-${GKPKG_MULTIPATH_TOOLS_PV}-eb688e1}"
-GKPKG_MULTIPATH_TOOLS_BINPKG="${GKPKG_MULTIPATH_TOOLS_BINPKG:-%%CACHE%%/multipath-tools-${GKPKG_MULTIPATH_TOOLS_PV}-%%ARCH%%.tar.xz}"
-
 GKPKG_POPT_PN="popt"
 GKPKG_POPT_PV="${GKPKG_POPT_PV:-VERSION_POPT}"
 GKPKG_POPT_DEPS=""
@@ -184,13 +170,6 @@ 
GKPKG_UNIONFS_FUSE_SRCDIR="${GKPKG_UNIONFS_FUSE_SRCDIR:-unionfs-fuse-${GKPKG_UNI
 
GKPKG_UNIONFS_FUSE_SRCTAR="${GKPKG_UNIONFS_FUSE_SRCTAR:-${DISTDIR}/unionfs-fuse-${GKPKG_UNIONFS_FUSE_PV}.tar.gz}"
 
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_USERSPACE_RCU_SRCTAR:-${DISTDIR}/userspace-rcu-${GKPKG_USERSPACE_RCU_PV}.tar.bz2}"
-GKPKG_USERSPACE_RCU_SRCDIR="${GKPKG_USERSPACE_RCU_SRCDIR:-userspace-rcu-${GKPKG_USERSPACE_RCU_PV}}"
-GKPKG_USERSPACE_RCU_BINPKG="${GKPKG_USERSPACE_RCU_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=""

diff --git a/gen_determineargs.sh b/gen_determineargs.sh
index a27e980..cf76ee2 100755
--- a/gen_determineargs.sh
+++ b/gen_determineargs.sh
@@ -756,6 +756,35 @@ determine_real_args() {
gen_die "${error_msg}"
fi
 
+   if isTrue "${MULTIPATH}"
+   then
+   if isTrue "$(tc-is-cross-compiler)"
+   then
+   local error_msg="Using binpkg for 
multipath-tools is not supported."
+   error_msg+=" Therefore we cannot cross-compile 
like requested!"
+   

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

2019-10-13 Thread Thomas Deutschmann
commit: 0a228ed66f8bab1038e55ba9a25ee40a95ca0622
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sun Oct 13 14:40:04 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Oct 13 14:40:04 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=0a228ed6

keymaps: regenerate bepo and colemak keymap

Used command:

  $ loadkeys /usr/share/keymaps/colemak/en-latin9.map
  $ busybox dumpkmap > colemak.map

Fixes a5ea613 ("keymaps: Add bepo and colemak keymap")
Bug: https://bugs.gentoo.org/696204
Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/keymaps/bepo.map| Bin 2823 -> 2823 bytes
 defaults/keymaps/colemak.map | Bin 3642 -> 2823 bytes
 2 files changed, 0 insertions(+), 0 deletions(-)

diff --git a/defaults/keymaps/bepo.map b/defaults/keymaps/bepo.map
index 0bc808d..cf9130d 100644
Binary files a/defaults/keymaps/bepo.map and b/defaults/keymaps/bepo.map differ

diff --git a/defaults/keymaps/colemak.map b/defaults/keymaps/colemak.map
index 25c05d4..39e286c 100644
Binary files a/defaults/keymaps/colemak.map and b/defaults/keymaps/colemak.map 
differ



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

2019-10-13 Thread Thomas Deutschmann
commit: b0b13eb38269ac502ace11b6a99414a1b6122d44
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sun Oct 13 03:50:59 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Oct 13 14:13:03 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=b0b13eb3

initrd.scripts: openLUKS(): fix $mntkey cleanup

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 7184cfd..c016662 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1835,7 +1835,7 @@ openLUKS() {
run umount "${mntkey}" >/dev/null 2>&1
fi
 
-   [ -d "${mntkey}" ] run rmdir -p "${mntkey}" >/dev/null 2>&1
+   [ -d "${mntkey}" ] && run rmdir -p "${mntkey}" >/dev/null 2>&1
 }
 
 iface_name() {



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

2019-10-13 Thread Thomas Deutschmann
commit: 7586670d136162f90a2140ac4af83f1b19fbe09f
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sun Oct 13 03:51:32 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Oct 13 14:13:03 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=7586670d

initrd.scripts: iface_name(): handle /sys/class/net/*/address errors

Fixes 11eff5eb ("Rework --ssh support")
Signed-off-by: Thomas Deutschmann  gentoo.org>

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

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index c016662..1004ff5 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1848,7 +1848,9 @@ iface_name() {
 
for interface in /sys/class/net/*
do
-   if [ $(cat ${interface}/address) = "${mac}" ]
+   [ -e ${interface}/address ] || continue
+
+   if [ "$(cat ${interface}/address 2>/dev/null)" = 
"${mac}" ]
then
echo ${interface##*/}
return



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

2019-10-13 Thread Thomas Deutschmann
commit: 05503510ec91eaf840b886a56e1c5b0907a6c2fc
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sun Oct 13 14:46:29 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Oct 13 15:28:19 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=05503510

linuxrc: Don't advertise multipath usage

Since we don't do this for any other stuff, let's
remove it for multipath, too.

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

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

diff --git a/defaults/linuxrc b/defaults/linuxrc
index 83ef89f..fedb66a 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -121,7 +121,6 @@ do
USE_DMRAID_NORMAL=1
;;
domultipath)
-   good_msg "Booting with multipath activated."
USE_MULTIPATH_NORMAL=1
;;
dozfs*)



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

2019-10-07 Thread Thomas Deutschmann
commit: 3b27d1cd00f549724f5a2da0d97099e37aef6043
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Mon Oct  7 21:01:56 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Mon Oct  7 21:44:50 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=3b27d1cd

linuxrc: Check that init value is actually a file

Just checking that init value is exectuable won't catch errors
where user provided a directory instead of a file.

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

 defaults/linuxrc | 23 ++-
 1 file changed, 14 insertions(+), 9 deletions(-)

diff --git a/defaults/linuxrc b/defaults/linuxrc
index c0d4c0d..852992d 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -862,27 +862,30 @@ do
# else not a good root and start over.
if [ "${mountret}" = '0' ]
then
-   if [ -x "${NEW_ROOT}${REAL_INIT:-/sbin/init}" ]
+   init_binary_file="${NEW_ROOT}${REAL_INIT:-/sbin/init}"
+   init_binary_fallback_file="${NEW_ROOT}/bin/sh"
+
+   if [ -f "${init_binary_file}" -a -x 
"${init_binary_file}" ]
then
break
else
-   warn_msg "${NEW_ROOT}${REAL_INIT:-/sbin/init} 
was not found or is not executable, maybe a symlink?" ${QUIET}
+   warn_msg "'${init_binary_file}' was not found, 
is not a file or is not executable, maybe a symlink?" ${QUIET}
fi
 
-   if [ -L "${NEW_ROOT}${REAL_INIT:-/sbin/init}" ]
+   if [ -L "${init_binary_file}" ]
then
good_msg "Symlink detected! Assuming split /usr 
..." ${QUIET}
break
else
-   warn_msg "${NEW_ROOT}${REAL_INIT:-/sbin/init} 
is not a symlink, do we have at least /bin/sh?" ${QUIET}
+   warn_msg "'${init_binary_file}' is not a 
symlink, do we have at least /bin/sh?" ${QUIET}
fi
 
-   if [ -x "${NEW_ROOT}/bin/sh" ]
+   if [ -f "${init_binary_fallback_file}" -a -x 
"${init_binary_fallback_file}" ]
then
-   good_msg "Executable ${NEW_ROOT}/bin/sh 
detected!" ${QUIET}
+   good_msg "Executable fallback file 
'${init_binary_fallback_file}' detected!" ${QUIET}
break
else
-   warn_msg "${NEW_ROOT}/bin/sh was not found or 
is not executable, maybe we are working with NFS?" ${QUIET}
+   warn_msg "'${init_binary_fallback_file}' was 
not found, is not a file or is not executable, maybe we are working with NFS?" 
${QUIET}
fi
 
if [ "${REAL_ROOT}" = "/dev/nfs" ]
@@ -893,7 +896,9 @@ do
warn_msg "No NFS detected!" ${QUIET}
fi
 
-   bad_msg "The filesystem mounted at ${REAL_ROOT} does 
not appear to be a valid /!"
+   bad_msg "The filesystem mounted at ${REAL_ROOT} does 
not appear to be a valid /:"
+   bad_msg "Neither executable file '${init_binary_file}' 
nor '${init_binary_fallback_file}' was found."
+   bad_msg "If correct root device was specified, check 
'root' or 'init' kernel command-line parameter!"
got_good_root=0
else
bad_msg "Could not mount specified ROOT!"
@@ -1297,7 +1302,7 @@ init=${REAL_INIT:-/sbin/init}
 if ! mountpoint "${CHROOT}" 1>/dev/null 2>&1
 then
bad_msg "${CHROOT} was not a mountpoint"
-elif chroot "${CHROOT}" /usr/bin/test ! -x /${init}
+elif chroot "${CHROOT}" /usr/bin/test ! -x /${init#/}
 then
bad_msg "init=${init} does not exist in the rootfs!"
 elif [ $$ != 1 ]



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

2019-10-07 Thread Thomas Deutschmann
commit: f60871ba99fac8e48b03d533a341a6e26ec398e3
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Mon Oct  7 21:02:47 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Mon Oct  7 21:50:26 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=f60871ba

linuxrc: Update REAL_INIT variable when using fallback

When we detected that mounted root device doesn't contain a valid
init program (i.e. set init value isn't an executable file), we
didn't update REAL_INIT value with fallback value with the result
that we called switch_root with an invalid init parameter.

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

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

diff --git a/defaults/linuxrc b/defaults/linuxrc
index 852992d..83ef89f 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -882,6 +882,7 @@ do
 
if [ -f "${init_binary_fallback_file}" -a -x 
"${init_binary_fallback_file}" ]
then
+   
REAL_INIT="${init_binary_fallback_file/${NEW_ROOT}}"
good_msg "Executable fallback file 
'${init_binary_fallback_file}' detected!" ${QUIET}
break
else



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

2019-10-04 Thread Thomas Deutschmann
commit: 8376cbfaf4c091427853d81ec0f956d9a285148b
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Fri Oct  4 12:45:22 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Fri Oct  4 12:45:22 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=8376cbfa

keymaps: Really add bepo and colemak keymap

Fixes a5ea613 ("keymaps: Add bepo and colemak keymap")
Bug: https://bugs.gentoo.org/696204
Signed-off-by: Thomas Deutschmann  gentoo.org>

 defaults/keymaps/bepo.map| Bin 2823 -> 2823 bytes
 defaults/keymaps/colemak.map | Bin 2823 -> 3642 bytes
 2 files changed, 0 insertions(+), 0 deletions(-)

diff --git a/defaults/keymaps/bepo.map b/defaults/keymaps/bepo.map
index ee0ef15..0bc808d 100644
Binary files a/defaults/keymaps/bepo.map and b/defaults/keymaps/bepo.map differ

diff --git a/defaults/keymaps/colemak.map b/defaults/keymaps/colemak.map
index ee0ef15..25c05d4 100644
Binary files a/defaults/keymaps/colemak.map and b/defaults/keymaps/colemak.map 
differ



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

2019-10-02 Thread Thomas Deutschmann
commit: 5773ba3aa4b5c5b9d96ab144292c0fc39b456038
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Wed Oct  2 13:30:00 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Wed Oct  2 14:43:05 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=5773ba3a

initrd.scripts: start_network(): Don't try to configure network when "ip" 
argument contains comma or colon

We are sharing "ip" kernel command-line argument with kernel's IP PNP feature.
Because we don't support the same syntax/features it's safe to assume that user
wants to use kernel's IP PNP feature when argument contains a comma or colon.

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

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

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 2969f44..071ba32 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -2019,6 +2019,23 @@ start_network() {
bad_msg "Failed to start udhcpc for interface 
${GK_NET_IFACE}!"
return 1
fi
+   elif echo "${IP}" | grep -qE ':|,'
+   then
+   if is_interface_up
+   then
+   # CONFIG_IP_PNP probably caused kernel to bring up
+   # network for us. Due to presence of ":" or ","
+   # we can assume an advanced network configuration
+   # which we cannot reproduce...
+   warn_msg "Interface ${GK_NET_IFACE} is already up."
+   warn_msg "Skipping network setup; Will use existing 
network configuration ..."
+   run touch "${GK_NET_LOCKFILE}"
+   return 0
+   fi
+
+   warn_msg "Found advanced network configuration (check ip= 
kernel command-line argument)!"
+   warn_msg "Assuming user want to use kernel's IP PNP; Will not 
try to start network ..."
+   return 1
else
if is_interface_up
then



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

2019-10-02 Thread Thomas Deutschmann
commit: 1f071dfc89fc19f9e66d2e73c4f42f9e500e5d79
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Wed Oct  2 13:54:05 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Wed Oct  2 14:43:05 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=1f071dfc

initrd.scripts: start_sshd(): Tell user why gk.prompt.timeout value was changed

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 071ba32..7184cfd 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -2208,7 +2208,7 @@ start_sshd() {
 
if [ "${GK_PROMPT_TIMEOUT}" = '0' ]
then
-   warn_msg "Changing gk.prompt.timeout=0 to 30 ..."
+   warn_msg "Changing gk.prompt.timeout=0 to 30 to allow remote 
user to answer prompts ..."
GK_PROMPT_TIMEOUT=30
fi
 



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

2019-08-29 Thread Thomas Deutschmann
commit: 1f0028b52e110602975aa6bc25ca52d58bc9ea91
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Thu Aug 29 20:46:33 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Thu Aug 29 20:46:33 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=1f0028b5

initrd.scripts: openLUKS(): gpg was moved to /usr/bin

Bug: https://bugs.gentoo.org/693006
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 b33fad7..2969f44 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1792,7 +1792,7 @@ openLUKS() {
 
if [ "$(echo ${LUKS_KEY} | grep -o 
'.gpg$')" = ".gpg" ]
then
-   if [ ! -x '/sbin/gpg' ]
+   if [ ! -x '/usr/bin/gpg' ]
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!"
@@ -1800,7 +1800,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="/sbin/gpg 
--logger-file /dev/null --quiet --decrypt ${mntkey}${LUKS_KEY} |"
+   gpg_cmd="/usr/bin/gpg 
--logger-file /dev/null --quiet --decrypt ${mntkey}${LUKS_KEY} |"
fi
else

cryptsetup_options="${cryptsetup_options} -d ${mntkey}${LUKS_KEY}"



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

2019-08-29 Thread Thomas Deutschmann
commit: 7f6627c96cbb22eb758e060c64c066fc85b7e50f
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Thu Aug 29 20:45:04 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Thu Aug 29 20:45:04 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=7f6627c9

initrd.scripts: start_volumes(): dmsetup was moved to /usr/sbin

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 48a2d3d..b33fad7 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1396,7 +1396,7 @@ start_volumes() {
[ -x "${multipath_path}" ] && break
done
 
-   for dmsetup_path in /sbin/dmsetup /bin/dmsetup MISSING
+   for dmsetup_path in /usr/sbin/dmsetup /sbin/dmsetup 
/bin/dmsetup MISSING
do
[ -x "${dmsetup_path}" ] && break
done



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

2019-08-21 Thread Thomas Deutschmann
commit: 32c8ee223bbd86311611e65f4ff9487c40771b5d
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Wed Aug 21 14:30:11 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Wed Aug 21 14:30:11 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=32c8ee22

initrd.scripts: preserve_log(): Stop determining mountpoint when reached "/"

In commit 271c330 we stopped determining mountpoint already when we were
testing for $CHROOT value. However, $CHROOT is the mountpoint we are looking
for when no additional volumes were mounted.

This sanity check should only get triggered when we reached "/" while looping
through path for logfile.

Fixes 271c330 ("initrd.scripts: preserve_log(): Add support for additional 
mountpoints")
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 2c57ff4..48a2d3d 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1087,7 +1087,7 @@ preserve_log() {
fi
 
logfile_mountpoint="$(dirname "${logfile_mountpoint}")"
-   if [ "${logfile_mountpoint}" = "${CHROOT}" ]
+   if [ "${logfile_mountpoint}" = "/" ]
then
# Stop here
bad_msg "${fail_msg}: Failed to determine mountpoint 
for '${logfile_target}'!"



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

2019-08-16 Thread Thomas Deutschmann
commit: 2eb1d04cfbfa397b58a0b388f8ed28688fd114d8
Author: Georgy Yakovlev  gentoo  org>
AuthorDate: Fri Aug 16 19:54:58 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Fri Aug 16 19:55:19 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=2eb1d04c

linuxrc: Set ZPOOL_IMPORT_UDEV_TIMEOUT_MS=0

It'll eliminate need of doing dozfs=cache.

Link: https://github.com/zfsonlinux/zfs/pull/9109
Signed-off-by: Georgy Yakovlev  gentoo.org>
Signed-off-by: Thomas Deutschmann  gentoo.org>

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

diff --git a/defaults/linuxrc b/defaults/linuxrc
index cd3a6d7..c0d4c0d 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -126,6 +126,7 @@ do
;;
dozfs*)
USE_ZFS=1
+   export ZPOOL_IMPORT_UDEV_TIMEOUT_MS=0
 
case "${x#*=}" in
*force*)



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

2019-08-16 Thread Thomas Deutschmann
commit: 271c330b15d16c318cfed654d029be4b026eb770
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Fri Aug 16 19:12:04 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Fri Aug 16 19:12:04 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=271c330b

initrd.scripts: preserve_log(): Add support for additional mountpoints

This commit will add support for copying init.log to 
$NEWROOT/var/log/genkernel-boot.log
for example even when $NEWROOT/var/log is an own partition.

To make this work, you must tell genkernel via /etc/initramfs.mounts
to mount the additional mount point.

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

 defaults/initrd.defaults |  1 +
 defaults/initrd.scripts  | 68 ++--
 defaults/linuxrc |  8 +++---
 3 files changed, 54 insertions(+), 23 deletions(-)

diff --git a/defaults/initrd.defaults b/defaults/initrd.defaults
index 06057d7..8fa2822 100644
--- a/defaults/initrd.defaults
+++ b/defaults/initrd.defaults
@@ -73,6 +73,7 @@ IP='dhcp'
 GK_DEBUGMODE_STATEFILE="/tmp/debug.enabled"
 GK_INIT_LOG='/tmp/init.log'
 GK_INIT_LOG_COPYTO=
+GK_INIT_LOG_COPYTO_DEFAULT='/genkernel-boot.log'
 GK_INIT_LOG_DISABLED='/tmp/no-init.log'
 GK_INIT_LOG_PREFIX=
 GK_NET_DHCP_PIDFILE='/var/run/udhcpc.pid'

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 1d2fa20..2c57ff4 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1052,37 +1052,67 @@ preserve_log() {
[ -z "${GK_INIT_LOG_COPYTO}" ] && return
 
local have_errors=0
+
local logfile_target="${CHROOT}/${GK_INIT_LOG_COPYTO#/}"
-   local logfile_target_dir="$(dirname "${logfile_target}")"
+   if ! echo "${logfile_target}" | grep -qE '^.*/[A-Za-z0-9._-]+$'
+   then
+   # The test above will make sure that a filename was given
+   # so we can be sure that dirname() will always return a
+   # path.
+   warn_msg "gk.log.keep value '${GK_INIT_LOG_COPYTO}' is invalid; 
Will copy log to '${GK_INIT_LOG_COPYTO_DEFAULT}' instead ..."
+   logfile_target="${CHROOT}/${GK_INIT_LOG_COPYTO_DEFAULT#/}"
+   fi
+
local fail_msg="Failed to copy '${GK_INIT_LOG}' to '${logfile_target}'"
+   local logfile_target_dir="$(dirname "${logfile_target}")"
 
-   if run mount -o remount,rw ${CHROOT}
+   if [ -z "${logfile_target_dir}" ]
then
-   if [ -z "${logfile_target_dir}" ]
-   then
-   have_errors=1
-   bad_msg "${fail_msg}: Failed to determine dirname of 
'${logfile_target}'!"
-   elif [ ! -d "${logfile_target_dir}" ]
+   bad_msg "${fail_msg}: Failed to determine dirname of 
'${logfile_target}'!"
+   return 1
+   fi
+
+   local logfile_mountpoint="${logfile_target_dir}"
+   while [ true ]
+   do
+   if run mountpoint "${logfile_mountpoint}" 1>/dev/null 2>&1
then
-   if ! run mkdir -p "${logfile_target_dir}" 2>/dev/null
+   if run mount -o remount,rw "${logfile_mountpoint}" 
1>/dev/null 2>&1
then
-   have_errors=1
-   bad_msg "${fail_msg}: Failed to create 
'${logfile_target_dir}'!"
+   break
+   else
+   bad_msg "${fail_msg}: 'mount -o remount,rw 
\"${logfile_mountpoint}\"' failed!"
+   return 1
fi
fi
 
-   if [ ${have_errors} = 0 ]
+   logfile_mountpoint="$(dirname "${logfile_mountpoint}")"
+   if [ "${logfile_mountpoint}" = "${CHROOT}" ]
then
-   good_msg "gk.log.keep set; Copying '${GK_INIT_LOG}' to 
'${logfile_target}' ..."
-   if ! cp "${GK_INIT_LOG}" "${logfile_target}" 2>/dev/null
-   then
-   bad_msg "${fail_msg}!"
-   fi
+   # Stop here
+   bad_msg "${fail_msg}: Failed to determine mountpoint 
for '${logfile_target}'!"
+   return 1
fi
+   done
 
-   mount -o remount,ro ${CHROOT}
-   else
-   bad_msg "${fail_msg}: 'mount -o remount,rw ${CHROOT}' failed!"
+   if [ ! -d "${logfile_target_dir}" ]
+   then
+   if ! run mkdir -p "${logfile_target_dir}" 2>/dev/null
+   then
+   bad_msg "${fail_msg}: Failed to create 
'${logfile_target_dir}'!"
+   return 1
+   fi
+   fi
+
+   good_msg "gk.log.keep set; Copying '${GK_INIT_LOG}' to 
'${logfile_target}' ..."
+   if ! run cp -f "${GK_INIT_LOG}" "${logfile_target}" 2>/dev/null
+   then
+   bad_msg 

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

2019-08-07 Thread Thomas Deutschmann
commit: bc7df5ee2b27d04889cacba49bb3339a58ce9de3
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Tue Aug  6 18:21:45 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Wed Aug  7 15:03:44 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=bc7df5ee

Rework resume-boot.sh

- We no longer use $GK_SHELL_LOCKFILE which was removed in
  in previous commit ("initrd.scripts: run_shell(): Use LOCK file").

- We now try to kill all $SH processes allowing to use resume-boot
  in remote and local rescue shell.

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

 defaults/resume-boot.sh | 25 +++--
 1 file changed, 19 insertions(+), 6 deletions(-)

diff --git a/defaults/resume-boot.sh b/defaults/resume-boot.sh
index cb29831..f4dd4b2 100644
--- a/defaults/resume-boot.sh
+++ b/defaults/resume-boot.sh
@@ -1,15 +1,28 @@
 #!/bin/sh
 
 . /etc/initrd.defaults
+. /etc/initrd.scripts
 
-if [ -s "${GK_SHELL_LOCKFILE}" ]
+GK_INIT_LOG_PREFIX=${0}
+if [ -n "${SSH_CLIENT_IP}" ] && [ -n "${SSH_CLIENT_PORT}" ]
 then
-   kill -9 "$(cat "${GK_SHELL_LOCKFILE}")"
+   GK_INIT_LOG_PREFIX="${0}[${SSH_CLIENT_IP}:${SSH_CLIENT_PORT}]"
 fi
 
-if [ -f "${GK_SSHD_LOCKFILE}" ]
-then
-   rm "${GK_SSHD_LOCKFILE}"
-fi
+# We don't want to kill init script (PID 1),
+# ourselves and parent process yet...
+pids_to_keep="1 ${$} ${PPID}"
+
+for pid in $(pgrep sh)
+do
+   if ! echo " ${pids_to_keep} " | grep -q " ${pid} "
+   then
+   kill -9 ${pid}
+   fi
+done
+
+good_msg "Resuming boot process ..."
+[ -f "${GK_SSHD_LOCKFILE}" ] && run rm "${GK_SSHD_LOCKFILE}"
+[ "${PPID}" != '1' ] && kill -9 ${PPID}
 
 exit 0



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

2019-08-07 Thread Thomas Deutschmann
commit: 91d64dbf8aa34a27653baebba77a10979a4a2f30
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Tue Aug  6 20:09:05 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Wed Aug  7 15:03:44 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=91d64dbf

initrd.scripts: wait_sshd(): Make use of good_msg_n()

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 febdadf..1d2fa20 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -2198,7 +2198,7 @@ wait_sshd() {
return
fi
 
-   printf "%b" "${GOOD}>>${NORMAL}${BOLD} gk.sshd.wait set; Waiting 
${GK_SSHD_WAIT} seconds for SSH connection ${NORMAL}..."
+   good_msg_n "gk.sshd.wait set; Waiting ${GK_SSHD_WAIT} seconds for SSH 
connection ..."
 
local last_cmd="run last -W 2>/dev/null | head -n 3"
is_log_enabled && last_cmd="${last_cmd} | tee -a '${GK_INIT_LOG}'"



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

2019-08-07 Thread Thomas Deutschmann
commit: e0cf0e07688cd3991f6af20f2f27c0d278ebf069
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Tue Aug  6 20:08:07 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Wed Aug  7 15:03:44 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=e0cf0e07

initrd.scripts: kill_network(): Make use of good_msg_n()

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

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

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 88046b4..febdadf 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -2047,8 +2047,7 @@ kill_network() {
# interface.
if ipv6_tentative
then
-   [ -z "${QUIET}" ] && \
-   printf "%b" "${WARN}**${NORMAL}${BOLD} Waiting for tentative 
IPv6 addresses to complete DAD ${NORMAL}..."
+   [ -z "${QUIET}" ] && good_msg_n "Waiting for tentative IPv6 
addresses to complete DAD ..."
 
local dad_timeout=10
while [ ${dad_timeout} -gt 0 ]
@@ -2056,11 +2055,10 @@ kill_network() {
ipv6_tentative || break
sleep 1
: $(( dad_timeout -= 1 ))
-   [ -z "${QUIET}" ] && \
-   printf "."
+   [ -z "${QUIET}" ] && printf "."
done
 
-   echo ""
+   [ -z "${QUIET}" ] && echo ''
 
if [ ${dad_timeout} -le 0 ]
then
@@ -2068,8 +2066,7 @@ kill_network() {
fi
fi
 
-   [ -z "${QUIET}" ] && \
-   printf "%b" "${GOOD}>>${NORMAL}${BOLD} Bringing down interface 
${GK_NET_IFACE} ${NORMAL}..."
+   [ -z "${QUIET}" ] && good_msg_n "Bringing down interface 
${GK_NET_IFACE} ..."
 
local deconfiguration_timeout=${GK_NET_TIMEOUT_DECONFIGURATION}
while [ ${deconfiguration_timeout} -gt 0 ]
@@ -2083,11 +2080,10 @@ kill_network() {
fi
sleep 1
: $(( deconfiguration_timeout -= 1 ))
-   [ -z "${QUIET}" ] && \
-   printf "."
+   [ -z "${QUIET}" ] && printf "."
done
 
-   echo ""
+   [ -z "${QUIET}" ] && echo ''
 
if [ ${deconfiguration_timeout} -le 0 ]
then



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

2019-08-07 Thread Thomas Deutschmann
commit: 6a9db059ae26b4d38f12fc76ce33e41ca1d1e4bf
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sun Aug  4 16:10:57 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Tue Aug  6 20:40:25 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=6a9db059

linuxrc: Make shell startup output more beautiful and useful

- Hide busybox version

- Show genkernel version

- Show running kernel version

- Use emphasis (bold format) in text

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

 defaults/busy-config |  2 +-
 defaults/initrd.scripts  |  5 +
 defaults/login-remote.sh | 22 --
 3 files changed, 22 insertions(+), 7 deletions(-)

diff --git a/defaults/busy-config b/defaults/busy-config
index 7830c83..39c3010 100644
--- a/defaults/busy-config
+++ b/defaults/busy-config
@@ -1136,7 +1136,7 @@ CONFIG_CTTYHACK=y
 #
 CONFIG_FEATURE_SH_MATH=y
 CONFIG_FEATURE_SH_MATH_64=y
-# CONFIG_FEATURE_SH_EXTRA_QUIET is not set
+CONFIG_FEATURE_SH_EXTRA_QUIET=y
 # CONFIG_FEATURE_SH_STANDALONE is not set
 # CONFIG_FEATURE_SH_NOFORK is not set
 CONFIG_FEATURE_SH_HISTFILESIZE=y

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 4c8955d..f27c02f 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -809,6 +809,11 @@ 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}"
+   echo
+
if [ -n "${CONSOLE}" ] && [ -c "/dev/${CONSOLE}" ]
then
setsid ${SH} -c "exec sh --login /dev/${CONSOLE} 2>&1"

diff --git a/defaults/login-remote.sh b/defaults/login-remote.sh
index 7f711da..f8c4d08 100644
--- a/defaults/login-remote.sh
+++ b/defaults/login-remote.sh
@@ -66,23 +66,33 @@ then
exit 1
esac
 else
+   gk_ver="$(cat /etc/build_id)"
+   gk_build_date="$(cat /etc/build_date)"
+   kernel_ver="$(uname -r)"
+
export PS1='remote rescueshell \w \# '
touch "${GK_SSHD_LOCKFILE}"
-   good_msg "The lockfile '${GK_SSHD_LOCKFILE}' was created."
-   good_msg "In order to resume boot process, run 'resume-boot'."
-   good_msg "Be aware that it will kill your connection which means"
-   good_msg "you will no longer be able work in this shell."
+
+   GOOD=${BLUE} good_msg "${NORMAL}Welcome to ${BOLD}${gk_ver}${NORMAL} 
(${gk_build_date}) ${BOLD}remote rescue shell${NORMAL}!"
+   GOOD=${BLUE} good_msg "${NORMAL}...running Linux kernel 
${BOLD}${kernel_ver}${NORMAL}"
+   echo
+   good_msg "${NORMAL}The lockfile '${BOLD}${GK_SSHD_LOCKFILE}${NORMAL}' 
was created."
+   good_msg "${NORMAL}In order to resume boot process, run 
'${BOLD}resume-boot${NORMAL}'."
+   good_msg "${NORMAL}Be aware that it will kill your connection which 
means"
+   good_msg "${NORMAL}you will no longer be able to work in this shell."
 
if [ -n "${CRYPT_ROOT}" -a ! -f "${CRYPT_ROOT_OPENED_LOCKFILE}" ]
then
-   good_msg "To remote unlock LUKS-encrypted root device, run 
'unlock-luks root'."
+   good_msg "${NORMAL}To remote unlock LUKS-encrypted root device, 
run '${BOLD}unlock-luks root${NORMAL}'."
fi
 
if [ -n "${CRYPT_SWAP}" -a ! -f "${CRYPT_ROOT_OPENED_LOCKFILE}" ]
then
-   good_msg "To remote unlock LUKS-encrypted swap device, run 
'unlock-luks swap'."
+   good_msg "${NORMAL}To remote unlock LUKS-encrypted swap device, 
run '${BOLD}unlock-luks swap${NORMAL}'."
fi
 
+   echo
+
[ -x /bin/sh ] && SH=/bin/sh || SH=/bin/ash
exec ${SH} --login
 fi



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

2019-08-07 Thread Thomas Deutschmann
commit: 4dae613a3907917393f52e016b0377f5d1e1b926
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Tue Aug  6 15:25:10 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Tue Aug  6 20:40:32 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=4dae613a

unlock-lucks.sh: Kill running cryptsetup prompt with SIGINT

When using SIGTERM, running terminal would require a "reset"
because cryptsetup cannot restore fds.

Using SIGINT will end cryptsetup prompt gracefully allowing
cryptsetup to restore fds and keep terminal working.

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

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

diff --git a/defaults/unlock-luks.sh b/defaults/unlock-luks.sh
index e8f28f6..16e654c 100644
--- a/defaults/unlock-luks.sh
+++ b/defaults/unlock-luks.sh
@@ -116,8 +116,9 @@ main() {
 
if [ "${crypt_filter_ret}" = '0' ]
then
-   # Kill any running cryptsetup prompt for this device
-   pkill -9 -f "luksOpen.*${LUKS_NAME}\$" >/dev/null 2>&1
+   # Kill any running cryptsetup prompt for this device.
+   # But SIGINT only to keep shell functional.
+   pkill -2 -f "luksOpen.*${LUKS_NAME}\$" >/dev/null 2>&1
fi
 }
 



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

2019-08-07 Thread Thomas Deutschmann
commit: 834b72e8151ee6e17a8de8fc37c07bd70990144c
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Tue Aug  6 18:01:13 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Wed Aug  7 15:03:44 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=834b72e8

busybox: Use raidautorun instead of mdstart

raidautorun applet is upstream's replacement for mdstart.

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

 defaults/busy-config   |  2 -
 defaults/initrd.scripts|  2 +-
 .../busybox/1.31.0/busybox-1.26.0-mdstart.patch| 80 --
 3 files changed, 1 insertion(+), 83 deletions(-)

diff --git a/defaults/busy-config b/defaults/busy-config
index 39c3010..0a2456a 100644
--- a/defaults/busy-config
+++ b/defaults/busy-config
@@ -1,5 +1,3 @@
-# Gentoo patch:
-CONFIG_MDSTART=y
 # Options to match older versions of busybox:
 CONFIG_ASH_BUILTIN_ECHO=y
 CONFIG_ASH_BUILTIN_PRINTF=y

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index f95f434..68adfb9 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -2332,7 +2332,7 @@ setup_md_device() {
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 mdstart ${MDPART} /dev/md${MD_NUMBER}
+   run raidautorun /dev/md${MD_NUMBER}
fi
 }
 

diff --git a/patches/busybox/1.31.0/busybox-1.26.0-mdstart.patch 
b/patches/busybox/1.31.0/busybox-1.26.0-mdstart.patch
deleted file mode 100644
index 35057b6..000
--- a/patches/busybox/1.31.0/busybox-1.26.0-mdstart.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-diff --git a/util-linux/mdStart.c b/util-linux/mdStart.c
 util-linux/mdStart.c   1969-12-31 18:00:00.0 -0600
-+++ util-linux/mdStart.c   2017-01-01 18:25:14.582737879 -0600
-@@ -0,0 +1,76 @@
-+/*
-+ * Linux 2.6(+) RAID Autostarter
-+ *
-+ * Copyright (C) 2005 by Tim Yamin  
-+ * Copyright (C) 2012 by Sebastian Pipping 
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ * General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-+ *
-+ */
-+//config:config MDSTART
-+//config: bool "mdstart"
-+//config: default n
-+//config: help
-+//config:   Allows you to autostart /dev/md devices if using an initramfs 
to
-+//config:   boot.
-+
-+//applet:IF_MDSTART(APPLET(mdstart, BB_DIR_SBIN, BB_SUID_DROP))
-+
-+//kbuild:lib-$(CONFIG_MDSTART) += mdStart.o
-+
-+//usage:#define mdstart_trivial_usage
-+//usage:  "[PARTITION] MD-NODE [[PARTITION] MD-NODE ...]"
-+//usage:
-+//usage:#define mdstart_full_usage "\n\n"
-+//usage:  "Run the RAID_AUTORUN ioctl on the given MD number"
-+
-+#include 
-+#include 
-+#include 
-+#include 
-+#include 
-+#include 
-+
-+extern int
-+mdstart_main(int argc, char *argv[])
-+{
-+  int i, fd, part = 0, retval = 0;
-+
-+  if(argc < 2)
-+  {
-+  bb_show_usage();
-+  }
-+
-+  for(i = 1; i < argc; i++)
-+  {
-+  if(sscanf(argv[i], "%d", ) == 1)
-+  continue;
-+
-+  fd = open(argv[i], 0, 0);
-+  if (fd >= 0)
-+  {
-+  ioctl(fd, RAID_AUTORUN, part);
-+  close(fd);
-+  } else
-+  {
-+  printf("Error: Failed to open %s!\n", argv[i]);
-+  retval=1;
-+  }
-+
-+  part = 0;
-+  }
-+
-+  return retval;
-+}



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

2019-08-07 Thread Thomas Deutschmann
commit: 1d79338fa7391f8bc41bb74411c9a955e24d81cd
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Tue Aug  6 18:04:20 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Wed Aug  7 15:03:44 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=1d79338f

initrd.scripts: prompt_user(): Read answer from $GK_PROMPT_FILE on timeout

This commit will bring back read timeout which was removed in
Commit a280829. Read timeout is still disabled by default but
can now be controlled via gk.prompt.timeout kernel command-line
argument.

When gk.prompt.timeout is != 0, the current prompt will be written
to $GK_PROMPT_FILE. This will allow remote user to notice that
there's a prompt.

In addition, on timeout, $GK_PROMPT_FILE will be read allowing
remote user to answer prompt and hopefully to fix the problem
and resume booting.

To make this work, gk.prompt.timeout will be set to 30 seconds
by default when SSH usage is enabled.

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

 defaults/initrd.defaults |  2 ++
 defaults/initrd.scripts  | 36 ++--
 defaults/linuxrc | 10 ++
 doc/genkernel.8.txt  |  9 +
 4 files changed, 51 insertions(+), 6 deletions(-)

diff --git a/defaults/initrd.defaults b/defaults/initrd.defaults
index 553600d..06057d7 100644
--- a/defaults/initrd.defaults
+++ b/defaults/initrd.defaults
@@ -85,6 +85,8 @@ GK_NET_TIMEOUT_DAD=10
 GK_NET_TIMEOUT_DECONFIGURATION=10
 GK_NET_TIMEOUT_DHCP=10
 GK_NET_TIMEOUT_INTERFACE=10
+GK_PROMPT_FILE='/tmp/current_prompt'
+GK_PROMPT_TIMEOUT=0
 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 68adfb9..88046b4 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1108,12 +1108,30 @@ prompt_user() {
bad_msg '- type "shell" for a shell'
bad_msg '- type "q" to skip ...'
printf "%s" "${2}(${oldvalue}) :: "
-   read ${1}
-   #if [ $? -gt 0 ]
-   #then
-   #   # prompt timed out
-   #   printf "\n"
-   #fi
+
+   if [ "${GK_PROMPT_TIMEOUT}" = '0' ]
+   then
+   read ${1}
+   else
+   local read_timeout_timestamp
+   let read_timeout_timestamp=$(date +%s)+${GK_PROMPT_TIMEOUT}
+
+   echo "# Could not find the ${2} in ${oldvalue}${explnt}" > 
"${GK_PROMPT_FILE}"
+   echo "# Please specify another value (file will be processed at 
$(date -d @${read_timeout_timestamp}):" >> "${GK_PROMPT_FILE}"
+   echo "${1}=${oldvalue}" >> "${GK_PROMPT_FILE}"
+   read -t ${GK_PROMPT_TIMEOUT} ${1}
+   if [ $? -gt 0 ]
+   then
+   # prompt timed out
+   printf "\n"
+
+   if [ -f "${GK_PROMPT_FILE}" ]
+   then
+   warn_msg "Timeout! Trying to read answer from 
'${GK_PROMPT_FILE}' ..."
+   . "${GK_PROMPT_FILE}" && run rm 
"${GK_PROMPT_FILE}"
+   fi
+   fi
+   fi
 
case $(eval echo '$'${1}) in
'q')
@@ -2145,6 +2163,12 @@ start_sshd() {
return
fi
 
+   if [ "${GK_PROMPT_TIMEOUT}" = '0' ]
+   then
+   warn_msg "Changing gk.prompt.timeout=0 to 30 ..."
+   GK_PROMPT_TIMEOUT=30
+   fi
+
if [ ! -x "/usr/sbin/dropbear" ]
then
bad_msg "/usr/sbin/dropbear not found! Did you call genkernel 
with --ssh parameter?"

diff --git a/defaults/linuxrc b/defaults/linuxrc
index b2ac54e..a57de1c 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -336,6 +336,16 @@ do
fi
unset tmp_wait
;;
+   gk.prompt.timeout=*)
+   tmp_timeout=${x#*=}
+   if is_int "${tmp_timeout}"
+   then
+   GK_PROMPT_TIMEOUT=${tmp_timeout}
+   else
+   warn_msg "'${x}' does not look like a valid 
time (second) value -- ignored!"
+   fi
+   unset tmp_timeout
+   ;;
real_rootflags=*)
REAL_ROOTFLAGS=${x#*=}
;;

diff --git a/doc/genkernel.8.txt b/doc/genkernel.8.txt
index 3ab28ce..3ebd320 100644
--- a/doc/genkernel.8.txt
+++ b/doc/genkernel.8.txt
@@ -687,6 +687,15 @@ recognized by the kernel itself.
 *gk.net.timeout.interface*=<...>::
 By default we will wait up to 10 seconds for interface to show up.
 
+*gk.prompt.timeout*=<...>::
+By default a prompt within genkernel initramfs like shown when set
+*root* could not be found will never timeout. Use this option to set
+a timeout.
+
+NOTE: When *dosshd* is used, 

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

2019-08-07 Thread Thomas Deutschmann
commit: a1f719112f02feb8e7c854a5095c7cebb6d0bf4a
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Tue Aug  6 17:17:20 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Tue Aug  6 20:40:32 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=a1f71911

login-remote.sh: Make shellcheck happy

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

 defaults/login-remote.sh | 28 ++--
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/defaults/login-remote.sh b/defaults/login-remote.sh
index ca85b06..12596b9 100644
--- a/defaults/login-remote.sh
+++ b/defaults/login-remote.sh
@@ -15,31 +15,31 @@ receivefile() {
swap)
file=${CRYPT_KEYFILE_SWAP}
;;
+   '')
+   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
 
# limit maximum stored bytes to 1M to avoid killing the server
-   dd of=${file} count=1k bs=1k 2>/dev/null
+   run dd of="${file}" count=1k bs=1k 2>/dev/null
return $?
 }
 
-
-
 if [ "x${1}" = "x-c" ]
 then
-   command=$(echo ${2} | awk -F" " '{print $1}')
-   type=$(echo ${2} | awk -F" " '{print $2}')
+   command=$(echo "${2}" | awk '{ print $1 }')
+   type=$(echo "${2}" | awk '{ print $2 }')
 
case ${command} in 
post)
-   receivefile ${type}
-   if [ $? -eq 0 ]
+   if receivefile "${type}"
then
-   unlock-luks ${type}
-   if [ $? -eq 0 ]
+   if unlock-luks "${type}"
then
if [ "${type}" = 'root' ]
then
@@ -53,12 +53,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
@@ -77,12 +77,12 @@ else
good_msg "${NORMAL}Be aware that it will kill your connection which 
means"
good_msg "${NORMAL}you will no longer be able to work in this shell."
 
-   if [ -n "${CRYPT_ROOT}" -a ! -f "${CRYPT_ROOT_OPENED_LOCKFILE}" ]
+   if [ -n "${CRYPT_ROOT}" ] && [ ! -f "${CRYPT_ROOT_OPENED_LOCKFILE}" ]
then
good_msg "${NORMAL}To remote unlock LUKS-encrypted root device, 
run '${BOLD}unlock-luks root${NORMAL}'."
fi
 
-   if [ -n "${CRYPT_SWAP}" -a ! -f "${CRYPT_ROOT_OPENED_LOCKFILE}" ]
+   if [ -n "${CRYPT_SWAP}" ] && [ ! -f "${CRYPT_ROOT_OPENED_LOCKFILE}" ]
then
good_msg "${NORMAL}To remote unlock LUKS-encrypted swap device, 
run '${BOLD}unlock-luks swap${NORMAL}'."
fi



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

2019-08-07 Thread Thomas Deutschmann
commit: 3022031a3824aedb923aac17e6817e158f6775ed
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Tue Aug  6 17:19:50 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Tue Aug  6 20:40:32 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=3022031a

unlock-luks.sh: Make shellcheck happy

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

 defaults/unlock-luks.sh | 19 +--
 1 file changed, 9 insertions(+), 10 deletions(-)

diff --git a/defaults/unlock-luks.sh b/defaults/unlock-luks.sh
index 16e654c..ebcd2ca 100644
--- a/defaults/unlock-luks.sh
+++ b/defaults/unlock-luks.sh
@@ -39,11 +39,11 @@ main() {
 
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 cryptsetup_options=
+   local cryptsetup_options
 
while true
do
-   local gpg_cmd= crypt_filter_ret=
+   local gpg_cmd crypt_filter_ret
 
if [ -e "${OPENED_LOCKFILE}" ]
then
@@ -53,15 +53,14 @@ 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 "Looks like CRYPT_${TYPE} kernel 
cmdline argument is not set." "${CRYPT_SILENT}"
exit 1
fi
 
-   setup_md_device ${LUKS_DEVICE}
-   cryptsetup isLuks ${LUKS_DEVICE}
-   if [ $? -ne 0 ]
+   setup_md_device "${LUKS_DEVICE}"
+   if ! 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.
@@ -69,7 +68,7 @@ main() {
else
if [ "x${LUKS_TRIM}" = "xyes" ]
then
-   good_msg "Enabling TRIM support for 
${LUKS_NAME} ..." ${CRYPT_SILENT}
+   good_msg "Enabling TRIM support for 
${LUKS_NAME} ..." "${CRYPT_SILENT}"

cryptsetup_options="${cryptsetup_options} --allow-discards"
fi
 
@@ -91,10 +90,10 @@ main() {
if [ ${crypt_filter_ret} -eq 0 ]
then
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/

2019-08-07 Thread Thomas Deutschmann
commit: 7c8515a1c53a988bfdc73b47c599d3df3e0354c8
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Tue Aug  6 20:13:06 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Wed Aug  7 15:03:44 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=7c8515a1

linuxrc: Remove dead code

This code shouldn't work (anymore) because $CHROOT is read-only at
this stage.

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

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

diff --git a/defaults/linuxrc b/defaults/linuxrc
index 6e01209..b2ac54e 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -1255,11 +1255,6 @@ fi
 
 cleanup
 
-good_msg "Booting (initramfs)"
-
-cd "${CHROOT}"
-mkdir "${CHROOT}/proc" "${CHROOT}/sys" "${CHROOT}/run" 2>/dev/null
-
 # If devtmpfs is mounted, try move it to the new root
 # If that fails, try to unmount all possible mounts of
 # devtmpfs as stuff breaks otherwise



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

2019-08-07 Thread Thomas Deutschmann
commit: 40350b36f2b22241fdf28789336e98ae7757
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sun Aug  4 16:08:58 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Aug  4 16:08:58 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=4035

busyy-config: Update

- Enable FEATURE_FAST_TOP by default

- Unset SVOK by default

- Enable WALL by default

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

 defaults/busy-config | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/defaults/busy-config b/defaults/busy-config
index 1184633..7830c83 100644
--- a/defaults/busy-config
+++ b/defaults/busy-config
@@ -111,7 +111,7 @@ CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
 CONFIG_PASSWORD_MINLEN=6
 CONFIG_MD5_SMALL=1
 CONFIG_SHA3_SMALL=1
-# CONFIG_FEATURE_FAST_TOP is not set
+CONFIG_FEATURE_FAST_TOP=y
 # CONFIG_FEATURE_ETC_NETWORKS is not set
 CONFIG_FEATURE_EDITING=y
 CONFIG_FEATURE_EDITING_MAX_LEN=1024
@@ -353,7 +353,7 @@ CONFIG_BASE64=y
 CONFIG_WC=y
 CONFIG_FEATURE_WC_LARGE=y
 CONFIG_WHOAMI=y
-# CONFIG_WHO is not set
+CONFIG_WHO=y
 # CONFIG_W is not set
 # CONFIG_USERS is not set
 CONFIG_YES=y
@@ -1054,6 +1054,7 @@ CONFIG_FEATURE_SHOW_THREADS=y
 # CONFIG_FEATURE_RUNSVDIR_LOG is not set
 # CONFIG_SV is not set
 CONFIG_SV_DEFAULT_SERVICE_DIR=""
+# CONFIG_SVOK is not set
 # CONFIG_SVC is not set
 # CONFIG_SVLOGD is not set
 # CONFIG_CHCON is not set



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

2019-08-07 Thread Thomas Deutschmann
commit: b54d7057a3ea2d192275d3376e891a6ead8872c3
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Mon Aug  5 13:51:57 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Tue Aug  6 20:40:31 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=b54d7057

initrd.scripts: Move splash() function to initrd.scripts

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

 defaults/initrd.scripts  | 4 
 defaults/linuxrc | 4 
 defaults/login-remote.sh | 4 
 defaults/unlock-luks.sh  | 4 
 4 files changed, 4 insertions(+), 12 deletions(-)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index f27c02f..1f7dc94 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1152,6 +1152,10 @@ waitForZFS() {
exit 1
 }
 
+splash() {
+   return 0
+}
+
 start_volumes() {
# Here, we check for /dev/device-mapper, and if it exists, we setup a
# a symlink, which should hopefully fix bug #142775 and bug #147015

diff --git a/defaults/linuxrc b/defaults/linuxrc
index e21e555..d729806 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -3,10 +3,6 @@
 . /etc/initrd.defaults
 . /etc/initrd.scripts
 
-splash() {
-   return 0
-}
-
 [ -e /etc/initrd.splash ] && . /etc/initrd.splash
 
 # Basic /dev content, we need it as fast as possible.

diff --git a/defaults/login-remote.sh b/defaults/login-remote.sh
index f8c4d08..ca85b06 100644
--- a/defaults/login-remote.sh
+++ b/defaults/login-remote.sh
@@ -5,10 +5,6 @@
 . /etc/initrd.scripts
 . "${CRYPT_ENV_FILE}"
 
-splash() {
-   return 0
-}
-
 [ -e /etc/initrd.splash ] && . /etc/initrd.splash
 
 receivefile() {

diff --git a/defaults/unlock-luks.sh b/defaults/unlock-luks.sh
index ef6b816..cae5269 100644
--- a/defaults/unlock-luks.sh
+++ b/defaults/unlock-luks.sh
@@ -4,10 +4,6 @@ print_usage() {
echo "Usage: $0 root|swap" >&2
 }
 
-splash() {
-   return 0
-}
-
 if [ -z "${1}" ]
 then
print_usage



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

2019-08-07 Thread Thomas Deutschmann
commit: f49a899ce13f9e41bdf592187e0d157b071bf82d
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Tue Aug  6 15:43:40 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Tue Aug  6 20:40:32 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=f49a899c

linuxrc: Fix console support

- Make sure we set console after processing CMDLINE so that we will
  use last set console which matches kernel documentation.

- Strip any set option from console= value.

- Regain control after spawning a shell.

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

 defaults/initrd.scripts | 15 ---
 defaults/linuxrc| 25 +
 2 files changed, 33 insertions(+), 7 deletions(-)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 2452f5f..6f7530f 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -827,9 +827,14 @@ run_shell() {
GOOD=${BLUE} good_msg "${NORMAL}...running Linux kernel 
${BOLD}${kernel_ver}${NORMAL}"
echo
 
-   if [ -n "${CONSOLE}" ] && [ -c "/dev/${CONSOLE}" ]
-   then
-   setsid ${SH} -c "exec sh --login /dev/${CONSOLE} 2>&1"
+   # Avoid /dev/{console,tty0} due to "can't access tty; job control 
turned off" problem;
+   # cttyhack will handle this for us...
+   if [ -n "${CONSOLE}" ] \
+   && [ "${CONSOLE}" != "/dev/console" ] \
+   && [ "${CONSOLE}" != "/dev/tty0" ] \
+   && [ -c "${CONSOLE}" ]
+   then
+   setsid ${SH} -c "exec sh --login <${CONSOLE} >${CONSOLE} 2>&1"
elif command -v cttyhack 1>/dev/null 2>&1
then
setsid cttyhack ${SH} --login
@@ -843,6 +848,10 @@ run_shell() {
rm "${GK_SHELL_LOCKFILE}"
 
echo
+
+   # We maybe have called exec and dettached from main script; We
+   # must restore control...
+   exec >${CONSOLE} <${CONSOLE} 2>&1
 }
 
 fs_type_in_use() {

diff --git a/defaults/linuxrc b/defaults/linuxrc
index dcae3cc..e3d5a2b 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -11,11 +11,13 @@
 [ ! -e /dev/tty ]  && mknod /dev/tty c 5 0
 [ ! -e /dev/tty0 ] && mknod /dev/tty0 c 4 0
 [ ! -e /dev/tty1 ] && mknod /dev/tty1 c 4 1
+[ ! -e /dev/ttyS0 ]&& mknod /dev/ttyS0 c 4 64
+[ ! -e /dev/ttyS1 ]&& mknod /dev/ttyS1 c 4 65
 [ ! -e /dev/urandom ]  && mknod /dev/urandom c 1 9
 [ ! -e /dev/random ]   && mknod /dev/random c 1 8
 [ ! -e /dev/zero ] && mknod /dev/zero c 1 5
 
-# Clean input/output
+# Take control
 exec >${CONSOLE} <${CONSOLE} 2>&1
 
 if [ "$$" != '1' ]
@@ -184,9 +186,9 @@ do
;;
# Redirect output to a specific tty
CONSOLE=*|console=*)
-   CONSOLE=${x#*=}
-   CONSOLE=$(basename ${CONSOLE})
-#  exec >${CONSOLE} <${CONSOLE} 2>&1
+   NEW_CONSOLE=${x#*=}
+   NEW_CONSOLE=$(basename ${NEW_CONSOLE})
+   NEW_CONSOLE=${NEW_CONSOLE%%,*}
;;
# /dev/md
lvmraid=*)
@@ -362,6 +364,21 @@ 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 >${NEW_CONSOLE} <${NEW_CONSOLE} 2>&1
+   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
+
 quiet_kmsg
 
 if [ "${CDROOT}" = '0' ]



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

2019-08-07 Thread Thomas Deutschmann
commit: e7735c6b2e2cbfb44ce550fa8e7f4359ab5f073c
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Tue Aug  6 17:45:19 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Wed Aug  7 15:03:40 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=e7735c6b

linuxrc: Log initramfs output/commands

By default, any {bad,good,warn}_msg output and external command calls
will now be logged to /tmp/init.log in initramfs. This can be turned
off via gk.log.disabled={1,yes} kernel command-line argument.

This is especially helpful when working with remote servers when you
can access initramfs system through SSH.

In addition, initramfs' log file can be preserved, i.e. copied to
real system just before switch_root call. This can be controlled
via gk.log.keep kernel command-line argument: When just enabled,
initramfs will copy log to $NEWROOT/genkernel-boot.log. Keep in my
that the file path must be accessible for initramfs and by default,
initramfs will only mount / as $NEWROOT and no additional mountpoints.

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

 defaults/initrd.defaults |   4 +
 defaults/initrd.scripts  | 535 ---
 defaults/linuxrc | 142 -
 defaults/login-remote.sh |  27 ++-
 defaults/unlock-luks.sh  |  18 +-
 doc/genkernel.8.txt  |  16 ++
 6 files changed, 522 insertions(+), 220 deletions(-)

diff --git a/defaults/initrd.defaults b/defaults/initrd.defaults
index fdf948e..553600d 100644
--- a/defaults/initrd.defaults
+++ b/defaults/initrd.defaults
@@ -71,6 +71,10 @@ VERIFY=0
 
 IP='dhcp'
 GK_DEBUGMODE_STATEFILE="/tmp/debug.enabled"
+GK_INIT_LOG='/tmp/init.log'
+GK_INIT_LOG_COPYTO=
+GK_INIT_LOG_DISABLED='/tmp/no-init.log'
+GK_INIT_LOG_PREFIX=
 GK_NET_DHCP_PIDFILE='/var/run/udhcpc.pid'
 GK_NET_DHCP_RETRIES=3
 GK_NET_GW=

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 6f7530f..f95f434 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -34,6 +34,17 @@ modules_scan() {
[ -n "${MODS}" ] && [ -z "${QUIET}" ] && \
printf "%b" "${BOLD}   ::${NORMAL} Loading from ${1}: "
 
+   if [ -z "${MODULES_SCAN_WARNING_SHOWN}" ]
+   then
+   local note_msg="NOTE: Due to how genkernel auto-detects your"
+   note_msg="${note_msg} hardware you will now see a lot of failed 
modprobe" \
+   note_msg="${note_msg} attempts which you can ignore:"
+
+   log_msg "${note_msg}"
+
+   MODULES_SCAN_WARNING_SHOWN=yes
+   fi
+
for x in ${MODS}
do
MLOAD=$(echo ${MLIST} | sed -e "s/.*${x}.*/${x}/")
@@ -55,7 +66,7 @@ modules_scan() {
printf "%b" "Scanning for ${x} ..."
fi
 
-   modprobe ${x} >/dev/null 2>&1
+   run modprobe ${x} >/dev/null 2>&1
loaded=${?}
 
is_debug && [ "${loaded}" = "0" ] && \
@@ -79,7 +90,6 @@ uppercase() {
echo $1 | tr 'a-z' 'A-Z'
 }
 
-
 findmediamount() {
# $1 = mount dir name / media name
# $2 = recognition file
@@ -130,14 +140,14 @@ findmediamount() {
fi
good_msg "Attempting to mount media: ${x}" 
${CRYPT_SILENT}
 
-   mount -t ${CDROOT_TYPE} ${x} ${mntcddir} 
>/dev/null 2>&1
+   run mount -t ${CDROOT_TYPE} ${x} ${mntcddir} 
>/dev/null 2>&1
if [ $? -eq 0 ]
then
if [ -n "${ISOBOOT}" ]
then
if [ -f 
"${mntcddir}/${ISOBOOT}" ]
then
-   mount -o loop 
"${mntcddir}/${ISOBOOT}" "${mntdir}"
+   run mount -o loop 
"${mntcddir}/${ISOBOOT}" "${mntdir}"
if [ $? -eq 0 ]
then
good_msg "iso 
mounted on ${mntdir}"
@@ -153,7 +163,7 @@ findmediamount() {
good_msg "Media found on ${x}" 
${CRYPT_SILENT}
break
else
-   umount ${mntcddir}
+   run umount ${mntcddir}
fi
fi
fi
@@ -203,37 +213,37 @@ bootstrapFS() {

aufs_branch=${aufs_memory}/aufs-rw-branch/${aufs_dev_uid}
fi
 
-   mkdir -p ${aufs_memory} 

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

2019-08-07 Thread Thomas Deutschmann
commit: 2906b025dbc60ef1f53427950a8d2cbd14dcc5b9
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sun Aug  4 16:06:12 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Aug  4 16:06:12 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=2906b025

linuxrc: Create /dev/tty{0,1}

/dev/tty1 is used by local debug shell for example.

Fixes: cf85138 ("initramfs: Don't call mknod when --busybox is used")
Signed-off-by: Thomas Deutschmann  gentoo.org>

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

diff --git a/defaults/linuxrc b/defaults/linuxrc
index 4113b63..e21e555 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -13,6 +13,8 @@ splash() {
 [ ! -e /dev/console ]  && mknod /dev/console c 5 1
 [ ! -e /dev/null ] && mknod /dev/null c 1 3
 [ ! -e /dev/tty ]  && mknod /dev/tty c 5 0
+[ ! -e /dev/tty0 ] && mknod /dev/tty0 c 4 0
+[ ! -e /dev/tty1 ] && mknod /dev/tty1 c 4 1
 [ ! -e /dev/urandom ]  && mknod /dev/urandom c 1 9
 [ ! -e /dev/random ]   && mknod /dev/random c 1 8
 [ ! -e /dev/zero ] && mknod /dev/zero c 1 5



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

2019-08-07 Thread Thomas Deutschmann
commit: 865109b62c15e77dee1ff4b449f970faa25813d0
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Tue Aug  6 20:23:06 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Wed Aug  7 15:03:45 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=865109b6

linuxrc: Remove dead code

Call to verbose_kmsg() was moved in commit 5842219. No need to keep this
any longer.

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

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

diff --git a/defaults/linuxrc b/defaults/linuxrc
index a57de1c..1bd6dc9 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -922,8 +922,6 @@ do
 done
 # End determine root device
 
-#verbose_kmsg
-
 # If CD root is set determine the looptype to boot
 if [ "${CDROOT}" = '1' ]
 then



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

2019-08-07 Thread Thomas Deutschmann
commit: 6b129aca406333e440079a3861883a44b8a200b0
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Tue Aug  6 14:59:28 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Tue Aug  6 20:40:31 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=6b129aca

initrd.defaults: Remove duplicated definition of $NORMAL

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

 defaults/initrd.defaults | 1 -
 1 file changed, 1 deletion(-)

diff --git a/defaults/initrd.defaults b/defaults/initrd.defaults
index c617064..704a5a2 100644
--- a/defaults/initrd.defaults
+++ b/defaults/initrd.defaults
@@ -6,7 +6,6 @@ PATH="/usr/sbin:/usr/bin:/sbin:/bin"
 # ctrl-V then esc will print ^[
 # ctrl-V then ctrl-shift-m will print ^M
 BACK_UP="\033[1K\033[0G"
-NORMAL="\033[0m"
 WARN="\033[33;1m"
 BAD="\033[31;1m"
 BOLD="\033[1m"



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

2019-08-07 Thread Thomas Deutschmann
commit: 5124ba044c454c112e756c5e8024650a64008609
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Tue Aug  6 15:11:39 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Tue Aug  6 20:40:31 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=5124ba04

linuxrc: Rework debug mode

This commit will introduce $GK_DEBUGMODE_STATEFILE and a new
function is_debug() to check if debug mode is enabled or not.

Using a state file instead of a variable will allow us to
enable/disable debug mode from outside:

I.e. when you have booted in debug mode and are working remotely,
you can now remove the state file, which will disable debug mode.
This will allow you to resume booting without dropping in
another local debug shell.

It works the other way, too: When you did NOT boot in debug
mode but experiencing a problem and want to drop in another
debug shell after next step, you can now enable debug mode by
creating the state file.

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

 defaults/initrd.defaults |  1 +
 defaults/initrd.scripts  | 34 --
 defaults/linuxrc |  2 +-
 defaults/unlock-luks.sh  |  2 +-
 4 files changed, 27 insertions(+), 12 deletions(-)

diff --git a/defaults/initrd.defaults b/defaults/initrd.defaults
index 704a5a2..89d13ac 100644
--- a/defaults/initrd.defaults
+++ b/defaults/initrd.defaults
@@ -70,6 +70,7 @@ CDROOT_MARKER='/livecd'
 VERIFY=0
 
 IP='dhcp'
+GK_DEBUGMODE_STATEFILE="/tmp/debug.enabled"
 GK_NET_DHCP_PIDFILE='/var/run/udhcpc.pid'
 GK_NET_DHCP_RETRIES=3
 GK_NET_GW=

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 1f7dc94..994f0f0 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -49,7 +49,7 @@ modules_scan() {
break
fi
 
-   if [ -n "${DEBUG}" ]
+   if is_debug
then
printf "%b" "${BOLD}   ::${NORMAL} "
printf "%b" "Scanning for ${x} ..."
@@ -58,12 +58,12 @@ modules_scan() {
modprobe ${x} >/dev/null 2>&1
loaded=${?}
 
-   [ -n "${DEBUG}" -a "${loaded}" = "0" ] && \
+   is_debug && [ "${loaded}" = "0" ] && \
echo "loaded"
-   [ -n "${DEBUG}" -a "${loaded}" != "0" ] && \
+   is_debug && [ "${loaded}" != "0" ] && \
echo "not loaded"
 
-   [ -z "${DEBUG}" -a "${loaded}" = "0" ] && \
+   ! is_debug && [ "${loaded}" = "0" ] && \
[ -z "${QUIET}" ] && \
printf "%b" "${x} "
else
@@ -462,6 +462,17 @@ conf_rc_no_umounts() {
fi
 }
 
+is_debug() {
+   is_debug=1
+
+   if [ -f "${GK_DEBUGMODE_STATEFILE}" ]
+   then
+   is_debug=0
+   fi
+
+   return ${is_debug}
+}
+
 # is_int "${A}" ["${B}"..]
 # NOTE we consider a leading 0 false as it would be interpreted as octal
 is_int() {
@@ -880,7 +891,7 @@ test_success() {
 # $2 hide flag
 
 good_msg() {
-   [ -n "${QUIET}" ] && [ -z "${DEBUG}" ] && return 0
+   [ -n "${QUIET}" ] && ! is_debug && return 0
 
msg_string=${1}
msg_string="${msg_string:-...}"
@@ -888,7 +899,7 @@ good_msg() {
 }
 
 good_msg_n() {
-   [ -n "${QUIET}" ] && [ -z "${DEBUG}" ] && return 0
+   [ -n "${QUIET}" ] && ! is_debug && return 0
 
msg_string=${1}
msg_string="${msg_string:-...}"
@@ -1943,7 +1954,7 @@ start_sshd() {
# setup environment variables for the ssh login shell
local varname= varvalue=
touch "${CRYPT_ENV_FILE}"
-   for varname in CRYPT_ROOT CRYPT_ROOT_TRIM CRYPT_SILENT CRYPT_SWAP DEBUG
+   for varname in CRYPT_ROOT CRYPT_ROOT_TRIM CRYPT_SILENT CRYPT_SWAP
do
eval varvalue=\$${varname}
echo "${varname}=${varvalue}" >> "${CRYPT_ENV_FILE}"
@@ -2106,12 +2117,15 @@ setup_md_device() {
 }
 
 rundebugshell() {
-   if [ -n "${DEBUG}" ]
+   if is_debug
then
good_msg 'Starting debug shell as requested by "debug" option.'
-   good_msg "Stopping by: ${1}"
-   run_shell
+   else
+   return 0
fi
+
+   good_msg "Stopping by: ${1}"
+   run_shell
 }
 
 do_resume() {

diff --git a/defaults/linuxrc b/defaults/linuxrc
index d729806..dcae3cc 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -153,7 +153,7 @@ do
;;
# Debug Options
debug)
-   DEBUG='yes'
+   touch "${GK_DEBUGMODE_STATEFILE}"
;;
# Scan delay options
scandelay=*)

diff --git a/defaults/unlock-luks.sh b/defaults/unlock-luks.sh
index 

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

2019-08-07 Thread Thomas Deutschmann
commit: d218502dd92b79e7920152d17843620d56d00756
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Tue Aug  6 15:34:53 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Tue Aug  6 20:40:32 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=d218502d

initrd.scripts: run_shell(): Use LOCK file

We cannot write PID because we use exec and don't return
before the shell we just spawned was closed.

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

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

diff --git a/defaults/initrd.defaults b/defaults/initrd.defaults
index 89d13ac..fdf948e 100644
--- a/defaults/initrd.defaults
+++ b/defaults/initrd.defaults
@@ -81,7 +81,7 @@ GK_NET_TIMEOUT_DAD=10
 GK_NET_TIMEOUT_DECONFIGURATION=10
 GK_NET_TIMEOUT_DHCP=10
 GK_NET_TIMEOUT_INTERFACE=10
-GK_SHELL_LOCKFILE='/var/run/rescueshell.pid'
+GK_SHELL_LOCKFILE='/tmp/rescueshell.lock'
 GK_SSHD_LOCKFILE='/tmp/remote-rescueshell.lock'
 GK_SSHD_PIDFILE='/var/run/dropbear.pid'
 GK_SSHD_PORT=22

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 994f0f0..2452f5f 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -818,6 +818,8 @@ check_loop() {
 run_shell() {
[ -x /bin/sh ] && SH=/bin/sh || SH=/bin/ash
 
+   touch "${GK_SHELL_LOCKFILE}"
+
export PS1='rescueshell \w \# '
 
echo
@@ -838,9 +840,9 @@ run_shell() {
${SH} --login
fi
 
-   echo
+   rm "${GK_SHELL_LOCKFILE}"
 
-   :> "${GK_SHELL_LOCKFILE}"
+   echo
 }
 
 fs_type_in_use() {



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

2019-07-29 Thread Thomas Deutschmann
commit: 97c0c1761b977b0ddc1100111b608a2dba32e32a
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Mon Jul 29 16:26:25 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Mon Jul 29 20:02:21 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=97c0c176

initrd.scripts: start_network(): Handle already running interface

When kernel was built with CONFIG_IP_PNP_DHCP=y option for example and
ip=dhcp was specified on kernel command-line, interface maybe already
up and running (configured). In this case it doesn't make any sense to
fire up udhcpc which would only get the same network configuration.

However, when interface is already up but manual IP configuration was
specified, we must restart interface to get back into a known state and
apply our own configuration like told by the user because we support
more complex configurations.

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

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

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index ce38bd8..e01f461 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1727,10 +1727,23 @@ start_network() {
 
warn_msg "Will not try to start network ..."
return 1
+   elif [ "${interface_identifier}" = 'mac' ]
+   then
+   good_msg "Interface detected as ${GK_NET_IFACE}"
fi
 
if [ -z "${IP}" -o "${IP}" = 'dhcp' ]
then
+   if is_interface_up
+   then
+   # CONFIG_IP_PNP_DHCP and ip=dhcp probably caused kernel 
to bring up
+   # network for us. Really no need re-run dhcp...
+   warn_msg "Interface ${GK_NET_IFACE} is already up."
+   warn_msg "Skipping network setup; Will use existing 
network configuration ..."
+   touch "${GK_NET_LOCKFILE}"
+   return 0
+   fi
+
good_msg "Bringing up interface ${GK_NET_IFACE} using dhcp ..." 
${QUIET}
busybox udhcpc -i "${GK_NET_IFACE}" -n -t 
${GK_NET_DHCP_RETRIES} -T ${GK_NET_TIMEOUT_DHCP} -R -p "${GK_NET_DHCP_PIDFILE}"
if [ $? -ne 0 ]
@@ -1739,6 +1752,15 @@ start_network() {
return 1
fi
else
+   if is_interface_up
+   then
+   # At this point we don't know if kernel has brought up 
network the
+   # way we wanted. It's safer to restart interface and do 
it on our own...
+   warn_msg "Interface ${GK_NET_IFACE} is already up and 
therefore in an unknown state!"
+   warn_msg "Will now restart interface ${GK_NET_IFACE} to 
get into a known state ..."
+   kill_network
+   fi
+
good_msg "Bringing up interface ${GK_NET_IFACE} ..." ${QUIET}
ip link set "${GK_NET_IFACE}" up
 
@@ -1835,7 +1857,16 @@ kill_network() {
return
fi
 
-   rm "${GK_NET_LOCKFILE}"
+   [ -f "${GK_NET_LOCKFILE}" ] && rm "${GK_NET_LOCKFILE}"
+}
+
+is_interface_up() {
+   if ip link show dev "${GK_NET_IFACE}" 2>/dev/null | grep -q ',UP,'
+   then
+   return 0
+   else
+   return 1
+   fi
 }
 
 ipv6_tentative() {



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

2019-07-29 Thread Thomas Deutschmann
commit: a5ea6132ef5afc2bdde38a84adc44849fa9b947f
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sun Jul 28 14:21:34 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Jul 28 21:19:39 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=a5ea6132

keymaps: Add bepo and colemak keymap

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

 defaults/initrd.scripts |  92 +---
 defaults/keymaps/10.map |   2 +-
 defaults/keymaps/11.map |   2 +-
 defaults/keymaps/12.map |   2 +-
 defaults/keymaps/13.map |   2 +-
 defaults/keymaps/14.map |   2 +-
 defaults/keymaps/15.map |   2 +-
 defaults/keymaps/16.map |   2 +-
 defaults/keymaps/17.map |   2 +-
 defaults/keymaps/18.map |   2 +-
 defaults/keymaps/19.map |   2 +-
 defaults/keymaps/20.map |   2 +-
 defaults/keymaps/21.map |   2 +-
 defaults/keymaps/22.map |   2 +-
 defaults/keymaps/23.map |   2 +-
 defaults/keymaps/24.map |   2 +-
 defaults/keymaps/25.map |   2 +-
 defaults/keymaps/26.map |   2 +-
 defaults/keymaps/27.map |   2 +-
 defaults/keymaps/28.map |   2 +-
 defaults/keymaps/29.map |   2 +-
 defaults/keymaps/3.map  |   2 +-
 defaults/keymaps/30.map |   2 +-
 defaults/keymaps/31.map |   2 +-
 defaults/keymaps/32.map |   2 +-
 defaults/keymaps/33.map |   2 +-
 defaults/keymaps/34.map |   2 +-
 defaults/keymaps/35.map |   2 +-
 defaults/keymaps/36.map |   2 +-
 defaults/keymaps/37.map |   2 +-
 defaults/keymaps/{35.map => 38.map} |   0
 defaults/keymaps/39.map |   2 +-
 defaults/keymaps/4.map  |   2 +-
 defaults/keymaps/40.map |   2 +-
 defaults/keymaps/41.map |   2 +-
 defaults/keymaps/42.map |   2 +-
 defaults/keymaps/43.map |   2 +-
 defaults/keymaps/{42.map => 44.map} |   0
 defaults/keymaps/5.map  |   2 +-
 defaults/keymaps/6.map  |   2 +-
 defaults/keymaps/7.map  |   2 +-
 defaults/keymaps/8.map  |   2 +-
 defaults/keymaps/9.map  |   2 +-
 defaults/keymaps/bepo.map   | Bin 0 -> 2823 bytes
 defaults/keymaps/colemak.map| Bin 0 -> 2823 bytes
 defaults/keymaps/keymapList |  16 +++
 46 files changed, 92 insertions(+), 96 deletions(-)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 827f843..ce38bd8 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1060,61 +1060,57 @@ chooseKeymap() {
case ${keymap} in
1|azerty) keymap=azerty ;;
2|be) keymap=be ;;
-   3|bg) keymap=bg ;;
-   4|br-a) keymap=br-a ;;
-   5|br-l) keymap=br-l ;;
-   6|by) keymap=by ;;
-   7|cf) keymap=cf ;;
-   8|croat) keymap=croat ;;
-   9|cz) keymap=cz ;;
-   10|de) keymap=de ;;
-   11|dk) keymap=dk ;;
-   12|dvorak) keymap=dvorak ;;
-   13|es) keymap=es ;;
-   14|et) keymap=et ;;
-   15|fi) keymap=fi ;;
-   16|fr) keymap=fr ;;
-   17|gr) keymap=gr ;;
-   18|hu) keymap=hu ;;
-   19|il) keymap=il ;;
-   20|is) keymap=is ;;
-   21|it) keymap=it ;;
-   22|jp) keymap=jp ;;
-   23|la) keymap=la ;;
-   24|lt) keymap=lt ;;
-   25|mk) keymap=mk ;;
-   26|nl) keymap=nl ;;
-   27|no) keymap=no ;;
-   28|pl) keymap=pl ;;
-   29|pt) keymap=pt ;;
-   30|ro) keymap=ro ;;
-   31|ru) keymap=ru ;;
-   32|se) keymap=se ;;
-   33|sg) keymap=sg ;;
-   34|sk-y) keymap=sk-y ;;
-   35|sk-z) keymap=sk-z ;;
-   36|slovene) keymap=slovene ;;
-   37|trf) keymap=trf ;;
-   38|trq) keymap=trq ;;
-   39|ua) keymap=ua ;;
-   40|uk) keymap=uk ;;
-   41|us) keymap=us ;;
-   42|wangbe) keymap=wangbe ;;
-   43|sf|ch*) keymap=sf ;;
+   3|bepo) keymap=bepo ;;
+   4|bg) keymap=bg ;;
+   5|br-a) keymap=br-a ;;
+   

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

2019-07-29 Thread Thomas Deutschmann
commit: 8a24f11205f7be79b22d81936c0c7e628b74986c
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Mon Jul 29 18:20:42 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Mon Jul 29 20:02:21 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=8a24f112

initrd.scripts: cleanup(): Don't bring down network interface when 
real_root=/dev/nfs

At this stage we already have mounted root over network so we
should not bring down the network interface.

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

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

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index e01f461..4c8955d 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -2011,7 +2011,12 @@ cleanup() {
 
if [ -f "${GK_NET_LOCKFILE}" ]
then
-   kill_network
+   if [ "${REAL_ROOT}" = "/dev/nfs" ]
+   then
+   warn_msg "real_root=/dev/nfs; Will not bring down 
interface ${GK_NET_IFACE} ..."
+   else
+   kill_network
+   fi
fi
 }
 



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

2019-07-21 Thread Thomas Deutschmann
commit: cba2892492a1e667b7f8855b9d0cfd60ce557c69
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sat Jul 20 20:37:12 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Jul 21 15:47:46 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=cba28924

initrd.scripts: start_volumes(): Normalize error messages

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

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

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 61ae534..827f843 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1167,9 +1167,9 @@ start_volumes() {
/sbin/mdadm --assemble --scan
#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 -IRs
+   /sbin/mdadm -IRs
else
-   bad_msg "mdadm not found: skipping mdadm raid assembly!"
+   bad_msg "domdadm invoked but /sbin/mdadm not found; 
Skipping mdadm raid assembly ..."
fi
fi
 
@@ -1227,6 +1227,8 @@ start_volumes() {
/sbin/dmraid -ay ${DMRAID_OPTS}
fi
[ -x '/sbin/kpartx' ] && /sbin/dmsetup ls --exec 
'/sbin/kpartx -a -s'
+   else
+   bad_msg "dodmraid invoked but /sbin/dmraid not found; 
Skipping dmraid activation ..."
fi
fi
 
@@ -1239,7 +1241,7 @@ start_volumes() {
 
if [ "${lvm_path}" = "MISSING" ]
then
-   bad_msg "dolvm invoked, but LVM binary not available! 
skipping LVM volume group activation!"
+   bad_msg "dolvm invoked but LVM binary not available; 
Skipping LVM volume group activation ..."
else
for dev in ${RAID_DEVICES}
do
@@ -1270,7 +1272,7 @@ start_volumes() {
then
if [ ! -e /sys/fs/bcache/register_quiet ]
then
-   warn_msg "'/sys/fs/bcache/register_quiet' does not 
exist. Missing kernel driver? Skipping dobcache ..."
+   bad_msg "dobcache invoked but 
'/sys/fs/bcache/register_quiet' does not exist; Skipping bcache initialization 
..."
else
local i=
for i in $(awk '$4 !~ /^(name$|$)/ { print $4 }' 
/proc/partitions)
@@ -1293,7 +1295,7 @@ start_volumes() {
then
/sbin/btrfs device scan
else
-   bad_msg "btrfs not found: skipping btrfs device 
scanning!"
+   bad_msg "dobtrfs invoked but /sbin/btrfs not found; 
Skipping btrfs device scanning ..."
fi
fi
 



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

2019-07-21 Thread Thomas Deutschmann
commit: cf851385321976893fc44c12cc0672ad6e8a9689
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Sat Jul 20 20:59:09 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Sun Jul 21 15:47:50 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=cf851385

initramfs: Don't call mknod when --busybox is used

This will basically allow us to run genkernel as user.

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

 defaults/linuxrc |  8 +++
 gen_initramfs.sh | 68 +++-
 2 files changed, 51 insertions(+), 25 deletions(-)

diff --git a/defaults/linuxrc b/defaults/linuxrc
index 41a53fc..4113b63 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -9,6 +9,14 @@ splash() {
 
 [ -e /etc/initrd.splash ] && . /etc/initrd.splash
 
+# Basic /dev content, we need it as fast as possible.
+[ ! -e /dev/console ]  && mknod /dev/console c 5 1
+[ ! -e /dev/null ] && mknod /dev/null c 1 3
+[ ! -e /dev/tty ]  && mknod /dev/tty c 5 0
+[ ! -e /dev/urandom ]  && mknod /dev/urandom c 1 9
+[ ! -e /dev/random ]   && mknod /dev/random c 1 8
+[ ! -e /dev/zero ] && mknod /dev/zero c 1 5
+
 # Clean input/output
 exec >${CONSOLE} <${CONSOLE} 2>&1
 

diff --git a/gen_initramfs.sh b/gen_initramfs.sh
index 8419a20..55cf295 100755
--- a/gen_initramfs.sh
+++ b/gen_initramfs.sh
@@ -178,34 +178,52 @@ log_future_cpio_content() {
 }
 
 append_devices() {
-   local TFILE="${TEMP}/initramfs-base-temp.devices"
-   if [ -f "${TFILE}" ]
+   if isTrue "${BUSYBOX}"
then
-   rm "${TFILE}" || gen_die "Failed to clean out existing 
'${TFILE}'!"
-   fi
+   local TDIR="${TEMP}/initramfs-devices-temp"
+   if [ -d "${TDIR}" ]
+   then
+   rm -r "${TDIR}" || gen_die "Failed to clean out 
existing '${TDIR}'!"
+   fi
 
-   if [[ ! -x "${KERNEL_OUTPUTDIR}/usr/gen_init_cpio" ]]; then
-   compile_gen_init_cpio
-   fi
+   mkdir -p "${TDIR}/dev" || gen_die "Failed to create 
'${TDIR}/dev'!"
+   cd "${TDIR}" || gen_die "Failed to chdir to '${TDIR}'!"
 
-   # WARNING, does NOT support appending to cpio!
-   cat >"${TFILE}" <<-EOF
-   dir /dev 0755 0 0
-   nod /dev/console 660 0 0 c 5 1
-   nod /dev/null 666 0 0 c 1 3
-   nod /dev/zero 666 0 0 c 1 5
-   nod /dev/tty0 600 0 0 c 4 0
-   nod /dev/tty1 600 0 0 c 4 1
-   nod /dev/ttyS0 600 0 0 c 4 64
-   EOF
+   chmod 0755 dev || gen_die "Failed to chmod of '${TDIR}/dev' to 
0755!"
 
-   print_info 3 
"=" 1 0 1
-   print_info 3 "Adding the following devices to cpio:" 1 0 1
-   print_info 3 "$(cat "${TFILE}")" 1 0 1
-   print_info 3 
"=" 1 0 1
+   log_future_cpio_content
+   find . -print0 | cpio ${CPIO_ARGS} -F "${CPIO}" \
+   || gen_die "Failed to append devices to cpio!"
+   else
+   local TFILE="${TEMP}/initramfs-base-temp.devices"
+   if [ -f "${TFILE}" ]
+   then
+   rm "${TFILE}" || gen_die "Failed to clean out existing 
'${TFILE}'!"
+   fi
+
+   if [[ ! -x "${KERNEL_OUTPUTDIR}/usr/gen_init_cpio" ]]; then
+   compile_gen_init_cpio
+   fi
 
-   "${KERNEL_OUTPUTDIR}"/usr/gen_init_cpio "${TFILE}" >"${CPIO}" \
-   || gen_die "Failed to append devices to cpio!"
+   # WARNING, does NOT support appending to cpio!
+   cat >"${TFILE}" <<-EOF
+   dir /dev 0755 0 0
+   nod /dev/console 660 0 0 c 5 1
+   nod /dev/null 666 0 0 c 1 3
+   nod /dev/zero 666 0 0 c 1 5
+   nod /dev/tty0 600 0 0 c 4 0
+   nod /dev/tty1 600 0 0 c 4 1
+   nod /dev/ttyS0 600 0 0 c 4 64
+   EOF
+
+   print_info 3 
"=" 1 0 1
+   print_info 3 "Adding the following devices to cpio:" 1 0 1
+   print_info 3 "$(cat "${TFILE}")" 1 0 1
+   print_info 3 
"=" 1 0 1
+
+   "${KERNEL_OUTPUTDIR}"/usr/gen_init_cpio "${TFILE}" >"${CPIO}" \
+   || gen_die "Failed to append devices to cpio!"
+   fi
 }
 
 append_base_layout() {
@@ -383,7 +401,7 @@ append_busybox() {
done
 
# Set up a few default symlinks
-   local required_applets='[ ash sh mount uname echo cut cat'
+   local required_applets='[ ash sh mknod mount uname echo cut cat'
local required_applet=
for required_applet in ${required_applets}
do
@@ -1576,7 +1594,7 @@ create_initramfs() {
# TODO: maybe replace this 

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

2019-07-18 Thread Thomas Deutschmann
commit: 057ede0d95124961692e5b67cd30eef5d305724b
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Thu Jul 18 17:23:36 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Thu Jul 18 17:23:36 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=057ede0d

initrd.scripts: start_network(): Don't try to start network when interface is 
missing

In addition, try to detect when udhcpc failed.

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

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

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index e93a5ad..9e70c00 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1664,10 +1664,21 @@ start_network() {
esac
done
 
+   if [ ! -d "/sys/class/net/${GK_NET_IFACE}" ]
+   then
+   warn_msg "Interface ${GK_NET_IFACE} not found; Will not try to 
start network ..."
+   return
+   fi
+
if [ -z "${IP}" -o "${IP}" = 'dhcp' ]
then
good_msg "Bringing up interface ${GK_NET_IFACE} using dhcp ..." 
${QUIET}
busybox udhcpc -i "${GK_NET_IFACE}" -n -t 
${GK_NET_DHCP_RETRIES} -T ${GK_NET_TIMEOUT_DHCP} -R -p "${GK_NET_DHCP_PIDFILE}"
+   if [ $? -ne 0 ]
+   then
+   bad_msg "Failed to start udhcpc for interface 
${GK_NET_IFACE}!"
+   return
+   fi
else
good_msg "Bringing up interface ${GK_NET_IFACE} ..." ${QUIET}
ip link set "${GK_NET_IFACE}" up



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

2019-07-18 Thread Thomas Deutschmann
commit: 2210b434bdf7bc04af91582c0e306b480f530560
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Thu Jul 18 17:25:18 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Thu Jul 18 17:25:18 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=2210b434

initrd.scripts: kill_network(): Don't try to kill network when interfacec is 
missing

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

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

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 9e70c00..5e1029c 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1713,6 +1713,12 @@ kill_network() {
kill $(cat "${GK_NET_DHCP_PIDFILE}")
fi
 
+   if [ ! -d "/sys/class/net/${GK_NET_IFACE}" ]
+   then
+   warn_msg "Interface ${GK_NET_IFACE} not found. Already down?"
+   return
+   fi
+
# If we are too quick and interface is still configuring IPv6
# waiting for DAD to complete due to received IPv6 RA, we have to
# wait.
@@ -1752,7 +1758,7 @@ kill_network() {
ip addr flush dev "${GK_NET_IFACE}"
ip route flush dev "${GK_NET_IFACE}"
ip link set "${GK_NET_IFACE}" down
-   if grep -q "down" "/sys/class/net/${GK_NET_IFACE}/operstate"
+   if grep -q "down" "/sys/class/net/${GK_NET_IFACE}/operstate" 
2>/dev/null
then
break
fi



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

2019-07-18 Thread Thomas Deutschmann
commit: fae92169597088759a3933fdf5a0766a80831f12
Author: Thomas Deutschmann  gentoo  org>
AuthorDate: Thu Jul 18 17:26:11 2019 +
Commit: Thomas Deutschmann  gentoo  org>
CommitDate: Thu Jul 18 17:26:11 2019 +
URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=fae92169

initrd.scripts: ipv6_tentative(): Hide errors

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 5e1029c..cdd5a2e 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1780,7 +1780,7 @@ kill_network() {
 }
 
 ipv6_tentative() {
-   if ip -family inet6 addr show dev "${GK_NET_IFACE}" | grep -q " 
tentative "
+   if ip -family inet6 addr show dev "${GK_NET_IFACE}" 2>/dev/null | grep 
-q " tentative "
then
return 0
else



<    1   2   3   4   >