[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: f973903cea8d161893b29b4fb4114561a6aa5674 Author: Ben Kohler gentoo org> AuthorDate: Wed May 22 15:14:32 2024 + Commit: Ben Kohler gentoo org> CommitDate: Wed May 22 15:14:32 2024 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=f973903c defaults/software.sh: fix srcdir for new bcache-tools Signed-off-by: Ben Kohler gentoo.org> defaults/software.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/defaults/software.sh b/defaults/software.sh index 01c504b..42004f3 100644 --- a/defaults/software.sh +++ b/defaults/software.sh @@ -13,7 +13,7 @@ GKPKG_BCACHE_TOOLS_PN="bcache-tools" GKPKG_BCACHE_TOOLS_PV="${GKPKG_BCACHE_TOOLS_PV:-${VERSION_BCACHE_TOOLS}}" GKPKG_BCACHE_TOOLS_DEPS="util-linux eudev" GKPKG_BCACHE_TOOLS_SRCTAR="${GKPKG_BCACHE_TOOLS_SRCTAR:-${DISTDIR}/bcache-tools-${GKPKG_BCACHE_TOOLS_PV}.tar.gz}" -GKPKG_BCACHE_TOOLS_SRCDIR="${GKPKG_BCACHE_TOOLS_SRCDIR:-bcache-tools-399021549984ad27bf4a13ae85e458833fe003d7}" +GKPKG_BCACHE_TOOLS_SRCDIR="${GKPKG_BCACHE_TOOLS_SRCDIR:-a5e3753516bd39c431def86c8dfec8a9cea1ddd4}" GKPKG_BCACHE_TOOLS_BINPKG="${GKPKG_BCACHE_TOOLS_BINPKG:-%%CACHE%%/bcache-tools-${GKPKG_BCACHE_TOOLS_PV}-%%ARCH%%.tar.xz}" GKPKG_BOOST_PN="boost"
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: d34b15e5f24da59852c2aa6807712319c5fb51e9 Author: Ben Kohler gentoo org> AuthorDate: Wed May 1 18:00:13 2024 + Commit: Ben Kohler gentoo org> CommitDate: Wed May 1 18:00:13 2024 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=d34b15e5 defaults/software.sh: still build for bcache-tools-1.0.8* for now Signed-off-by: Ben Kohler gentoo.org> defaults/software.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/defaults/software.sh b/defaults/software.sh index 42004f3..01c504b 100644 --- a/defaults/software.sh +++ b/defaults/software.sh @@ -13,7 +13,7 @@ GKPKG_BCACHE_TOOLS_PN="bcache-tools" GKPKG_BCACHE_TOOLS_PV="${GKPKG_BCACHE_TOOLS_PV:-${VERSION_BCACHE_TOOLS}}" GKPKG_BCACHE_TOOLS_DEPS="util-linux eudev" GKPKG_BCACHE_TOOLS_SRCTAR="${GKPKG_BCACHE_TOOLS_SRCTAR:-${DISTDIR}/bcache-tools-${GKPKG_BCACHE_TOOLS_PV}.tar.gz}" -GKPKG_BCACHE_TOOLS_SRCDIR="${GKPKG_BCACHE_TOOLS_SRCDIR:-a5e3753516bd39c431def86c8dfec8a9cea1ddd4}" +GKPKG_BCACHE_TOOLS_SRCDIR="${GKPKG_BCACHE_TOOLS_SRCDIR:-bcache-tools-399021549984ad27bf4a13ae85e458833fe003d7}" GKPKG_BCACHE_TOOLS_BINPKG="${GKPKG_BCACHE_TOOLS_BINPKG:-%%CACHE%%/bcache-tools-${GKPKG_BCACHE_TOOLS_PV}-%%ARCH%%.tar.xz}" GKPKG_BOOST_PN="boost"
[gentoo-commits] proj/genkernel:master commit in: defaults/, patches/bcache-tools/1.1_p20230217/
commit: 8b9919ae6b30b4d5c24bf62b52decedc6fea2bdf Author: Ben Kohler gentoo org> AuthorDate: Tue Apr 30 16:28:02 2024 + Commit: Ben Kohler gentoo org> CommitDate: Tue Apr 30 16:28:02 2024 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=8b9919ae {gkbuilds,patches}/bcache-tools: fix build Signed-off-by: Ben Kohler gentoo.org> defaults/software.sh | 2 +- .../bcache-tools-1.0.8_p20141204-build.patch | 88 -- .../bcache-tools-1.0.8_p20141204-crc64.patch | 53 - .../bcache-tools-1.0.8_p20141204-modprobe.patch| 11 --- 4 files changed, 1 insertion(+), 153 deletions(-) diff --git a/defaults/software.sh b/defaults/software.sh index df7decc..42004f3 100644 --- a/defaults/software.sh +++ b/defaults/software.sh @@ -13,7 +13,7 @@ GKPKG_BCACHE_TOOLS_PN="bcache-tools" GKPKG_BCACHE_TOOLS_PV="${GKPKG_BCACHE_TOOLS_PV:-${VERSION_BCACHE_TOOLS}}" GKPKG_BCACHE_TOOLS_DEPS="util-linux eudev" GKPKG_BCACHE_TOOLS_SRCTAR="${GKPKG_BCACHE_TOOLS_SRCTAR:-${DISTDIR}/bcache-tools-${GKPKG_BCACHE_TOOLS_PV}.tar.gz}" -GKPKG_BCACHE_TOOLS_SRCDIR="${GKPKG_BCACHE_TOOLS_SRCDIR:-bcache-tools-a5e3753516bd39c431def86c8dfec8a9cea1ddd4}" +GKPKG_BCACHE_TOOLS_SRCDIR="${GKPKG_BCACHE_TOOLS_SRCDIR:-a5e3753516bd39c431def86c8dfec8a9cea1ddd4}" GKPKG_BCACHE_TOOLS_BINPKG="${GKPKG_BCACHE_TOOLS_BINPKG:-%%CACHE%%/bcache-tools-${GKPKG_BCACHE_TOOLS_PV}-%%ARCH%%.tar.xz}" GKPKG_BOOST_PN="boost" diff --git a/patches/bcache-tools/1.1_p20230217/bcache-tools-1.0.8_p20141204-build.patch b/patches/bcache-tools/1.1_p20230217/bcache-tools-1.0.8_p20141204-build.patch deleted file mode 100644 index 6f6d4ca..000 --- a/patches/bcache-tools/1.1_p20230217/bcache-tools-1.0.8_p20141204-build.patch +++ /dev/null @@ -1,88 +0,0 @@ a/Makefile -+++ b/Makefile -@@ -1,32 +1,63 @@ -+CC ?= gcc -+PREFIX = /usr -+UDEVLIBDIR = /lib/udev -+DRACUTLIBDIR = /lib/dracut -+INSTALL ?= install -+CFLAGS ?= -O2 -Wall -g -+PKG_CONFIG ?= pkg-config - --PREFIX=/usr --UDEVLIBDIR=/lib/udev --DRACUTLIBDIR=/lib/dracut --INSTALL=install --CFLAGS+=-O2 -Wall -g -+BCACHE_TEST_LIBS = $(shell $(PKG_CONFIG) --libs openssl) -lm -+ -+MAKE_BCACHE_CFLAGS = $(shell $(PKG_CONFIG) --cflags uuid blkid) -+MAKE_BCACHE_LIBS = $(shell $(PKG_CONFIG) --libs uuid blkid) -+ -+PROBE_BCACHE_CFLAGS = $(shell $(PKG_CONFIG) --cflags uuid blkid) -+PROBE_BCACHE_LIBS = $(shell $(PKG_CONFIG) --libs uuid blkid) -+ -+BCACHE_SUPER_SHOW_CFLAGS = -std=gnu99 $(shell $(PKG_CONFIG) --cflags uuid) -+BCACHE_SUPER_SHOW_LIBS = $(shell $(PKG_CONFIG) --libs uuid) - - all: make-bcache probe-bcache bcache-super-show bcache-register - - install: make-bcache probe-bcache bcache-super-show -- $(INSTALL) -m0755 make-bcache bcache-super-show $(DESTDIR)${PREFIX}/sbin/ -- $(INSTALL) -m0755 probe-bcache bcache-register $(DESTDIR)$(UDEVLIBDIR)/ -- $(INSTALL) -m0644 69-bcache.rules $(DESTDIR)$(UDEVLIBDIR)/rules.d/ -+ $(INSTALL) -m0755 -d $(DESTDIR)${PREFIX}/sbin -+ $(INSTALL) -D -m0755 make-bcache bcache-super-show $(DESTDIR)${PREFIX}/sbin/ -+ $(INSTALL) -m0755 -d $(DESTDIR)$(UDEVLIBDIR)/rules.d -+ $(INSTALL) -m0755 probe-bcache bcache-register $(DESTDIR)$(UDEVLIBDIR)/ -+ $(INSTALL) -m0644 69-bcache.rules $(DESTDIR)$(UDEVLIBDIR)/rules.d/ -+ $(INSTALL) -m0755 -d $(DESTDIR)${PREFIX}/share/man/man8 - $(INSTALL) -m0644 -- *.8 $(DESTDIR)${PREFIX}/share/man/man8/ -- $(INSTALL) -D -m0755 initramfs/hook $(DESTDIR)/usr/share/initramfs-tools/hooks/bcache -- $(INSTALL) -D -m0755 initcpio/install $(DESTDIR)/usr/lib/initcpio/install/bcache -+ $(INSTALL) -D -m0755 initramfs/hook $(DESTDIR)/usr/share/initramfs-tools/hooks/bcache -+ $(INSTALL) -D -m0755 initcpio/install $(DESTDIR)/usr/lib/initcpio/install/bcache - $(INSTALL) -D -m0755 dracut/module-setup.sh $(DESTDIR)$(DRACUTLIBDIR)/modules.d/90bcache/module-setup.sh - # $(INSTALL) -m0755 bcache-test $(DESTDIR)${PREFIX}/sbin/ - - clean: -- $(RM) -f make-bcache probe-bcache bcache-super-show bcache-test -- *.o -- --bcache-test: LDLIBS += `pkg-config --libs openssl` -lm --make-bcache: LDLIBS += `pkg-config --libs uuid blkid` --make-bcache: CFLAGS += `pkg-config --cflags uuid blkid` --make-bcache: bcache.o --probe-bcache: LDLIBS += `pkg-config --libs uuid blkid` --probe-bcache: CFLAGS += `pkg-config --cflags uuid blkid` --bcache-super-show: LDLIBS += `pkg-config --libs uuid` --bcache-super-show: CFLAGS += -std=gnu99 --bcache-super-show: bcache.o -+ $(RM) -f make-bcache probe-bcache bcache-register bcache-super-show bcache-test -- *.o -+ -+make-bcache: bcache.o make-bcache.o -+ $(CC) -o $@ $^ $(LDFLAGS) $(MAKE_BCACHE_LIBS) -+ -+bcache.o: bcache.c bcache.h -+ $(CC) -c $(CFLAGS) $< -o $@ -+ -+make-bcache.o: make-bcache.c -+ $(CC) -c $(CFLAGS) $(MAKE_BCACHE_CFLAGS) $< -o $@ -+ -+probe-bcache: probe-bcache.o -+ $(CC) -o $@ $^ $(LDFLAGS) $(PROBE_BCACHE_
[gentoo-commits] proj/genkernel:master commit in: defaults/keymaps/
commit: 361810b23acd9452218368acecc7cc5262f00c74 Author: Ben Kohler gentoo org> AuthorDate: Tue Feb 27 20:44:59 2024 + Commit: Ben Kohler gentoo org> CommitDate: Tue Feb 27 20:44:59 2024 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=361810b2 keymaps: replace trf with trq Bug: https://bugs.gentoo.org/922076 Signed-off-by: Ben Kohler gentoo.org> defaults/keymaps/40.map | 2 +- defaults/keymaps/trf.map | Bin 2823 -> 0 bytes defaults/keymaps/trq.map | Bin 0 -> 2823 bytes 3 files changed, 1 insertion(+), 1 deletion(-) diff --git a/defaults/keymaps/40.map b/defaults/keymaps/40.map index e76e565..8aa41ed 12 --- a/defaults/keymaps/40.map +++ b/defaults/keymaps/40.map @@ -1 +1 @@ -trf.map \ No newline at end of file +trq.map \ No newline at end of file diff --git a/defaults/keymaps/trf.map b/defaults/keymaps/trf.map deleted file mode 100644 index 77908f6..000 Binary files a/defaults/keymaps/trf.map and /dev/null differ diff --git a/defaults/keymaps/trq.map b/defaults/keymaps/trq.map new file mode 100644 index 000..cc90565 Binary files /dev/null and b/defaults/keymaps/trq.map differ
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: 5efa00417c425043c393542011ab256f88488cbc Author: Timothy Kenno Handojo gmail com> AuthorDate: Tue Jan 30 06:45:19 2024 + Commit: Robin H. Johnson gentoo org> CommitDate: Sat Feb 17 05:11:26 2024 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=5efa0041 updated software.sh Signed-off-by: Robin H. Johnson gentoo.org> defaults/software.sh | 68 ++-- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/defaults/software.sh b/defaults/software.sh index b893f06..01c504b 100644 --- a/defaults/software.sh +++ b/defaults/software.sh @@ -10,14 +10,14 @@ # originate from user changes to /etc/genkernel.conf . GKPKG_BCACHE_TOOLS_PN="bcache-tools" -GKPKG_BCACHE_TOOLS_PV="${GKPKG_BCACHE_TOOLS_PV:-VERSION_BCACHE_TOOLS}" +GKPKG_BCACHE_TOOLS_PV="${GKPKG_BCACHE_TOOLS_PV:-${VERSION_BCACHE_TOOLS}}" GKPKG_BCACHE_TOOLS_DEPS="util-linux eudev" GKPKG_BCACHE_TOOLS_SRCTAR="${GKPKG_BCACHE_TOOLS_SRCTAR:-${DISTDIR}/bcache-tools-${GKPKG_BCACHE_TOOLS_PV}.tar.gz}" GKPKG_BCACHE_TOOLS_SRCDIR="${GKPKG_BCACHE_TOOLS_SRCDIR:-bcache-tools-399021549984ad27bf4a13ae85e458833fe003d7}" GKPKG_BCACHE_TOOLS_BINPKG="${GKPKG_BCACHE_TOOLS_BINPKG:-%%CACHE%%/bcache-tools-${GKPKG_BCACHE_TOOLS_PV}-%%ARCH%%.tar.xz}" GKPKG_BOOST_PN="boost" -GKPKG_BOOST_PV="${GKPKG_BOOST_PV:-VERSION_BOOST}" +GKPKG_BOOST_PV="${GKPKG_BOOST_PV:-${VERSION_BOOST}}" GKPKG_BOOST_DEPS="boost-build" GKPKG_BOOST_SRCTAR="${GKPKG_BOOST_SRCTAR:-${DISTDIR}/boost_${GKPKG_BOOST_PV//./_}.tar.bz2}" GKPKG_BOOST_SRCDIR="${GKPKG_BOOST_SRCDIR:-boost_${GKPKG_BOOST_PV//./_}}" @@ -31,98 +31,98 @@ GKPKG_BOOST_BUILD_SRCDIR="${GKPKG_BOOST_SRCDIR}" GKPKG_BOOST_BUILD_BINPKG="${GKPKG_BOOST_BUILD_BINPKG:-%%CACHE%%/boost-build-${GKPKG_BOOST_BUILD_PV}.tar.xz}" GKPKG_BTRFS_PROGS_PN="btrfs-progs" -GKPKG_BTRFS_PROGS_PV="${GKPKG_BTRFS_PROGS_PV:-VERSION_BTRFS_PROGS}" +GKPKG_BTRFS_PROGS_PV="${GKPKG_BTRFS_PROGS_PV:-${VERSION_BTRFS_PROGS}}" GKPKG_BTRFS_PROGS_DEPS="util-linux zlib zstd lzo eudev" GKPKG_BTRFS_PROGS_SRCTAR="${GKPKG_BTRFS_PROGS_SRCTAR:-${DISTDIR}/btrfs-progs-v${GKPKG_BTRFS_PROGS_PV}.tar.xz}" GKPKG_BTRFS_PROGS_SRCDIR="${GKPKG_BTRFS_PROGS_SRCDIR:-btrfs-progs-v${GKPKG_BTRFS_PROGS_PV}}" GKPKG_BTRFS_PROGS_BINPKG="${GKPKG_BTRFS_PROGS_BINPKG:-%%CACHE%%/btrfs-progs-${GKPKG_BTRFS_PROGS_PV}-%%ARCH%%.tar.xz}" GKPKG_BUSYBOX_PN="busybox" -GKPKG_BUSYBOX_PV="${GKPKG_BUSYBOX_PV:-VERSION_BUSYBOX}" +GKPKG_BUSYBOX_PV="${GKPKG_BUSYBOX_PV:-${VERSION_BUSYBOX}}" GKPKG_BUSYBOX_DEPS="libxcrypt" GKPKG_BUSYBOX_SRCTAR="${GKPKG_BUSYBOX_SRCTAR:-${DISTDIR}/busybox-${GKPKG_BUSYBOX_PV}.tar.bz2}" GKPKG_BUSYBOX_SRCDIR="${GKPKG_BUSYBOX_SRCDIR:-busybox-${GKPKG_BUSYBOX_PV}}" GKPKG_BUSYBOX_BINPKG="${GKPKG_BUSYBOX_BINPKG:-%%CACHE%%/busybox-${GKPKG_BUSYBOX_PV}-%%ARCH%%.tar.xz}" GKPKG_COREUTILS_PN="coreutils" -GKPKG_COREUTILS_PV="${GKPKG_COREUTILS_PV:-VERSION_COREUTILS}" +GKPKG_COREUTILS_PV="${GKPKG_COREUTILS_PV:-${VERSION_COREUTILS}}" GKPKG_COREUTILS_DEPS="" GKPKG_COREUTILS_SRCTAR="${GKPKG_COREUTILS_SRCTAR:-${DISTDIR}/coreutils-${GKPKG_COREUTILS_PV}.tar.xz}" GKPKG_COREUTILS_SRCDIR="${GKPKG_COREUTILS_SRCDIR:-coreutils-${GKPKG_COREUTILS_PV}}" GKPKG_COREUTILS_BINPKG="${GKPKG_COREUTILS_BINPKG:-%%CACHE%%/coreutils-${GKPKG_COREUTILS_PV}-%%ARCH%%.tar.xz}" GKPKG_CRYPTSETUP_PN="cryptsetup" -GKPKG_CRYPTSETUP_PV="${GKPKG_CRYPTSETUP_PV:-VERSION_CRYPTSETUP}" +GKPKG_CRYPTSETUP_PV="${GKPKG_CRYPTSETUP_PV:-${VERSION_CRYPTSETUP}}" GKPKG_CRYPTSETUP_DEPS="util-linux eudev json-c popt libgpg-error libgcrypt lvm" GKPKG_CRYPTSETUP_SRCTAR="${GKPKG_CRYPTSETUP_SRCTAR:-${DISTDIR}/cryptsetup-${GKPKG_CRYPTSETUP_PV}.tar.xz}" GKPKG_CRYPTSETUP_SRCDIR="${GKPKG_CRYPTSETUP_SRCDIR:-cryptsetup-${GKPKG_CRYPTSETUP_PV}}" GKPKG_CRYPTSETUP_BINPKG="${GKPKG_CRYPTSETUP_BINPKG:-%%CACHE%%/cryptsetup-${GKPKG_CRYPTSETUP_PV}-%%ARCH%%.tar.xz}" GKPKG_DMRAID_PN="dmraid" -GKPKG_DMRAID_PV="${GKPKG_DMRAID_PV:-VERSION_DMRAID}" +GKPKG_DMRAID_PV="${GKPKG_DMRAID_PV:-${VERSION_DMRAID}}" GKPKG_DMRAID_DEPS="eudev lvm" GKPKG_DMRAID_SRCTAR="${GKPKG_DMRAID_SRCTAR:-${DISTDIR}/dmraid-${GKPKG_DMRAID_PV}.tar.bz2}" GKPKG_DMRAID_SRCDIR="${GKPKG_DMRAID_SRCDIR:-dmraid/${GKPKG_DMRAID_PV}/dmraid}" GKPKG_DMRAID_BINPKG="${GKPKG_DMRAID_BINPKG:-%%CACHE%%/dmraid-${GKPKG_DMRAID_PV}-%%ARCH%%.tar.xz}" GKPKG_DROPBEAR_PN="dropbear" -GKPKG_DROPBEAR_PV="${GKPKG_DROPBEAR_PV:-VERSION_DROPBEAR}" +GKPKG_DROPBEAR_PV="${GKPKG_DROPBEAR_PV:-${VERSION_DROPBEAR}}" GKPKG_DROPBEAR_DEPS="zlib libxcrypt" GKPKG_DROPBEAR_SRCTAR="${GKPKG_DROPBEAR_SRCTAR:-${DISTDIR}/dropbear-${GKPKG_DROPBEAR_PV}.tar.bz2}" GKPKG_DROPBEAR_SRCDIR="${GKPKG_DROPBEAR_SRCDIR:-dropbear-${GKPKG_DROPBEAR_PV}}" GKPKG_DROPBEAR_BINPKG="${GKPKG_DROPBEAR_BINPKG:-%%CACHE%%/dropbear-${GKPKG_DROPBEAR_PV}-%%ARCH%%.tar.xz}" GKPKG_EUDEV_PN="eudev" -GKPKG_EUDEV_PV="${GKPKG_EUDEV_PV:-VERSION_EUDEV}" +GKPKG_EUDEV_PV="${GKPKG_EUDEV_PV:-${VERSION_EUDEV}}" GKPKG_EUDEV_DEPS="util-linux zlib xz zstd k
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: bd2f2e1ea079d1721d8fcf684c966d556b763d3e Author: Ben Kohler gentoo org> AuthorDate: Fri Feb 16 19:38:28 2024 + Commit: Ben Kohler gentoo org> CommitDate: Fri Feb 16 19:38:28 2024 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=bd2f2e1e initrd.scripts: create dir layout for overlayfs as well These dirs like /mnt/gentoo are normally created during boot but overlayfs usage bypasses that. Let's create them for overlayfs users as well. Signed-off-by: Ben Kohler gentoo.org> defaults/initrd.scripts | 7 +++ 1 file changed, 7 insertions(+) diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index 01bfe07..506f8c6 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -855,6 +855,13 @@ setup_overlayfs() { run mount --bind "${i}" "${NEW_ROOT}${i}" done + # Setup the filesystem nodes and directories + # Copied from non-overlayfs logic earlier in this script + for i in ${CDROOT_PATH} /mnt/header /mnt/livecd /mnt/key /mnt/gentoo /tmp /tmp/.initrd /dev /proc /run /sys; do + run mkdir -p "${NEW_ROOT}${i}" + run chmod 755 "${NEW_ROOT}${i}" + done + # Did we populate the overlayfs modules path locations variable? if [ -n "${mods}" ] then
[gentoo-commits] proj/genkernel:master commit in: defaults/, /, doc/
commit: 732bd70737b784aa5e6b15430b7cf9f4e28948a1 Author: FlyingWaffle pm me> AuthorDate: Thu May 19 23:43:24 2022 + Commit: Sam James gentoo org> CommitDate: Wed Aug 30 05:47:41 2023 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=732bd707 Plymouth support for genkernel (squashed). Bug: https://bugs.gentoo.org/753617 Signed-off-by: FlyingWaffle pm.me> Signed-off-by: Sam James gentoo.org> defaults/initrd.scripts | 95 +++-- defaults/linuxrc| 19 -- doc/genkernel.8.txt | 7 gen_cmdline.sh | 14 gen_determineargs.sh| 16 + gen_initramfs.sh| 57 + genkernel.conf | 7 7 files changed, 210 insertions(+), 5 deletions(-) diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index 3d00a55..01bfe07 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -1031,6 +1031,8 @@ run_emergency_shell() { } run_shell() { + splash 'verbose' >/dev/null & + if ! is_userinteraction_allowed then bad_msg "gk.userinteraction.disabled is set; Spawning a shell is disabled!" @@ -1226,9 +1228,22 @@ write_env_file() { } crypt_filter() { + local ask_pass=${2} + good_msg "Using the following decryption command: ${1}" ${CRYPT_SILENT} + if [ "${CRYPT_SILENT}" = '1' ] then eval run ${1} + elif [ "${PLYMOUTH}" = '1' ] && [ ${ask_pass} -eq 1 ] + then + local ply_cmd_file="$(mktemp -t 'ply_cmd.XX' 2>/dev/null)" + printf '#!/bin/sh\n%s\n' "${1}" > "${ply_cmd_file}" + run chmod 500 "${ply_cmd_file}" + plymouthRun ask-for-password --prompt "Enter LUKS passphrase" \ + --number-of-tries=3 --command="${ply_cmd_file}" + res=$? + run rm "${ply_cmd_file}" >/dev/null 2>&1 + return ${res} else splash 'verbose' >/dev/null & eval run ${1} @@ -1306,6 +1321,7 @@ prompt_user() { fi [ -n "${3}" ] && local explnt=" or : ${3}" || local explnt="." + splash 'verbose' >/dev/null & bad_msg "Could not find the ${2} in ${oldvalue}${explnt}" if [ -f "${GK_USERINTERACTION_DISABLED_STATEFILE}" ] @@ -1388,6 +1404,8 @@ prompt_user() { eval ${1}'='${oldvalue} ;; esac + + splash 'quiet' >/dev/null & } cmdline_hwopts() { @@ -1550,7 +1568,64 @@ copyKeymap() { } splash() { - return 0 + if [ "${FBSPLASH}" = '1' ] + then + return 0 + elif [ "${PLYMOUTH}" = '1' ] + then + case "${1}" in + init) + plymouthInit + ;; + + verbose) + plymouthRun --hide-splash + ;; + + set_msg) + plymouthRun --update="${2}" + ;; + + quiet) + plymouthRun --show-splash + ;; + + hasroot) + plymouthRun --newroot="${2}" + ;; + esac + fi +} + +plymouthRun() { + run plymouth --ping 2>/dev/null || return $? + run plymouth "${@}" 2>/dev/null +} + +plymouthInit() { + good_msg "Starting Plymouth..." + run mkdir -p -m 0755 /run/plymouth || return 1 + + # Make sure that udev is done loading tty and drm + run udevadm trigger --action=add --attr-match=class=0x03 >/dev/null 2>&1 + run udevadm trigger --action=add --subsystem-match=graphics \ + --subsystem-match=drm --subsystem-match=tty >/dev/null 2>&1 + udevsettle + + run plymouthd --mode=boot --attach-to-session \ + --pid-file=/run/plymouth/pid + if [ $? -ne 0 ] + then + bad_msg "Can't start plymouthd!" + PLYMOUTH=0 + return 1 + fi + + plymouthRun --show-splash + if [ $? -eq 0 ] + then + good_msg "Plymouth initialized" + fi } start_volumes() { @@ -1825,6 +1900,7 @@ openLUKS() { eval local LUKS_KEYDEV='"${CRYPT_'${TYPE}'_KEYDEV}"' eval local LUKS_KEYDEV_FSTYPE='"${CRYPT_'${TYPE}'_KEYDEV_FSTYPE}"' eval local OPENED_LOCKFILE='"${CRYPT_'${TYPE}'_OPENED_LOCKFILE}"' + local ASK_PASS=0 local DEV_ERROR=0 local HEADER_ERROR=0 HEADERDEV_ERROR=0 local KEY_ERROR=0 KEYDEV_ERROR=0 @@ -2054,12 +2130,25 @@ openLUKS() { else [ -e /dev/tty ] && run mv /dev/tty /dev/tty.org run mknod /dev/tty c 5 1 +
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: eb778e05720d2721204231e457df6948446d9af5 Author: Marat Buharov gmail com> AuthorDate: Tue Jul 18 23:33:42 2023 + Commit: Sam James gentoo org> CommitDate: Thu Jul 27 10:58:58 2023 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=eb778e05 Enabling zstd multithreaded compression Enabling zstd multithreaded compression gives same boost as enabling it for XZ compression in previous commit. Signed-off-by: Marat Buharov gmail.com> Closes: https://github.com/gentoo/genkernel/pull/47 Closes: https://github.com/gentoo/genkernel/pull/48 Signed-off-by: Sam James gentoo.org> defaults/compression_methods.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/defaults/compression_methods.sh b/defaults/compression_methods.sh index 37abf46..8cdc38c 100644 --- a/defaults/compression_methods.sh +++ b/defaults/compression_methods.sh @@ -37,6 +37,6 @@ GKICM_XZ_EXT=".xz" GKICM_XZ_PKG="app-arch/xz-utils" GKICM_ZSTD_KOPTNAME="ZSTD" -GKICM_ZSTD_CMD="zstd -f -19 -q" +GKICM_ZSTD_CMD="zstd -f -19 -q -T0" GKICM_ZSTD_EXT=".zst" GKICM_ZSTD_PKG="app-arch/zstd"
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: b44b57129fc4a828e8bf36a34ffe3f078f861b2a Author: Sam James gentoo org> AuthorDate: Thu Jul 27 10:58:12 2023 + Commit: Sam James gentoo org> CommitDate: Thu Jul 27 10:58:24 2023 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=b44b5712 defaults/initrd.scripts: kill off some more `which` stragglers Followup to 04225e090e9936df6c5a9ddd5a3926d13e0001df. Signed-off-by: Sam James gentoo.org> defaults/initrd.scripts | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index f8cc861..3d00a55 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -2791,16 +2791,16 @@ tuxonice_resume() { if ! grep suspend_noui /proc/cmdline >/dev/null 2>&1 then - which suspend2ui_text >/dev/null 2>&1 && which suspend2ui_text > "${tuxonice_userui_program}" - which tuxoniceui_text >/dev/null 2>&1 && which tuxoniceui_text > "${tuxonice_userui_program}" + command -v suspend2ui_text >/dev/null 2>&1 && command -v suspend2ui_text > "${tuxonice_userui_program}" + command -v tuxoniceui_text >/dev/null 2>&1 && command -v tuxoniceui_text > "${tuxonice_userui_program}" if [ -n "${splash_theme}" ] then ln -s /etc/splash/${splash_theme} /etc/splash/suspend2 ln -s /etc/splash/${splash_theme} /etc/splash/tuxonice - which suspend2ui_fbsplash >/dev/null 2>&1 && which suspend2ui_fbsplash > "${tuxonice_userui_program}" - which tuxoniceui_fbsplash >/dev/null 2>&1 && which tuxoniceui_fbsplash > "${tuxonice_userui_program}" + command -v suspend2ui_fbsplash >/dev/null 2>&1 && command -v suspend2ui_fbsplash > "${tuxonice_userui_program}" + command -v tuxoniceui_fbsplash >/dev/null 2>&1 && command -v tuxoniceui_fbsplash > "${tuxonice_userui_program}" fi fi
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: 4d4cb613dfb61f079db30e4f70bbd9aeb56890d8 Author: Sam James gentoo org> AuthorDate: Thu Jul 27 10:50:25 2023 + Commit: Sam James gentoo org> CommitDate: Thu Jul 27 10:50:25 2023 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=4d4cb613 defaults/software.sh: use dist tarball for libxcrypt Signed-off-by: Sam James gentoo.org> defaults/software.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/defaults/software.sh b/defaults/software.sh index 5c75a4e..b893f06 100644 --- a/defaults/software.sh +++ b/defaults/software.sh @@ -166,7 +166,7 @@ GKPKG_LIBGPG_ERROR_BINPKG="${GKPKG_LIBGPG_ERROR_BINPKG:-%%CACHE%%/libgpg-error-$ GKPKG_LIBXCRYPT_PN="libxcrypt" GKPKG_LIBXCRYPT_PV="${GKPKG_LIBXCRYPT_PV:-VERSION_LIBXCRYPT}" GKPKG_LIBXCRYPT_DEPS="" -GKPKG_LIBXCRYPT_SRCTAR="${GKPKG_LIBXCRYPT_SRCTAR:-${DISTDIR}/libxcrypt-${GKPKG_LIBXCRYPT_PV}.tar.gz}" +GKPKG_LIBXCRYPT_SRCTAR="${GKPKG_LIBXCRYPT_SRCTAR:-${DISTDIR}/libxcrypt-${GKPKG_LIBXCRYPT_PV}.tar.xz}" GKPKG_LIBXCRYPT_SRCDIR="${GKPKG_LIBXCRYPT_SRCDIR:-libxcrypt-${GKPKG_LIBXCRYPT_PV}}" GKPKG_LIBXCRYPT_BINPKG="${GKPKG_LIBXCRYPT_BINPKG:-%%CACHE%%/libxcrypt-${GKPKG_LIBXCRYPT_PV}-%%ARCH%%.tar.xz}"
[gentoo-commits] proj/genkernel:master commit in: defaults/, gkbuilds/
commit: 45b3d3aa452103994e9349b29357944c8b39bad6 Author: Sam James gentoo org> AuthorDate: Thu Jul 27 10:42:28 2023 + Commit: Sam James gentoo org> CommitDate: Thu Jul 27 10:42:28 2023 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=45b3d3aa Add userspace-rcu (new dep of xfsprogs) Signed-off-by: Sam James gentoo.org> defaults/software.sh | 9 - gkbuilds/userspace-rcu.gkbuild | 13 + 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/defaults/software.sh b/defaults/software.sh index 0dce9e1..5c75a4e 100644 --- a/defaults/software.sh +++ b/defaults/software.sh @@ -219,6 +219,13 @@ GKPKG_UNIONFS_FUSE_SRCTAR="${GKPKG_UNIONFS_FUSE_SRCTAR:-${DISTDIR}/unionfs-fuse- GKPKG_UNIONFS_FUSE_SRCDIR="${GKPKG_UNIONFS_FUSE_SRCDIR:-unionfs-fuse-${GKPKG_UNIONFS_FUSE_PV}}" GKPKG_UNIONFS_FUSE_BINPKG="${GKPKG_UNIONFS_FUSE_BINPKG:-%%CACHE%%/unionfs-fuse-${GKPKG_UNIONFS_FUSE_PV}-%%ARCH%%.tar.xz}" +GKPKG_USERSPACE_RCU_PN="userspace-rcu" +GKPKG_USERSPACE_RCU_PV="${GKPKG_USERSPACE_RCU_PV:-VERSION_USERSPACE_RCU}" +GKPKG_USERSPACE_RCU_DEPS="" +GKPKG_USERSPACE_RCU_SRCTAR="${GKPKG_UTIL_LINUX_SRCTAR:-${DISTDIR}/userspace-rcu-${GKPKG_USERSPACE_RCU_PV}.tar.bz2}" +GKPKG_USERSPACE_RCU_SRCDIR="${GKPKG_UTIL_LINUX_SRCDIR:-userspace-rcu-${GKPKG_USERSPACE_RCU_PV}}" +GKPKG_USERSPACE_RCU_BINPKG="${GKPKG_UTIL_LINUX_BINPKG:-%%CACHE%%/userspace-rcu-${GKPKG_USERSPACE_RCU_PV}-%%ARCH%%.tar.xz}" + GKPKG_UTIL_LINUX_PN="util-linux" GKPKG_UTIL_LINUX_PV="${GKPKG_UTIL_LINUX_PV:-VERSION_UTIL_LINUX}" GKPKG_UTIL_LINUX_DEPS="" @@ -228,7 +235,7 @@ GKPKG_UTIL_LINUX_BINPKG="${GKPKG_UTIL_LINUX_BINPKG:-%%CACHE%%/util-linux-${GKPKG GKPKG_XFSPROGS_PN="xfsprogs" GKPKG_XFSPROGS_PV="${GKPKG_XFSPROGS_PV:-VERSION_XFSPROGS}" -GKPKG_XFSPROGS_DEPS="util-linux" +GKPKG_XFSPROGS_DEPS="util-linux userspace-rcu" GKPKG_XFSPROGS_SRCTAR="${GKPKG_XFSPROGS_SRCTAR:-${DISTDIR}/xfsprogs-${GKPKG_XFSPROGS_PV}.tar.xz}" GKPKG_XFSPROGS_SRCDIR="${GKPKG_XFSPROGS_SRCDIR:-xfsprogs-${GKPKG_XFSPROGS_PV}}" GKPKG_XFSPROGS_BINPKG="${GKPKG_XFSPROGS_BINPKG:-%%CACHE%%/xfsprogs-${GKPKG_XFSPROGS_PV}-%%ARCH%%.tar.xz}" diff --git a/gkbuilds/userspace-rcu.gkbuild b/gkbuilds/userspace-rcu.gkbuild new file mode 100644 index 000..5b4b7bf --- /dev/null +++ b/gkbuilds/userspace-rcu.gkbuild @@ -0,0 +1,13 @@ +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +src_configure() { + gkconf --enable-static +} + +src_install() { + default + + rm -rf "${D}"/usr/share +} +
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: 1a279fb3c8dde317da95cb394477ea9a961f8302 Author: Ben Kohler gentoo org> AuthorDate: Wed Jun 28 15:09:22 2023 + Commit: Ben Kohler gentoo org> CommitDate: Wed Jun 28 15:09:22 2023 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=1a279fb3 defaults/kernel-generic-config: enable multi-gen LRU Bug: https://bugs.gentoo.org/908512 Signed-off-by: Ben Kohler gentoo.org> defaults/kernel-generic-config | 2 ++ 1 file changed, 2 insertions(+) diff --git a/defaults/kernel-generic-config b/defaults/kernel-generic-config index 927a44d..ac98e60 100644 --- a/defaults/kernel-generic-config +++ b/defaults/kernel-generic-config @@ -3315,6 +3315,8 @@ CONFIG_LPC_ICH=m CONFIG_LP_CONSOLE=y CONFIG_LPC_SCH=m CONFIG_LRU_CACHE=m +CONFIG_LRU_GEN=y +CONFIG_LRU_GEN_ENABLED=y CONFIG_LSI_ET1011C_PHY=m CONFIG_LSM_MMAP_MIN_ADDR=65536 CONFIG_LSM="yama,loadpin,safesetid,integrity,selinux,smack,tomoyo,apparmor"
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: db1df8ea5a42ce058f12473ea79de3ac1f8afb4f Author: Maciej S. Szmigiero maciej szmigiero name> AuthorDate: Fri Jun 10 22:23:32 2022 + Commit: Robin H. Johnson gentoo org> CommitDate: Fri Jun 10 22:23:53 2022 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=db1df8ea Enable threaded XZ compression by default With the current proliferation of multi-core CPUs enabling threaded XZ compression brings very significant runtime improvement: on my 4-core system the total genkernel runtime drops from 356 seconds to 166 seconds (a reduction of more than 50%) - so let's enable this mode by default. Signed-off-by: Maciej S. Szmigiero maciej.szmigiero.name> defaults/compression_methods.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/defaults/compression_methods.sh b/defaults/compression_methods.sh index b65f057..37abf46 100644 --- a/defaults/compression_methods.sh +++ b/defaults/compression_methods.sh @@ -32,7 +32,7 @@ GKICM_LZMA_EXT=".lzma" GKICM_LZMA_PKG="app-arch/xz-utils" GKICM_XZ_KOPTNAME="XZ" -GKICM_XZ_CMD="xz -e --check=none -z -f -9" +GKICM_XZ_CMD="xz -e --check=none -z -f -9 -T 0" GKICM_XZ_EXT=".xz" GKICM_XZ_PKG="app-arch/xz-utils"
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: 2f5a7fc596bdf919f41ddc5df063abf109af6758 Author: FlyingWaffle pm me> AuthorDate: Sat May 28 21:24:41 2022 + Commit: Robin H. Johnson gentoo org> CommitDate: Sat May 28 21:24:41 2022 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=2f5a7fc5 Fixes a mistake with quotation usage when testing for LVM flag. Signed-off-by: FlyingWaffle pm.me> defaults/linuxrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/defaults/linuxrc b/defaults/linuxrc index 9daad4a..2f94eb4 100644 --- a/defaults/linuxrc +++ b/defaults/linuxrc @@ -672,7 +672,7 @@ if [ "${CDROOT}" != '1' ] then if ( [ -n "${CRYPT_SWAP_KEY}" ] && [ -z "${CRYPT_SWAP_KEYDEV}" ] ) || \ ( [ -n "${CRYPT_SWAP_HEADER}" ] && [ -z "${CRYPT_SWAP_HEADERDEV}" ] ) || \ - ( [ "${REAL_ROOT}" = "${REAL_RESUME}" ] || [ ${USE_LVM_NORMAL} -eq 1 ] ) + ( [ "${REAL_ROOT}" = "${REAL_RESUME}" ] || [ "${USE_LVM_NORMAL}" = '1' ] ) then # the swap key or header might be on the root fs so start it first in this case start_LUKS_root
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: eba3381a9d7039cf0a1d066299b1d40e91d23226 Author: FlyingWaffle pm me> AuthorDate: Sat May 28 20:32:49 2022 + Commit: Robin H. Johnson gentoo org> CommitDate: Sat May 28 20:32:49 2022 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=eba3381a Additional test to allow for hibernation resume... ...on a broader range of system configurations, including LVM and swapfiles. Signed-off-by: FlyingWaffle pm.me> defaults/linuxrc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/defaults/linuxrc b/defaults/linuxrc index 5ee7804..9daad4a 100644 --- a/defaults/linuxrc +++ b/defaults/linuxrc @@ -671,7 +671,8 @@ keyctl_keyadd if [ "${CDROOT}" != '1' ] then if ( [ -n "${CRYPT_SWAP_KEY}" ] && [ -z "${CRYPT_SWAP_KEYDEV}" ] ) || \ - ( [ -n "${CRYPT_SWAP_HEADER}" ] && [ -z "${CRYPT_SWAP_HEADERDEV}" ] ) + ( [ -n "${CRYPT_SWAP_HEADER}" ] && [ -z "${CRYPT_SWAP_HEADERDEV}" ] ) || \ + ( [ "${REAL_ROOT}" = "${REAL_RESUME}" ] || [ ${USE_LVM_NORMAL} -eq 1 ] ) then # the swap key or header might be on the root fs so start it first in this case start_LUKS_root
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: 08c60969a77ae7ce836691b3419429296810b6e8 Author: Dmitry Baranov gmail com> AuthorDate: Tue May 24 23:42:30 2022 + Commit: Robin H. Johnson gentoo org> CommitDate: Tue May 24 23:51:47 2022 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=08c60969 defaults/initrd.scripts: openLUKS(): remove extra bracket in conditional block Signed-off-by: Dmitry Baranov gmail.com> defaults/initrd.scripts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index eb556d6..7012356 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -1848,7 +1848,7 @@ openLUKS() { good_msg "The LUKS device ${LUKS_DEVICE} meanwhile was opened by someone else." break # if crypt_silent=1 and some error occurs, enter shell quietly - elif [ \( ${CRYPT_SILENT} -eq 1 \) -a \( \( \( ${DEV_ERROR} -eq 1 \) \) ] + elif [ \( ${CRYPT_SILENT} -eq 1 \) -a \( \( ${DEV_ERROR} -eq 1 \) \) ] then run_emergency_shell elif [ \( ${CRYPT_SILENT} -eq 1 \) -a \( \( \( ${HEADER_ERROR} -eq 1 \) \) -o \( ${HEADERDEV_ERROR} -eq 1 \) \) ]
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: c3249d243fcf6dc56f46e2442df6751db91a4606 Author: Dmitry Baranov gmail com> AuthorDate: Tue May 24 23:38:22 2022 + Commit: Robin H. Johnson gentoo org> CommitDate: Wed May 25 06:02:41 2022 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=c3249d24 defaults/initrd.scripts: start_LUKS_*(): fix bootstrap calls and sleeps Signed-off-by: Dmitry Baranov gmail.com> defaults/initrd.scripts | 41 ++--- 1 file changed, 26 insertions(+), 15 deletions(-) diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index 7012356..f8cc861 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -2486,18 +2486,23 @@ ipv6_tentative() { } start_LUKS_root() { - # if key is set but neither ssh enabled or key device is given, find - # the key device + # if key/header is set but neither ssh enabled or key device is given, find + # the key/header device - if [ -n "${CRYPT_ROOT_KEY}" ] + if ( + [ -n "${CRYPT_ROOT_KEY}" -a -z "${CRYPT_ROOT_KEYDEV}" ] || + [ -n "${CRYPT_ROOT_HEADER}" -a -z "${CRYPT_ROOT_HEADERDEV}" ] + ) then - ( [ -z "${CRYPT_ROOT_KEYDEV}" ] || [ -z "${CRYPT_ROOT_HEADERDEV}" ] ) \ - && sleep 6 - - [ -z "${CRYPT_ROOT_KEYDEV}" ] && bootstrapKey "ROOT" - [ -z "${CRYPT_ROOT_HEADERDEV}" ] && bootstrapHeader "ROOT" + sleep 6 fi + [ -n "${CRYPT_ROOT_KEY}" -a -z "${CRYPT_ROOT_KEYDEV}" ] \ + && bootstrapKey "ROOT" + + [ -n "${CRYPT_ROOT_HEADER}" -a -z "${CRYPT_ROOT_HEADERDEV}" ] \ + && bootstrapHeader "ROOT" + if [ -n "${CRYPT_ROOT}" ] then openLUKS "root" @@ -2512,16 +2517,22 @@ start_LUKS_root() { } start_LUKS_swap() { - if [ -n "${CRYPT_SWAP_KEY}" ] - then - # same for swap, but no need to sleep if root was unencrypted - ( [ -z "${CRYPT_ROOT_KEYDEV}" ] || [ -z "${CRYPT_ROOT_HEADERDEV}" ] ) \ - && [ -z "${CRYPT_ROOT}" ] && sleep 6 + # same for swap, but no need to sleep if root was unencrypted - [ -z "${CRYPT_SWAP_KEYDEV}" ] && bootstrapKey "SWAP" - [ -z "${CRYPT_SWAP_HEADERDEV}" ] && bootstrapHeader "SWAP" + if ( + [ -n "${CRYPT_SWAP_KEY}" -a -z "${CRYPT_SWAP_KEYDEV}" ] || + [ -n "${CRYPT_SWAP_HEADER}" -a -z "${CRYPT_SWAP_HEADERDEV}" ] + ) + then + [ -z "${CRYPT_ROOT}" ] && sleep 6 fi + [ -n "${CRYPT_SWAP_KEY}" -a -z "${CRYPT_SWAP_KEYDEV}" ] \ + && bootstrapKey "SWAP" + + [ -n "${CRYPT_SWAP_HEADER}" -a -z "${CRYPT_SWAP_HEADERDEV}" ] \ + && bootstrapHeader "SWAP" + if [ -n "${CRYPT_SWAP}" ] then openLUKS "swap"
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: 33394fef9f712ca0854eca248fe85863771ca04a Author: Andreas K. Hüttel gentoo org> AuthorDate: Mon May 16 19:31:34 2022 + Commit: Andreas K. Hüttel gentoo org> CommitDate: Mon May 16 19:33:25 2022 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=33394fef linuxrc: do not rely on chroot evaluating PATH When trying to install a new kernel on catbus.sparc.dev.gentoo.org, the newly built initrd consistently claimed that it could not find init, and dropped to the rescue shell. However, init was there just fine in /newroot (as before). I dug out the command that is actually run inside linuxrc, elif ! chroot "${CHROOT}" test -x /${init#/} 1>/dev/null 2>&1 and tried to run that manually, which led to a rather strange error message rescueshell / # chroot /newroot test -x /lib/systemd/systemd chroot: can't execute 'test': File name too long Some more research led me to the busybox manpage (where here chroot comes from): https://busybox.net/downloads/BusyBox.html#chroot chroot chroot NEWROOT [PROG [ARGS]] Run PROG with root directory set to NEWROOT Note, the third argument is *not* a command (as with usual chroot, see the manpage from coreutils chroot) but a program! Bug: https://bugs.gentoo.org/842027 Signed-off-by: Andreas K. Hüttel gentoo.org> defaults/linuxrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/defaults/linuxrc b/defaults/linuxrc index ff08ba2..15fbf7c 100644 --- a/defaults/linuxrc +++ b/defaults/linuxrc @@ -1376,7 +1376,7 @@ do if ! mountpoint "${CHROOT}" 1>/dev/null 2>&1 then bad_msg "${CHROOT} is not a mountpoint; Was root device (${REAL_ROOT}) not mounted?" - elif ! chroot "${CHROOT}" test -x /${init#/} 1>/dev/null 2>&1 + elif ! chroot "${CHROOT}" /usr/bin/test -x /${init#/} 1>/dev/null 2>&1 then mounted_root_device=$(mountpoint -n /newroot 2>/dev/null | awk '{ print $1 }') bad_msg "init (${init}) not found in mounted root device (${mounted_root_device})!"
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: 63da86622d47e919ebb08c894b1552d71151473a Author: Robin H. Johnson gentoo org> AuthorDate: Mon May 16 05:42:04 2022 + Commit: Robin H. Johnson gentoo org> CommitDate: Mon May 16 05:43:22 2022 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=63da8662 defaults/modules_load: more crypto modules Needed more cryptsetup in weirder cases. Maybe better in future to provide easier way to detect these and/or match dracut's code for module selection. Based on old https://github.com/robbat2/genkernel/pull/29 submission Closes: https://github.com/robbat2/genkernel/pull/29 Suggested-by: David Guglielmi gmail.com> Signed-off-by: Robin H. Johnson gentoo.org> defaults/modules_load | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/defaults/modules_load b/defaults/modules_load index 1c78415..2ca2046 100644 --- a/defaults/modules_load +++ b/defaults/modules_load @@ -30,7 +30,7 @@ MODULES_USB="ehci-pci ehci-hcd xhci-hcd xhci-pci xhci-plat xhci-plat-hcd uhci us MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs f2fs fuse virtiofs loop squashfs aufs overlay cramfs configfs fscrypto msdos" # Crypto -MODULES_CRYPTO="sha256_generic cbc crc32 crc32c crc32c_generic crc32_generic aes_generic xts af_alg algif_skcipher algif_hash algif_aead algif_rng serpent_generic" +MODULES_CRYPTO="sha256_generic cbc crc32 crc32c crc32c_generic crc32_generic aes_generic xts af_alg algif_skcipher algif_hash algif_aead algif_rng serpent_generic ecb blake2b_generic blake2s_generic ccm cfb cmac chacha20poly1305 chacha_generic curve25519-generic ofb pcbc sha3_generic vmac xcbc" # Hyper-V MODULES_HYPERV="hv_sock hv_utils hv_vmbus hv_balloon hyperv-keyboard hid_hyperv hv_utils hyperv_fb hv_storvsc"
[gentoo-commits] proj/genkernel:master commit in: defaults/, doc/
commit: 73a05632d61171685ac4960c6b684cefa6d82afd Author: Dmitry Baranov gmail com> AuthorDate: Wed Oct 14 19:03:01 2020 + Commit: Robin H. Johnson gentoo org> CommitDate: Sat Aug 7 17:20:10 2021 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=73a05632 Add support for LUKS detached header Signed-off-by: Dmitry Baranov gmail.com> defaults/initrd.scripts | 162 +++- defaults/linuxrc| 18 ++ doc/genkernel.8.txt | 22 +++ 3 files changed, 186 insertions(+), 16 deletions(-) diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index 33a48b3..5a83d93 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -306,7 +306,7 @@ bootstrapFS() { fi # Setup the filesystem nodes and directories - for i in ${CDROOT_PATH} /mnt/livecd /mnt/key /mnt/gentoo /tmp /tmp/.initrd /dev /proc /run /sys; do + for i in ${CDROOT_PATH} /mnt/header /mnt/livecd /mnt/key /mnt/gentoo /tmp /tmp/.initrd /dev /proc /run /sys; do run mkdir -p "${NEW_ROOT}${i}" run chmod 755 "${NEW_ROOT}${i}" done @@ -391,6 +391,14 @@ bootstrapCD() { fi } +bootstrapHeader() { + # $1 = ROOT/SWAP + local HEADERDEVS=$(devicelist) + eval local headerloc='"${CRYPT_'${1}'_HEADER}"' + + findmediamount "header" "${headerloc}" "CRYPT_${1}_HEADERDEV" "/mnt/header" ${HEADERDEVS} +} + bootstrapKey() { # $1 = ROOT/SWAP local KEYDEVS=$(devicelist) @@ -1828,12 +1836,17 @@ openLUKS() { local LUKS_NAME="${1}" eval local LUKS_DEVICE='"${CRYPT_'${TYPE}'}"' + eval local LUKS_HEADER='"${CRYPT_'${TYPE}'_HEADER}"' + eval local LUKS_HEADERDEV='"${CRYPT_'${TYPE}'_HEADERDEV}"' + eval local LUKS_HEADERDEV_FSTYPE='"${CRYPT_'${TYPE}'_HEADERDEV_FSTYPE}"' eval local LUKS_KEY='"${CRYPT_'${TYPE}'_KEY}"' eval local LUKS_KEYDEV='"${CRYPT_'${TYPE}'_KEYDEV}"' eval local LUKS_KEYDEV_FSTYPE='"${CRYPT_'${TYPE}'_KEYDEV_FSTYPE}"' eval local OPENED_LOCKFILE='"${CRYPT_'${TYPE}'_OPENED_LOCKFILE}"' - local DEV_ERROR=0 KEY_ERROR=0 KEYDEV_ERROR=0 - local mntkey="/mnt/key/" crypt_filter_ret= + local DEV_ERROR=0 + local HEADER_ERROR=0 HEADERDEV_ERROR=0 + local KEY_ERROR=0 KEYDEV_ERROR=0 + local mntheader="/mnt/header/" mntkey="/mnt/key/" crypt_filter_ret= if [ -z "${LUKS_DEVICE}" ] then @@ -1853,13 +1866,27 @@ openLUKS() { good_msg "The LUKS device ${LUKS_DEVICE} meanwhile was opened by someone else." break # if crypt_silent=1 and some error occurs, enter shell quietly - elif [ \( ${CRYPT_SILENT} -eq 1 \) -a \( \( \( ${DEV_ERROR} -eq 1 \) -o \( ${KEY_ERROR} -eq 1 \) \) -o \( ${KEYDEV_ERROR} -eq 1 \) \) ] + elif [ \( ${CRYPT_SILENT} -eq 1 \) -a \( \( \( ${DEV_ERROR} -eq 1 \) \) ] + then + run_emergency_shell + elif [ \( ${CRYPT_SILENT} -eq 1 \) -a \( \( \( ${HEADER_ERROR} -eq 1 \) \) -o \( ${HEADERDEV_ERROR} -eq 1 \) \) ] + then + run_emergency_shell + elif [ \( ${CRYPT_SILENT} -eq 1 \) -a \( \( \( ${KEY_ERROR} -eq 1 \) \) -o \( ${KEYDEV_ERROR} -eq 1 \) \) ] then run_emergency_shell elif [ ${DEV_ERROR} -eq 1 ] then prompt_user "LUKS_DEVICE" "${LUKS_NAME}" DEV_ERROR=0 + elif [ ${HEADER_ERROR} -eq 1 ] + then + prompt_user "LUKS_HEADER" "${LUKS_NAME} header" + HEADER_ERROR=0 + elif [ ${HEADERDEV_ERROR} -eq 1 ] + then + prompt_user "LUKS_HEADERDEV" "${LUKS_NAME} header device" + HEADERDEV_ERROR=0 elif [ ${KEY_ERROR} -eq 1 ] then prompt_user "LUKS_KEY" "${LUKS_NAME} key" @@ -1877,18 +1904,93 @@ openLUKS() { continue fi - if ! run cryptsetup isLuks ${LUKS_DEVICE} + # Handle headers + if [ -n "${LUKS_HEADER}" ] + then + local REAL_LUKS_HEADERDEV="${LUKS_HEADERDEV}" + if [ ! -e "${mntheader}${LUKS_HEADER}" ] + then + REAL_LUKS_HEADERDEV=$(find_real_device "${LUKS_HEADERDEV}") + if [ -b "${REAL_LUKS_HEADERDEV}" ] + then + good_msg "Using header device ${REAL_LUKS_HEADERDEV}." ${CRYPT_SILENT} + else +
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: efdf4d0affb587655d703140db86d45ffd2a1ede Author: Dmitry Baranov gmail com> AuthorDate: Tue Dec 29 20:10:50 2020 + Commit: Robin H. Johnson gentoo org> CommitDate: Sat Aug 7 17:20:10 2021 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=efdf4d0a defaults/initrd.scripts: Get rid of extra padding Simplify conditional blocks where 'continue' is present. Signed-off-by: Dmitry Baranov gmail.com> defaults/initrd.scripts | 184 1 file changed, 92 insertions(+), 92 deletions(-) diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index cdee2a4..33a48b3 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -1882,119 +1882,119 @@ openLUKS() { bad_msg "The LUKS device ${LUKS_DEVICE} does not contain a LUKS header" ${CRYPT_SILENT} DEV_ERROR=1 continue - else - if [ -n "${cryptsetup_options}" ] - then - good_msg "Using the following cryptsetup options for ${LUKS_NAME}: ${cryptsetup_options}" ${CRYPT_SILENT} - fi + fi - # Handle keys - if [ -n "${LUKS_KEY}" ] + if [ -n "${cryptsetup_options}" ] + then + good_msg "Using the following cryptsetup options for ${LUKS_NAME}: ${cryptsetup_options}" ${CRYPT_SILENT} + fi + + # Handle keys + if [ -n "${LUKS_KEY}" ] + then + local REAL_LUKS_KEYDEV="${LUKS_KEYDEV}" + if [ ! -e "${mntkey}${LUKS_KEY}" ] then - local REAL_LUKS_KEYDEV="${LUKS_KEYDEV}" - if [ ! -e "${mntkey}${LUKS_KEY}" ] + REAL_LUKS_KEYDEV=$(find_real_device "${LUKS_KEYDEV}") + if [ -b "${REAL_LUKS_KEYDEV}" ] then - REAL_LUKS_KEYDEV=$(find_real_device "${LUKS_KEYDEV}") - if [ -b "${REAL_LUKS_KEYDEV}" ] + good_msg "Using key device ${REAL_LUKS_KEYDEV}." ${CRYPT_SILENT} + else + good_msg "Please insert removable device ${LUKS_KEYDEV} for ${LUKS_NAME}" ${CRYPT_SILENT} + # abort after 10 secs + local count=10 + while [ ${count} -gt 0 ] + do + count=$((count-1)) + sleep 1 + REAL_LUKS_KEYDEV=$(find_real_device "${LUKS_KEYDEV}") + if [ -b "${REAL_LUKS_KEYDEV}" ] + then + good_msg "Removable device ${REAL_LUKS_KEYDEV} detected." ${CRYPT_SILENT} + break + fi + done + if [ ! -b "${REAL_LUKS_KEYDEV}" ] then - good_msg "Using key device ${REAL_LUKS_KEYDEV}." ${CRYPT_SILENT} - else - good_msg "Please insert removable device ${LUKS_KEYDEV} for ${LUKS_NAME}" ${CRYPT_SILENT} - # abort after 10 secs - local count=10 - while [ ${count} -gt 0 ] - do - count=$((count-1)) - sleep 1 - REAL_LUKS_KEYDEV=$(find_real_device "${LUKS_KEYDEV}") - if [ -b "${REAL_LUKS_KEYDEV}" ] - then -
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: 779376e0a1e3c55a8bdc40c5e55ce9bb50ee8eae Author: Thomas Deutschmann gentoo org> AuthorDate: Tue Nov 16 17:33:12 2021 + Commit: Thomas Deutschmann gentoo org> CommitDate: Tue Nov 16 17:33:12 2021 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=779376e0 btrfs-progs-5.15+ needs libudev Fixes: d3ee3d06 ("Bump btrfs-progs to v5.15") Signed-off-by: Thomas Deutschmann gentoo.org> defaults/software.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/defaults/software.sh b/defaults/software.sh index 9f64ab0..ec2bacb 100644 --- a/defaults/software.sh +++ b/defaults/software.sh @@ -32,7 +32,7 @@ GKPKG_BOOST_BUILD_BINPKG="${GKPKG_BOOST_BUILD_BINPKG:-%%CACHE%%/boost-build-${GK GKPKG_BTRFS_PROGS_PN="btrfs-progs" GKPKG_BTRFS_PROGS_PV="${GKPKG_BTRFS_PROGS_PV:-VERSION_BTRFS_PROGS}" -GKPKG_BTRFS_PROGS_DEPS="util-linux zlib zstd lzo" +GKPKG_BTRFS_PROGS_DEPS="util-linux zlib zstd lzo eudev" GKPKG_BTRFS_PROGS_SRCTAR="${GKPKG_BTRFS_PROGS_SRCTAR:-${DISTDIR}/btrfs-progs-v${GKPKG_BTRFS_PROGS_PV}.tar.xz}" GKPKG_BTRFS_PROGS_SRCDIR="${GKPKG_BTRFS_PROGS_SRCDIR:-btrfs-progs-v${GKPKG_BTRFS_PROGS_PV}}" GKPKG_BTRFS_PROGS_BINPKG="${GKPKG_BTRFS_PROGS_BINPKG:-%%CACHE%%/btrfs-progs-${GKPKG_BTRFS_PROGS_PV}-%%ARCH%%.tar.xz}"
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: a0140d2e77cc0d48b60f38121b73445351c52678 Author: Thomas Deutschmann gentoo org> AuthorDate: Mon Nov 15 01:56:46 2021 + Commit: Thomas Deutschmann gentoo org> CommitDate: Mon Nov 15 01:58:36 2021 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=a0140d2e defaults/modules_load: Add support for i8042 & AT keyboards Closes: https://bugs.gentoo.org/341193 Closes: https://bugs.gentoo.org/822087 Signed-off-by: Thomas Deutschmann gentoo.org> defaults/modules_load | 3 +++ 1 file changed, 3 insertions(+) diff --git a/defaults/modules_load b/defaults/modules_load index cee5f4d..1c78415 100644 --- a/defaults/modules_load +++ b/defaults/modules_load @@ -37,3 +37,6 @@ MODULES_HYPERV="hv_sock hv_utils hv_vmbus hv_balloon hyperv-keyboard hid_hyperv # Virtio MODULES_VIRTIO="virtio_scsi virtio_blk virtio_console virtio-rng virtio virtio_balloon virtio_input virtio_ring virtio_pci virtio_mmio virtio_crypto" + +# Misc +MODULES_MISC="atkbd i8042"
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: e43878aa62e563fcefa7c1da5c44017816ac65b4 Author: Thomas Deutschmann gentoo org> AuthorDate: Wed Sep 29 18:15:56 2021 + Commit: Thomas Deutschmann gentoo org> CommitDate: Wed Sep 29 18:15:56 2021 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=e43878aa defaults/software.sh: dropbear needs libxcrypt Signed-off-by: Thomas Deutschmann gentoo.org> defaults/software.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/defaults/software.sh b/defaults/software.sh index 54836ad..9f64ab0 100644 --- a/defaults/software.sh +++ b/defaults/software.sh @@ -67,7 +67,7 @@ GKPKG_DMRAID_BINPKG="${GKPKG_DMRAID_BINPKG:-%%CACHE%%/dmraid-${GKPKG_DMRAID_PV}- GKPKG_DROPBEAR_PN="dropbear" GKPKG_DROPBEAR_PV="${GKPKG_DROPBEAR_PV:-VERSION_DROPBEAR}" -GKPKG_DROPBEAR_DEPS="zlib" +GKPKG_DROPBEAR_DEPS="zlib libxcrypt" GKPKG_DROPBEAR_SRCTAR="${GKPKG_DROPBEAR_SRCTAR:-${DISTDIR}/dropbear-${GKPKG_DROPBEAR_PV}.tar.bz2}" GKPKG_DROPBEAR_SRCDIR="${GKPKG_DROPBEAR_SRCDIR:-dropbear-${GKPKG_DROPBEAR_PV}}" GKPKG_DROPBEAR_BINPKG="${GKPKG_DROPBEAR_BINPKG:-%%CACHE%%/dropbear-${GKPKG_DROPBEAR_PV}-%%ARCH%%.tar.xz}"
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: a3e1af34bb4dce30d99fdeca7b8217f89f219a01 Author: Georgy Yakovlev gentoo org> AuthorDate: Wed Sep 8 02:04:16 2021 + Commit: Thomas Deutschmann gentoo org> CommitDate: Wed Sep 8 14:00:08 2021 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=a3e1af34 initrd.scripts: don't skip top level devices with partitions ppc64 media should be mounted as /dev/sdX, not as /dev/sdX1 this loop was skipping /dev/sdX if /dev/sdX1 is present. Bug: https://bugs.gentoo.org/212794 Bug: https://bugs.gentoo.org/796272 Signed-off-by: Georgy Yakovlev gentoo.org> Closes: https://bugs.gentoo.org/796272 Signed-off-by: Thomas Deutschmann gentoo.org> defaults/initrd.scripts | 18 -- 1 file changed, 18 deletions(-) diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index cdee2a4..7eac892 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -178,24 +178,6 @@ findmediamount() { # Check for a block device to mount if [ -b "${x}" ] then - skip=0 - bsn=$(basename "${x}") - # - # If disk and it has at least one partition, skip. - # We use /sys/block/${bsn}/${bsn}[0-9]* to make sure that we - # don't skip device mapper devices. Even the craziest scenario - # deserves a fair chance. - # - # shellcheck disable=SC2045 - for part in $(ls /sys/block/${bsn}/${bsn}*[0-9]* 2>/dev/null) - do - skip=1 - break; - done - if [ ${skip} -eq 1 ] - then - continue - fi good_msg "Attempting to mount media: ${x}" ${CRYPT_SILENT} CDROOT_TYPE=$(determine_fs "${x}" "${CDROOT_TYPE}")
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: 203500a030b608538b15a4a8094de680e1937266 Author: Thomas Deutschmann gentoo org> AuthorDate: Mon Jul 5 23:19:34 2021 + Commit: Thomas Deutschmann gentoo org> CommitDate: Mon Jul 5 23:40:52 2021 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=203500a0 initrd.scripts: openLUKS(): Reset cryptsetup_options on each iteration Fixes: a0a6d631 ("linuxrc: add kernel command-line argument to allow user to pass additional options to cryptsetup") Bug: https://bugs.gentoo.org/794817 Signed-off-by: Thomas Deutschmann gentoo.org> defaults/initrd.scripts | 6 -- defaults/unlock-luks.sh | 4 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index 5ec8adb..cdee2a4 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -1831,8 +1831,6 @@ openLUKS() { eval local LUKS_KEY='"${CRYPT_'${TYPE}'_KEY}"' eval local LUKS_KEYDEV='"${CRYPT_'${TYPE}'_KEYDEV}"' eval local LUKS_KEYDEV_FSTYPE='"${CRYPT_'${TYPE}'_KEYDEV_FSTYPE}"' - eval local cryptsetup_options='"${CRYPT_'${TYPE}'_OPTIONS}"' - cryptsetup_options="$(trim "${cryptsetup_options}")" eval local OPENED_LOCKFILE='"${CRYPT_'${TYPE}'_OPENED_LOCKFILE}"' local DEV_ERROR=0 KEY_ERROR=0 KEYDEV_ERROR=0 local mntkey="/mnt/key/" crypt_filter_ret= @@ -1845,6 +1843,10 @@ openLUKS() { while true do + # Reset cryptsetup_options on each iteration + eval local cryptsetup_options='"${CRYPT_'${TYPE}'_OPTIONS}"' + cryptsetup_options="$(trim "${cryptsetup_options}")" + local gpg_cmd="" if [ -e "${OPENED_LOCKFILE}" ] then diff --git a/defaults/unlock-luks.sh b/defaults/unlock-luks.sh index 2674d93..54ed1a0 100644 --- a/defaults/unlock-luks.sh +++ b/defaults/unlock-luks.sh @@ -58,6 +58,10 @@ main() { while true do + # Reset cryptsetup_options on each iteration + eval local cryptsetup_options='"${CRYPT_'${TYPE}'_OPTIONS}"' + cryptsetup_options="$(trim "${cryptsetup_options}")" + local gpg_cmd crypt_filter_ret if [ -e "${OPENED_LOCKFILE}" ]
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: f80b81da305f1f782043d31751f81264be6f2ecd Author: Thomas Deutschmann gentoo org> AuthorDate: Wed Jun 23 22:42:13 2021 + Commit: Thomas Deutschmann gentoo org> CommitDate: Mon Jul 5 22:44:45 2021 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=f80b81da linuxrc: Don't mess with console log level in quiet mode Fixes: d5f7d79b ("linuxrc: Refactor handling of console log level") Bug: https://bugs.gentoo.org/788970 Signed-off-by: Thomas Deutschmann gentoo.org> defaults/linuxrc | 9 ++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/defaults/linuxrc b/defaults/linuxrc index 932df46..6ede740 100644 --- a/defaults/linuxrc +++ b/defaults/linuxrc @@ -452,8 +452,11 @@ do esac done -# Prevent superfluous printks from being printed to the console -echo ${GK_CONSOLE_LOGLEVEL} > /proc/sys/kernel/printk +if ! is_quiet +then + # Prevent superfluous printks from being printed to the console + echo ${GK_CONSOLE_LOGLEVEL} > /proc/sys/kernel/printk +fi good_msg "${GK_META_VERSION} (${GK_META_BUILD_DATE}). Linux kernel ${KV}" @@ -1370,7 +1373,7 @@ do fi done -if [[ "${CONSOLE_LOGLEVEL}" != "${GK_CONSOLE_LOGLEVEL}" ]] +if ! is_quiet && [[ "${CONSOLE_LOGLEVEL}" != "${GK_CONSOLE_LOGLEVEL}" ]] then good_msg "Restoring console log level (${CONSOLE_LOGLEVEL}) ..." echo ${CONSOLE_LOGLEVEL} > /proc/sys/kernel/printk \
[gentoo-commits] proj/genkernel:master commit in: defaults/, gkbuilds/
commit: 8fa4d682493e704cfdea5c51aecc26af868e9d97 Author: Thomas Deutschmann gentoo org> AuthorDate: Mon Jul 5 22:36:00 2021 + Commit: Thomas Deutschmann gentoo org> CommitDate: Mon Jul 5 23:40:51 2021 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=8fa4d682 defaults/software.sh: Add libxcrypt Needed for BusyBox when host system is using sys-libs/libxcrypt[-static-libs] which is usually enforced via package.use.force. Bug: https://bugs.gentoo.org/798468 Signed-off-by: Thomas Deutschmann gentoo.org> defaults/software.sh | 9 - gkbuilds/libxcrypt.gkbuild | 17 + 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/defaults/software.sh b/defaults/software.sh index 291bad4..54836ad 100644 --- a/defaults/software.sh +++ b/defaults/software.sh @@ -39,7 +39,7 @@ GKPKG_BTRFS_PROGS_BINPKG="${GKPKG_BTRFS_PROGS_BINPKG:-%%CACHE%%/btrfs-progs-${GK GKPKG_BUSYBOX_PN="busybox" GKPKG_BUSYBOX_PV="${GKPKG_BUSYBOX_PV:-VERSION_BUSYBOX}" -GKPKG_BUSYBOX_DEPS="" +GKPKG_BUSYBOX_DEPS="libxcrypt" GKPKG_BUSYBOX_SRCTAR="${GKPKG_BUSYBOX_SRCTAR:-${DISTDIR}/busybox-${GKPKG_BUSYBOX_PV}.tar.bz2}" GKPKG_BUSYBOX_SRCDIR="${GKPKG_BUSYBOX_SRCDIR:-busybox-${GKPKG_BUSYBOX_PV}}" GKPKG_BUSYBOX_BINPKG="${GKPKG_BUSYBOX_BINPKG:-%%CACHE%%/busybox-${GKPKG_BUSYBOX_PV}-%%ARCH%%.tar.xz}" @@ -156,6 +156,13 @@ GKPKG_LIBGPG_ERROR_SRCTAR="${GKPKG_LIBGPG_ERROR_SRCTAR:-${DISTDIR}/libgpg-error- GKPKG_LIBGPG_ERROR_SRCDIR="${GKPKG_LIBGPG_ERROR_SRCDIR:-libgpg-error-${GKPKG_LIBGPG_ERROR_PV}}" GKPKG_LIBGPG_ERROR_BINPKG="${GKPKG_LIBGPG_ERROR_BINPKG:-%%CACHE%%/libgpg-error-${GKPKG_LIBGPG_ERROR_PV}-%%ARCH%%.tar.xz}" +GKPKG_LIBXCRYPT_PN="libxcrypt" +GKPKG_LIBXCRYPT_PV="${GKPKG_LIBXCRYPT_PV:-VERSION_LIBXCRYPT}" +GKPKG_LIBXCRYPT_DEPS="" +GKPKG_LIBXCRYPT_SRCTAR="${GKPKG_LIBXCRYPT_SRCTAR:-${DISTDIR}/libxcrypt-${GKPKG_LIBXCRYPT_PV}.tar.gz}" +GKPKG_LIBXCRYPT_SRCDIR="${GKPKG_LIBXCRYPT_SRCDIR:-libxcrypt-${GKPKG_LIBXCRYPT_PV}}" +GKPKG_LIBXCRYPT_BINPKG="${GKPKG_LIBXCRYPT_BINPKG:-%%CACHE%%/libxcrypt-${GKPKG_LIBXCRYPT_PV}-%%ARCH%%.tar.xz}" + GKPKG_LVM_PN="lvm" GKPKG_LVM_PV="${GKPKG_LVM_PV:-VERSION_LVM}" GKPKG_LVM_DEPS="util-linux eudev libaio" diff --git a/gkbuilds/libxcrypt.gkbuild b/gkbuilds/libxcrypt.gkbuild new file mode 100644 index 000..1834e25 --- /dev/null +++ b/gkbuilds/libxcrypt.gkbuild @@ -0,0 +1,17 @@ +# Copyright 2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +src_prepare() { + default + + gkautoreconf +} + +src_configure() { + local myopts=( + --enable-shared + --enable-static + ) + + gkconf "${myopts[@]}" +}
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: cdaef312247a3ed18c9fdcea084058e5f25a7f3e Author: Thomas Deutschmann gentoo org> AuthorDate: Sat Mar 27 16:07:21 2021 + Commit: Thomas Deutschmann gentoo org> CommitDate: Sat Mar 27 16:14:55 2021 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=cdaef312 defaults/modules_load: Add support for Lenovo / Thinkpad devices Support for IBM/Lenovo devices that are not fully compliant with HID standard. Reported-by: Patrick Lauer gentoo.org> Signed-off-by: Thomas Deutschmann gentoo.org> defaults/modules_load | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/defaults/modules_load b/defaults/modules_load index 1cc1478..cee5f4d 100644 --- a/defaults/modules_load +++ b/defaults/modules_load @@ -24,7 +24,7 @@ MODULES_ISCSI="scsi_transport_iscsi libiscsi iscsi_tcp" # Hardware (Pluggable) MODULES_FIREWIRE="ieee1394 ohci1394 sbp2" MODULES_PCMCIA="pcmcia pcmcia_core yenta_socket pd6729 i82092 i82365 tcic ds ide-cs firmware_class" -MODULES_USB="ehci-pci ehci-hcd xhci-hcd xhci-pci xhci-plat xhci-plat-hcd uhci usb-ohci hid usb-storage uas uhci-hcd ohci-hcd usbhid hid-generic sl811-hcd hid-a4tech hid-apple hid-belkin hid-cherry hid-chicony hid-cypress hid-dummy hid-ezkey hid-gyration hid-logitech hid-logitech-dj hid-microsoft hid-monterey hid-petalynx hid-pl hid-samsung hid-sony hid-sunplus" +MODULES_USB="ehci-pci ehci-hcd xhci-hcd xhci-pci xhci-plat xhci-plat-hcd uhci usb-ohci hid usb-storage uas uhci-hcd ohci-hcd usbhid hid-generic sl811-hcd hid-a4tech hid-apple hid-belkin hid-cherry hid-chicony hid-cypress hid-dummy hid-ezkey hid-gyration hid-lenovo hid-logitech hid-logitech-dj hid-microsoft hid-monterey hid-petalynx hid-pl hid-samsung hid-sony hid-sunplus" # Filesystems MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs f2fs fuse virtiofs loop squashfs aufs overlay cramfs configfs fscrypto msdos"
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: 950d8474866b643fbbf7d2b70a9593472a57c226 Author: Thomas Deutschmann gentoo org> AuthorDate: Fri Mar 26 22:55:37 2021 + Commit: Thomas Deutschmann gentoo org> CommitDate: Fri Mar 26 22:55:37 2021 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=950d8474 linuxrc: Fix log message Fixes: 60ecb8b6d ("linuxrc: Move global variables to initrd.defaults") Signed-off-by: Thomas Deutschmann gentoo.org> defaults/linuxrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/defaults/linuxrc b/defaults/linuxrc index 81e1050..932df46 100644 --- a/defaults/linuxrc +++ b/defaults/linuxrc @@ -1372,7 +1372,7 @@ done if [[ "${CONSOLE_LOGLEVEL}" != "${GK_CONSOLE_LOGLEVEL}" ]] then - good_msg "Restoring console log level (${console_loglevel}) ..." + good_msg "Restoring console log level (${CONSOLE_LOGLEVEL}) ..." echo ${CONSOLE_LOGLEVEL} > /proc/sys/kernel/printk \ && log_msg "COMMAND: 'echo \"${CONSOLE_LOGLEVEL}\" > /proc/sys/kernel/printk'" fi
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: 92e8f61d4e151549b6e66a073461f7d1dc3659f6 Author: Thomas Deutschmann gentoo org> AuthorDate: Sat Mar 20 17:23:44 2021 + Commit: Thomas Deutschmann gentoo org> CommitDate: Sun Mar 21 18:24:03 2021 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=92e8f61d initrd.scripts: Add is_quiet() function Signed-off-by: Thomas Deutschmann gentoo.org> defaults/initrd.scripts | 65 +++-- 1 file changed, 36 insertions(+), 29 deletions(-) diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index ccbc16d..cbeb6bc 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -85,16 +85,16 @@ modules_scan() { fi log_msg "Loading modules of module group '${1}' (smart loading: ${smart_loading}) ..." - [ -z "${QUIET}" ] && \ - printf "%b" "${BOLD} ::${NORMAL} Loading from ${1}: " + is_quiet \ + || printf "%b" "${BOLD} ::${NORMAL} Loading from ${1}: " for x in ${MODS} do MLOAD=$(echo ${MLIST} | sed -e "s/.*${x}.*/${x}/") if [ "${MLOAD}" = "${x}" ] # Only module to no-load then - [ -z "${QUIET}" ] && \ - printf "%b\n" "${BOLD} ::${NORMAL} Skipping ${x} ..." + is_quiet \ + || printf "%b\n" "${BOLD} ::${NORMAL} Skipping ${x} ..." elif [ "${MLOAD}" = "${MLIST}" ] then if [ "${smart_loading}" = "yes" ] @@ -131,14 +131,15 @@ modules_scan() { echo "not loaded" ! is_debug && [ "${loaded}" = "0" ] && \ - [ -z "${QUIET}" ] && \ + ! is_quiet && \ printf "%b" "${x} " else - [ -z "${QUIET}" ] && \ - printf "%b\n" "${BOLD} ::${NORMAL} Skipping ${x} ..." + is_quiet \ + || printf "%b\n" "${BOLD} ::${NORMAL} Skipping ${x} ..." fi done - [ -z "${QUIET}" ] && echo + + is_quiet || echo } uppercase() { @@ -627,6 +628,12 @@ is_log_enabled() { return 0 } +is_quiet() { + is_true "${QUIET}" && return 0 + + return 1 +} + is_true() { case "${1}" in 1) @@ -1174,7 +1181,7 @@ good_msg() { log_msg "[OK] ${msg_string}" - [ "${2-${QUIET}}" != '1' ] && printf "%b\n" "${GOOD}>>${NORMAL}${BOLD} ${msg_string} ${NORMAL}" + is_true "${2-${QUIET}}" || printf "%b\n" "${GOOD}>>${NORMAL}${BOLD} ${msg_string} ${NORMAL}" } good_msg_n() { @@ -1183,7 +1190,7 @@ good_msg_n() { log_msg "[OK] ${msg_string}" - [ "${2-${QUIET}}" != '1' ] && printf "%b" "${GOOD}>>${NORMAL}${BOLD} ${msg_string}" + is_true "${2-${QUIET}}" || printf "%b" "${GOOD}>>${NORMAL}${BOLD} ${msg_string}" } bad_msg() { @@ -1202,7 +1209,7 @@ warn_msg() { log_msg "[**] ${msg_string}" - [ "${2-${QUIET}}" != '1' ] && printf "%b\n" "${WARN}**${NORMAL}${BOLD} ${msg_string} ${NORMAL}" + is_true "${2-${QUIET}}" || printf "%b\n" "${WARN}**${NORMAL}${BOLD} ${msg_string} ${NORMAL}" } warn_msg_n() { @@ -1211,7 +1218,7 @@ warn_msg_n() { log_msg "[**] ${msg_string}" - [ "${2-${QUIET}}" != '1' ] && printf "%b" "${WARN}**${NORMAL}${BOLD} ${msg_string}" + is_true "${2-${QUIET}}" || printf "%b" "${WARN}**${NORMAL}${BOLD} ${msg_string}" } write_env_file() { @@ -1625,7 +1632,7 @@ start_volumes() { local lvm_cmd="run lvm vgscan 2>&1" is_log_enabled && lvm_cmd="${lvm_cmd} | tee -a '${GK_INIT_LOG}'" - [ -n "${QUIET}" ] && lvm_cmd="${lvm_cmd} 1>/dev/null" + is_quiet && lvm_cmd="${lvm_cmd} 1>/dev/null" eval "${lvm_cmd}" if [ $? -ne 0 ] @@ -1641,7 +1648,7 @@ start_volumes() { # To activate volumegroups on all devices in the cache local lvm_cmd="run lvm vgchange -ay --sysinit 2>&1" is_log_enabled && lvm_cmd="${lvm_cmd} | tee -a '${GK_INIT_LOG}'" - [ -n "${QUIET}" ] && lvm_cmd="${lvm_cmd} 1>/dev/null" + is_quiet && lvm_cmd="${lvm_cmd} 1>/dev/null" eval "${lvm_cmd}" if [ $? -ne 0 ] @@ -1663,7 +1670,7 @@ start_volumes() { local zfs_cmd="run /sbin/zpool import -N -a ${ZPOOL_CACHE} ${ZPOOL_FORCE} 2>&1" is_log_enabled && zfs_cmd="${zfs_cmd} | tee -a '${GK_INIT_LOG}'" - [ -n "${QUIET}" ] && zfs_cmd="${zfs_cmd} 1>/dev/null" +
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: 3e69d8284b17f5f3471a9f7b7c58787d4a2bf051 Author: Thomas Deutschmann gentoo org> AuthorDate: Sun Mar 21 18:17:47 2021 + Commit: Thomas Deutschmann gentoo org> CommitDate: Sun Mar 21 21:39:29 2021 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=3e69d828 initrd.scripts: do_resume(): Show warning when kernel doesn't support hibernation ...but "resume" was specified on kernel command-line. Signed-off-by: Thomas Deutschmann gentoo.org> defaults/initrd.scripts | 27 +-- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index fb6f314..927404d 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -2538,30 +2538,38 @@ do_resume() { local device=$(find_real_device "${REAL_RESUME}") if [ -z "${device}" ] then - warn_msg "REAL_RESUME (${REAL_RESUME}) device not found; Skipping resume ..." + warn_msg "resume device (${REAL_RESUME}) not found; Skipping resume ..." 0 return 0 else REAL_RESUME="${device}" fi + local resume_tried=no if [ -d /proc/suspend2 -o -d /sys/power/suspend2 -o -d /sys/power/tuxonice ] then tuxonice_resume - else + resume_tried=yes + elif [ -f /sys/power/resume ] + then swsusp_resume + resume_tried=yes + fi + + if is_true "${resume_tried}" + then + warn_msg "System is not resuming from ${REAL_RESUME}, probably because it wasn't suspended; Continue normal booting ..." + else + warn_msg "resume device (${REAL_RESUME}) specified but kernel is lacking proper hibernation support!" fi } swsusp_resume() { # determine swap resume partition local device=$(ls -lL "${REAL_RESUME}" | sed 's/\ */ /g' | cut -d \ -f 5-6 | sed 's/,\ */:/') - if [ -f /sys/power/resume ] - then - log_msg "Trying to resume using swsusp ..." - log_msg "COMMAND: 'echo \"${device}\" > /sys/power/resume'" - echo "${device}" > /sys/power/resume - log_msg "System is not resuming from ${REAL_RESUME}, probably because it wasn't suspended; Continue normal booting ..." - fi + + log_msg "Trying to resume using swsusp ..." + log_msg "COMMAND: 'echo \"${device}\" > /sys/power/resume'" + echo "${device}" > /sys/power/resume } tuxonice_resume() { @@ -2627,7 +2635,6 @@ tuxonice_resume() { echo "${REAL_RESUME}" > "${tuxonice_resumedev}" log_msg "COMMAND: 'echo > ${tuxonice_do_resume}'" echo > "${tuxonice_do_resume}" - log_msg "System is not resuming from ${REAL_RESUME}, probably because it wasn't suspended; Continue normal booting ..." } find_loop() {
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: 5e3215ff97e980bf52cceb230488b0587c965ba1 Author: Thomas Deutschmann gentoo org> AuthorDate: Sun Mar 21 18:16:21 2021 + Commit: Thomas Deutschmann gentoo org> CommitDate: Sun Mar 21 18:24:03 2021 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=5e3215ff linuxrc: Adjust resume device messages Use same messages we use for root device. Signed-off-by: Thomas Deutschmann gentoo.org> defaults/linuxrc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/defaults/linuxrc b/defaults/linuxrc index bd6d192..81e1050 100644 --- a/defaults/linuxrc +++ b/defaults/linuxrc @@ -646,6 +646,8 @@ then RESUME_DEV="" retval=1 + good_msg "Determining resume device (trying ${REAL_RESUME}) ..." + if [ ${retval} -ne 0 ] then RESUME_DEV=$(findfs "${REAL_RESUME}" 2>/dev/null) @@ -660,7 +662,7 @@ then if [ ${retval} -eq 0 ] && [ -n "${RESUME_DEV}" ] then - good_msg "Detected real_resume=${RESUME_DEV}" + good_msg "Resume device detected as ${RESUME_DEV}!" REAL_RESUME="${RESUME_DEV}" fi ;;
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: b020169858590fb291003c86c8ddfc4194d9ca19 Author: Thomas Deutschmann gentoo org> AuthorDate: Sat Mar 20 17:13:22 2021 + Commit: Thomas Deutschmann gentoo org> CommitDate: Sun Mar 21 16:26:39 2021 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=b0201698 linuxrc: Use same $CRYPT_SILENT style Signed-off-by: Thomas Deutschmann gentoo.org> defaults/linuxrc | 2 +- defaults/login-remote.sh | 8 defaults/unlock-luks.sh | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/defaults/linuxrc b/defaults/linuxrc index dc34439..2bb4bae 100644 --- a/defaults/linuxrc +++ b/defaults/linuxrc @@ -1045,7 +1045,7 @@ then then CRYPT_ROOT_KEY="$(head -n 1 "${CDROOT_PATH}"/${CDROOT_MARKER})" CRYPT_ROOT='/dev/loop0' - good_msg 'You booted an encrypted livecd' "${CRYPT_SILENT}" + good_msg 'You booted an encrypted livecd' ${CRYPT_SILENT} losetup /dev/loop0 "${CDROOT_PATH}/${LOOPEXT}${LOOP}" test_success 'Preparing loop filesystem' diff --git a/defaults/login-remote.sh b/defaults/login-remote.sh index 7fcfc70..8eee09a 100644 --- a/defaults/login-remote.sh +++ b/defaults/login-remote.sh @@ -30,11 +30,11 @@ receivefile() { file=${CRYPT_SWAP_KEYFILE} ;; '') - bad_msg "No keyfile specified." "${CRYPT_SILENT}" + bad_msg "No keyfile specified." ${CRYPT_SILENT} exit 1 ;; *) - bad_msg "Unknown '${1}' keyfile received." "${CRYPT_SILENT}" + bad_msg "Unknown '${1}' keyfile received." ${CRYPT_SILENT} exit 1 ;; esac @@ -67,12 +67,12 @@ then exit 1 fi else - bad_msg "Keyfile was not properly received!" "${CRYPT_SILENT}" + bad_msg "Keyfile was not properly received!" ${CRYPT_SILENT} exit 1 fi ;; *) - bad_msg "Command '${command}' is not supported!" "${CRYPT_SILENT}" + bad_msg "Command '${command}' is not supported!" ${CRYPT_SILENT} exit 1 esac else diff --git a/defaults/unlock-luks.sh b/defaults/unlock-luks.sh index 9ef54e0..2674d93 100644 --- a/defaults/unlock-luks.sh +++ b/defaults/unlock-luks.sh @@ -74,7 +74,7 @@ main() { if ! run cryptsetup isLuks "${LUKS_DEVICE}" then - bad_msg "The LUKS device ${LUKS_DEVICE} does not contain a LUKS header" "${CRYPT_SILENT}" + bad_msg "The LUKS device ${LUKS_DEVICE} does not contain a LUKS header" ${CRYPT_SILENT} # User has SSH access and is able to call script again or # able to investigate the problem on its own. @@ -103,10 +103,10 @@ main() { if [ ${crypt_filter_ret} -eq 0 ] then run touch "${OPENED_LOCKFILE}" - good_msg "LUKS device ${LUKS_DEVICE} opened" "${CRYPT_SILENT}" + good_msg "LUKS device ${LUKS_DEVICE} opened" ${CRYPT_SILENT} break else - bad_msg "Failed to open LUKS device ${LUKS_DEVICE}" "${CRYPT_SILENT}" + bad_msg "Failed to open LUKS device ${LUKS_DEVICE}" ${CRYPT_SILENT} # We need to stop here with a non-zero exit code to prevent # a loop when invalid keyfile was sent.
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: 60ecb8b6d85b70d07e9aacb12771dde7cd86adf3 Author: Thomas Deutschmann gentoo org> AuthorDate: Sun Mar 21 16:24:51 2021 + Commit: Thomas Deutschmann gentoo org> CommitDate: Sun Mar 21 18:24:03 2021 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=60ecb8b6 linuxrc: Move global variables to initrd.defaults Signed-off-by: Thomas Deutschmann gentoo.org> defaults/initrd.defaults | 17 ++--- defaults/initrd.scripts | 4 ++-- defaults/linuxrc | 25 ++--- defaults/login-remote.sh | 8 ++-- 4 files changed, 24 insertions(+), 30 deletions(-) diff --git a/defaults/initrd.defaults b/defaults/initrd.defaults index 8849539..9ebeecc 100644 --- a/defaults/initrd.defaults +++ b/defaults/initrd.defaults @@ -46,15 +46,21 @@ WHITE="[1;37m" # printf "[H[J" KV=$(uname -r) -KMAJOR=$(echo $KV | cut -f1 -d.) -KMINOR=$(echo $KV | cut -f2 -d.) +KMAJOR=$(echo ${KV} | cut -f1 -d.) +KMINOR=$(echo ${KV} | cut -f2 -d.) KVER="${KMAJOR}.${KMINOR}" MISCOPTS='debug detect' -QUIET='' +CONSOLE_LOGLEVEL=$(cut -b1 /proc/sys/kernel/printk 2>/dev/null || echo 7) + +QUIET=0 ROOT_LINKS='bin sbin lib lib32 lib64 boot usr opt emul' ROOT_TREES='etc root home var' +FAKE_ROOT='' +FAKE_INIT='' +FAKE_ROOTFLAGS='' + REAL_ROOT='' NEW_ROOT='/newroot' no_umounts='/newroot|/mnt/aufs-dev|/mnt/aufs-rw-branch|/mnt/livecd|/mnt/cdrom|/.unions/memory|/.unions/memory/xino' @@ -88,6 +94,8 @@ GK_NET_TIMEOUT_DAD=10 GK_NET_TIMEOUT_DECONFIGURATION=10 GK_NET_TIMEOUT_DHCP=10 GK_NET_TIMEOUT_INTERFACE=10 +GK_META_BUILD_DATE=$(cat /etc/build_date 2>/dev/null || echo "Unknown") +GK_META_VERSION=$(cat /etc/build_id 2>/dev/null || echo "Unknown") GK_PRESERVE_RUN=1 GK_PROMPT_FILE='/tmp/current_prompt' GK_PROMPT_TIMEOUT=0 @@ -107,11 +115,14 @@ CRYPT_ROOT_KEYDEV_FSTYPE='auto' CRYPT_ROOT_KEYFILE='/tmp/root.key' CRYPT_ROOT_OPENED_LOCKFILE='/tmp/ROOT.opened' CRYPT_ROOT_OPTIONS='' +CRYPT_SILENT=0 CRYPT_SWAP_KEYDEV_FSTYPE='auto' CRYPT_SWAP_KEYFILE='/tmp/swap.key' CRYPT_SWAP_OPENED_LOCKFILE='/tmp/SWAP.opened' CRYPT_SWAP_OPTIONS='' +ROOTFSTYPE='auto' + ZFS_ENC_ENV_FILE='/etc/ZFS_ENC_ENV.conf' ZFS_ENC_OPENED_LOCKFILE='/tmp/ZFS.opened' diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index cbeb6bc..fb6f314 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -1054,8 +1054,8 @@ run_shell() { export PS1='rescueshell \w \# ' echo - GOOD=${BLUE} good_msg "${NORMAL}Welcome to ${BOLD}${gk_ver}${NORMAL} (${gk_build_date}) ${BOLD}rescue shell${NORMAL}!" 0 - GOOD=${BLUE} good_msg "${NORMAL}...running Linux kernel ${BOLD}${kernel_ver}${NORMAL}" 0 + GOOD=${BLUE} good_msg "${NORMAL}Welcome to ${BOLD}${GK_META_VERSION}${NORMAL} (${GK_META_BUILD_DATE}) ${BOLD}rescue shell${NORMAL}!" 0 + GOOD=${BLUE} good_msg "${NORMAL}...running Linux kernel ${BOLD}${KV}${NORMAL}" 0 echo # Avoid /dev/{console,tty0} due to "can't access tty; job control turned off" problem; diff --git a/defaults/linuxrc b/defaults/linuxrc index 2bb4bae..bd6d192 100644 --- a/defaults/linuxrc +++ b/defaults/linuxrc @@ -51,21 +51,8 @@ fi # Set up symlinks run busybox --install -s -console_loglevel="$(cut -b1 /proc/sys/kernel/printk 2>/dev/null || echo 7)" -gk_ver="$(cat /etc/build_id)" -gk_build_date="$(cat /etc/build_date)" -kernel_ver="$(uname -r)" - -CMDLINE=$(cat /proc/cmdline) -# Scan CMDLINE for any specified real_root= or cdroot arguments -FAKE_ROOT='' -FAKE_INIT='' -FAKE_ROOTFLAGS='' -ROOTFSTYPE='auto' -CRYPT_SILENT=0 -QUIET='' - -run mkdir -p /etc/cmdline /etc/modprobe.d +# Handle kernel command-line parameters +CMDLINE=$(cat /proc/cmdline 2>/dev/null) for x in ${CMDLINE} do case "${x}" in @@ -468,7 +455,7 @@ done # Prevent superfluous printks from being printed to the console echo ${GK_CONSOLE_LOGLEVEL} > /proc/sys/kernel/printk -good_msg "${gk_ver} (${gk_build_date}). Linux kernel ${kernel_ver}" +good_msg "${GK_META_VERSION} (${GK_META_BUILD_DATE}). Linux kernel ${KV}" if [ "${GK_BOOTFONT_DISABLED}" = '0' -a -e /lib/console/font ] then @@ -1381,11 +1368,11 @@ do fi done -if [[ "${console_loglevel}" != "${GK_CONSOLE_LOGLEVEL}" ]] +if [[ "${CONSOLE_LOGLEVEL}" != "${GK_CONSOLE_LOGLEVEL}" ]] then good_msg "Restoring console log level (${console_loglevel}) ..." - echo ${console_loglevel} > /proc/sys/kernel/printk \ - && log_msg "COMMAND: 'echo \"${console_loglevel}\" > /proc/sys/kernel/printk'" + echo ${CONSOLE_LOGLEVEL} > /proc/sys/kernel/printk \ + && log_msg "COMMAND: 'echo \"${CONSOLE_LOGLEVEL}\" > /proc/sys/kernel/printk'" fi good_msg "Switching to real root: switch_root ${CHROOT} ${init} ${init_opts}" diff --git a/defaults/login-remote.sh b/defaults/login-remote.sh index 8eee09a..4664d7b 100644 --- a/defaults/login-remote.sh +++ b/defaults/login-remote.sh @@ -81,14 +81,10 @@ else # Don't log further r
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: cc8a012bb8525cfa2c378f2f5d21323e44b106d9 Author: Thomas Deutschmann gentoo org> AuthorDate: Sun Mar 21 21:53:39 2021 + Commit: Thomas Deutschmann gentoo org> CommitDate: Sun Mar 21 21:53:39 2021 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=cc8a012b initrd.scripts: crypt_filter(): crypt_silent shouldn't hide cryptsetup prompt Signed-off-by: Thomas Deutschmann gentoo.org> defaults/initrd.scripts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index 927404d..5ec8adb 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -1238,7 +1238,7 @@ write_env_file() { crypt_filter() { if [ "${CRYPT_SILENT}" = '1' ] then - eval run ${1} >/dev/null 2>&1 + eval run ${1} else splash 'verbose' >/dev/null & eval run ${1}
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: 90a6419e5f0982baa1493749f6fb1b3c2fe33e7d Author: Thomas Deutschmann gentoo org> AuthorDate: Sat Mar 20 17:19:35 2021 + Commit: Thomas Deutschmann gentoo org> CommitDate: Sun Mar 21 18:19:45 2021 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=90a6419e initrd.scripts: is_true(): Optimize for most frequently used value Signed-off-by: Thomas Deutschmann gentoo.org> defaults/initrd.scripts | 9 + 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index 8dcb9e2..ccbc16d 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -628,7 +628,10 @@ is_log_enabled() { } is_true() { - case "$1" in + case "${1}" in + 1) + return 0 + ;; [Tt][Rr][Uu][Ee]) return 0 ;; @@ -641,10 +644,8 @@ is_true() { [Yy]) return 0 ;; - 1) - return 0 - ;; esac + return 1 }
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: 28c3b424687a0e68f0ebc9f53105bcf0a5cac1bf Author: Thomas Deutschmann gentoo org> AuthorDate: Sat Mar 20 17:17:43 2021 + Commit: Thomas Deutschmann gentoo org> CommitDate: Sun Mar 21 16:26:51 2021 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=28c3b424 initrd.scripts: is_debug(): Mark local variable as such Signed-off-by: Thomas Deutschmann gentoo.org> defaults/initrd.scripts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index d68875b..8dcb9e2 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -592,7 +592,7 @@ conf_rc_no_umounts() { } is_debug() { - is_debug=1 + local is_debug=1 if [ -f "${GK_DEBUGMODE_STATEFILE}" ] then
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: d5f7d79bab1563c301e0722ede0d75549297a031 Author: Thomas Deutschmann gentoo org> AuthorDate: Fri Mar 19 19:09:36 2021 + Commit: Thomas Deutschmann gentoo org> CommitDate: Sat Mar 20 00:12:35 2021 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=d5f7d79b linuxrc: Refactor handling of console log level Closes: https://github.com/gentoo/genkernel/pull/24 Signed-off-by: Thomas Deutschmann gentoo.org> defaults/initrd.defaults | 1 + defaults/initrd.scripts | 18 -- defaults/linuxrc | 18 +++--- 3 files changed, 12 insertions(+), 25 deletions(-) diff --git a/defaults/initrd.defaults b/defaults/initrd.defaults index 18e1382..8849539 100644 --- a/defaults/initrd.defaults +++ b/defaults/initrd.defaults @@ -70,6 +70,7 @@ VERIFY=0 IP='dhcp' GK_BOOTFONT_DISABLED=0 +GK_CONSOLE_LOGLEVEL=3 GK_DEBUGMODE_STATEFILE="/tmp/debug.enabled" GK_EMERGENCY_ACTION="halt -f" GK_HW_LOAD_ALL_MODULES=0 diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index ea66d9b..d68875b 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -2502,24 +2502,6 @@ sdelay() { fi } -quiet_kmsg() { - # if QUIET is set make the kernel less chatty - if [ -n "${QUIET}" ] - then - echo '0' > /proc/sys/kernel/printk \ - && log_msg "COMMAND: 'echo \"0\" > /proc/sys/kernel/printk'" - fi -} - -verbose_kmsg() { - # if QUIET is set make the kernel less chatty - if [ -n "${QUIET}" ] - then - echo '6' > /proc/sys/kernel/printk \ - && log_msg "COMMAND: 'echo \"6\" > /proc/sys/kernel/printk'" - fi -} - cdupdate() { if [ "${CDROOT}" = '1' ] then diff --git a/defaults/linuxrc b/defaults/linuxrc index 1861f23..dc34439 100644 --- a/defaults/linuxrc +++ b/defaults/linuxrc @@ -42,9 +42,6 @@ then chmod 0750 /run/initramfs fi -# Prevent superfluous printks from being printed to the console -echo 1 > /proc/sys/kernel/printk - if [ ! -s /etc/ld.so.cache ] then # Looks like we were unable to run ldconfig during initramfs generation @@ -54,6 +51,7 @@ fi # Set up symlinks run busybox --install -s +console_loglevel="$(cut -b1 /proc/sys/kernel/printk 2>/dev/null || echo 7)" gk_ver="$(cat /etc/build_id)" gk_build_date="$(cat /etc/build_date)" kernel_ver="$(uname -r)" @@ -467,6 +465,9 @@ do esac done +# Prevent superfluous printks from being printed to the console +echo ${GK_CONSOLE_LOGLEVEL} > /proc/sys/kernel/printk + good_msg "${gk_ver} (${gk_build_date}). Linux kernel ${kernel_ver}" if [ "${GK_BOOTFONT_DISABLED}" = '0' -a -e /lib/console/font ] @@ -480,8 +481,6 @@ then fi fi -quiet_kmsg - if [ "${CDROOT}" = '0' ] then if [ -z "${REAL_ROOT}" -a "${FAKE_ROOT}" != "/dev/ram0" ] @@ -1305,8 +1304,6 @@ then CHROOT="${CHROOT}/${SUBDIR}" fi -verbose_kmsg - if [ "${aufs}" = '1' ] then aufs_union_memory=${CHROOT}/.unions/memory @@ -1384,6 +1381,13 @@ do fi done +if [[ "${console_loglevel}" != "${GK_CONSOLE_LOGLEVEL}" ]] +then + good_msg "Restoring console log level (${console_loglevel}) ..." + echo ${console_loglevel} > /proc/sys/kernel/printk \ + && log_msg "COMMAND: 'echo \"${console_loglevel}\" > /proc/sys/kernel/printk'" +fi + good_msg "Switching to real root: switch_root ${CHROOT} ${init} ${init_opts}" exec switch_root "${CHROOT}" "${init}" ${init_opts}
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: ccdfc66e1dd25a361ac8d445225394b581eec729 Author: Thomas Deutschmann gentoo org> AuthorDate: Fri Mar 19 19:07:20 2021 + Commit: Thomas Deutschmann gentoo org> CommitDate: Sat Mar 20 00:12:35 2021 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=ccdfc66e linuxrc: Fix QUIET mode This commit will ensure that we really don't output anything when running in QUIET mode -- only errors will be shown. Signed-off-by: Thomas Deutschmann gentoo.org> defaults/initrd.scripts | 91 + defaults/linuxrc| 14 2 files changed, 53 insertions(+), 52 deletions(-) diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index 2bf736f..ea66d9b 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -419,7 +419,7 @@ cache_cd_contents() { run cp -a ${CDROOT_PATH}/${LOOP} ${NEW_ROOT}/mnt/${LOOP} if [ $? -ne 0 ] then - warn_msg "Failed to cache the loop file! Lack of RAM?" + warn_msg "Failed to cache the loop file! Lack of RAM?" 0 run rm -rf ${NEW_ROOT}/mnt/${LOOP} 2>/dev/null run rm -rf ${NEW_ROOT}/mnt/livecd.* 2>/dev/null run rm -rf ${NEW_ROOT}/mnt/image.* 2>/dev/null @@ -1013,10 +1013,10 @@ run() { run_debug_shell() { is_debug || return - good_msg 'Starting debug shell as requested by "debug" option.' - good_msg "Run '${BOLD}gksosreport${NORMAL}' to generate debug report" - good_msg "in case you want to file a bug report." - good_msg "Stopping by: ${1}" + good_msg 'Starting debug shell as requested by "debug" option.' 0 + good_msg "Run '${BOLD}gksosreport${NORMAL}' to generate debug report" 0 + good_msg "in case you want to file a bug report." 0 + good_msg "Stopping by: ${1}" 0 run_shell } @@ -1025,8 +1025,8 @@ run_emergency_shell() { then echo gksosreport - good_msg 'You might want to save "/run/initramfs/gksosreport.txt" to a USB stick or /boot' - good_msg 'after mounting them and attach it to a bug report.' + good_msg 'You might want to save "/run/initramfs/gksosreport.txt" to a USB stick or /boot' 0 + good_msg 'after mounting them and attach it to a bug report.' 0 fi run_shell @@ -1046,8 +1046,8 @@ run_shell() { export PS1='rescueshell \w \# ' echo - GOOD=${BLUE} good_msg "${NORMAL}Welcome to ${BOLD}${gk_ver}${NORMAL} (${gk_build_date}) ${BOLD}rescue shell${NORMAL}!" - GOOD=${BLUE} good_msg "${NORMAL}...running Linux kernel ${BOLD}${kernel_ver}${NORMAL}" + GOOD=${BLUE} good_msg "${NORMAL}Welcome to ${BOLD}${gk_ver}${NORMAL} (${gk_build_date}) ${BOLD}rescue shell${NORMAL}!" 0 + GOOD=${BLUE} good_msg "${NORMAL}...running Linux kernel ${BOLD}${kernel_ver}${NORMAL}" 0 echo # Avoid /dev/{console,tty0} due to "can't access tty; job control turned off" problem; @@ -1168,25 +1168,21 @@ log_msg() { # $2 hide flag good_msg() { - [ -n "${QUIET}" ] && ! is_debug && return 0 - local msg_string=${1} msg_string="${msg_string:-...}" log_msg "[OK] ${msg_string}" - [ "$2" != '1' ] && printf "%b\n" "${GOOD}>>${NORMAL}${BOLD} ${msg_string} ${NORMAL}" + [ "${2-${QUIET}}" != '1' ] && printf "%b\n" "${GOOD}>>${NORMAL}${BOLD} ${msg_string} ${NORMAL}" } good_msg_n() { - [ -n "${QUIET}" ] && ! is_debug && return 0 - local msg_string=${1} msg_string="${msg_string:-...}" log_msg "[OK] ${msg_string}" - [ "$2" != '1' ] && printf "%b" "${GOOD}>>${NORMAL}${BOLD} ${msg_string}" + [ "${2-${QUIET}}" != '1' ] && printf "%b" "${GOOD}>>${NORMAL}${BOLD} ${msg_string}" } bad_msg() { @@ -1195,11 +1191,8 @@ bad_msg() { log_msg "[!!] ${msg_string}" - if [ "$2" != '1' ] - then - splash 'verbose' >/dev/null & - printf "%b\n" "${BAD}!!${NORMAL}${BOLD} ${msg_string} ${NORMAL}" - fi + splash 'verbose' >/dev/null & + printf "%b\n" "${BAD}!!${NORMAL}${BOLD} ${msg_string} ${NORMAL}" } warn_msg() { @@ -1208,7 +1201,7 @@ warn_msg() { log_msg "[**] ${msg_string}" - [ "$2" != '1' ] && printf "%b\n" "${WARN}**${NORMAL}${BOLD} ${msg_string} ${NORMAL}" + [ "${2-${QUIET}}" != '1' ] && printf "%b\n" "${WARN}**${NORMAL}${BOLD} ${msg_string} ${NORMAL}" } warn_msg_n() { @@ -1217,7 +1210,7 @@ warn_msg_n() { log_msg "[**] ${msg_string}" - [ "$2" != '1' ] && printf "%b" "${WARN}**${NORMAL}${BOLD} ${msg_string}" + [ "${2-${QUIET}}" != '1' ] && printf "%b" "${WARN}**${NORMAL}${BOLD} ${msg_string}" } write_env_file() { @@ -1325,8 +1318,8 @@ prompt
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: abbdac08738be00b7194edd91d5fc922c565c51c Author: Thomas Deutschmann gentoo org> AuthorDate: Sat Mar 20 00:08:48 2021 + Commit: Thomas Deutschmann gentoo org> CommitDate: Sat Mar 20 00:12:34 2021 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=abbdac08 initrd.scripts: setup_keymap(): check console only when dokeymap is set Signed-off-by: Thomas Deutschmann gentoo.org> defaults/initrd.scripts | 14 +++--- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index ff956b0..2bf736f 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -1444,15 +1444,15 @@ cmdline_hwopts() { } setup_keymap() { - local console=$(get_active_console) - if echo "${console}" | grep -qF 'ttyS' - then - warn_msg "Active console is ${console}; Skipping dokeymap ..." - return - fi - if [ "${DO_keymap}" ] then + local console=$(get_active_console) + if echo "${console}" | grep -qF 'ttyS' + then + warn_msg "Active console is ${console}; Skipping dokeymap ..." + return + fi + if [ ! -e /dev/vc/0 -a ! -e /dev/tty0 ] then DEVBIND=1
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: c81285f02aaad8bd8161d06976147e9c1aca7a8a Author: Thomas Deutschmann gentoo org> AuthorDate: Sun Mar 14 19:30:53 2021 + Commit: Thomas Deutschmann gentoo org> CommitDate: Sun Mar 14 19:39:48 2021 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=c81285f0 initrd.scripts: run_shell(): Exit early when /dev is gone Signed-off-by: Thomas Deutschmann gentoo.org> defaults/initrd.scripts | 4 1 file changed, 4 insertions(+) diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index 53cb633..ff956b0 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -1072,6 +1072,10 @@ run_shell() { ${SH} --login fi + # Leave function early when /dev/null does not exist anymore, + # i.e. after failed switch_root call + [ ! -e /dev/null ] && return + rm "${GK_SHELL_LOCKFILE}" echo
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: f492e244b60324fac15d7a8f6e74b4a022bdd3bd Author: Thomas Deutschmann gentoo org> AuthorDate: Sat Mar 13 18:55:21 2021 + Commit: Thomas Deutschmann gentoo org> CommitDate: Sun Mar 14 19:33:57 2021 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=f492e244 initrd.scripts: setup_keymap(): Skip keymap loading for serial consoles Bug: https://bugs.gentoo.org/222699 Signed-off-by: Thomas Deutschmann gentoo.org> defaults/initrd.scripts | 7 +++ 1 file changed, 7 insertions(+) diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index 505ca02..55fe73f 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -1417,6 +1417,13 @@ cmdline_hwopts() { } setup_keymap() { + local console=$(get_active_console) + if echo "${console}" | grep -qF 'ttyS' + then + warn_msg "Active console is ${console}; Skipping dokeymap ..." + return + fi + if [ "${DO_keymap}" ] then if [ ! -e /dev/vc/0 -a ! -e /dev/tty0 ]
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: d61b95fa199284170990948b3f0e51e32a213262 Author: Thomas Deutschmann gentoo org> AuthorDate: Sun Mar 14 15:58:17 2021 + Commit: Thomas Deutschmann gentoo org> CommitDate: Sun Mar 14 19:34:08 2021 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=d61b95fa initrd.scripts: Add is_userinteraction_allowed() function Signed-off-by: Thomas Deutschmann gentoo.org> defaults/initrd.scripts | 23 ++- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index 3be18b5..53cb633 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -648,6 +648,15 @@ is_true() { return 1 } +is_userinteraction_allowed() { + if [ -f "${GK_USERINTERACTION_DISABLED_STATEFILE}" ] + then + return 1 + fi + + return 0 +} + # Function to create an ext2 fs on $aufs_dev, $aufs_dev_mnt mountpoint create_changefs() { local size @@ -1012,15 +1021,19 @@ run_debug_shell() { } run_emergency_shell() { - echo - gksosreport - good_msg 'You might want to save "/run/initramfs/gksosreport.txt" to a USB stick or /boot' - good_msg 'after mounting them and attach it to a bug report.' + if is_userinteraction_allowed + then + echo + gksosreport + good_msg 'You might want to save "/run/initramfs/gksosreport.txt" to a USB stick or /boot' + good_msg 'after mounting them and attach it to a bug report.' + fi + run_shell } run_shell() { - if [ -f "${GK_USERINTERACTION_DISABLED_STATEFILE}" ] + if ! is_userinteraction_allowed then bad_msg "gk.userinteraction.disabled is set; Spawning a shell is disabled!" return
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: f2bff3217a493b661dcde5dc1dea2f187106ca1a Author: Thomas Deutschmann gentoo org> AuthorDate: Sun Mar 14 15:49:27 2021 + Commit: Thomas Deutschmann gentoo org> CommitDate: Sun Mar 14 19:34:08 2021 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=f2bff321 initrd.scripts: modules_scan(): Rename GK_ROOTFS_DETECTED_STATEFILE -> GK_ROOT_DEV_DETECTED_STATEFILE GK_ROOT_DEV_DETECTED_STATEFILE is the more precise name. Signed-off-by: Thomas Deutschmann gentoo.org> defaults/initrd.defaults | 2 +- defaults/initrd.scripts | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/defaults/initrd.defaults b/defaults/initrd.defaults index c9e956a..b4e1e1d 100644 --- a/defaults/initrd.defaults +++ b/defaults/initrd.defaults @@ -89,7 +89,7 @@ GK_NET_TIMEOUT_INTERFACE=10 GK_PRESERVE_RUN=1 GK_PROMPT_FILE='/tmp/current_prompt' GK_PROMPT_TIMEOUT=0 -GK_ROOTFS_DETECTED_STATEFILE="/tmp/rootfs.detected" +GK_ROOT_DEV_DETECTED_STATEFILE="/tmp/root_dev.detected" GK_SHELL_LOCKFILE='/tmp/rescueshell.lock' GK_SSHD_LOCKFILE='/tmp/remote-rescueshell.lock' GK_SSHD_PIDFILE='/var/run/dropbear.pid' diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index 55fe73f..da15db7 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -99,16 +99,16 @@ modules_scan() { then if [ "${smart_loading}" = "yes" ] then - if [ ! -f "${GK_ROOTFS_DETECTED_STATEFILE}" ] + if [ ! -f "${GK_ROOT_DEV_DETECTED_STATEFILE}" ] then _root_dev=$(findfs "${REAL_ROOT}" 2>/dev/null) if [ $? -eq 0 ] && [ -n "${_root_dev}" ] && [ -b "${_root_dev}" ] then - echo "${_root_dev}" > "${GK_ROOTFS_DETECTED_STATEFILE}" + echo "${_root_dev}" > "${GK_ROOT_DEV_DETECTED_STATEFILE}" fi fi - if [ -f "${GK_ROOTFS_DETECTED_STATEFILE}" ] + if [ -f "${GK_ROOT_DEV_DETECTED_STATEFILE}" ] then log_msg "${root_dev_found}" printf "%b" "${root_dev_found}"
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: 2099687bbcc00e5ca3b6e11f2eb1e01e085e Author: Thomas Deutschmann gentoo org> AuthorDate: Sun Mar 14 15:56:34 2021 + Commit: Thomas Deutschmann gentoo org> CommitDate: Sun Mar 14 19:34:08 2021 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=2099 linuxrc: Rename rundebugshell() -> run_debug_shell() Signed-off-by: Thomas Deutschmann gentoo.org> defaults/initrd.scripts | 26 +++--- defaults/linuxrc| 6 +++--- 2 files changed, 14 insertions(+), 18 deletions(-) diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index da15db7..3be18b5 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -821,7 +821,7 @@ setup_overlayfs() { local workdir="${overlay}/.work" local static=/mnt/livecd - rundebugshell overlayfs + run_debug_shell overlayfs for i in "${overlay}" "${static}" do [ ! -d "${i}" ] && run mkdir -p "${i}" @@ -1001,6 +1001,16 @@ run() { return ${retval} } +run_debug_shell() { + is_debug || return + + good_msg 'Starting debug shell as requested by "debug" option.' + good_msg "Run '${BOLD}gksosreport${NORMAL}' to generate debug report" + good_msg "in case you want to file a bug report." + good_msg "Stopping by: ${1}" + run_shell +} + run_emergency_shell() { echo gksosreport @@ -2516,20 +2526,6 @@ cdupdate() { fi } -rundebugshell() { - if is_debug - then - good_msg 'Starting debug shell as requested by "debug" option.' - good_msg "Run '${BOLD}gksosreport${NORMAL}' to generate debug report" - good_msg "in case you want to file a bug report." - else - return 0 - fi - - good_msg "Stopping by: ${1}" - run_shell -} - do_resume() { local device=$(find_real_device "${REAL_RESUME}") if [ -z "${device}" ] diff --git a/defaults/linuxrc b/defaults/linuxrc index 7888130..8356aea 100644 --- a/defaults/linuxrc +++ b/defaults/linuxrc @@ -572,7 +572,7 @@ else fi # Run debug shell if requested -rundebugshell "before starting udevd" +run_debug_shell "before starting udevd" # Initialize udev if [ ! -f "/etc/udev/hwdb.bin" ] @@ -670,7 +670,7 @@ run mkdir -p "${NEW_ROOT}" CHROOT="${NEW_ROOT}" # Run debug shell if requested -rundebugshell "before setting up the root filesystem" +run_debug_shell "before setting up the root filesystem" if [ "${CDROOT}" = '1' ] then @@ -1331,7 +1331,7 @@ then fi # Run debug shell if requested -rundebugshell "before entering switch_root" +run_debug_shell "before switch_root" if [ "${GK_PRESERVE_RUN}" = '0' ] then
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: 6f2867c2bcc027cfe088804dfeb5d3a6b3866a3e Author: Thomas Deutschmann gentoo org> AuthorDate: Sat Mar 13 19:09:48 2021 + Commit: Thomas Deutschmann gentoo org> CommitDate: Sun Mar 14 19:34:02 2021 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=6f2867c2 linuxrc: Skip loading embedded boot font for serial consoles Signed-off-by: Thomas Deutschmann gentoo.org> defaults/linuxrc | 8 +++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/defaults/linuxrc b/defaults/linuxrc index acb246c..7888130 100644 --- a/defaults/linuxrc +++ b/defaults/linuxrc @@ -453,7 +453,13 @@ good_msg "${gk_ver} (${gk_build_date}). Linux kernel ${kernel_ver}" if [ "${GK_BOOTFONT_DISABLED}" = '0' -a -e /lib/console/font ] then - hash setfont >/dev/null 2>&1 && run setfont /lib/console/font -C ${CONSOLE} 2>&1 + if echo "$(get_active_console)" | grep -qF ttyS + then + warn_msg "Active console is ${console}; Not loading embedded boot font ..." + elif hash setfont >/dev/null 2>&1 + then + run setfont /lib/console/font -C ${CONSOLE} 2>&1 + fi fi quiet_kmsg
[gentoo-commits] proj/genkernel:master commit in: defaults/, doc/
commit: 858e9bbef4421cd4a1f85a1b5eeb3ebd4f3dce8a Author: Thomas Deutschmann gentoo org> AuthorDate: Sat Mar 13 18:40:10 2021 + Commit: Thomas Deutschmann gentoo org> CommitDate: Sun Mar 14 19:33:54 2021 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=858e9bbe linuxrc: Drop "console" kernel argument handling It was never really used; Kernel's console handling already did the work. Signed-off-by: Thomas Deutschmann gentoo.org> defaults/linuxrc| 21 - doc/genkernel.8.txt | 4 2 files changed, 25 deletions(-) diff --git a/defaults/linuxrc b/defaults/linuxrc index 28a504b..acb246c 100644 --- a/defaults/linuxrc +++ b/defaults/linuxrc @@ -178,12 +178,6 @@ do MLIST=$(echo ${MLIST} ${x#*=} | sed -e 's/^\ *//;s/,/ /g') export MLIST ;; - # Redirect output to a specific tty - CONSOLE=*|console=*) - NEW_CONSOLE=${x#*=} - NEW_CONSOLE=$(basename ${NEW_CONSOLE}) - NEW_CONSOLE=${NEW_CONSOLE%%,*} - ;; # /dev/md lvmraid=*) warn_msg "'${x}' kernel command-line argument is deprecated; Use 'dolvm' instead!" @@ -455,21 +449,6 @@ do esac done -if [ -n "${NEW_CONSOLE}" ] -then - # We cannot update console while processing CMDLINE because we - # are only interested in last console= value. - [ ! -c "${NEW_CONSOLE}" ] && NEW_CONSOLE="/dev/${NEW_CONSOLE}" - if [ -c "${NEW_CONSOLE}" ] - then - exec 0<>${NEW_CONSOLE} 1<>${NEW_CONSOLE} 2<>${NEW_CONSOLE} - good_msg "Console switched from '${CONSOLE}' to '${NEW_CONSOLE}'!" - CONSOLE="${NEW_CONSOLE}" - else - bad_msg "Unable to switch console: '${NEW_CONSOLE}' not found or not a character device!" - fi -fi - good_msg "${gk_ver} (${gk_build_date}). Linux kernel ${kernel_ver}" if [ "${GK_BOOTFONT_DISABLED}" = '0' -a -e /lib/console/font ] diff --git a/doc/genkernel.8.txt b/doc/genkernel.8.txt index d7afc07..b75f979 100644 --- a/doc/genkernel.8.txt +++ b/doc/genkernel.8.txt @@ -872,10 +872,6 @@ enabled. *nomodules*:: Enables/disables loading of modules in general. -*CONSOLE*=<...>:: -*console*=<...>:: -Override location of console, default is "/dev/console". - *part*[=<0,1>]:: *partitionable*:: Enable/Disable partitionable RAIDs (metadata 0.x) during auto-run.
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: bf26667ac4a906601eda8ce72cdd7058556bf387 Author: Thomas Deutschmann gentoo org> AuthorDate: Sat Mar 13 17:08:40 2021 + Commit: Thomas Deutschmann gentoo org> CommitDate: Sun Mar 14 19:33:34 2021 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=bf26667a linuxrc: Reformat exec code Signed-off-by: Thomas Deutschmann gentoo.org> defaults/linuxrc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/defaults/linuxrc b/defaults/linuxrc index 1c051bc..f20d606 100644 --- a/defaults/linuxrc +++ b/defaults/linuxrc @@ -21,7 +21,7 @@ [ ! -e /dev/zero ] && mknod /dev/zero c 1 5 # Take control -exec >${CONSOLE} <${CONSOLE} 2>&1 +exec 0<>${CONSOLE} 1<>${CONSOLE} 2<>${CONSOLE} if [ "$$" != '1' ] then @@ -462,7 +462,7 @@ then [ ! -c "${NEW_CONSOLE}" ] && NEW_CONSOLE="/dev/${NEW_CONSOLE}" if [ -c "${NEW_CONSOLE}" ] then - exec >${NEW_CONSOLE} <${NEW_CONSOLE} 2>&1 + exec 0<>${NEW_CONSOLE} 1<>${NEW_CONSOLE} 2<>${NEW_CONSOLE} good_msg "Console switched from '${CONSOLE}' to '${NEW_CONSOLE}'!" CONSOLE="${NEW_CONSOLE}" else
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: c26b9d493c8530bbfd69e0148ce72a959d7c5321 Author: Thomas Deutschmann gentoo org> AuthorDate: Sat Mar 13 16:56:29 2021 + Commit: Thomas Deutschmann gentoo org> CommitDate: Sun Mar 14 19:33:20 2021 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=c26b9d49 initrd.scripts: bootstrapFS(): Create /dev/tty0 If we create ttyS0, we should also create tty0. Signed-off-by: Thomas Deutschmann gentoo.org> defaults/initrd.scripts | 1 + 1 file changed, 1 insertion(+) diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index d005e0d..b64a2c4 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -314,6 +314,7 @@ bootstrapFS() { [ ! -e "${NEW_ROOT}/dev/null" ]&& run mknod -m 666 "${NEW_ROOT}"/dev/null c 1 3 [ ! -e "${NEW_ROOT}/dev/zero" ]&& run mknod -m 666 "${NEW_ROOT}"/dev/zero c 1 5 [ ! -e "${NEW_ROOT}/dev/console" ] && run mknod -m 600 "${NEW_ROOT}"/dev/console c 5 1 + [ ! -e "${NEW_ROOT}/dev/tty0" ]&& run mknod -m 620 "${NEW_ROOT}"/dev/tty0 c 4 0 [ ! -e "${NEW_ROOT}/dev/ttyS0" ] && run mknod -m 660 "${NEW_ROOT}"/dev/ttyS0 c 4 64 # For SGI LiveCDs
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: 8544f0b7a0b574fc982d971347b7b2b06dd91a09 Author: Thomas Deutschmann gentoo org> AuthorDate: Sat Mar 13 17:10:45 2021 + Commit: Thomas Deutschmann gentoo org> CommitDate: Sun Mar 14 19:33:40 2021 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=8544f0b7 initrd.scripts: run_shell(): Reformat exec code Signed-off-by: Thomas Deutschmann gentoo.org> defaults/initrd.scripts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index b64a2c4..c133282 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -1035,7 +1035,7 @@ run_shell() { && [ -c "${CONSOLE}" ] then log_msg "Opening rescue shell on ${CONSOLE} ..." - setsid ${SH} -c "exec sh --login <${CONSOLE} >${CONSOLE} 2>&1" + setsid ${SH} -c "exec sh --login 0<>${CONSOLE} 1<>${CONSOLE} 2<>${CONSOLE}" elif command -v cttyhack 1>/dev/null 2>&1 then log_msg "Opening rescue shell using cttyhack ..." @@ -1043,7 +1043,7 @@ run_shell() { elif [ -c '/dev/tty1' ] then log_msg "Opening rescue shell on /dev/tty1 fallback ..." - setsid ${SH} -c 'exec sh --login /dev/tty1 2>&1' + setsid ${SH} -c "exec sh --login 0<>/dev/tty1 1<>/dev/tty1 2<>/dev/tty1" else log_msg "Opening rescue shell (last resort) ..." ${SH} --login @@ -1055,7 +1055,7 @@ run_shell() { # We maybe have called exec and dettached from main script; We # must restore control... - exec >${CONSOLE} <${CONSOLE} 2>&1 + exec 0<>${CONSOLE} 1<>${CONSOLE} 2<>${CONSOLE} } fs_type_in_use() {
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: 90d2a28d3d589ba6eb1c1c54b2d12715be1e2673 Author: Thomas Deutschmann gentoo org> AuthorDate: Sat Mar 13 16:58:53 2021 + Commit: Thomas Deutschmann gentoo org> CommitDate: Sun Mar 14 19:33:29 2021 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=90d2a28d linuxrc: Don't delete /linuxrc It's not clear why this was ever added via commit c4e37560598d4dc59ef3619084f3822df71e8aef. Signed-off-by: Thomas Deutschmann gentoo.org> defaults/linuxrc | 5 - 1 file changed, 5 deletions(-) diff --git a/defaults/linuxrc b/defaults/linuxrc index 222dd35..1c051bc 100644 --- a/defaults/linuxrc +++ b/defaults/linuxrc @@ -57,11 +57,6 @@ gk_ver="$(cat /etc/build_id)" gk_build_date="$(cat /etc/build_date)" kernel_ver="$(uname -r)" -if [ "$0" = '/init' ] -then - [ -e /linuxrc ] && run rm /linuxrc -fi - CMDLINE=$(cat /proc/cmdline) # Scan CMDLINE for any specified real_root= or cdroot arguments FAKE_ROOT=''
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: b2f55a479ffbb07dc0abc36660f6cc12bc63eda6 Author: Thomas Deutschmann gentoo org> AuthorDate: Sat Mar 13 18:35:19 2021 + Commit: Thomas Deutschmann gentoo org> CommitDate: Sun Mar 14 19:33:45 2021 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=b2f55a47 linuxrc: Determine active console Signed-off-by: Thomas Deutschmann gentoo.org> defaults/initrd.defaults | 1 - defaults/initrd.scripts | 15 +++ defaults/linuxrc | 1 + 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/defaults/initrd.defaults b/defaults/initrd.defaults index 7ee78e9..c9e956a 100644 --- a/defaults/initrd.defaults +++ b/defaults/initrd.defaults @@ -56,7 +56,6 @@ ROOT_LINKS='bin sbin lib lib32 lib64 boot usr opt emul' ROOT_TREES='etc root home var' REAL_ROOT='' -CONSOLE='/dev/console' NEW_ROOT='/newroot' no_umounts='/newroot|/mnt/aufs-dev|/mnt/aufs-rw-branch|/mnt/livecd|/mnt/cdrom|/.unions/memory|/.unions/memory/xino' ROOTDELAY=5 diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index c133282..505ca02 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -2722,6 +2722,21 @@ setup_unionfs() { fi } +get_active_console() { + local active_console=console + + while [ -f /sys/class/tty/${active_console}/active ] + do + active_console=$(cat /sys/class/tty/${active_console}/active) + + # last console will be the active one, + # see https://www.kernel.org/doc/html/latest/admin-guide/serial-console.html + active_console=${active_console##* } + done + + echo ${active_console} +} + get_mounts_list() { awk ' /^[[:blank:]]*#/ { next } diff --git a/defaults/linuxrc b/defaults/linuxrc index f20d606..37a8dfa 100644 --- a/defaults/linuxrc +++ b/defaults/linuxrc @@ -21,6 +21,7 @@ [ ! -e /dev/zero ] && mknod /dev/zero c 1 5 # Take control +CONSOLE="/dev/$(get_active_console)" exec 0<>${CONSOLE} 1<>${CONSOLE} 2<>${CONSOLE} if [ "$$" != '1' ]
[gentoo-commits] proj/genkernel:master commit in: defaults/, gkbuilds/
commit: 0b9f8e012a51eecd3df1a86b4ca639de85537e33 Author: Thomas Deutschmann gentoo org> AuthorDate: Sat Mar 13 15:40:49 2021 + Commit: Thomas Deutschmann gentoo org> CommitDate: Sat Mar 13 15:41:34 2021 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=0b9f8e01 Bump strace to v5.11 Signed-off-by: Thomas Deutschmann gentoo.org> defaults/software.sh| 2 +- gkbuilds/strace.gkbuild | 9 + 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/defaults/software.sh b/defaults/software.sh index e938584..291bad4 100644 --- a/defaults/software.sh +++ b/defaults/software.sh @@ -186,7 +186,7 @@ GKPKG_POPT_BINPKG="${GKPKG_POPT_BINPKG:-%%CACHE%%/popt-${GKPKG_POPT_PV}-%%ARCH%% GKPKG_STRACE_PN="strace" GKPKG_STRACE_PV="${GKPKG_STRACE_PV:-VERSION_STRACE}" -GKPKG_STRACE_DEPS="" +GKPKG_STRACE_DEPS="libaio" GKPKG_STRACE_SRCTAR="${GKPKG_STRACE_SRCTAR:-${DISTDIR}/strace-${GKPKG_STRACE_PV}.tar.xz}" GKPKG_STRACE_SRCDIR="${GKPKG_STRACE_SRCDIR:-strace-${GKPKG_STRACE_PV}}" GKPKG_STRACE_BINPKG="${GKPKG_STRACE_BINPKG:-%%CACHE%%/strace-${GKPKG_STRACE_PV}-%%ARCH%%.tar.xz}" diff --git a/gkbuilds/strace.gkbuild b/gkbuilds/strace.gkbuild index 62399ce..d32a4b7 100644 --- a/gkbuilds/strace.gkbuild +++ b/gkbuilds/strace.gkbuild @@ -1,12 +1,13 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 src_configure() { append-ldflags -static -pthread - export ac_cv_header_libaio_h=yes local myconf=( + --disable-gcc-Werror --enable-mpers=check + --enable-static --without-libunwind --without-libdw ) @@ -19,8 +20,8 @@ src_configure() { src_install() { mkdir -p "${D}"/usr/bin || die "Failed to create '${D}/usr/bin'!" - cp -a strace "${D}"/usr/bin/ \ - || die "Failed to copy '${S}/strace' to '${D}/usr/bin/'!" + cp -a src/strace "${D}"/usr/bin/ \ + || die "Failed to copy '${S}/src/strace' to '${D}/usr/bin/'!" "${STRIP}" --strip-all "${D}"/usr/bin/strace \ || die "Failed to strip '${D}/usr/bin/strace'!"
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: 3f1a037b36a3df7ba5acb3b91f925df06dbd61da Author: Thomas Deutschmann gentoo org> AuthorDate: Mon Mar 8 00:35:19 2021 + Commit: Thomas Deutschmann gentoo org> CommitDate: Mon Mar 8 00:36:13 2021 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=3f1a037b initrd.scripts: Add trim() function Signed-off-by: Thomas Deutschmann gentoo.org> defaults/initrd.scripts | 10 ++ defaults/unlock-luks.sh | 1 + 2 files changed, 11 insertions(+) diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index f7e6c3d..d005e0d 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -1103,6 +1103,15 @@ test_success() { fi } +trim() { + local var="$*" + + var="${var#"${var%%[![:space:]]*}"}" # remove leading whitespace characters + var="${var%"${var##*[![:space:]]}"}" # remove trailing whitespace characters + + printf "%s" "${var}" +} + log_msg() { is_log_enabled || return @@ -1779,6 +1788,7 @@ openLUKS() { eval local LUKS_KEYDEV='"${CRYPT_'${TYPE}'_KEYDEV}"' eval local LUKS_KEYDEV_FSTYPE='"${CRYPT_'${TYPE}'_KEYDEV_FSTYPE}"' eval local cryptsetup_options='"${CRYPT_'${TYPE}'_OPTIONS}"' + cryptsetup_options="$(trim "${cryptsetup_options}")" eval local OPENED_LOCKFILE='"${CRYPT_'${TYPE}'_OPENED_LOCKFILE}"' local DEV_ERROR=0 KEY_ERROR=0 KEYDEV_ERROR=0 local mntkey="/mnt/key/" crypt_filter_ret= diff --git a/defaults/unlock-luks.sh b/defaults/unlock-luks.sh index 4c99a1f..9ef54e0 100644 --- a/defaults/unlock-luks.sh +++ b/defaults/unlock-luks.sh @@ -47,6 +47,7 @@ main() { eval local LUKS_DEVICE='"${CRYPT_'${TYPE}'}"' eval local LUKS_KEY='"${CRYPT_'${TYPE}'_KEYFILE}"' eval local cryptsetup_options='"${CRYPT_'${TYPE}'_OPTIONS}"' + cryptsetup_options="$(trim "${cryptsetup_options}")" eval local OPENED_LOCKFILE='"${CRYPT_'${TYPE}'_OPENED_LOCKFILE}"' if [ -z "${LUKS_DEVICE}" ]
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: 282b201cc46bb00c4a840cc7780084bf38b36cbb Author: Thomas Deutschmann gentoo org> AuthorDate: Thu Feb 18 23:48:38 2021 + Commit: Thomas Deutschmann gentoo org> CommitDate: Thu Feb 18 23:48:38 2021 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=282b201c defaults/modules_load: Add netconsole This will ensure that netconsole will be available in initramfs. Signed-off-by: Thomas Deutschmann gentoo.org> defaults/modules_load | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/defaults/modules_load b/defaults/modules_load index 6f021ac..1cc1478 100644 --- a/defaults/modules_load +++ b/defaults/modules_load @@ -16,7 +16,7 @@ MODULES_WAITSCAN="scsi_wait_scan" MODULES_BLOCK="sdhci_acpi sdhci_pci" # Hardware (Network) -MODULES_NET="8139cp 8139too atl1c atlantic bcm_phy_lib bnx2 bonding broadcom cxgb cxgb3 cxgb4 e1000 e1000e ena hv_netvsc ionic igb ixgb ixgbe macvlan pcnet32 r8169 realtek samsung-sxgbe sky2 tg3 tulip virtio_net vmxnet3 vxge vxlan gve" +MODULES_NET="8139cp 8139too atl1c atlantic bcm_phy_lib bnx2 bonding broadcom cxgb cxgb3 cxgb4 e1000 e1000e ena hv_netvsc ionic igb ixgb ixgbe macvlan pcnet32 r8169 realtek samsung-sxgbe sky2 tg3 tulip virtio_net vmxnet3 vxge vxlan gve netconsole" # iSCSI support MODULES_ISCSI="scsi_transport_iscsi libiscsi iscsi_tcp"
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: a0ecf435b3f5093d23209eb43c51c8cb9a6bc3ae Author: Thomas Deutschmann gentoo org> AuthorDate: Thu Feb 18 21:42:31 2021 + Commit: Thomas Deutschmann gentoo org> CommitDate: Thu Feb 18 21:42:31 2021 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=a0ecf435 kernel-generic-config: rebased against & and updated for linux-5.11 Signed-off-by: Thomas Deutschmann gentoo.org> defaults/kernel-generic-config | 790 + 1 file changed, 723 insertions(+), 67 deletions(-) diff --git a/defaults/kernel-generic-config b/defaults/kernel-generic-config index bd8d415..927a44d 100644 --- a/defaults/kernel-generic-config +++ b/defaults/kernel-generic-config @@ -59,6 +59,7 @@ CONFIG_ACPI_CUSTOM_METHOD=m # CONFIG_ACPI_DEBUGGER is not set CONFIG_ACPI_DEBUG=y CONFIG_ACPI_DOCK=y +# CONFIG_ACPI_DPTF is not set CONFIG_ACPI_EC_DEBUGFS=m CONFIG_ACPI_EXTLOG=m CONFIG_ACPI_FAN=y @@ -109,14 +110,17 @@ CONFIG_AD5272=m # CONFIG_AD5758 is not set # CONFIG_AD5761 is not set # CONFIG_AD5764 is not set +# CONFIG_AD5770R is not set # CONFIG_AD5791 is not set # CONFIG_AD5933 is not set +# CONFIG_AD7091R5 is not set CONFIG_AD7124=m # CONFIG_AD7150 is not set # CONFIG_AD7192 is not set # CONFIG_AD7266 is not set # CONFIG_AD7280 is not set # CONFIG_AD7291 is not set +CONFIG_AD7292=m # CONFIG_AD7298 is not set # CONFIG_AD7303 is not set # CONFIG_AD7476 is not set @@ -135,6 +139,7 @@ CONFIG_AD7949=m # CONFIG_AD799X is not set # CONFIG_AD8366 is not set # CONFIG_AD8801 is not set +CONFIG_AD9467=m # CONFIG_AD9523 is not set # CONFIG_AD9832 is not set # CONFIG_AD9834 is not set @@ -143,6 +148,7 @@ CONFIG_ADAPTEC_STARFIRE=m # CONFIG_ADF4350 is not set # CONFIG_ADF4371 is not set # CONFIG_ADFS_FS is not set +CONFIG_ADI_AXI_ADC=m CONFIG_ADIN_PHY=m # CONFIG_ADIS16080 is not set # CONFIG_ADIS16130 is not set @@ -154,10 +160,12 @@ CONFIG_ADIN_PHY=m # CONFIG_ADIS16260 is not set # CONFIG_ADIS16400 is not set # CONFIG_ADIS16460 is not set +# CONFIG_ADIS16475 is not set # CONFIG_ADIS16480 is not set # CONFIG_ADJD_S311 is not set CONFIG_AD_SIGMA_DELTA=m # CONFIG_ADT7316 is not set +# CONFIG_ADUX1020 is not set # CONFIG_ADVANTECH_WDT is not set CONFIG_ADVISE_SYSCALLS=y # CONFIG_ADXL345_I2C is not set @@ -165,6 +173,7 @@ CONFIG_ADVISE_SYSCALLS=y CONFIG_ADXL372_I2C=m CONFIG_ADXL372=m CONFIG_ADXL372_SPI=m +# CONFIG_ADXRS290 is not set # CONFIG_ADXRS450 is not set # CONFIG_AFE4403 is not set # CONFIG_AFE4404 is not set @@ -196,6 +205,7 @@ CONFIG_AIC7XXX_RESET_DELAY_MS=15000 CONFIG_AIO=y # CONFIG_AIX_PARTITION is not set # CONFIG_AK09911 is not set +# CONFIG_AL3010 is not set # CONFIG_AL3320A is not set CONFIG_ALIENWARE_WMI=m CONFIG_ALIM1535_WDT=m @@ -211,6 +221,8 @@ CONFIG_ALX=m CONFIG_AMD8111_ETH=m CONFIG_AMD_NB=y CONFIG_AMD_PHY=m +CONFIG_AMD_PMC=m +# CONFIG_AMD_SFH_HID is not set CONFIG_AMD_XGBE_DCB=y CONFIG_AMD_XGBE_HAVE_ECC=y CONFIG_AMD_XGBE=m @@ -221,6 +233,7 @@ CONFIG_AMILO_RFKILL=m CONFIG_APDS9802ALS=m # CONFIG_APDS9960 is not set CONFIG_APPLE_GMUX=m +CONFIG_APPLE_MFI_FASTCHARGE=m CONFIG_APPLE_PROPERTIES=y # CONFIG_APPLICOM is not set CONFIG_AQUANTIA_PHY=m @@ -232,9 +245,13 @@ CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y +CONFIG_ARCH_HAS_COPY_MC=y CONFIG_ARCH_HAS_CPU_RELAX=y CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y +CONFIG_ARCH_HAS_DEBUG_VM_PGTABLE=y +CONFIG_ARCH_HAS_DEBUG_WX=y CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y +CONFIG_ARCH_HAS_EARLY_DEBUG=y CONFIG_ARCH_HAS_ELF_RANDOMIZE=y CONFIG_ARCH_HAS_FAST_MULTIPLIER=y CONFIG_ARCH_HAS_FILTER_PGPROT=y @@ -242,6 +259,7 @@ CONFIG_ARCH_HAS_FORTIFY_SOURCE=y CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y CONFIG_ARCH_HAS_MEM_ENCRYPT=y +CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE=y CONFIG_ARCH_HAS_PTE_SPECIAL=y CONFIG_ARCH_HAS_REFCOUNT=y CONFIG_ARCH_HAS_SET_DIRECT_MAP=y @@ -254,6 +272,7 @@ CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y CONFIG_ARCH_HIBERNATION_HEADER=y CONFIG_ARCH_HIBERNATION_POSSIBLE=y CONFIG_ARCH_MAY_HAVE_PC_FDC=y +# CONFIG_ARCH_MEMORY_PROBE is not set CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y @@ -273,15 +292,23 @@ CONFIG_ARCH_USE_MEMREMAP_PROT=y CONFIG_ARCH_USE_QUEUED_RWLOCKS=y CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y CONFIG_ARCH_USES_PG_UNCACHED=y +CONFIG_ARCH_USE_SYM_ANNOTATIONS=y CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y +CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y CONFIG_ARCH_WANT_GENERAL_HUGETLB=y CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y +CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y # CONFIG_ARCNET is not set # CONFIG_AS3935 is not set +# CONFIG_AS73211 is not set +CONFIG_AS_AVX512=y CONFIG_ASM_MODVERSIONS=y CONFIG_ASN1=y +CONFIG_AS_SHA1_NI=y +CONFIG_AS_SHA256_NI=y CONFIG_ASSOCIATIVE_ARRAY=y +CONFIG_AS_TPAUSE=y CONFIG_ASUS_LAPTOP=m CONFIG_ASU
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: f8a26eeba219c4027848fd50a2ae4e9d22029168 Author: Thomas Deutschmann gentoo org> AuthorDate: Mon Feb 15 05:44:32 2021 + Commit: Thomas Deutschmann gentoo org> CommitDate: Mon Feb 15 05:51:59 2021 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=f8a26eeb initrd.scripts: openLUKS(): differentiate LUKS_DEVICE errors If LUKS_DEVICE was not found user can either have not set crypt_{root,swap}, set crypt_{root,swap} to an invalid value or kernel is lacking storage support (i.e. missing controller driver). Signed-off-by: Thomas Deutschmann gentoo.org> defaults/initrd.scripts | 8 +++- defaults/unlock-luks.sh | 8 +++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index 2fcc593..f7e6c3d 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -1783,6 +1783,12 @@ openLUKS() { local DEV_ERROR=0 KEY_ERROR=0 KEYDEV_ERROR=0 local mntkey="/mnt/key/" crypt_filter_ret= + if [ -z "${LUKS_DEVICE}" ] + then + bad_msg "'crypt_${1}' kernel command-line argument is not set!" + exit 1 + fi + while true do local gpg_cmd="" @@ -1810,7 +1816,7 @@ openLUKS() { LUKS_DEVICE=$(find_real_device "${LUKS_DEVICE}") if [ -z "${LUKS_DEVICE}" ] then - bad_msg "Looks like CRYPT_${TYPE} kernel cmdline argument is not set." ${CRYPT_SILENT} + bad_msg "Failed to find LUKS device. If crypt_${1} kernel command-line argument is correct you are probably missing kernel support for your storage!" ${CRYPT_SILENT} DEV_ERROR=1 continue fi diff --git a/defaults/unlock-luks.sh b/defaults/unlock-luks.sh index 59e086a..4c99a1f 100644 --- a/defaults/unlock-luks.sh +++ b/defaults/unlock-luks.sh @@ -49,6 +49,12 @@ main() { eval local cryptsetup_options='"${CRYPT_'${TYPE}'_OPTIONS}"' eval local OPENED_LOCKFILE='"${CRYPT_'${TYPE}'_OPENED_LOCKFILE}"' + if [ -z "${LUKS_DEVICE}" ] + then + bad_msg "'crypt_${NAME}' kernel command-line argument is not set!" + exit 1 + fi + while true do local gpg_cmd crypt_filter_ret @@ -61,7 +67,7 @@ main() { LUKS_DEVICE=$(find_real_device "${LUKS_DEVICE}") if [ -z "${LUKS_DEVICE}" ] then - bad_msg "Looks like CRYPT_${TYPE} kernel cmdline argument is not set." "${CRYPT_SILENT}" + bad_msg "Failed to find LUKS device. If crypt_${NAME} kernel command-line argument is correct you are probably missing kernel support for your storage!" ${CRYPT_SILENT} exit 1 fi
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: 3265be70d78e20e385f98e7aad651f4a4a68ee3b Author: Thomas Deutschmann gentoo org> AuthorDate: Mon Feb 15 05:43:26 2021 + Commit: Thomas Deutschmann gentoo org> CommitDate: Mon Feb 15 05:51:54 2021 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=3265be70 initrd.scripts: openLUKS(): validate argument Signed-off-by: Thomas Deutschmann gentoo.org> defaults/initrd.scripts | 4 1 file changed, 4 insertions(+) diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index 5d744ee..2fcc593 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -1767,6 +1767,10 @@ openLUKS() { swap) local TYPE=SWAP ;; + *) + bad_msg "OpenLUKS(): Unknown type '${1}' specified!" + exit 1 + ;; esac local LUKS_NAME="${1}"
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: c4e6b09c79f33303f749b2b40af51a01f168971f Author: Thomas Deutschmann gentoo org> AuthorDate: Mon Feb 15 04:34:57 2021 + Commit: Thomas Deutschmann gentoo org> CommitDate: Mon Feb 15 05:51:47 2021 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=c4e6b09c linuxrc: load btrfs module manually There is no trigger/rule in UDEV/btrfs-progs to load btrfs module. The only known trigger via mount command could be too late or is maybe insufficient depending on used BTRFS {meta,}data profile. Bug: https://bugs.gentoo.org/739892 Signed-off-by: Thomas Deutschmann gentoo.org> defaults/linuxrc | 8 1 file changed, 8 insertions(+) diff --git a/defaults/linuxrc b/defaults/linuxrc index d8fee73..222dd35 100644 --- a/defaults/linuxrc +++ b/defaults/linuxrc @@ -535,6 +535,14 @@ then FIRSTMODS="${FIRSTMODS} crc32_generic" fi +if [ "${ROOTFSTYPE}" = "btrfs" -o -x /sbin/btrfs ] +then + # We have no mechanism to trigger btrfs module loading before UDEV's btrfs builtin + # will run; In addition, loading btrfs via UDEV could cause problems for slow + # machines, see https://github.com/dracutdevs/dracut/issues/658 + FIRSTMODS="${FIRSTMODS} btrfs" +fi + splash 'init' cmdline_hwopts
[gentoo-commits] proj/genkernel:master commit in: defaults/, doc/
commit: a0a6d6313874a7567a26c405713aaf610695285d Author: Thomas Deutschmann gentoo org> AuthorDate: Sun Feb 7 18:02:29 2021 + Commit: Thomas Deutschmann gentoo org> CommitDate: Sun Feb 7 18:02:29 2021 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=a0a6d631 linuxrc: add kernel command-line argument to allow user to pass additional options to cryptsetup Cryptsetup supports additional options like "--perf-no_read_workqueue" or "--perf-no_write_workqueue". While it is recommended to use LUKS2 format and make these activiation flags permanent, you can also make use of the new kernel command-line arguments "crypt_root_options" for root device or "crypt_swap_options" for swap device to pass additional options to cryptsetup. These arguments can be specified multiple times or separate multiple options with a comma. Bug: https://bugs.gentoo.org/755587 Signed-off-by: Thomas Deutschmann gentoo.org> defaults/initrd.defaults | 2 ++ defaults/initrd.scripts | 16 +++- defaults/linuxrc | 13 - defaults/unlock-luks.sh | 8 +++- doc/genkernel.8.txt | 10 ++ 5 files changed, 34 insertions(+), 15 deletions(-) diff --git a/defaults/initrd.defaults b/defaults/initrd.defaults index cd485ca..ac3b072 100644 --- a/defaults/initrd.defaults +++ b/defaults/initrd.defaults @@ -104,9 +104,11 @@ CRYPT_ENV_FILE='/etc/CRYPT_ENV.conf' CRYPT_ROOT_KEYDEV_FSTYPE='auto' CRYPT_ROOT_KEYFILE='/tmp/root.key' CRYPT_ROOT_OPENED_LOCKFILE='/tmp/ROOT.opened' +CRYPT_ROOT_OPTIONS='' CRYPT_SWAP_KEYDEV_FSTYPE='auto' CRYPT_SWAP_KEYFILE='/tmp/swap.key' CRYPT_SWAP_OPENED_LOCKFILE='/tmp/SWAP.opened' +CRYPT_SWAP_OPTIONS='' ZFS_ENC_ENV_FILE='/etc/ZFS_ENC_ENV.conf' ZFS_ENC_OPENED_LOCKFILE='/tmp/ZFS.opened' diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index f6e84fc..5d744ee 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -1193,7 +1193,7 @@ write_env_file() { for varname in $* do eval varvalue=\$${varname} - echo "${varname}=${varvalue}" >> "${env_file}" + echo "${varname}='${varvalue}'" >> "${env_file}" done } @@ -1774,15 +1774,13 @@ openLUKS() { eval local LUKS_KEY='"${CRYPT_'${TYPE}'_KEY}"' eval local LUKS_KEYDEV='"${CRYPT_'${TYPE}'_KEYDEV}"' eval local LUKS_KEYDEV_FSTYPE='"${CRYPT_'${TYPE}'_KEYDEV_FSTYPE}"' - eval local LUKS_TRIM='"${CRYPT_'${TYPE}'_TRIM}"' + eval local cryptsetup_options='"${CRYPT_'${TYPE}'_OPTIONS}"' eval local OPENED_LOCKFILE='"${CRYPT_'${TYPE}'_OPENED_LOCKFILE}"' local DEV_ERROR=0 KEY_ERROR=0 KEYDEV_ERROR=0 local mntkey="/mnt/key/" crypt_filter_ret= while true do - local cryptsetup_options='' - local gpg_cmd="" if [ -e "${OPENED_LOCKFILE}" ] then @@ -1819,10 +1817,9 @@ openLUKS() { DEV_ERROR=1 continue else - if [ "x${LUKS_TRIM}" = "xyes" ] + if [ -n "${cryptsetup_options}" ] then - good_msg "Enabling TRIM support for ${LUKS_NAME} ..." ${CRYPT_SILENT} - cryptsetup_options="${cryptsetup_options} --allow-discards" + good_msg "Using the following cryptsetup options for ${LUKS_NAME}: ${cryptsetup_options}" ${CRYPT_SILENT} fi # Handle keys @@ -2333,9 +2330,10 @@ start_sshd() { write_env_file \ "${CRYPT_ENV_FILE}" \ CRYPT_ROOT \ - CRYPT_ROOT_TRIM \ + CRYPT_ROOT_OPTIONS \ CRYPT_SILENT \ - CRYPT_SWAP + CRYPT_SWAP \ + CRYPT_SWAP_OPTIONS run touch /var/log/lastlog diff --git a/defaults/linuxrc b/defaults/linuxrc index df0f570..e33576d 100644 --- a/defaults/linuxrc +++ b/defaults/linuxrc @@ -244,10 +244,16 @@ do CRYPT_ROOT=${x#*=} USE_CRYPTSETUP=1 ;; + crypt_root_options=*) + CRYPT_ROOT_OPTIONS=$(echo ${CRYPT_ROOT_OPTIONS} ${x#*=} | sed -e 's/,/ /g') + ;; crypt_swap=*) CRYPT_SWAP=${x#*=} USE_CRYPTSETUP=1 ;; + crypt_swap_options=*) + CRYPT_SWAP_OPTIONS=$(echo ${CRYPT_SWAP_OPTIONS} ${x#*=} | sed -e 's/,/ /g') + ;; root_key=*) CRYPT_ROOT_KEY=${x#*=} ;; @@ -258,7 +264,12 @@ do CRYPT_ROOT_KEYDEV_FSTYPE=${x#*=} ;; root_trim=*) -
[gentoo-commits] proj/genkernel:master commit in: /, defaults/, doc/
commit: 369cfa98f72675a285ec98439e9054ab57b234c9 Author: Thomas Deutschmann gentoo org> AuthorDate: Fri Sep 11 20:01:37 2020 + Commit: Thomas Deutschmann gentoo org> CommitDate: Fri Sep 11 20:03:24 2020 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=369cfa98 Remove "dobtrfs" kernel command-line argument This is no longer necessary with the switch to UDEV. Bug: https://bugs.gentoo.org/739892 Signed-off-by: Thomas Deutschmann gentoo.org> defaults/initrd.scripts | 32 defaults/linuxrc| 6 -- doc/genkernel.8.txt | 3 --- genkernel | 1 - 4 files changed, 42 deletions(-) diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index 5181d6c..f6e84fc 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -75,7 +75,6 @@ modules_scan() { elif [ "${USE_MDADM}" = '1' ] \ || [ "${USE_LVM_NORMAL}" = '1' ] \ || [ "${USE_CRYPTSETUP}" = '1' ] \ - || [ "${USE_BTRFS}" = '1' ] \ || [ "${USE_ZFS}" = '1' ] \ || [ "${USE_DMRAID_NORMAL}" = '1' ] then @@ -1612,25 +1611,6 @@ start_volumes() { fi fi - if [ "${USE_BTRFS}" = '1' ] - then - if ! hash btrfs >/dev/null 2>&1 - then - bad_msg "dobtrfs invoked but 'btrfs' not found; Skipping btrfs device scanning ..." - else - good_msg "Scanning for BTRFS devices ..." - - local btrfs_cmd="run btrfs device scan 2>&1" - is_log_enabled && btrfs_cmd="${btrfs_cmd} | tee -a '${GK_INIT_LOG}'" - - eval "${btrfs_cmd}" - if [ $? -ne 0 ] - then - bad_msg "Scanning for BTRFS devices failed!" - fi - fi - fi - if [ "${USE_ZFS}" = '1' ] then # Avoid race involving asynchronous module loading @@ -2510,18 +2490,6 @@ cdupdate() { fi } -setup_btrfsctl() { - # start BTRFS volume detection, if available - if hash btrfsctl >/dev/null 2>&1 - then - local btrfs_cmd="run btrfsctl -a 2>&1" - is_log_enabled && btrfs_cmd="${btrfs_cmd} | tee -a '${GK_INIT_LOG}'" - - eval "${btrfs_cmd}" - udevsettle - fi -} - rundebugshell() { if is_debug then diff --git a/defaults/linuxrc b/defaults/linuxrc index 6d07d9b..df0f570 100644 --- a/defaults/linuxrc +++ b/defaults/linuxrc @@ -151,9 +151,6 @@ do ;; esac ;; - dobtrfs) - USE_BTRFS=1 - ;; quiet|quiet_genkernel) QUIET=1 ;; @@ -615,9 +612,6 @@ fi # Apply scan delay if specified sdelay -# Setup btrfs, see bug 303529 -setup_btrfsctl - # Scan volumes start_volumes diff --git a/doc/genkernel.8.txt b/doc/genkernel.8.txt index 5d7b74d..8909fc7 100644 --- a/doc/genkernel.8.txt +++ b/doc/genkernel.8.txt @@ -775,9 +775,6 @@ when not set. This will allow remote user to provide answer through Scan for bootable ZFS pools on bootup. Optionally use cachefile or force import if necessary or perform both actions. -*dobtrfs*:: -Scan for attached Btrfs devices on bootup. - *domultipath*:: Activate Multipath on bootup. diff --git a/genkernel b/genkernel index 595c6ea..6ec8905 100755 --- a/genkernel +++ b/genkernel @@ -485,7 +485,6 @@ then print_warning 1 "${BOLD}WARNING... WARNING... WARNING...${NORMAL}" print_warning 1 'Additional kernel parameters that *may* be required to boot properly:' isTrue "${SPLASH}"&& print_warning 1 "- Add \"vga=791 splash=silent,theme:${SPLASH_THEME} console=tty1 quiet\" if you use a splash framebuffer ]" - isTrue "${BTRFS}" && print_warning 1 '- Add "dobtrfs" for Btrfs device scanning support' isTrue "${MULTIPATH}" && print_warning 1 '- Add "domultipath" for multipath support' isTrue "${ISCSI}" && print_warning 1 '- For iSCSI support, add at least:' isTrue "${ISCSI}" && print_warning 1 ' - "iscsi_initiatorname="'
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: 076201c0214837e99bebf3a05a7b0f9727fbf751 Author: Thomas Deutschmann gentoo org> AuthorDate: Wed Sep 2 19:56:35 2020 + Commit: Thomas Deutschmann gentoo org> CommitDate: Wed Sep 2 19:56:35 2020 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=076201c0 defaults/unlock-luks.sh: Unbreak remote unlock using POST action Fixes: 0025f3693 ("defaults/unlock-luks.sh: Synchronize style with openLUKS()") Signed-off-by: Thomas Deutschmann gentoo.org> defaults/unlock-luks.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/defaults/unlock-luks.sh b/defaults/unlock-luks.sh index bf1deaa..a8ae990 100644 --- a/defaults/unlock-luks.sh +++ b/defaults/unlock-luks.sh @@ -45,7 +45,7 @@ main() { local LUKS_NAME="${NAME}" eval local LUKS_DEVICE='"${CRYPT_'${TYPE}'}"' - eval local LUKS_KEY='"${CRYPT_'${TYPE}'_KEY}"' + eval local LUKS_KEY='"${CRYPT_'${TYPE}'_KEYFILE}"' eval local LUKS_TRIM='"${CRYPT_'${TYPE}'_TRIM}"' eval local OPENED_LOCKFILE='"${CRYPT_'${TYPE}'_OPENED_LOCKFILE}"'
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: fbf7eb4eda41bc8b5afa30017e687f5eb28ec0f2 Author: Thomas Deutschmann gentoo org> AuthorDate: Wed Sep 2 13:06:21 2020 + Commit: Thomas Deutschmann gentoo org> CommitDate: Wed Sep 2 13:06:21 2020 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=fbf7eb4e defaults/initrd.defaults: Rename $CRYPT_KEYFILE_{ROOT,SWAP} -> $CRYPT_{ROOT,SWAP}_KEYFILE Signed-off-by: Thomas Deutschmann gentoo.org> defaults/initrd.defaults | 4 ++-- defaults/login-remote.sh | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/defaults/initrd.defaults b/defaults/initrd.defaults index b665355..cf7406d 100644 --- a/defaults/initrd.defaults +++ b/defaults/initrd.defaults @@ -101,9 +101,9 @@ GK_UDEV_TIMEOUT=120 GK_USERINTERACTION_DISABLED_STATEFILE='/tmp/user-interaction.disabled' CRYPT_ENV_FILE='/etc/CRYPT_ENV.conf' -CRYPT_KEYFILE_ROOT='/tmp/root.key' -CRYPT_KEYFILE_SWAP='/tmp/swap.key' +CRYPT_ROOT_KEYFILE='/tmp/root.key' CRYPT_ROOT_OPENED_LOCKFILE='/tmp/ROOT.opened' +CRYPT_SWAP_KEYFILE='/tmp/swap.key' CRYPT_SWAP_OPENED_LOCKFILE='/tmp/SWAP.opened' ZFS_ENC_ENV_FILE='/etc/ZFS_ENC_ENV.conf' diff --git a/defaults/login-remote.sh b/defaults/login-remote.sh index 94ee014..7fcfc70 100644 --- a/defaults/login-remote.sh +++ b/defaults/login-remote.sh @@ -24,10 +24,10 @@ fi receivefile() { case ${1} in root) - file=${CRYPT_KEYFILE_ROOT} + file=${CRYPT_ROOT_KEYFILE} ;; swap) - file=${CRYPT_KEYFILE_SWAP} + file=${CRYPT_SWAP_KEYFILE} ;; '') bad_msg "No keyfile specified." "${CRYPT_SILENT}"
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: 0025f36938989750928753ff047320dccd9e3e27 Author: Thomas Deutschmann gentoo org> AuthorDate: Wed Sep 2 13:16:22 2020 + Commit: Thomas Deutschmann gentoo org> CommitDate: Wed Sep 2 13:16:22 2020 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=0025f369 defaults/unlock-luks.sh: Synchronize style with openLUKS() Signed-off-by: Thomas Deutschmann gentoo.org> defaults/unlock-luks.sh | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/defaults/unlock-luks.sh b/defaults/unlock-luks.sh index 710d951..bf1deaa 100644 --- a/defaults/unlock-luks.sh +++ b/defaults/unlock-luks.sh @@ -43,8 +43,11 @@ main() { exit 1 fi - eval local LUKS_DEVICE='"${CRYPT_'${TYPE}'}"' LUKS_NAME="${NAME}" LUKS_KEY='"${CRYPT_KEYFILE_'${TYPE}'}"' - eval local LUKS_TRIM='"${CRYPT_'${TYPE}'_TRIM}"' OPENED_LOCKFILE='"${CRYPT_'${TYPE}'_OPENED_LOCKFILE}"' + local LUKS_NAME="${NAME}" + eval local LUKS_DEVICE='"${CRYPT_'${TYPE}'}"' + eval local LUKS_KEY='"${CRYPT_'${TYPE}'_KEY}"' + eval local LUKS_TRIM='"${CRYPT_'${TYPE}'_TRIM}"' + eval local OPENED_LOCKFILE='"${CRYPT_'${TYPE}'_OPENED_LOCKFILE}"' while true do
[gentoo-commits] proj/genkernel:master commit in: defaults/, doc/
commit: 97b3a9235fdba36bfc6197baf1f47fd472fb74b6 Author: Thomas Deutschmann gentoo org> AuthorDate: Wed Sep 2 13:13:40 2020 + Commit: Thomas Deutschmann gentoo org> CommitDate: Wed Sep 2 13:13:40 2020 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=97b3a923 defaults/initrd.scripts: openLUKS(): Trigger module loading when mounting {root,swap}_keydev We need to do the same we do for rootfs since commit 05f968fda2c6839744b36c442b3feaa6de974e63 also for {root,swap}_keydev. Signed-off-by: Thomas Deutschmann gentoo.org> defaults/initrd.defaults | 2 ++ defaults/initrd.scripts | 15 +++ defaults/linuxrc | 6 ++ doc/genkernel.8.txt | 6 ++ 4 files changed, 25 insertions(+), 4 deletions(-) diff --git a/defaults/initrd.defaults b/defaults/initrd.defaults index cf7406d..cd485ca 100644 --- a/defaults/initrd.defaults +++ b/defaults/initrd.defaults @@ -101,8 +101,10 @@ GK_UDEV_TIMEOUT=120 GK_USERINTERACTION_DISABLED_STATEFILE='/tmp/user-interaction.disabled' CRYPT_ENV_FILE='/etc/CRYPT_ENV.conf' +CRYPT_ROOT_KEYDEV_FSTYPE='auto' CRYPT_ROOT_KEYFILE='/tmp/root.key' CRYPT_ROOT_OPENED_LOCKFILE='/tmp/ROOT.opened' +CRYPT_SWAP_KEYDEV_FSTYPE='auto' CRYPT_SWAP_KEYFILE='/tmp/swap.key' CRYPT_SWAP_OPENED_LOCKFILE='/tmp/SWAP.opened' diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index 7a84755..5181d6c 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -1780,7 +1780,7 @@ openLUKS() { exit 1 fi - case $1 in + case ${1} in root) local TYPE=ROOT ;; @@ -1789,8 +1789,12 @@ openLUKS() { ;; esac - eval local LUKS_DEVICE='"${CRYPT_'${TYPE}'}"' LUKS_NAME="$1" LUKS_KEY='"${CRYPT_'${TYPE}'_KEY}"' - eval local LUKS_KEYDEV='"${CRYPT_'${TYPE}'_KEYDEV}"' LUKS_TRIM='"${CRYPT_'${TYPE}'_TRIM}"' + local LUKS_NAME="${1}" + eval local LUKS_DEVICE='"${CRYPT_'${TYPE}'}"' + eval local LUKS_KEY='"${CRYPT_'${TYPE}'_KEY}"' + eval local LUKS_KEYDEV='"${CRYPT_'${TYPE}'_KEYDEV}"' + eval local LUKS_KEYDEV_FSTYPE='"${CRYPT_'${TYPE}'_KEYDEV_FSTYPE}"' + eval local LUKS_TRIM='"${CRYPT_'${TYPE}'_TRIM}"' eval local OPENED_LOCKFILE='"${CRYPT_'${TYPE}'_OPENED_LOCKFILE}"' local DEV_ERROR=0 KEY_ERROR=0 KEYDEV_ERROR=0 local mntkey="/mnt/key/" crypt_filter_ret= @@ -1886,7 +1890,10 @@ openLUKS() { # At this point a device was recognized, now let's see if the key is there [ ! -d "${mntkey}" ] && mkdir -p "${mntkey}" >/dev/null 2>&1 - if ! run mount -n -o ro ${REAL_LUKS_KEYDEV} ${mntkey} >/dev/null 2>&1 + # determine fs -- 'auto' will not trigger module loading! + LUKS_KEYDEV_FSTYPE=$(determine_fs "${REAL_LUKS_KEYDEV}" "${LUKS_KEYDEV_FSTYPE}") + + if ! run mount -n -t ${LUKS_KEYDEV_FSTYPE} -o ro ${REAL_LUKS_KEYDEV} ${mntkey} >/dev/null 2>&1 then KEYDEV_ERROR=1 bad_msg "Mounting of device ${REAL_LUKS_KEYDEV} failed." ${CRYPT_SILENT} diff --git a/defaults/linuxrc b/defaults/linuxrc index bab54e1..6d07d9b 100644 --- a/defaults/linuxrc +++ b/defaults/linuxrc @@ -257,6 +257,9 @@ do root_keydev=*) CRYPT_ROOT_KEYDEV=${x#*=} ;; + root_keydev_fstype=*) + CRYPT_ROOT_KEYDEV_FSTYPE=${x#*=} + ;; root_trim=*) CRYPT_ROOT_TRIM=${x#*=} ;; @@ -266,6 +269,9 @@ do swap_keydev=*) CRYPT_SWAP_KEYDEV=${x#*=} ;; + swap_keydev_fstype=*) + CRYPT_SWAP_KEYDEV_FSTYPE=${x#*=} + ;; real_resume=*|resume=*) REAL_RESUME=${x#*=} ;; diff --git a/doc/genkernel.8.txt b/doc/genkernel.8.txt index 7ce7391..5d7b74d 100644 --- a/doc/genkernel.8.txt +++ b/doc/genkernel.8.txt @@ -646,6 +646,9 @@ recognized by the kernel itself. root_key. If unset while using root_key, it will automatically look for the device in every boot. +*root_keydev_fstype*=<...>:: +Used filesystem for *root_keydev*. See *rootfstype* for more details. + *root_trim*=(yes|no):: Enables TRIM support for a LUKS-based root device. Only useful with SSD setups. Have a look at 'https://en.wikipedia.org/wiki/TRIM' @@ -657,6 +660,9 @@ recognized by the kernel itself. *swap_keydev*=<...>:: Same as root_keydev for swap. +*sw
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: 4e42cbc5bcf0d4ed6558c90d09d8c3421d9d11d1 Author: Karlson2k (Evgeny Grin) narod ru> AuthorDate: Sun Aug 30 17:38:55 2020 + Commit: Thomas Deutschmann gentoo org> CommitDate: Sun Aug 30 21:07:11 2020 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=4e42cbc5 defaults/linuxrc: fix typo Signed-off-by: Karlson2k (Evgeny Grin) narod.ru> Closes: https://github.com/gentoo/genkernel/pull/19 Signed-off-by: Thomas Deutschmann gentoo.org> defaults/linuxrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/defaults/linuxrc b/defaults/linuxrc index e96b637..bab54e1 100644 --- a/defaults/linuxrc +++ b/defaults/linuxrc @@ -2,7 +2,7 @@ # shellcheck source=initrd.defaults . /etc/initrd.defaults -# shellche2ck source=initrd.scripts +# shellcheck source=initrd.scripts . /etc/initrd.scripts # shellcheck source=/dev/null
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: a2b6a16119837df4a803effaefe8ef0be08fe396 Author: Thomas Deutschmann gentoo org> AuthorDate: Fri Aug 28 13:22:30 2020 + Commit: Thomas Deutschmann gentoo org> CommitDate: Fri Aug 28 16:35:59 2020 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=a2b6a161 defaults/linuxrc: Log udevd debug output into /run/initramfs/udevd.log Signed-off-by: Thomas Deutschmann gentoo.org> defaults/initrd.defaults | 1 + defaults/linuxrc | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/defaults/initrd.defaults b/defaults/initrd.defaults index e310f19..fa71ecb 100644 --- a/defaults/initrd.defaults +++ b/defaults/initrd.defaults @@ -95,6 +95,7 @@ GK_SSHD_LOCKFILE='/tmp/remote-rescueshell.lock' GK_SSHD_PIDFILE='/var/run/dropbear.pid' GK_SSHD_PORT=22 GK_SSHD_WAIT= +GK_UDEV_LOG='/run/initramfs/udevd.log' GK_UDEV_TIMEOUT=120 GK_USERINTERACTION_DISABLED_STATEFILE='/tmp/user-interaction.disabled' diff --git a/defaults/linuxrc b/defaults/linuxrc index a4ed811..1a4ddac 100644 --- a/defaults/linuxrc +++ b/defaults/linuxrc @@ -568,7 +568,7 @@ good_msg 'Activating udev ...' udevd_cmd="run udevd --resolve-names=never" if is_debug then - udevd_cmd="${udevd_cmd} --debug > /tmp/udev.debug 2>&1 &" + udevd_cmd="${udevd_cmd} --debug > ${GK_UDEV_LOG} 2>&1 &" else udevd_cmd="${udevd_cmd} --daemon" fi
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: 05f968fda2c6839744b36c442b3feaa6de974e63 Author: Thomas Deutschmann gentoo org> AuthorDate: Fri Aug 28 13:38:41 2020 + Commit: Thomas Deutschmann gentoo org> CommitDate: Fri Aug 28 16:35:59 2020 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=05f968fd defaults/linuxrc: Try to determine filesystem type 'mount -t auto' will not trigger module loading for filesystem kernel modules. Therefore we try to determine filesystem to trigger module loading in case filesystem isn't built into the kernel. Bug: https://bugs.gentoo.org/739250 Signed-off-by: Thomas Deutschmann gentoo.org> defaults/initrd.scripts | 42 +- defaults/linuxrc| 6 +- 2 files changed, 46 insertions(+), 2 deletions(-) diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index ee7ca2c..36f4791 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -198,6 +198,8 @@ findmediamount() { fi good_msg "Attempting to mount media: ${x}" ${CRYPT_SILENT} + CDROOT_TYPE=$(determine_fs "${x}" "${CDROOT_TYPE}") + run mount -t ${CDROOT_TYPE} ${x} ${mntcddir} >/dev/null 2>&1 if [ $? -eq 0 ] then @@ -233,6 +235,31 @@ findmediamount() { [ -n "${result}" ] || bad_msg "Media not found" ${CRYPT_SILENT} } +determine_fs() { + local _dev="${1}" + local _orig="${2:-auto}" + local _fs line + + _fs=$(udevadm info --query=env --name="$_dev" 2>/dev/null | \ + while read line || [ -n "${line}" ] + do + if str_starts ${line} "ID_FS_TYPE=" + then + echo ${line#ID_FS_TYPE=} + break + fi + done + ) + _fs=${_fs:-auto} + + if [ "${_fs}" = "auto" ] + then + _fs="${_orig}" + fi + + echo "${_fs}" +} + devicelist() { # Locate the cdrom device with our media on it. # CDROM DEVICES @@ -697,7 +724,9 @@ setup_aufs() { then good_msg "Mounting ${aufs_dev} to ${aufs_memory} for aufs support" - if ! run mount -t auto "${aufs_dev}" "${aufs_dev_mnt}" >/dev/null 2>&1 + local mounttype=$(determine_fs "${aufs_dev}" "auto") + + if ! run mount -t ${mounttype} "${aufs_dev}" "${aufs_dev_mnt}" >/dev/null 2>&1 then bad_msg "Mount of ${aufs_dev} failed, falling back to ramdisk based aufs" unset aufs_dev @@ -2727,6 +2756,17 @@ get_zfs_property() { echo "$(zfs get -H -o value ${propertyname} "${device}" 2>/dev/null)" } +# Returns TRUE if $1 contains literal string $2 at the +# beginning and is not empty +str_starts() { + if [ "${1#"${2}"*}" != "${1}" ] + then + return 0 + fi + + return 1 +} + # If the kernel is handed a mount option is does not recognize, it WILL fail to # mount. util-linux handles auto/noauto, but busybox passes it straight to the kernel # which then rejects the mount. diff --git a/defaults/linuxrc b/defaults/linuxrc index b42366f..061d3e0 100644 --- a/defaults/linuxrc +++ b/defaults/linuxrc @@ -910,6 +910,10 @@ do # If $REAL_ROOT is a symlink # Resolve it like util-linux mount does [ -L ${REAL_ROOT} ] && REAL_ROOT=$(readlink -f ${REAL_ROOT}) + + # determine fs -- 'auto' will not trigger module loading! + ROOTFSTYPE=$(determine_fs "${REAL_ROOT}" "${ROOTFSTYPE}") + # mount ro so fsck doesn't barf later if [ "${REAL_ROOTFLAGS}" = '' ] then @@ -1028,7 +1032,7 @@ then MOUNTTYPE="ext2" ;; *) - MOUNTTYPE="${LOOPTYPE}" + MOUNTTYPE=$(determine_fs "/dev/mapper/root" "${MOUNTTYPE}") ;; esac run mount -t "${MOUNTTYPE}" -o ro /dev/mapper/root "${NEW_ROOT}/mnt/livecd"
[gentoo-commits] proj/genkernel:master commit in: defaults/, /
commit: 88e1dd1c2ab49f232fed596927c15c3781fc6b28 Author: Thomas Deutschmann gentoo org> AuthorDate: Fri Aug 28 15:22:56 2020 + Commit: Thomas Deutschmann gentoo org> CommitDate: Fri Aug 28 16:35:59 2020 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=88e1dd1c defaults/linuxrc: Add gksosreport To help debugging, 'gksosreport' was added (idea was borrowed from dracut): Whenever a user run into a problem and get to a rescue shell, running "gksosreport" will generate /run/initramfs/gksosreport.txt containing useful debug information suitable to attach to bug reports. Signed-off-by: Thomas Deutschmann gentoo.org> defaults/gksosreport.sh | 74 + defaults/initrd.scripts | 20 + defaults/linuxrc| 4 +-- gen_initramfs.sh| 8 +- 4 files changed, 98 insertions(+), 8 deletions(-) diff --git a/defaults/gksosreport.sh b/defaults/gksosreport.sh new file mode 100644 index 000..03b44b6 --- /dev/null +++ b/defaults/gksosreport.sh @@ -0,0 +1,74 @@ +#!/bin/sh + +echo 'Generating "/run/initramfs/gksosreport.txt" ...' + +if [ ! -d /run/initramfs ] +then + mkdir -p /run/initramfs + chmod 0750 /run/initramfs +fi + +exec >/run/initramfs/gksosreport.txt 2>&1 + +PWFILTER='s/\(ftp:\/\/.*\):.*@/\1:***@/g;s/\(cifs:\/\/.*\):.*@/\1:***@/g;s/cifspass=[^ ]*/cifspass=***/g;s/iscsi:.*@/iscsi:**@/g;s/rd.iscsi.password=[^ ]*/rd.iscsi.password=**/g;s/rd.iscsi.in.password=[^ ]*/rd.iscsi.in.password=**/g' + +echo "Genkernel SOS report from $(date +'%Y-%m-%d %H:%M:%S'):" + +set -x + +cat /lib/dracut/dracut-gk-version.info + +cat /lib/dracut/build-parameter.txt + +cat /proc/cmdline | sed -e "${PWFILTER}" + +[ -f /etc/cmdline ] && cat /etc/cmdline | sed -e "${PWFILTER}" + +lspci -k + +lsmod + +find /lib/modules/$(uname -r) -type f + +cat /proc/self/mountinfo +cat /proc/mounts + +blkid +blkid -o udev + +ls -l /dev/disk/by* + +if hash lvm >/dev/null 2>/dev/null +then + lvm pvdisplay + lvm vgdisplay + lvm lvdisplay +fi + +if hash dmsetup >/dev/null 2>/dev/null +then + dmsetup ls --tree +fi + +if [ -e /proc/mdstat ] +then + cat /proc/mdstat +fi + +if hash cryptsetup >/dev/null 2>/dev/null +then + if [ -e /dev/mapper/root ] + then + cryptsetup status /dev/mapper/root + fi +fi + +if hash ip >/dev/null 2>/dev/null +then + ip link + ip addr +fi + +dmesg | sed -e "${PWFILTER}" + +[ -f /run/initramfs/init.log ] && cat /run/initramfs/init.log | sed -e "${PWFILTER}" diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index 36f4791..7a84755 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -983,7 +983,7 @@ check_loop() { bad_msg 'Please export LOOP with a valid location, or reboot and pass a proper loop=...' bad_msg 'kernel command line!' - run_shell + run_emergency_shell fi } @@ -1001,6 +1001,14 @@ run() { return ${retval} } +run_emergency_shell() { + echo + gksosreport + good_msg 'You might want to save "/run/initramfs/gksosreport.txt" to a USB stick or /boot' + good_msg 'after mounting them and attach it to a bug report.' + run_shell +} + run_shell() { if [ -f "${GK_USERINTERACTION_DISABLED_STATEFILE}" ] then @@ -1092,7 +1100,7 @@ test_success() { error_string=${1} error_string="${error_string:-Failed to run command}" bad_msg "${error_string}; Failing back to the shell ..." - run_shell + run_emergency_shell fi } @@ -1347,7 +1355,7 @@ prompt_user() { 'shell') eval ${1}'='${oldvalue} warn_msg "To leave and try again just press +D" - run_shell + run_emergency_shell ;; '') eval ${1}'='${oldvalue} @@ -1799,7 +1807,7 @@ openLUKS() { # if crypt_silent=1 and some error occurs, enter shell quietly elif [ \( ${CRYPT_SILENT} -eq 1 \) -a \( \( \( ${DEV_ERROR} -eq 1 \) -o \( ${KEY_ERROR} -eq 1 \) \) -o \( ${KEYDEV_ERROR} -eq 1 \) \) ] then - run_shell + run_emergency_shell elif [ ${DEV_ERROR} -eq 1 ] then prompt_user "LUKS_DEVICE" "${LUKS_NAME}" @@ -2487,7 +2495,7 @@ cdupdate() { if [ "$?" != '0' ] then bad_msg "Executing cdupdate.sh failed!" - run_shell + run_emergency_shell fi else good_msg 'No cdupdate.sh script found, skipping ...' @@ -2511,6 +2519,8 @@ ru
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: 0b378bf0d675188a438bfea9dee392fb2b5d0cfd Author: Thomas Deutschmann gentoo org> AuthorDate: Fri Aug 28 12:39:38 2020 + Commit: Thomas Deutschmann gentoo org> CommitDate: Fri Aug 28 13:45:38 2020 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=0b378bf0 defaults/linuxrc: Make use of PATH (2) Don't use absolute paths. Use 'hash' to test if command is available. Signed-off-by: Thomas Deutschmann gentoo.org> defaults/linuxrc | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/defaults/linuxrc b/defaults/linuxrc index 466e1f7..5c3b0ce 100644 --- a/defaults/linuxrc +++ b/defaults/linuxrc @@ -509,15 +509,16 @@ esac # Verify that it is safe to use ZFS if [ "${USE_ZFS}" = '1' ] then - for i in /sbin/zfs /sbin/zpool + for i in zfs zpool do - if [ ! -x ${i} ] + if ! hash ${i} >/dev/null 2>&1 then USE_ZFS=0 - bad_msg "Aborting use of ZFS because ${i} not found!" + bad_msg "Aborting use of ZFS because '${i}' not found!" break fi done + unset i [ "${USE_ZFS}" = '1' ] && MY_HWOPTS="${MY_HWOPTS} zfs" fi
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: 8c110e13f09aad67a666f4af10e51876fab50925 Author: Thomas Deutschmann gentoo org> AuthorDate: Thu Aug 27 21:03:21 2020 + Commit: Thomas Deutschmann gentoo org> CommitDate: Fri Aug 28 13:45:37 2020 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=8c110e13 defaults/linuxrc: Support devices with symlinks (2) Follow up for commit 0048f44c081dce2e296b48c71a208abf2a815c84. Signed-off-by: Thomas Deutschmann gentoo.org> defaults/linuxrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/defaults/linuxrc b/defaults/linuxrc index 438ed11..466e1f7 100644 --- a/defaults/linuxrc +++ b/defaults/linuxrc @@ -925,7 +925,7 @@ do else # If $REAL_ROOT is a symlink # Resolve it like util-linux mount does - [ -L ${REAL_ROOT} ] && REAL_ROOT=$(readlink ${REAL_ROOT}) + [ -L ${REAL_ROOT} ] && REAL_ROOT=$(readlink -f ${REAL_ROOT}) # mount ro so fsck doesn't barf later if [ "${REAL_ROOTFLAGS}" = '' ] then
[gentoo-commits] proj/genkernel:master commit in: defaults/, doc/
commit: 8cca1dada7be5625cbdbcf4e8ab14c51d131e099 Author: Thomas Deutschmann gentoo org> AuthorDate: Fri Aug 28 13:28:33 2020 + Commit: Thomas Deutschmann gentoo org> CommitDate: Fri Aug 28 16:35:59 2020 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=8cca1dad defaults/linuxrc: Add gk.udev.debug to run udevd in debug mode When gk.udev.debug=yes is set (boolean option), udevd will run in debug mode. Output will be written to /run/initramfs/udevd.log. Signed-off-by: Thomas Deutschmann gentoo.org> defaults/initrd.defaults | 1 + defaults/linuxrc | 10 +- doc/genkernel.8.txt | 4 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/defaults/initrd.defaults b/defaults/initrd.defaults index fa71ecb..b665355 100644 --- a/defaults/initrd.defaults +++ b/defaults/initrd.defaults @@ -96,6 +96,7 @@ GK_SSHD_PIDFILE='/var/run/dropbear.pid' GK_SSHD_PORT=22 GK_SSHD_WAIT= GK_UDEV_LOG='/run/initramfs/udevd.log' +GK_UDEV_DEBUG=0 GK_UDEV_TIMEOUT=120 GK_USERINTERACTION_DISABLED_STATEFILE='/tmp/user-interaction.disabled' diff --git a/defaults/linuxrc b/defaults/linuxrc index 1a4ddac..b42366f 100644 --- a/defaults/linuxrc +++ b/defaults/linuxrc @@ -332,6 +332,14 @@ do fi unset tmp_wait ;; + gk.udev.debug=*) + tmp_enabled=${x#*=} + if is_true "${tmp_enabled}" + then + GK_UDEV_DEBUG=1 + fi + unset tmp_enabled + ;; gk.udev.timeout=*) tmp_timeout=${x#*=} if is_int "${tmp_timeout}" @@ -566,7 +574,7 @@ fi good_msg 'Activating udev ...' udevd_cmd="run udevd --resolve-names=never" -if is_debug +if [ "${GK_UDEV_DEBUG}" = '1' ] then udevd_cmd="${udevd_cmd} --debug > ${GK_UDEV_LOG} 2>&1 &" else diff --git a/doc/genkernel.8.txt b/doc/genkernel.8.txt index d8b9e09..7b96879 100644 --- a/doc/genkernel.8.txt +++ b/doc/genkernel.8.txt @@ -721,6 +721,10 @@ recognized by the kernel itself. *gk.net.timeout.interface*=<...>:: By default we will wait up to 10 seconds for interface to show up. +*gk.udev.debug*=<...>:: +This boolean option allows you to run udevd in debug mode. Output +will be logged to '/run/initramfs/udevd.log'. + *gk.udev.timeout*=<...>:: By default we will wait up to 120 seconds (UDEV default) for UDEV event queue to become empty.
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: 3c7bcc98ee94cfda5d1d63d366a61bca281c965c Author: Thomas Deutschmann gentoo org> AuthorDate: Thu Aug 27 22:56:04 2020 + Commit: Thomas Deutschmann gentoo org> CommitDate: Fri Aug 28 13:45:37 2020 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=3c7bcc98 defaults/initrd.scripts: log_msg(): Leave function early in case log file cannot be written Signed-off-by: Thomas Deutschmann gentoo.org> defaults/initrd.scripts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index 29ec123..b579e4f 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -1072,7 +1072,7 @@ log_msg() { if [ ! -f "${GK_INIT_LOG}" ] then - touch "${GK_INIT_LOG}" + touch "${GK_INIT_LOG}" 2>/dev/null || return fi local log_prefix=
[gentoo-commits] proj/genkernel:master commit in: defaults/, /
commit: 6ea3cd1f1525fdadb9faabfe8183e22b4836acdf Author: Thomas Deutschmann gentoo org> AuthorDate: Thu Aug 27 20:55:56 2020 + Commit: Thomas Deutschmann gentoo org> CommitDate: Fri Aug 28 13:45:21 2020 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=6ea3cd1f defaults/config.sh: Add DEFAULT__ to allow override _tc-getPROG() can only override variable with user provided value when there is a default value. Signed-off-by: Thomas Deutschmann gentoo.org> defaults/config.sh | 26 -- gen_determineargs.sh | 26 +- 2 files changed, 41 insertions(+), 11 deletions(-) diff --git a/defaults/config.sh b/defaults/config.sh index f8cb311..a5d9ea3 100644 --- a/defaults/config.sh +++ b/defaults/config.sh @@ -37,18 +37,32 @@ DEFAULT_MAKEOPTS="${PORTAGE_MAKEOPTS:- -j$(nproc)}" DEFAULT_MODULEREBUILD_CMD="emerge --ignore-default-opts --buildpkg=n --usepkg=n --quiet-build=y @module-rebuild" -DEFAULT_KERNEL_MAKE=make -DEFAULT_UTILS_MAKE=make - -DEFAULT_KERNEL_CC=gcc DEFAULT_KERNEL_AS=as +DEFAULT_KERNEL_AR=ar +DEFAULT_KERNEL_CC=gcc +DEFAULT_KERNEL_CXX=g++ DEFAULT_KERNEL_LD=ld +DEFAULT_KERNEL_NM=nm +DEFAULT_KERNEL_MAKE=make +DEFAULT_KERNEL_OBJCOPY=objcopy +DEFAULT_KERNEL_OBJDUMP=objdump +DEFAULT_KERNEL_RANLIB=ranlib +DEFAULT_KERNEL_READELF=readelf +DEFAULT_KERNEL_STRIP=strip -DEFAULT_UTILS_CFLAGS="-Os -pipe -fomit-frame-pointer" +DEFAULT_UTILS_AS=as +DEFAULT_UTILS_AR=ar DEFAULT_UTILS_CC=gcc +DEFAULT_UTILS_CFLAGS="-Os -pipe -fomit-frame-pointer" DEFAULT_UTILS_CXX=g++ -DEFAULT_UTILS_AS=as DEFAULT_UTILS_LD=ld +DEFAULT_UTILS_NM=nm +DEFAULT_UTILS_MAKE=make +DEFAULT_UTILS_OBJCOPY=objcopy +DEFAULT_UTILS_OBJDUMP=objdump +DEFAULT_UTILS_RANLIB=ranlib +DEFAULT_UTILS_READELF=readelf +DEFAULT_UTILS_STRIP=strip PORTAGE_CHOST="$(portageq envvar CHOST)" DEFAULT_CHOST="${PORTAGE_CHOST:-$(${DEFAULT_UTILS_CC} -dumpmachine 2>/dev/null)}" diff --git a/gen_determineargs.sh b/gen_determineargs.sh index 7332bb0..0fe8886 100755 --- a/gen_determineargs.sh +++ b/gen_determineargs.sh @@ -318,16 +318,32 @@ determine_real_args() { set_config_with_override STRING CHOST CMD_CHOST "${DEFAULT_CHOST}" set_config_with_override STRING MAKEOPTS CMD_MAKEOPTS "${DEFAULT_MAKEOPTS}" set_config_with_override STRING NICE CMD_NICE "10" - set_config_with_override STRING KERNEL_MAKE CMD_KERNEL_MAKE "${DEFAULT_KERNEL_MAKE}" - set_config_with_override STRING UTILS_CFLAGS CMD_UTILS_CFLAGS "${DEFAULT_UTILS_CFLAGS}" - set_config_with_override STRING UTILS_MAKE CMD_UTILS_MAKE"${DEFAULT_UTILS_MAKE}" + set_config_with_override STRING KERNEL_AS CMD_KERNEL_AS "${DEFAULT_KERNEL_AS}" + set_config_with_override STRING KERNEL_AR CMD_KERNEL_AR "${DEFAULT_KERNEL_AR}" set_config_with_override STRING KERNEL_CC CMD_KERNEL_CC "${DEFAULT_KERNEL_CC}" + set_config_with_override STRING KERNEL_CFLAGS CMD_KERNEL_CFLAGS "${DEFAULT_KERNEL_CFLAGS}" + set_config_with_override STRING KERNEL_CXX CMD_KERNEL_CXX"${DEFAULT_KERNEL_CXX}" set_config_with_override STRING KERNEL_LD CMD_KERNEL_LD "${DEFAULT_KERNEL_LD}" - set_config_with_override STRING KERNEL_AS CMD_KERNEL_AS "${DEFAULT_KERNEL_AS}" + set_config_with_override STRING KERNEL_NM CMD_KERNEL_NM "${DEFAULT_KERNEL_NM}" + set_config_with_override STRING KERNEL_MAKE CMD_KERNEL_MAKE "${DEFAULT_KERNEL_MAKE}" + set_config_with_override STRING KERNEL_OBJCOPY CMD_KERNEL_OBJCOPY"${DEFAULT_KERNEL_OBJCOPY}" + set_config_with_override STRING KERNEL_OBJDUMP CMD_KERNEL_OBJDUMP"${DEFAULT_KERNEL_OBJDUMP}" + set_config_with_override STRING KERNEL_RANLIB CMD_KERNEL_RANLIB "${DEFAULT_KERNEL_RANLIB}" + set_config_with_override STRING KERNEL_READELF CMD_KERNEL_READELF"${DEFAULT_KERNEL_READELF}" + set_config_with_override STRING KERNEL_STRIP CMD_KERNEL_STRIP
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: 92a74db4286051466e7e61d53fbe51ab249c9804 Author: Thomas Deutschmann gentoo org> AuthorDate: Thu Aug 27 21:00:19 2020 + Commit: Thomas Deutschmann gentoo org> CommitDate: Fri Aug 28 13:45:37 2020 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=92a74db4 defaults/linuxrc: Add debug breakpoint before udevd start Signed-off-by: Thomas Deutschmann gentoo.org> defaults/linuxrc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/defaults/linuxrc b/defaults/linuxrc index 263f738..438ed11 100644 --- a/defaults/linuxrc +++ b/defaults/linuxrc @@ -576,6 +576,9 @@ else good_msg 'Skipping module load; no modules in the ramdisk!' fi +# Run debug shell if requested +rundebugshell "before starting udevd" + # Initialize udev if [ ! -f "/etc/udev/hwdb.bin" ] then
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: 3fc29fcdf0af70a0dd14194089e7fe952748522c Author: Thomas Deutschmann gentoo org> AuthorDate: Wed Aug 26 22:46:43 2020 + Commit: Thomas Deutschmann gentoo org> CommitDate: Wed Aug 26 22:46:43 2020 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=3fc29fcd kernel-generic-config: Enable WireGuard support Signed-off-by: Thomas Deutschmann gentoo.org> defaults/kernel-generic-config | 1 + 1 file changed, 1 insertion(+) diff --git a/defaults/kernel-generic-config b/defaults/kernel-generic-config index bda16a5..bd8d415 100644 --- a/defaults/kernel-generic-config +++ b/defaults/kernel-generic-config @@ -6726,6 +6726,7 @@ CONFIG_WIL6210=m CONFIG_WILINK_PLATFORM_DATA=y # CONFIG_WIMAX is not set CONFIG_WINBOND_840=m +CONFIG_WIREGUARD=m CONFIG_WIRELESS_EXT=y CONFIG_WIRELESS=y CONFIG_WIZNET_BUS_ANY=y
[gentoo-commits] proj/genkernel:master commit in: defaults/, doc/
commit: 809f1f547f0ba8bfa38bbd0977ab2c57ec4c4581 Author: Thomas Deutschmann gentoo org> AuthorDate: Wed Aug 26 21:35:52 2020 + Commit: Thomas Deutschmann gentoo org> CommitDate: Wed Aug 26 21:46:37 2020 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=809f1f54 defaults/linuxrc: Disable processing of modules_load file by default Now that we are using (e)udev with kmod support, we can rely on UDEV to load required kernel modules. Old module loading based on modules_load file can still be enabled via boolean "gk.hw.use-modules_load" kernel command-line option which is inverting and replacing previous "nodetect" kernel command-line option. Signed-off-by: Thomas Deutschmann gentoo.org> defaults/initrd.defaults | 1 + defaults/initrd.scripts | 11 +++ defaults/linuxrc | 26 ++ doc/genkernel.8.txt | 17 +++-- 4 files changed, 37 insertions(+), 18 deletions(-) diff --git a/defaults/initrd.defaults b/defaults/initrd.defaults index 3ac5856..e4c861b 100644 --- a/defaults/initrd.defaults +++ b/defaults/initrd.defaults @@ -73,6 +73,7 @@ IP='dhcp' GK_BOOTFONT_DISABLED=0 GK_DEBUGMODE_STATEFILE="/tmp/debug.enabled" GK_HW_LOAD_ALL_MODULES=0 +GK_HW_USE_MODULES_LOAD=0 GK_INIT_LOG='/tmp/init.log' GK_INIT_LOG_COPYTO= GK_INIT_LOG_COPYTO_DEFAULT='/genkernel-boot.log' diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index fd87623..29ec123 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -2019,10 +2019,13 @@ iface_name() { start_network() { good_msg "Starting network ..." - # Load network modules only when we need them to avoid possible - # firmware problems for people not using network that early - modules_scan net - udevsettle + if [ "${GK_HW_USE_MODULES_LOAD}" = '1' ] + then + # Load network modules only when we need them to avoid possible + # firmware problems for people not using network that early + modules_scan net + udevsettle + fi # At least gk.net.iface can only be processed after sysfs was # mounted. diff --git a/defaults/linuxrc b/defaults/linuxrc index 9793fde..263f738 100644 --- a/defaults/linuxrc +++ b/defaults/linuxrc @@ -175,9 +175,6 @@ do doload=*) MDOLIST=$(echo ${MDOLIST} ${x#*=} | sed -e 's/^\ *//;s/,/ /g') ;; - nodetect) - NODETECT=1 - ;; noload=*) MLIST=$(echo ${MLIST} ${x#*=} | sed -e 's/^\ *//;s/,/ /g') export MLIST @@ -291,6 +288,14 @@ do fi unset tmp_disabled ;; + gk.hw.use-modules_load=*) + tmp_disabled=${x#*=} + if is_true "${tmp_disabled}" + then + GK_HW_USE_MODULES_LOAD=1 + fi + unset tmp_disabled + ;; gk.log.disabled=*) tmp_disabled=${x#*=} if is_true "${tmp_disabled}" @@ -542,26 +547,31 @@ fi # Load modules listed in MY_HWOPTS if /lib/modules exists for the running kernel if [ -z "${DO_modules}" ] then - good_msg 'Skipping module load; disabled via commandline' + good_msg 'Skipping module load; disabled via command-line' elif [ -d "/lib/modules/${KV}" ] then - good_msg 'Loading modules ...' if [ -n "${FIRSTMODS}" ] then + good_msg 'Loading first modules ...' # try these modules first -- detected modules for root device: modules_load firstmods ${FIRSTMODS} fi # Load appropriate kernel modules - if [ "${NODETECT}" != '1' ] + if [ "${GK_HW_USE_MODULES_LOAD}" = '1' ] then + good_msg 'Loading modules ...' for modules in ${MY_HWOPTS} do modules_scan ${modules} done fi - # Always eval doload=... - modules_load extra_load ${MDOLIST} + + if [ -n "${MDOLIST}" ] + then + good_msg 'Loading modules from command-line ...' + modules_load extra_load ${MDOLIST} + fi else good_msg 'Skipping module load; no modules in the ramdisk!' fi diff --git a/doc/genkernel.8.txt b/doc/genkernel.8.txt index 8c527b0..f0e4414 100644 --- a/doc/genkernel.8.txt +++ b/doc/genkernel.8.txt @@ -823,6 +823,12 @@ when not set. This will allow remote user to provide answer through loading of all module groups regardless whether root device is already available. +*gk.hw.use-modules_load*=<...>:: +By default, genkernel relies on UDEV's capability to load required +kernel modules. This boolean option allows
[gentoo-commits] proj/genkernel:master commit in: defaults/, gkbuilds/
commit: f492c407747e2c266c71ea9f19193f8fecd3bd8f Author: Thomas Deutschmann gentoo org> AuthorDate: Wed Aug 26 21:33:28 2020 + Commit: Thomas Deutschmann gentoo org> CommitDate: Wed Aug 26 21:46:37 2020 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=f492c407 eudev: Enable kmod support This will allow us to use (e)udev to load required kernel modules. Signed-off-by: Thomas Deutschmann gentoo.org> defaults/software.sh | 13 ++--- gkbuilds/eudev.gkbuild | 4 +--- gkbuilds/kmod.gkbuild | 24 +++- gkbuilds/xz.gkbuild| 19 +++ 4 files changed, 49 insertions(+), 11 deletions(-) diff --git a/defaults/software.sh b/defaults/software.sh index d8dbfc9..619b026 100644 --- a/defaults/software.sh +++ b/defaults/software.sh @@ -74,7 +74,7 @@ GKPKG_DROPBEAR_BINPKG="${GKPKG_DROPBEAR_BINPKG:-%%CACHE%%/dropbear-${GKPKG_DROPB GKPKG_EUDEV_PN="eudev" GKPKG_EUDEV_PV="${GKPKG_EUDEV_PV:-VERSION_EUDEV}" -GKPKG_EUDEV_DEPS="util-linux" +GKPKG_EUDEV_DEPS="util-linux zlib xz kmod" GKPKG_EUDEV_SRCTAR="${GKPKG_EUDEV_SRCTAR:-${DISTDIR}/eudev-${GKPKG_EUDEV_PV}.tar.gz}" GKPKG_EUDEV_SRCDIR="${GKPKG_EUDEV_SRCDIR:-eudev-${GKPKG_EUDEV_PV}}" GKPKG_EUDEV_BINPKG="${GKPKG_EUDEV_BINPKG:-%%CACHE%%/eudev-${GKPKG_EUDEV_PV}-%%ARCH%%.tar.xz}" @@ -116,7 +116,7 @@ GKPKG_HWIDS_BINPKG="${GKPKG_HWIDS_BINPKG:-%%CACHE%%/hwids-${GKPKG_HWIDS_PV}-%%AR GKPKG_ISCSI_PN="open-iscsi" GKPKG_ISCSI_PV="${GKPKG_ISCSI_PV:-VERSION_ISCSI}" -GKPKG_ISCSI_DEPS="kmod zlib util-linux" +GKPKG_ISCSI_DEPS="util-linux zlib xz kmod" GKPKG_ISCSI_SRCTAR="${GKPKG_ISCSI_SRCTAR:-${DISTDIR}/open-iscsi-${GKPKG_ISCSI_PV}.tar.gz}" GKPKG_ISCSI_SRCDIR="${GKPKG_ISCSI_SRCDIR:-open-iscsi-${GKPKG_ISCSI_PV}}" GKPKG_ISCSI_BINPKG="${GKPKG_ISCSI_BINPKG:-%%CACHE%%/iscsi-${GKPKG_ISCSI_PV}-%%ARCH%%.tar.xz}" @@ -130,7 +130,7 @@ GKPKG_JSON_C_BINPKG="${GKPKG_JSON_C_BINPKG:-%%CACHE%%/json-c-${GKPKG_JSON_C_PV}- GKPKG_KMOD_PN="kmod" GKPKG_KMOD_PV="${GKPKG_KMOD_PV:-VERSION_KMOD}" -GKPKG_KMOD_DEPS="zlib" +GKPKG_KMOD_DEPS="zlib xz" GKPKG_KMOD_SRCTAR="${GKPKG_KMOD_SRCTAR:-${DISTDIR}/kmod-${GKPKG_KMOD_PV}.tar.xz}" GKPKG_KMOD_SRCDIR="${GKPKG_KMOD_SRCDIR:-kmod-${GKPKG_KMOD_PV}}" GKPKG_KMOD_BINPKG="${GKPKG_KMOD_BINPKG:-%%CACHE%%/kmod-${GKPKG_KMOD_PV}-%%ARCH%%.tar.xz}" @@ -219,6 +219,13 @@ GKPKG_XFSPROGS_SRCTAR="${GKPKG_XFSPROGS_SRCTAR:-${DISTDIR}/xfsprogs-${GKPKG_XFSP GKPKG_XFSPROGS_SRCDIR="${GKPKG_XFSPROGS_SRCDIR:-xfsprogs-${GKPKG_XFSPROGS_PV}}" GKPKG_XFSPROGS_BINPKG="${GKPKG_XFSPROGS_BINPKG:-%%CACHE%%/xfsprogs-${GKPKG_XFSPROGS_PV}-%%ARCH%%.tar.xz}" +GKPKG_XZ_PN="xz" +GKPKG_XZ_PV="${GKPKG_XZ_PV:-VERSION_XZ}" +GKPKG_XZ_DEPS="" +GKPKG_XZ_SRCTAR="${GKPKG_XZ_SRCTAR:-${DISTDIR}/xz-${GKPKG_XZ_PV}.tar.gz}" +GKPKG_XZ_SRCDIR="${GKPKG_XZ_SRCDIR:-xz-${GKPKG_XZ_PV}}" +GKPKG_XZ_BINPKG="${GKPKG_XZ_BINPKG:-%%CACHE%%/xz-${GKPKG_XZ_PV}-%%ARCH%%.tar.xz}" + GKPKG_ZLIB_PN="zlib" GKPKG_ZLIB_PV="${GKPKG_ZLIB_PV:-VERSION_ZLIB}" GKPKG_ZLIB_DEPS="" diff --git a/gkbuilds/eudev.gkbuild b/gkbuilds/eudev.gkbuild index 54f2c0d..0677f0e 100644 --- a/gkbuilds/eudev.gkbuild +++ b/gkbuilds/eudev.gkbuild @@ -10,11 +10,9 @@ src_configure() { --disable-selinux --disable-rule-generator --disable-hwdb + --enable-kmod ) - # Cannot link against static kmod, https://lists.freedesktop.org/archives/systemd-devel/2013-June/011173.html - myconf+=( --disable-kmod ) - gkconf "${myconf[@]}" } diff --git a/gkbuilds/kmod.gkbuild b/gkbuilds/kmod.gkbuild index 44a2df3..bf0f355 100644 --- a/gkbuilds/kmod.gkbuild +++ b/gkbuilds/kmod.gkbuild @@ -7,16 +7,24 @@ src_prepare() { sed -i \ -e '/--enable-static is not supported by kmod/s:as_fn_error:echo:' \ configure || die "Failed to re-enable static support" + + # List of symbols which are clashing with (e)udev + cat <<-EOF >> kmod.syms + mkdir_p _kmod_mkdir_p + mkdir_parents _kmod_mkdir_parents + path_is_absolute_kmod_path_is_absolute + path_make_absolute_cwd _kmod_path_make_absolute_cwd + EOF } src_configure() { local myconf=( - --without-xz - --with-zlib - --without-openssl + --enable-static --disable-python --disable-tools - --enable-static + --with-xz + --with-zlib + --without-openssl ) gkconf "${myconf[@]}" @@ -27,10 +35,16 @@ src_install() { # remove hardcoded $BROOT sed -i \ - -e 's/-L\/[^ ]*/-L${libdir}/' \ + -e 's/-L\/[^ ]*/-L${libdir}/g' \ "${D}"/usr/lib*/pkgconfig/*.pc \ || die + # rename internal symbols to avoid clashing with (e)udev + $(tc-getOBJCOPY) \ + --redefine-syms=kmod.syms \ +
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: 0f2a198a2c613b4d035099f951fdb49d9c998275 Author: Thomas Deutschmann gentoo org> AuthorDate: Tue Aug 25 17:38:44 2020 + Commit: Thomas Deutschmann gentoo org> CommitDate: Tue Aug 25 17:40:33 2020 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=0f2a198a defaults/modules_load: Fix Hyper-V keyboard support Signed-off-by: Thomas Deutschmann gentoo.org> defaults/modules_load | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/defaults/modules_load b/defaults/modules_load index 8ed4c62..8b2a47e 100644 --- a/defaults/modules_load +++ b/defaults/modules_load @@ -33,7 +33,7 @@ MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs f2fs fuse virtiofs loo MODULES_CRYPTO="sha256_generic cbc crc32 crc32c crc32c_generic crc32_generic aes_generic xts af_alg algif_skcipher algif_hash algif_aead algif_rng serpent_generic" # Hyper-V -MODULES_HYPERV="hv_utils hv_vmbus hv_balloon hyperv_keyboard hid_hyperv hv_utils hyperv_fb hv_storvsc" +MODULES_HYPERV="hv_utils hv_vmbus hv_balloon hyperv-keyboard hid_hyperv hv_utils hyperv_fb hv_storvsc" # Virtio MODULES_VIRTIO="virtio_scsi virtio_blk virtio_console virtio-rng virtio virtio_balloon virtio_input virtio_ring virtio_pci virtio_mmio virtio_crypto"
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: 880f6e888501d49556dda0bcc96284b898d70d2b Author: Thomas Deutschmann gentoo org> AuthorDate: Tue Aug 25 17:40:50 2020 + Commit: Thomas Deutschmann gentoo org> CommitDate: Tue Aug 25 17:40:50 2020 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=880f6e88 defaults/modules_load: Add hv_sock to Hyper-V modules list Signed-off-by: Thomas Deutschmann gentoo.org> defaults/modules_load | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/defaults/modules_load b/defaults/modules_load index 8b2a47e..6f021ac 100644 --- a/defaults/modules_load +++ b/defaults/modules_load @@ -33,7 +33,7 @@ MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs f2fs fuse virtiofs loo MODULES_CRYPTO="sha256_generic cbc crc32 crc32c crc32c_generic crc32_generic aes_generic xts af_alg algif_skcipher algif_hash algif_aead algif_rng serpent_generic" # Hyper-V -MODULES_HYPERV="hv_utils hv_vmbus hv_balloon hyperv-keyboard hid_hyperv hv_utils hyperv_fb hv_storvsc" +MODULES_HYPERV="hv_sock hv_utils hv_vmbus hv_balloon hyperv-keyboard hid_hyperv hv_utils hyperv_fb hv_storvsc" # Virtio MODULES_VIRTIO="virtio_scsi virtio_blk virtio_console virtio-rng virtio virtio_balloon virtio_input virtio_ring virtio_pci virtio_mmio virtio_crypto"
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: f81f1204372a833a491ef0bcab1b6b3cc81f75d9 Author: Thomas Deutschmann gentoo org> AuthorDate: Mon Aug 24 20:25:53 2020 + Commit: Thomas Deutschmann gentoo org> CommitDate: Mon Aug 24 20:25:53 2020 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=f81f1204 defaults/linuxrc: Hide first output until cmdline was parsed This will make us honor QUIET kernel command-line argument and allow full silent boot. Link: https://forums.gentoo.org/viewtopic-t-1117988.html Signed-off-by: Thomas Deutschmann gentoo.org> defaults/linuxrc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/defaults/linuxrc b/defaults/linuxrc index e0704f7..9793fde 100644 --- a/defaults/linuxrc +++ b/defaults/linuxrc @@ -51,8 +51,6 @@ gk_ver="$(cat /etc/build_id)" gk_build_date="$(cat /etc/build_date)" kernel_ver="$(uname -r)" -good_msg "${gk_ver} (${gk_build_date}). Linux kernel ${kernel_ver}" - if [ "$0" = '/init' ] then [ -e /linuxrc ] && run rm /linuxrc @@ -466,6 +464,8 @@ then fi fi +good_msg "${gk_ver} (${gk_build_date}). Linux kernel ${kernel_ver}" + if [ "${GK_BOOTFONT_DISABLED}" = '0' -a -e /lib/console/font ] then hash setfont >/dev/null 2>&1 && run setfont /lib/console/font -C ${CONSOLE} 2>&1
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: 064a2d9f2d6e6d4c5b5f2b04464c767387ef4f6c Author: Thomas Deutschmann gentoo org> AuthorDate: Sun Aug 23 20:15:29 2020 + Commit: Thomas Deutschmann gentoo org> CommitDate: Sun Aug 23 20:15:41 2020 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=064a2d9f busy-config: Disable CONFIG_STACK_OPTIMIZATION_386 Using '-mpreferred-stack-boundary=2' is considered broken and is causing problems for some users. Bug: https://bugs.gentoo.org/725674 Signed-off-by: Thomas Deutschmann gentoo.org> defaults/busy-config | 1 + 1 file changed, 1 insertion(+) diff --git a/defaults/busy-config b/defaults/busy-config index 0a2456a..b34c912 100644 --- a/defaults/busy-config +++ b/defaults/busy-config @@ -73,6 +73,7 @@ CONFIG_SYSROOT="" CONFIG_EXTRA_CFLAGS="" CONFIG_EXTRA_LDFLAGS="" CONFIG_EXTRA_LDLIBS="" +# CONFIG_STACK_OPTIMIZATION_386 is not set # # Installation Options ("make install" behavior)
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: 6bc4264df660ff6f639cdd9625f5f0da20418e25 Author: Thomas Deutschmann gentoo org> AuthorDate: Fri Aug 21 18:44:32 2020 + Commit: Thomas Deutschmann gentoo org> CommitDate: Fri Aug 21 18:44:32 2020 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=6bc4264d defaults/initrd.scripts: log_msg(): Log milliseconds This will allow us to see more in detail where initramfs spent time. Bug: https://bugs.gentoo.org/738378 Signed-off-by: Thomas Deutschmann gentoo.org> defaults/initrd.scripts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index f34e5a3..fd87623 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -1084,10 +1084,10 @@ log_msg() { # codes and substitution can't be greedy. # Because Busybox's sed cannot deal with control characters, we # have to get rid of all non-printable characters like "^[" first... - LANG=C echo "${log_prefix}${msg}" | sed \ + LANG=C echo "] ${log_prefix}${msg}" | sed \ -e "s,[^[:print:]],,g" \ -e 's,\(\\033\)\?\[[0-9;]\+m,,g' \ - | ts '[%Y-%m-%d %H:%M:%S]' >> "${GK_INIT_LOG}" + | ts '[ %Y-%m-%d %H:%M:%.S' >> "${GK_INIT_LOG}" } # msg functions arguments
[gentoo-commits] proj/genkernel:master commit in: defaults/, /, arch/x86_64/, arch/x86/
commit: 1423ede621013e6ecff72b8953f5dccd4eac1c39 Author: Thomas Deutschmann gentoo org> AuthorDate: Fri Aug 21 13:11:50 2020 + Commit: Thomas Deutschmann gentoo org> CommitDate: Fri Aug 21 13:11:50 2020 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=1423ede6 --luks: Add support for Serpent cipher Link: https://forums.gentoo.org/viewtopic-t-1117806.html Signed-off-by: Thomas Deutschmann gentoo.org> arch/x86/modules_load| 2 +- arch/x86_64/modules_load | 2 +- defaults/modules_load| 2 +- gen_configkernel.sh | 14 ++ 4 files changed, 17 insertions(+), 3 deletions(-) diff --git a/arch/x86/modules_load b/arch/x86/modules_load index 9d9431d..eece01c 100644 --- a/arch/x86/modules_load +++ b/arch/x86/modules_load @@ -2,4 +2,4 @@ # (extending defaults/modules_load) # Crypto -MODULES_CRYPTO+=" crc32c-intel crc32-pclmul aes_586 aesni-intel" +MODULES_CRYPTO+=" crc32c-intel crc32-pclmul aes_586 aesni-intel serpent-sse2-i586" diff --git a/arch/x86_64/modules_load b/arch/x86_64/modules_load index 3f6a19c..d755b29 100644 --- a/arch/x86_64/modules_load +++ b/arch/x86_64/modules_load @@ -2,4 +2,4 @@ # (extending defaults/modules_load) # Crypto -MODULES_CRYPTO+=" crc32c-intel crc32-pclmul aes-x86_64 aesni-intel" +MODULES_CRYPTO+=" crc32c-intel crc32-pclmul aes-x86_64 aesni-intel serpent-sse2-x86_64 serpent-avx-x86_64 serpent-avx2" diff --git a/defaults/modules_load b/defaults/modules_load index eddd23d..8ed4c62 100644 --- a/defaults/modules_load +++ b/defaults/modules_load @@ -30,7 +30,7 @@ MODULES_USB="ehci-pci ehci-hcd xhci-hcd xhci-pci xhci-plat xhci-plat-hcd uhci us MODULES_FS="ext2 ext3 ext4 btrfs reiserfs jfs nfs xfs zfs f2fs fuse virtiofs loop squashfs aufs overlay cramfs configfs fscrypto msdos" # Crypto -MODULES_CRYPTO="sha256_generic cbc crc32 crc32c crc32c_generic crc32_generic aes_generic xts af_alg algif_skcipher algif_hash algif_aead algif_rng" +MODULES_CRYPTO="sha256_generic cbc crc32 crc32c crc32c_generic crc32_generic aes_generic xts af_alg algif_skcipher algif_hash algif_aead algif_rng serpent_generic" # Hyper-V MODULES_HYPERV="hv_utils hv_vmbus hv_balloon hyperv_keyboard hid_hyperv hv_utils hyperv_fb hv_storvsc" diff --git a/gen_configkernel.sh b/gen_configkernel.sh index 5bccf5d..d08a8d9 100755 --- a/gen_configkernel.sh +++ b/gen_configkernel.sh @@ -542,12 +542,21 @@ config_kernel() { y|m) ;; # Do nothing *) cfg_CONFIG_CRYPTO_AES=${newcfg_setting} esac + + local cfg_CONFIG_CRYPTO_SERPENT=$(kconfig_get_opt "${KERNEL_OUTPUTDIR}/.config" "CONFIG_CRYPTO_SERPENT") + case "${cfg_CONFIG_CRYPTO_SERPENT}" in + y|m) ;; # Do nothing + *) cfg_CONFIG_CRYPTO_SERPENT=${newcfg_setting} + esac + kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" "CONFIG_CRYPTO_XTS" "${cfg_CONFIG_CRYPTO_AES}" \ && required_kernel_options+=( 'CONFIG_CRYPTO_XTS' ) kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" "CONFIG_CRYPTO_SHA256" "${cfg_CONFIG_CRYPTO_AES}" \ && required_kernel_options+=( 'CONFIG_CRYPTO_SHA256' ) kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" "CONFIG_CRYPTO_AES" "${cfg_CONFIG_CRYPTO_AES}" \ && required_kernel_options+=( 'CONFIG_CRYPTO_AES' ) + kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" "CONFIG_CRYPTO_SERPENT" "${cfg_CONFIG_CRYPTO_SERPENT}" \ + && required_kernel_options+=( 'CONFIG_CRYPTO_SERPENT' ) kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" "CONFIG_CRYPTO_USER_API_HASH" "${cfg_CONFIG_CRYPTO_AES}" \ && required_kernel_options+=( 'CONFIG_CRYPTO_USER_API_HASH' ) kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" "CONFIG_CRYPTO_USER_API_SKCIPHER" "${cfg_CONFIG_CRYPTO_AES}" \ @@ -582,6 +591,9 @@ config_kernel() { then kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" "CONFIG_CRYPTO_SHA1_SSSE3" "${cfg_CONFIG_CRYPTO_AES}" kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" "CONFIG_CRYPTO_SHA256_SSSE3" "${cfg_CONFIG_CRYPTO_AES}" + kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" "CONFIG_CRYPTO_SERPENT_SSE2_X86_64" "${cfg_CONFIG_CRYPTO_SERPENT}" + kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" "CONFIG_CRYPTO_SERPENT_AVX_X86_64" "${cfg_CONFIG_CRYPTO_SERPENT}" + kconfig_set_opt "${KERNEL_OUTPUTDIR}/.config" "CONFIG_CRYPTO_SERPENT_AVX2_X86_64" "${cfg_CONFIG_CRYPTO_SERPENT}" if [ ${KV_NUMERIC} -lt 5004 ] then @@ -592,6 +604,8 @@ config_kernel() { then kconfig_set_opt "$
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: 848f9d5eb48f6fe7cf1d11a2ccb2df9198f474f1 Author: Thomas Deutschmann gentoo org> AuthorDate: Wed Aug 19 21:29:34 2020 + Commit: Thomas Deutschmann gentoo org> CommitDate: Wed Aug 19 21:29:34 2020 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=848f9d5e defaults/linuxrc: Process /etc/initramfs.mounts multiple times We need to mount mountpoints listed in /etc/initramfs.mounts before validating REAL_INIT in case init is located on seperate mount. In addition the code was moved to a dedicated function named process_initramfs_mounts() to allow to run it multiple times which is needed if REAL_INIT wasn't verified (in case system was booted from livecd). Link: https://forums.gentoo.org/viewtopic-t-1117762.html Signed-off-by: Thomas Deutschmann gentoo.org> defaults/initrd.scripts | 49 + defaults/linuxrc| 41 +++-- 2 files changed, 56 insertions(+), 34 deletions(-) diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index 14f3c4e..f34e5a3 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -1249,6 +1249,55 @@ preserve_log() { fi } +process_initramfs_mounts() { + local fslist= + + if [ -f "${NEW_ROOT}/etc/initramfs.mounts" ] + then + fslist="$(get_mounts_list)" + else + fslist="/usr" + fi + + local dev= fs= fstype= opts= mnt= cmd= + for fs in ${fslist} + do + mnt="${NEW_ROOT}${fs}" + if run mountpoint -q "${mnt}" + then + good_msg "${fs} already mounted, skipping..." + continue + fi + + dev=$(get_mount_device "${fs}") + [ -z "${dev}" ] && continue + # Resolve it like util-linux mount does + [ -L "${dev}" ] && dev=$(realpath "${dev}") + # In this case, it's probably part of the filesystem + # and not a mountpoint + [ -z "${dev}" ] && continue + + fstype=$(get_mount_fstype "${fs}") + if get_mount_options "${fs}" | grep -Fq bind + then + opts="bind" + dev="${NEW_ROOT}${dev}" + else + # ro must be trailing, and the options will always + # contain at least 'defaults' + opts="$(get_mount_options ${fs} | strip_mount_options)" + opts="${opts},ro" + fi + + cmd="mount -t ${fstype} -o ${opts} ${dev} ${mnt}" + good_msg "Mounting ${dev} as ${fs}: ${cmd}" + if ! run ${cmd} + then + bad_msg "Unable to mount ${dev} for ${fs}" + fi + done +} + prompt_user() { # $1 = variable whose value is the path (examples: "REAL_ROOT", # "LUKS_KEYDEV") diff --git a/defaults/linuxrc b/defaults/linuxrc index 3ca7e86..e0704f7 100644 --- a/defaults/linuxrc +++ b/defaults/linuxrc @@ -930,6 +930,11 @@ do # else not a good root and start over. if [ "${mountret}" = '0' ] then + # Make sure that entries from $NEWROOT/etc/initramfs.mounts + # are mounted before validating $REAL_INIT in case init isn't + # located on $REAL_ROOT. + process_initramfs_mounts + init_binary_file="${NEW_ROOT}${REAL_INIT:-/sbin/init}" init_binary_fallback_file="${NEW_ROOT}/bin/sh" @@ -1261,40 +1266,8 @@ else fi fi # if [ "${CDROOT}" = '1' ] -# Mount the additional things as required by udev & systemd -if [ -f ${NEW_ROOT}/etc/initramfs.mounts ] -then - fslist=$(get_mounts_list) -else - fslist="/usr" -fi - -for fs in ${fslist} -do - dev=$(get_mount_device ${fs}) - [ -z "${dev}" ] && continue - # Resolve it like util-linux mount does - [ -L ${dev} ] && dev=$(readlink ${dev}) - # In this case, it's probably part of the filesystem - # and not a mountpoint - [ -z "${dev}" ] && continue - fstype=$(get_mount_fstype ${fs}) - if get_mount_options ${fs} | grep -Fq bind - then - opts='bind' - dev=${NEW_ROOT}${dev} - else - # ro must be trailing, and the options will always contain at least 'defaults' - opts="$(get_mount_options ${fs} | strip_mount_options),ro" - fi - mnt=${NEW_ROOT}${fs} - cmd="mount -t ${fstype} -o ${opts} ${dev} ${mnt}" - good_msg "Mounting ${dev} as ${fs}: ${cmd}" - if ! ${cmd} - then - bad_msg "Unable to mount ${dev} for ${fs}" - fi -done # for fs in $fslist; do +# Re-run to ensure $NEWROOT/etc/initramfs.mounts wa
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: 5c2d7fc5bbc302c6ad6eac111e375709d7031187 Author: Thomas Deutschmann gentoo org> AuthorDate: Sun Aug 9 20:02:07 2020 + Commit: Thomas Deutschmann gentoo org> CommitDate: Sun Aug 9 20:02:07 2020 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=5c2d7fc5 defaults/initrd.scripts: start_volumes(): Don't wait for /dev/zfs This is not needed anymore and also not working. Bug: https://bugs.gentoo.org/736084 Signed-off-by: Thomas Deutschmann gentoo.org> defaults/initrd.scripts | 13 + 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index b7dbdd8..14f3c4e 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -1501,17 +1501,6 @@ copyKeymap() { fi } -# This helper function is to be called using call_func_timeout. -# It enables us to wait a reasonable amount of time until /dev/zfs appears. -waitForZFS() { - while [ ! -c /dev/zfs ] - do - echo >/dev/null - done - - exit 1 -} - splash() { return 0 } @@ -1631,7 +1620,7 @@ start_volumes() { if [ "${USE_ZFS}" = '1' ] then # Avoid race involving asynchronous module loading - if call_func_timeout waitForZFS 5 + if [ ! -e /dev/zfs ] then bad_msg "Cannot import ZFS pool because /dev/zfs is missing" elif [ -z "${ZFS_POOL}" ]
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: e6de787bd21542bbc94efe21eacd99178a756c65 Author: Thomas Deutschmann gentoo org> AuthorDate: Sun Aug 9 17:30:03 2020 + Commit: Thomas Deutschmann gentoo org> CommitDate: Sun Aug 9 19:50:43 2020 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=e6de787b defaults/initrd.scripts: start_volumes(): Drop ZPOOL_IMPORT_UDEV_TIMEOUT_MS workaround Now that we switched to (E)UDEV usage, this workaround is no longer needed. Follow-up: 73689f8 ("ZFS: Enable UDEV support") Signed-off-by: Thomas Deutschmann gentoo.org> defaults/initrd.scripts | 3 --- 1 file changed, 3 deletions(-) diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index 22d7e85..b7dbdd8 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -1630,7 +1630,6 @@ start_volumes() { if [ "${USE_ZFS}" = '1' ] then - export ZPOOL_IMPORT_UDEV_TIMEOUT_MS=0 # Avoid race involving asynchronous module loading if call_func_timeout waitForZFS 5 then @@ -1648,7 +1647,6 @@ start_volumes() { bad_msg "Importing ZFS pools failed!" fi else - if [ "$(zpool list -H -o name ${ZFS_POOL} 2>&1)" = "${ZFS_POOL}" ] then good_msg "ZFS pool ${ZFS_POOL} already imported." @@ -1690,7 +1688,6 @@ start_volumes() { fi fi fi - unset ZPOOL_IMPORT_UDEV_TIMEOUT_MS fi udevsettle
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: 7c5e666c2c4575dbf0f1901c90d13ec95520cdba Author: Thomas Deutschmann gentoo org> AuthorDate: Tue Aug 4 21:27:41 2020 + Commit: Thomas Deutschmann gentoo org> CommitDate: Tue Aug 4 21:27:41 2020 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=7c5e666c modules_load: Add vmw_pvscsi for VMware PVSCSI driver support Link: https://forums.gentoo.org/viewtopic-t-1116502.html Signed-off-by: Thomas Deutschmann gentoo.org> defaults/modules_load | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/defaults/modules_load b/defaults/modules_load index 9caa3c7..eddd23d 100644 --- a/defaults/modules_load +++ b/defaults/modules_load @@ -11,7 +11,7 @@ MODULES_MULTIPATH="dm-mod dm-multipath dm-round-robin dm-rdac dm-queue-length dm MODULES_NVME="nvme-core nvme nvme-fabrics nvme-rdma nvme-loop nvme-fc" MODULES_PATA="libata pata_mpiix pata_pdc2027x pata_radisys pata_sil680 pata_rz1000 pata_efar pata_cmd64x pata_hpt366 pata_hpt37x pata_hpt3x3 pata_hpt3x2n pata_optidma pata_it821x pata_artop pata_oldpiix pata_cypress pata_platform pata_serverworks pata_legacy pata_ns87410 pata_ns87415 pata_pcmcia pata_isapnp pata_it8213 pata_ali pata_amd pata_opti pata_atiixp pata_triflex pata_pdc202xx_old pata_sc1200 pata_qdi pata_netcell pata_sis pata_hpt3x2n pata_marvell pata_jmicron pata_via pata_cs5520 pata_cs5530 pata_cs5535 pata_sl82c105" MODULES_SATA="ahci libata ata_piix sata_promise sata_sil sata_sil24 sata_svw sata_via sata_nv sata_sx4 sata_sis sata_uli sata_vsc sata_qstor sata_mv sata_inic162x pdc_adma" -MODULES_SCSI="mptspi megaraid_sas megaraid mpt2sas mpt3sas sd_mod sg sr_mod aic79xx aic7xxx aic7xxx_old arcmsr BusLogic ncr53c8xx NCR53c406a initio advansys aha1740 aha1542 aha152x dtc fdomain gdth pas16 pci2220i pci2000 psi240i qlogicfas qlogicfc qlogicisp qlogicpti seagate t128 u14-34f ultrastor wd7000 sym53c8xx dmx3191d imm in2000 ips qla1280 sim710 sym53c416 dc395x atp870u mptbase mptscsih mptfc mptsas 3w-sas 3w- 3w-9xxx cpqarray cciss hpsa DAC960 sx8 aacraid megaraid_mbox megaraid_mm qla2xxx lpfc scsi_transport_fc aic94xx" +MODULES_SCSI="mptspi megaraid_sas megaraid mpt2sas mpt3sas sd_mod sg sr_mod aic79xx aic7xxx aic7xxx_old arcmsr BusLogic ncr53c8xx NCR53c406a initio advansys aha1740 aha1542 aha152x dtc fdomain gdth pas16 pci2220i pci2000 psi240i qlogicfas qlogicfc qlogicisp qlogicpti seagate t128 u14-34f ultrastor wd7000 sym53c8xx dmx3191d imm in2000 ips qla1280 sim710 sym53c416 dc395x atp870u mptbase mptscsih mptfc mptsas 3w-sas 3w- 3w-9xxx cpqarray cciss hpsa DAC960 sx8 aacraid megaraid_mbox megaraid_mm qla2xxx lpfc scsi_transport_fc aic94xx vmw_pvscsi" MODULES_WAITSCAN="scsi_wait_scan" MODULES_BLOCK="sdhci_acpi sdhci_pci"
[gentoo-commits] proj/genkernel:master commit in: defaults/keymaps/
commit: b44a14b43649127307fbb3a69a744e870d1be036 Author: Thomas Deutschmann gentoo org> AuthorDate: Sat Aug 1 21:34:16 2020 + Commit: Thomas Deutschmann gentoo org> CommitDate: Sat Aug 1 21:35:04 2020 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=b44a14b4 keymaps: update Norwegian (no) keymap Bug: https://bugs.gentoo.org/666442 Signed-off-by: Thomas Deutschmann gentoo.org> defaults/keymaps/no.map | Bin 2823 -> 2823 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/defaults/keymaps/no.map b/defaults/keymaps/no.map index a5ae10e..67e335a 100644 Binary files a/defaults/keymaps/no.map and b/defaults/keymaps/no.map differ
[gentoo-commits] proj/genkernel:master commit in: defaults/, /
commit: 9f540e262f18abdfde67d63a7d87da04abc322c8 Author: Thomas Deutschmann gentoo org> AuthorDate: Sat Aug 1 13:55:57 2020 + Commit: Thomas Deutschmann gentoo org> CommitDate: Sat Aug 1 20:35:00 2020 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=9f540e26 Unify grep usage Signed-off-by: Thomas Deutschmann gentoo.org> Makefile| 4 ++-- defaults/initrd.scripts | 2 +- defaults/linuxrc| 4 ++-- gen_determineargs.sh| 4 ++-- gen_funcs.sh| 4 ++-- gen_initramfs.sh| 2 +- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Makefile b/Makefile index e423ab0..92d1278 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -#PACKAGE_VERSION = $(shell /bin/fgrep GK_V= genkernel | sed "s/.*GK_V='\([^']\+\)'/\1/") +#PACKAGE_VERSION = $(shell /bin/grep -F -- GK_V= genkernel | sed "s/.*GK_V='\([^']\+\)'/\1/") PACKAGE_VERSION = $(shell git describe --tags |sed 's,^v,,g') distdir = genkernel-$(PACKAGE_VERSION) MANPAGE = genkernel.8 @@ -78,7 +78,7 @@ verify-doc: doc/genkernel.8.txt -e '/ssh-host-keys/s,=\(create\|create-from-host\|runtime\),,g' | \ while read opt ; do \ regex="^*--(...no-...)?$$opt" ; \ - if ! egrep -e "$$regex" $< -sq ; then \ + if ! grep -Ee "$$regex" $< -sq ; then \ touch faildoc ; \ echo "Undocumented option: $$opt" ; \ fi ; \ diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index 304d634..22d7e85 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -1023,7 +1023,7 @@ run_shell() { fs_type_in_use() { fs_type=$1 - cut -d ' ' -f 3 < /proc/mounts | fgrep -q "${fs_type}" + cut -d ' ' -f 3 < /proc/mounts | grep -Fq "${fs_type}" } mount_devfs() { diff --git a/defaults/linuxrc b/defaults/linuxrc index e9e97b6..3ca7e86 100644 --- a/defaults/linuxrc +++ b/defaults/linuxrc @@ -1062,7 +1062,7 @@ then bad_msg "Squashfs filesystem could not be mounted, dropping into shell." if [ -e /proc/filesystems ] then - fgrep -q squashfs /proc/filesystems || \ + grep -Fq squashfs /proc/filesystems || \ bad_msg "HINT: Your kernel does not know filesystem \"squashfs\"." fi run_shell @@ -1279,7 +1279,7 @@ do # and not a mountpoint [ -z "${dev}" ] && continue fstype=$(get_mount_fstype ${fs}) - if get_mount_options ${fs} | fgrep -q bind + if get_mount_options ${fs} | grep -Fq bind then opts='bind' dev=${NEW_ROOT}${dev} diff --git a/gen_determineargs.sh b/gen_determineargs.sh index d8f3028..75dc151 100755 --- a/gen_determineargs.sh +++ b/gen_determineargs.sh @@ -606,7 +606,7 @@ determine_real_args() { vars_to_initialize+=( "BUSYBOX_CONFIG" ) vars_to_initialize+=( "DEFAULT_KERNEL_CONFIG" ) - local binpkgs=( $(compgen -A variable |grep '^GKPKG_.*_BINPKG$') ) + local binpkgs=( $(compgen -A variable | grep '^GKPKG_.*_BINPKG$') ) local binpkg for binpkg in "${binpkgs[@]}" do @@ -639,7 +639,7 @@ determine_real_args() { declare -gA GKICM_LOOKUP_TABLE_PKG=() local known_initramfs_compression_methods_by_compression=( $(get_initramfs_compression_method_by_compression) ) local known_initramfs_compression_methods_by_speed=( $(get_initramfs_compression_method_by_speed) ) - local initramfs_compression_methods=( $(compgen -A variable |grep '^GKICM_.*_KOPTNAME$') ) + local initramfs_compression_methods=( $(compgen -A variable | grep '^GKICM_.*_KOPTNAME$') ) local initramfs_compression_method key var_name var_prefix for initramfs_compression_method in "${initramfs_compression_methods[@]}" do diff --git a/gen_funcs.sh b/gen_funcs.sh index f2f075a..0eea8ee 100755 --- a/gen_funcs.sh +++ b/gen_funcs.sh @@ -1908,7 +1908,7 @@ check_disk_space_requirements() { } check_distfiles() { - local source_files=( $(compgen -A variable |grep '^GKPKG_.*_SRCTAR$') ) + local source_files=( $(compgen -A variable | grep '^GKPKG_.*_SRCTAR$') ) local -a missing_sources local source_file= @@ -2046,7 +2046,7 @@ make_bootdir_writable() { local bootdir_status=unknown # Based on mount-boot.eclass code - local fstabstate=$(awk "!/^#|^[[:blank:]]+#|^${BOOTDIR//\//\\/}/ {print \$2}" /etc/fstab 2>/dev/null | egrep "^${BOOTDIR}$" ) + local fstabstate=$(awk "!/^#|^[[:blank:]]+#|^${BOOTDIR//\//\\/}/ {print \$2}" /
[gentoo-commits] proj/genkernel:master commit in: /, defaults/
commit: 73689f82a7ef090c4d8c22eced7a56471be14156 Author: Thomas Deutschmann gentoo org> AuthorDate: Thu Jul 23 21:06:51 2020 + Commit: Thomas Deutschmann gentoo org> CommitDate: Thu Jul 23 22:56:48 2020 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=73689f82 ZFS: Enable UDEV support Signed-off-by: Thomas Deutschmann gentoo.org> defaults/initrd.scripts | 24 +--- gen_initramfs.sh| 23 ++- 2 files changed, 39 insertions(+), 8 deletions(-) diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index d2db059..304d634 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -1641,12 +1641,11 @@ start_volumes() { local zfs_cmd="run /sbin/zpool import -N -a ${ZPOOL_CACHE} ${ZPOOL_FORCE} 2>&1" is_log_enabled && zfs_cmd="${zfs_cmd} | tee -a '${GK_INIT_LOG}'" + eval "${zfs_cmd}" - if [ $? -eq 0 ] + if [ $? -ne 0 ] then - good_msg "Importing ZFS pools succeeded!" - else - bad_msg "Imported ZFS pools failed!" + bad_msg "Importing ZFS pools failed!" fi else @@ -1660,22 +1659,33 @@ start_volumes() { local zfs_cmd="run /sbin/zpool export -f '${ZFS_POOL}' 2>&1" is_log_enabled && zfs_cmd="${zfs_cmd} | tee -a '${GK_INIT_LOG}'" + eval "${zfs_cmd}" + if [ $? -ne 0 ] + then + bad_msg "Exporting ZFS pools failed!" + else + udevsettle + fi zfs_cmd="run /sbin/zpool import -N ${ZPOOL_CACHE} ${ZPOOL_FORCE} '${ZFS_POOL}' 2>&1" is_log_enabled && zfs_cmd="${zfs_cmd} | tee -a '${GK_INIT_LOG}'" + eval "${zfs_cmd}" + if [ $? -ne 0 ] + then + bad_msg "Re-importing ZFS pools failed!" + fi fi else good_msg "Importing ZFS pool ${ZFS_POOL} ..." local zfs_cmd="run /sbin/zpool import -N ${ZPOOL_CACHE} ${ZPOOL_FORCE} '${ZFS_POOL}' 2>&1" is_log_enabled && zfs_cmd="${zfs_cmd} | tee -a '${GK_INIT_LOG}'" + eval "${zfs_cmd}" - if [ $? -eq 0 ] + if [ $? -ne 0 ] then - good_msg "Import of ${ZFS_POOL} succeeded!" - else bad_msg "Import of ${ZFS_POOL} failed!" fi fi diff --git a/gen_initramfs.sh b/gen_initramfs.sh index 24b23bb..570100e 100755 --- a/gen_initramfs.sh +++ b/gen_initramfs.sh @@ -992,7 +992,6 @@ append_zfs() { fi mkdir "${TDIR}" || gen_die "Failed to create '${TDIR}'!" - cd "${TDIR}" || gen_die "Failed to chdir to '${TDIR}'!" mkdir -p "${TDIR}"/etc/zfs || gen_die "Failed to create '${TDIR}/etc/zfs'!" @@ -1022,6 +1021,28 @@ append_zfs() { copy_binaries "${TDIR}" /sbin/{mount.zfs,zdb,zfs,zpool} + local udevdir=$(get_udevdir) + local udevdir_initramfs="/usr/lib/udev" + local udev_files=( $(qlist -e sys-fs/zfs:0 \ + | xargs --no-run-if-empty realpath \ + | grep -E -- "^${udevdir}") + ) + + if [ ${#udev_files[@]} -eq 0 ] + then + gen_die "Something went wrong: Did not found any udev-related files for sys-fs/zfs!" + fi + + mkdir -p "${TDIR}"/usr/lib/udev/rules.d || gen_die "Failed to create '${TDIR}/usr/lib/udev/rules.d'!" + + local udev_files + for udev_file in "${udev_files[@]}" + do + local dest_file="${TDIR%/}${udev_file/${udevdir}/${udevdir_initramfs}}" + cp -aL "${udev_file}" "${dest_file}" \ + || gen_die "Failed to copy '${udev_file}' to '${dest_file}'" + done + cd "${TDIR}" || gen_die "Failed to chdir to '${TDIR}'!" log_future_cpio_content find . -print0 | "${CPIO_COMMAND}" ${CPIO_ARGS} --append -F "${CPIO_ARCHIVE}" \
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: 28d5ae82fc5269eb85b484cb7c086247156c5ea3 Author: Thomas Deutschmann gentoo org> AuthorDate: Thu Jul 23 21:08:12 2020 + Commit: Thomas Deutschmann gentoo org> CommitDate: Thu Jul 23 22:56:47 2020 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=28d5ae82 defaults/initrd.scripts: openLUKS(): Fix style Signed-off-by: Thomas Deutschmann gentoo.org> defaults/initrd.scripts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index b307fe1..426a64e 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -1884,7 +1884,8 @@ openLUKS() { then REAL_LUKS_KEYDEV=$(find_real_device "${LUKS_KEYDEV}") if [ -b "${REAL_LUKS_KEYDEV}" ] - then good_msg "Using key device ${REAL_LUKS_KEYDEV}." ${CRYPT_SILENT} + then + good_msg "Using key device ${REAL_LUKS_KEYDEV}." ${CRYPT_SILENT} else good_msg "Please insert removable device ${LUKS_KEYDEV} for ${LUKS_NAME}" ${CRYPT_SILENT} # abort after 10 secs
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: 1ff8e13eae1052c56989bd313da860ef73c7bedd Author: Thomas Deutschmann gentoo org> AuthorDate: Thu Jul 23 20:30:52 2020 + Commit: Thomas Deutschmann gentoo org> CommitDate: Thu Jul 23 22:56:47 2020 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=1ff8e13e defaults/initrd.scripts: mount_devfs(): Make sure that /dev/shm is available Signed-off-by: Thomas Deutschmann gentoo.org> defaults/initrd.scripts | 4 1 file changed, 4 insertions(+) diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index d95da4d..1bf778d 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -1043,6 +1043,10 @@ mount_devfs() { run mkdir -m 0755 /dev/pts run mount -t devpts -o gid=5,mode=0620 devpts /dev/pts || bad_msg "Failed to mount /dev/pts" fi + + run mkdir -m 1777 /dev/shm + run mount -t tmpfs -o mode=1777,nosuid,nodev,strictatime tmpfs /dev/shm \ + || bad_msg "Failed to mount /dev/shm" } test_success() {
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: 32dd11ac4e681ea9fadb0e8286468b518c0c252d Author: Thomas Deutschmann gentoo org> AuthorDate: Thu Jul 23 20:04:17 2020 + Commit: Thomas Deutschmann gentoo org> CommitDate: Thu Jul 23 22:56:41 2020 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=32dd11ac defaults/initrd.scripts: do_resume(): Use find_real_device() to determine REAL_RESUME device Signed-off-by: Thomas Deutschmann gentoo.org> defaults/initrd.scripts | 9 + 1 file changed, 9 insertions(+) diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index 3bede8a..b307fe1 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -2574,6 +2574,15 @@ rundebugshell() { } do_resume() { + local device=$(find_real_device "${REAL_RESUME}") + if [ -z "${device}" ] + then + warn_msg "REAL_RESUME (${REAL_RESUME}) device not found; Skipping resume ..." + return 0 + else + REAL_RESUME="${device}" + fi + if [ -d /proc/suspend2 -o -d /sys/power/suspend2 -o -d /sys/power/tuxonice ] then tuxonice_resume
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: ea22a5f24f5e179c1ec8448657c753375f8567be Author: Thomas Deutschmann gentoo org> AuthorDate: Thu Jul 23 21:58:58 2020 + Commit: Thomas Deutschmann gentoo org> CommitDate: Thu Jul 23 22:56:46 2020 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=ea22a5f2 defaults/software.sh: Fix style Signed-off-by: Thomas Deutschmann gentoo.org> defaults/software.sh | 36 ++-- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/defaults/software.sh b/defaults/software.sh index fbdca42..a9f9cf0 100644 --- a/defaults/software.sh +++ b/defaults/software.sh @@ -26,8 +26,8 @@ GKPKG_BOOST_BUILD_BINPKG="${GKPKG_BOOST_BUILD_BINPKG:-%%CACHE%%/boost-build-${GK GKPKG_BTRFS_PROGS_PN="btrfs-progs" GKPKG_BTRFS_PROGS_PV="${GKPKG_BTRFS_PROGS_PV:-VERSION_BTRFS_PROGS}" GKPKG_BTRFS_PROGS_DEPS="util-linux zlib zstd lzo" -GKPKG_BTRFS_PROGS_SRCDIR="${GKPKG_BTRFS_PROGS_SRCDIR:-btrfs-progs-v${GKPKG_BTRFS_PROGS_PV}}" GKPKG_BTRFS_PROGS_SRCTAR="${GKPKG_BTRFS_PROGS_SRCTAR:-${DISTDIR}/btrfs-progs-v${GKPKG_BTRFS_PROGS_PV}.tar.xz}" +GKPKG_BTRFS_PROGS_SRCDIR="${GKPKG_BTRFS_PROGS_SRCDIR:-btrfs-progs-v${GKPKG_BTRFS_PROGS_PV}}" GKPKG_BTRFS_PROGS_BINPKG="${GKPKG_BTRFS_PROGS_BINPKG:-%%CACHE%%/btrfs-progs-${GKPKG_BTRFS_PROGS_PV}-%%ARCH%%.tar.xz}" GKPKG_BUSYBOX_PN="busybox" @@ -54,8 +54,8 @@ GKPKG_CRYPTSETUP_BINPKG="${GKPKG_CRYPTSETUP_BINPKG:-%%CACHE%%/cryptsetup-${GKPKG GKPKG_DMRAID_PN="dmraid" GKPKG_DMRAID_PV="${GKPKG_DMRAID_PV:-VERSION_DMRAID}" GKPKG_DMRAID_DEPS="lvm" -GKPKG_DMRAID_SRCDIR="${GKPKG_DMRAID_SRCDIR:-dmraid/${GKPKG_DMRAID_PV}/dmraid}" GKPKG_DMRAID_SRCTAR="${GKPKG_DMRAID_SRCTAR:-${DISTDIR}/dmraid-${GKPKG_DMRAID_PV}.tar.bz2}" +GKPKG_DMRAID_SRCDIR="${GKPKG_DMRAID_SRCDIR:-dmraid/${GKPKG_DMRAID_PV}/dmraid}" GKPKG_DMRAID_BINPKG="${GKPKG_DMRAID_BINPKG:-%%CACHE%%/dmraid-${GKPKG_DMRAID_PV}-%%ARCH%%.tar.xz}" GKPKG_DROPBEAR_PN="dropbear" @@ -82,85 +82,85 @@ GKPKG_E2FSPROGS_BINPKG="${GKPKG_E2FSPROGS_BINPKG:-%%CACHE%%/e2fsprogs-${GKPKG_E2 GKPKG_FUSE_PN="fuse" GKPKG_FUSE_PV="${GKPKG_FUSE_PV:-VERSION_FUSE}" GKPKG_FUSE_DEPS="" -GKPKG_FUSE_SRCDIR="${GKPKG_FUSE_SRCDIR:-fuse-${GKPKG_FUSE_PV}}" GKPKG_FUSE_SRCTAR="${GKPKG_FUSE_SRCTAR:-${DISTDIR}/fuse-${GKPKG_FUSE_PV}.tar.gz}" +GKPKG_FUSE_SRCDIR="${GKPKG_FUSE_SRCDIR:-fuse-${GKPKG_FUSE_PV}}" GKPKG_FUSE_BINPKG="${GKPKG_FUSE_BINPKG:-%%CACHE%%/fuse-${GKPKG_FUSE_PV}-%%ARCH%%.tar.xz}" GKPKG_GPG_PN="gnupg" GKPKG_GPG_PV="${GKPKG_GPG_PV:-VERSION_GPG}" GKPKG_GPG_DEPS="" -GKPKG_GPG_SRCDIR="${GKPKG_GPG_SRCDIR:-gnupg-${GKPKG_GPG_PV}}" GKPKG_GPG_SRCTAR="${GKPKG_GPG_SRCTAR:-${DISTDIR}/gnupg-${GKPKG_GPG_PV}.tar.bz2}" +GKPKG_GPG_SRCDIR="${GKPKG_GPG_SRCDIR:-gnupg-${GKPKG_GPG_PV}}" GKPKG_GPG_BINPKG="${GKPKG_GPG_BINPKG:-%%CACHE%%/gnupg-${GKPKG_GPG_PV}-%%ARCH%%.tar.xz}" GKPKG_ISCSI_PN="open-iscsi" GKPKG_ISCSI_PV="${GKPKG_ISCSI_PV:-VERSION_ISCSI}" GKPKG_ISCSI_DEPS="kmod zlib util-linux" -GKPKG_ISCSI_SRCDIR="${GKPKG_ISCSI_SRCDIR:-open-iscsi-${GKPKG_ISCSI_PV}}" GKPKG_ISCSI_SRCTAR="${GKPKG_ISCSI_SRCTAR:-${DISTDIR}/open-iscsi-${GKPKG_ISCSI_PV}.tar.gz}" +GKPKG_ISCSI_SRCDIR="${GKPKG_ISCSI_SRCDIR:-open-iscsi-${GKPKG_ISCSI_PV}}" GKPKG_ISCSI_BINPKG="${GKPKG_ISCSI_BINPKG:-%%CACHE%%/iscsi-${GKPKG_ISCSI_PV}-%%ARCH%%.tar.xz}" GKPKG_JSON_C_PN="json-c" GKPKG_JSON_C_PV="${GKPKG_JSON_C_PV:-VERSION_JSON_C}" GKPKG_JSON_C_DEPS="" -GKPKG_JSON_C_SRCDIR="${GKPKG_JSON_C_SRCDIR:-json-c-${GKPKG_JSON_C_PV}}" GKPKG_JSON_C_SRCTAR="${GKPKG_JSON_C_SRCTAR:-${DISTDIR}/json-c-${GKPKG_JSON_C_PV}.tar.gz}" +GKPKG_JSON_C_SRCDIR="${GKPKG_JSON_C_SRCDIR:-json-c-${GKPKG_JSON_C_PV}}" GKPKG_JSON_C_BINPKG="${GKPKG_JSON_C_BINPKG:-%%CACHE%%/json-c-${GKPKG_JSON_C_PV}-%%ARCH%%.tar.xz}" GKPKG_KMOD_PN="kmod" GKPKG_KMOD_PV="${GKPKG_KMOD_PV:-VERSION_KMOD}" GKPKG_KMOD_DEPS="zlib" -GKPKG_KMOD_SRCDIR="${GKPKG_KMOD_SRCDIR:-kmod-${GKPKG_KMOD_PV}}" GKPKG_KMOD_SRCTAR="${GKPKG_KMOD_SRCTAR:-${DISTDIR}/kmod-${GKPKG_KMOD_PV}.tar.xz}" +GKPKG_KMOD_SRCDIR="${GKPKG_KMOD_SRCDIR:-kmod-${GKPKG_KMOD_PV}}" GKPKG_KMOD_BINPKG="${GKPKG_KMOD_BINPKG:-%%CACHE%%/kmod-${GKPKG_KMOD_PV}-%%ARCH%%.tar.xz}" GKPKG_LIBAIO_PN="libaio" GKPKG_LIBAIO_PV="${GKPKG_LIBAIO_PV:-VERSION_LIBAIO}" GKPKG_LIBAIO_DEPS="" -GKPKG_LIBAIO_SRCDIR="${GKPKG_LIBAIO_SRCDIR:-libaio-${GKPKG_LIBAIO_PV}}" GKPKG_LIBAIO_SRCTAR="${GKPKG_LIBAIO_SRCTAR:-${DISTDIR}/libaio-${GKPKG_LIBAIO_PV}.tar.gz}" +GKPKG_LIBAIO_SRCDIR="${GKPKG_LIBAIO_SRCDIR:-libaio-${GKPKG_LIBAIO_PV}}" GKPKG_LIBAIO_BINPKG="${GKPKG_LIBAIO_BINPKG:-%%CACHE%%/libaio-${GKPKG_LIBAIO_PV}-%%ARCH%%.tar.xz}" GKPKG_LIBGCRYPT_PN="libgcrypt" GKPKG_LIBGCRYPT_PV="${GKPKG_LIBGCRYPT_PV:-VERSION_LIBGCRYPT}" GKPKG_LIBGCRYPT_DEPS="libgpg-error" -GKPKG_LIBGCRYPT_SRCDIR="${GKPKG_LIBGCRYPT_SRCDIR:-libgcrypt-${GKPKG_LIBGCRYPT_PV}}" GKPKG_LIBGCRYPT_SRCTAR="${GKPKG_LIBGCRYPT_SRCTAR:-${DISTDIR}/libgcrypt-${GKPKG_LIBGCRYPT_PV}.tar.bz2}" +GKPKG_LIBGCRYPT_SRCDIR="${GKPKG_LIBGCRYPT_SRCDIR:-libgcrypt-${GKPKG_LIBGCRYPT_PV}}" GKPKG_LIBGCRYPT
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: 0048f44c081dce2e296b48c71a208abf2a815c84 Author: Thomas Deutschmann gentoo org> AuthorDate: Thu Jul 23 20:00:12 2020 + Commit: Thomas Deutschmann gentoo org> CommitDate: Thu Jul 23 20:00:12 2020 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=0048f44c defaults/linuxrc: Support devices with symlinks /dev/vg/foo can be a symlink to ../dm-1. This commit will allow to use such a value for devices, i.e. ROOT=/dev/vg/foo. Signed-off-by: Thomas Deutschmann gentoo.org> defaults/initrd.scripts | 24 defaults/linuxrc| 5 - 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index 6dc588f..3bede8a 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -905,31 +905,39 @@ findnfsmount() { } find_real_device() { - local DEVICE="${1}" - case "${DEVICE}" in + local device="${1}" + local real_device= + local candidate= + case "${device}" in UUID\=*|LABEL\=*|PARTLABEL=*|PARTUUID\=*) - local REAL_DEVICE="" local retval=1 if [ ${retval} -ne 0 ] then - REAL_DEVICE=$(findfs "${DEVICE}" 2>/dev/null) + candidate=$(findfs "${device}" 2>/dev/null) retval=$? fi if [ ${retval} -ne 0 ] then - REAL_DEVICE=$(blkid -o device -l -t "${DEVICE}" 2>/dev/null) + candidate=$(blkid -o device -l -t "${device}" 2>/dev/null) retval=$? fi - if [ ${retval} -eq 0 ] && [ -n "${REAL_DEVICE}" ] + if [ ${retval} -eq 0 ] && [ -n "${candidate}" ] then - DEVICE="${REAL_DEVICE}" + real_device="${candidate}" fi ;; + *) + candidate=$(readlink -f "${device}") + if [ -b "${candidate}" ] + then + real_device="${candidate}" + fi esac - printf "%s" "${DEVICE}" + + printf "%s" "${real_device}" } check_loop() { diff --git a/defaults/linuxrc b/defaults/linuxrc index 5354d09..f1357f6 100644 --- a/defaults/linuxrc +++ b/defaults/linuxrc @@ -783,15 +783,18 @@ do fi ;; *) - if [ -b "${REAL_ROOT}" ] + ROOT_DEV=$(readlink -f "${REAL_ROOT}") + if [ -b "${ROOT_DEV}" ] then got_good_root=1 + REAL_ROOT=${ROOT_DEV} echo good_msg "Root device detected as ${REAL_ROOT}!" break fi ;; esac + unset ROOT_DEV if [ "${got_good_root}" != '1' ] then
[gentoo-commits] proj/genkernel:master commit in: defaults/
commit: be199c08fada12dc7ccfbf75c8dddba99e185263 Author: Thomas Deutschmann gentoo org> AuthorDate: Thu Jul 23 22:15:59 2020 + Commit: Thomas Deutschmann gentoo org> CommitDate: Thu Jul 23 22:56:47 2020 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=be199c08 defaults/initrd.scripts: Improve logging in *_resume functions Add device which was tried to resume from to log message. Signed-off-by: Thomas Deutschmann gentoo.org> defaults/initrd.scripts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index 1bf778d..d5a3612 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -2608,7 +2608,7 @@ swsusp_resume() { log_msg "Trying to resume using swsusp ..." log_msg "COMMAND: 'echo \"${device}\" > /sys/power/resume'" echo "${device}" > /sys/power/resume - log_msg "System is not resuming, probably because it wasn't suspended; Continue normal booting ..." + log_msg "System is not resuming from ${REAL_RESUME}, probably because it wasn't suspended; Continue normal booting ..." fi } @@ -2675,7 +2675,7 @@ tuxonice_resume() { echo "${REAL_RESUME}" > "${tuxonice_resumedev}" log_msg "COMMAND: 'echo > ${tuxonice_do_resume}'" echo > "${tuxonice_do_resume}" - log_msg "System is not resuming, probably because it wasn't suspended; Continue normal booting ..." + log_msg "System is not resuming from ${REAL_RESUME}, probably because it wasn't suspended; Continue normal booting ..." } find_loop() {
[gentoo-commits] proj/genkernel:master commit in: defaults/, gkbuilds/, /
commit: fe4f505dab7c4c1420c54d493d638445d95dc742 Author: Thomas Deutschmann gentoo org> AuthorDate: Thu Jul 23 20:59:33 2020 + Commit: Thomas Deutschmann gentoo org> CommitDate: Thu Jul 23 22:56:48 2020 + URL:https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=fe4f505d multipath: Switch to UDEV usage Signed-off-by: Thomas Deutschmann gentoo.org> defaults/initrd.scripts | 46 ++ gen_initramfs.sh| 31 --- gkbuilds/lvm.gkbuild| 5 +++-- 3 files changed, 41 insertions(+), 41 deletions(-) diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index 8e7d109..7d852ee 100644 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -1527,48 +1527,22 @@ start_volumes() { if [ "${USE_MULTIPATH_NORMAL}" = '1' ] then - for multipath_path in /sbin/multipath /bin/multipath MISSING - do - [ -x "${multipath_path}" ] && break - done - - for dmsetup_path in /usr/sbin/dmsetup /sbin/dmsetup /bin/dmsetup MISSING - do - [ -x "${dmsetup_path}" ] && break - done - - for kpartx_path in /sbin/kpartx /bin/kpartx MISSING - do - [ -x "${kpartx_path}" ] && break - done - - fail=0 - [ "${multipath_path}" = "MISSING" ] && fail=1 && bad_msg "domultipath called, but multipath binary missing! Skipping multipath" - [ "${dmsetup_path}" = "MISSING" ] && fail=1 && bad_msg "domultipath called, but dmsetup binary missing! Skipping multipath" - [ "${kpartx_path}" = "MISSING" ] && fail=1 && bad_msg "domultipath called, but kpartx binary missing! Skipping multipath" - - if [ ${fail} -eq 0 ] + if ! hash multipath >/dev/null 2>&1 then + bad_msg "domultipath called, but multipath binary missing! Skipping multipath" + else good_msg "Scanning for multipath devices" - good_msg ":: Populating scsi_id info for libudev queries" - run mkdir -p /run/udev/data - local ech - for ech in /sys/block/* - do - local tgtfile=b$(cat ${ech}/dev) - run /lib/udev/scsi_id -g -x /dev/${ech##*/} | sed -e 's/^/E:/' >/run/udev/data/${tgtfile} - done - - local multipath_cmd="run ${multipath_path} -v 0 2>&1" + local multipath_cmd="run multipath -v 0 2>&1" is_log_enabled && multipath_cmd="${multipath_cmd} | tee -a '${GK_INIT_LOG}'" - eval "${multipath_cmd}" - sleep 2 - good_msg "Activating multipath devices ..." - multipath_cmd="run ${dmsetup_path} ls --target multipath --exec '${kpartx_path} -a -v' 2>&1" - is_log_enabled && multipath_cmd="${multipath_cmd} | tee -a '${GK_INIT_LOG}'" eval "${multipath_cmd}" + if [ $? -ne 0 ] + then + bad_msg "Scanning for multipath devices failed!" + else + udevsettle + fi fi fi diff --git a/gen_initramfs.sh b/gen_initramfs.sh index af0ff44..1b8c829 100755 --- a/gen_initramfs.sh +++ b/gen_initramfs.sh @@ -701,15 +701,40 @@ append_multipath() { mkdir -p "${TDIR}"/etc || gen_die "Failed to create '${TDIR}/etc'!" + mkdir -p "${TDIR}"/usr/lib/udev/rules.d || gen_die "Failed to create '${TDIR}/usr/lib/udev/rules.d'!" + local libdir=$(get_chost_libdir) + if [[ "${libdir}" =~ ^/usr ]] + then + libdir=${libdir/\/usr/} + fi copy_binaries \ - "${TDIR}"\ + "${TDIR}" \ /sbin/multipath \ /sbin/kpartx \ /sbin/mpathpersist \ - ${libdir}/multipath/lib*.so \ - /lib/udev/scsi_id + ${libdir}/multipath/lib*.so + + local udevdir=$(get_udevdir) + local udevdir_initramfs="/usr/lib/udev" + local udev_files=( $(qlist -e sys-fs/multipath-tools:0 \ + | xargs --no-run-if-empty realpath \ + | grep -E -- "^${udevdir}") + ) + + if [ ${#udev_files[@]} -eq 0 ] + then + gen_die "Something went wrong: Did not found any udev-related files for sys-fs/multipath-tools!" + fi + + local udev_files + for udev_file in "${udev_files[@]}" + do + local dest_file="${TDIR%/}${udev_file/${udevdir}/${udevdir_initramfs}}" +
[gentoo-commits] proj/genkernel:master commit in: defaults/
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