-commit 43d2f37d89034a2e409bb4f66cca1a64b12130b8
+commit 33cc4751b8f80fc3b800928b9ad93866b2569915
Author: Arkadiusz Miśkiewicz <arekm@maven.pl>
-Date: Mon Nov 25 20:15:24 2019 +0100
+Date: Tue Dec 18 14:33:12 2018 +0100
- Accept d/D symbols, too (ffffffff825ca52c D __initramfs_start) as noticed in recent 4.19.85-1 kernel.
+ Install blkid in /sbin because udevd expects it to be there.
diff --git a/geninitrd b/geninitrd
-index 05e290a..052f553 100755
+index a79b9c3..118333c 100755
--- a/geninitrd
+++ b/geninitrd
-@@ -1097,7 +1097,7 @@ sym_exists() {
- return 1
- fi
+@@ -1530,7 +1530,7 @@ chmod a+rx "$RCFILE"
+ ln -s linuxrc $DESTDIR/init
-- awk -vc=1 -vsymbol="$symbol" '($2 == "T" || $2 == "t") && $3 == symbol {c = 0} END {exit c}' $mapfile
-+ awk -vc=1 -vsymbol="$symbol" '(tolower($2) == "t" || tolower($2) == "d") && $3 == symbol {c = 0} END {exit c}' $mapfile
- }
+ # create dirs that we really need
+-inst_d /{lib,bin,etc,dev{,/pts,/shm},loopfs,var,proc,run,sys,tmp}
++inst_d /{lib,bin,sbin,etc,dev{,/pts,/shm},loopfs,var,proc,run,sys,tmp}
- # find best compressor (or forced one) for initrd
+ modules_install "$MODULES"
+
+diff --git a/mod-blkid.sh b/mod-blkid.sh
+index 8ee2a48..92df9ae 100644
+--- a/mod-blkid.sh
++++ b/mod-blkid.sh
+@@ -22,12 +22,12 @@ initrd_gen_blkid() {
+ fi
+ verbose "Adding BLKID support to initrd"
+
+- inst_exec $blkid /bin/blkid
++ inst_exec $blkid /sbin/blkid
+ initrd_gen_devices
+ add_linuxrc <<-'EOF'
+ # if built with blkid change ROOT=LABEL=something into ROOT=/dev/device parsed by blkid
+ if [ "${ROOT##LABEL=}" != "${ROOT}" -o "${ROOT##UUID=}" != "${ROOT}" ]; then
+- blkid="$(/bin/blkid -t $ROOT -o device -l)"
++ blkid="$(/sbin/blkid -t $ROOT -o device -l)"
+ if [ -n "$blkid" ]; then
+ ROOT=$blkid
+ fi
-commit 04b32086569a126d5d6f9bd0ad1b0db9f142f50e
+commit dc5ca733ed6fe57dfa39d4598a6586069e41d0b0
Author: Arkadiusz Miśkiewicz <arekm@maven.pl>
-Date: Sun Jul 21 21:04:05 2019 +0200
+Date: Tue Dec 18 14:34:38 2018 +0100
- Try to detect a need for nvme driver. If you know better method then share with us.
+ Install mdadm in /sbin because udevd expects it to be there.
-diff --git a/geninitrd b/geninitrd
-index b5d405a..05e290a 100755
---- a/geninitrd
-+++ b/geninitrd
-@@ -673,6 +673,11 @@ find_modules_for_devpath() {
- return
+diff --git a/mod-md.sh b/mod-md.sh
+index 2b6f587..a358517 100644
+--- a/mod-md.sh
++++ b/mod-md.sh
+@@ -133,7 +133,7 @@ initrd_gen_md() {
fi
+ verbose "Setting up mdadm..."
-+ if [[ "$devpath" == /dev/nvme* ]]; then
-+ find_module "nvme"
-+ return
-+ fi
-+
- if [[ "$devpath" == /dev/bcache* ]]; then
- find_modules_bcache "$devpath"
- return
+- inst_exec $mdadm /bin/mdadm
++ inst_exec $mdadm /sbin/mdadm
+
+ echo "DEVICE partitions containers" >> "$DESTDIR/etc/mdadm.conf"
+
+@@ -181,7 +181,7 @@ initrd_gen_md() {
+
+ echo "wait_for_files $cr_dev_list" | add_linuxrc
+ add_linuxrc <<-'EOF'
+- mdadm --assemble --scan
++ /sbin/mdadm --assemble --scan
+
+ if [ "$DEBUGINITRD" ]; then
+ [ -e /proc/mdstat ] && echo "/proc/mdstat contents:" && cat /proc/mdstat
-commit 4de5a3333e772ad198381f157c014e452e42c129
-Author: Elan Ruusamäe <glen@pld-linux.org>
-Date: Mon Jul 15 23:56:58 2019 +0300
+commit 3d81f1cd0bc557ad9a1f157b403f0396866c648c
+Author: Arkadiusz Miśkiewicz <arekm@maven.pl>
+Date: Tue Dec 18 14:38:55 2018 +0100
- fix indent
+ udevd uses ata_id and scsi_id, so install these.
-diff --git a/mod-usbkbd.sh b/mod-usbkbd.sh
-index ff8f442..35543b7 100644
---- a/mod-usbkbd.sh
-+++ b/mod-usbkbd.sh
-@@ -10,22 +10,22 @@ find_modules_usbkbd() {
-
- local modules i module bInterfaceClass bInterfaceProtocol
-
-- for i in /sys/bus/usb/devices/*-*:*; do
-- # standard usb keyboards
-- if [ -f $i/bInterfaceClass -a -f $i/bInterfaceProtocol ]; then
-- bInterfaceClass=$(cat $i/bInterfaceClass)
-- bInterfaceProtocol=$(cat $i/bInterfaceProtocol)
-- if [ "$bInterfaceClass" = "03" -a "$bInterfaceProtocol" = "01" ]; then
-- module=$(readlink $i/driver/module)
-- module=$(basename $module)
-+ for i in /sys/bus/usb/devices/*-*:*; do
-+ # standard usb keyboards
-+ if [ -f $i/bInterfaceClass -a -f $i/bInterfaceProtocol ]; then
-+ bInterfaceClass=$(cat $i/bInterfaceClass)
-+ bInterfaceProtocol=$(cat $i/bInterfaceProtocol)
-+ if [ "$bInterfaceClass" = "03" -a "$bInterfaceProtocol" = "01" ]; then
-+ module=$(readlink $i/driver/module)
-+ module=$(basename $module)
+diff --git a/mod-udev.sh b/mod-udev.sh
+index 422ef3e..a2491ee 100644
+--- a/mod-udev.sh
++++ b/mod-udev.sh
+@@ -41,9 +41,11 @@ setup_mod_udev() {
+ initrd_gen_udev() {
+ verbose "Setting up udev..."
-- if [ -n "$module" ]; then
-- verbose "Found USB Keyboard driver: $module"
-- modules="$modules $module"
-- fi
-- fi
-- fi
-- done
-+ if [ -n "$module" ]; then
-+ verbose "Found USB Keyboard driver: $module"
-+ modules="$modules $module"
-+ fi
-+ fi
-+ fi
-+ done
+- inst_d /sbin /etc/udev
++ inst_d /sbin /etc/udev /lib/udev
+ inst_exec $udevd /sbin/udevd
+ inst_exec $udevadm /sbin/udevadm
++ inst_exec /lib/udev/ata_id /lib/udev/ata_id
++ inst_exec /lib/udev/scsi_id /lib/udev/scsi_id
+ inst /etc/udev/udev.conf /etc/udev/udev.conf
+ # standard udev rules
+ inst_rules 50-udev-default.rules 60-persistent-storage.rules 61-persistent-storage-edd.rules 80-drivers.rules 95-udev-late.rules \
+
+commit 21ad0f7980ce6a0135e4a3c37a94472ed4f1320c
+Author: Arkadiusz Miśkiewicz <arekm@maven.pl>
+Date: Tue Dec 18 14:43:20 2018 +0100
+
+ Use existing mechanism for installing udev apps but install regular variants, too if initrd-variants don't exist.
+
+diff --git a/mod-udev.sh b/mod-udev.sh
+index a2491ee..87f4b68 100644
+--- a/mod-udev.sh
++++ b/mod-udev.sh
+@@ -44,8 +44,6 @@ initrd_gen_udev() {
+ inst_d /sbin /etc/udev /lib/udev
+ inst_exec $udevd /sbin/udevd
+ inst_exec $udevadm /sbin/udevadm
+- inst_exec /lib/udev/ata_id /lib/udev/ata_id
+- inst_exec /lib/udev/scsi_id /lib/udev/scsi_id
+ inst /etc/udev/udev.conf /etc/udev/udev.conf
+ # standard udev rules
+ inst_rules 50-udev-default.rules 60-persistent-storage.rules 61-persistent-storage-edd.rules 80-drivers.rules 95-udev-late.rules \
+@@ -57,6 +55,8 @@ initrd_gen_udev() {
+ for e in ata_id cdrom_id collect firmware scsi_id v4l_id; do
+ if [ -e "$initrd_dir/udev/$e" ]; then
+ inst_exec $initrd_dir/udev/$e /lib/udev/$e
++ elif [ -e "/lib/udev/$e" ]; then
++ inst_exec /lib/udev/$e /lib/udev/$e
+ fi
+ done
- for i in /sys/class/input/input*; do
- # standard usb keyboards
-commit 662fd5a3adac2080640fa4eacd34d72504526175
+commit ad5033d7e704edaf52f2be18d4aa98c378179ede
Author: Arkadiusz Miśkiewicz <arekm@maven.pl>
-Date: Mon Jul 15 19:59:46 2019 +0200
+Date: Fri Jan 25 20:38:24 2019 +0100
- Another way for findings usb keyboard drivers that works on newer kernels.
+ Timeout here is not a good idea. rootfs cannot be mounted and kernel oopses due to that.
-diff --git a/mod-usbkbd.sh b/mod-usbkbd.sh
-index 0dd0d20..ff8f442 100644
---- a/mod-usbkbd.sh
-+++ b/mod-usbkbd.sh
-@@ -10,6 +10,23 @@ find_modules_usbkbd() {
+diff --git a/mod-luks.sh b/mod-luks.sh
+index ff877f7..ffe87cb 100644
+--- a/mod-luks.sh
++++ b/mod-luks.sh
+@@ -162,7 +162,7 @@ luks_crypttab() {
+ done
+ IFS="$old_IFS"
- local modules i module bInterfaceClass bInterfaceProtocol
+- verbose "+ cryptsetup --timeout=120 ${keyfile:+-d $keyfile} open $crypttab_opt '$src' '$dst'"
++ verbose "+ cryptsetup ${keyfile:+-d $keyfile} open $crypttab_opt '$src' '$dst'"
+ add_linuxrc <<-EOF
+ debugshell
+
+@@ -189,7 +189,7 @@ luks_crypttab() {
+ crypt_status=\$(cryptsetup \$cryptsetup_opt status '$dst')
+ if [ "\${crypt_status%%is inactive*}" != "\$crypt_status" ]; then
+ # is inactive
+- cryptsetup \$cryptsetup_opt ${keyfile:+-d $keyfile} --timeout 120 open $crypttab_opt "\$luksdev" '$dst' <&1
++ cryptsetup \$cryptsetup_opt ${keyfile:+-d $keyfile} open $crypttab_opt "\$luksdev" '$dst' <&1
+ fi
+ fi
-+ for i in /sys/bus/usb/devices/*-*:*; do
-+ # standard usb keyboards
-+ if [ -f $i/bInterfaceClass -a -f $i/bInterfaceProtocol ]; then
-+ bInterfaceClass=$(cat $i/bInterfaceClass)
-+ bInterfaceProtocol=$(cat $i/bInterfaceProtocol)
-+ if [ "$bInterfaceClass" = "03" -a "$bInterfaceProtocol" = "01" ]; then
-+ module=$(readlink $i/driver/module)
-+ module=$(basename $module)
-+
-+ if [ -n "$module" ]; then
-+ verbose "Found USB Keyboard driver: $module"
-+ modules="$modules $module"
-+ fi
-+ fi
-+ fi
-+ done
-+
- for i in /sys/class/input/input*; do
- # standard usb keyboards
- if [ -f $i/device/bInterfaceClass -a -f $i/device/bInterfaceProtocol ]; then
commit b565e95c147bea4e68e4ccf5ad19906d51d2375b
Author: Arkadiusz Miśkiewicz <arekm@maven.pl>
USE_UDEV=yes
-commit ad5033d7e704edaf52f2be18d4aa98c378179ede
+commit 662fd5a3adac2080640fa4eacd34d72504526175
Author: Arkadiusz Miśkiewicz <arekm@maven.pl>
-Date: Fri Jan 25 20:38:24 2019 +0100
+Date: Mon Jul 15 19:59:46 2019 +0200
- Timeout here is not a good idea. rootfs cannot be mounted and kernel oopses due to that.
+ Another way for findings usb keyboard drivers that works on newer kernels.
-diff --git a/mod-luks.sh b/mod-luks.sh
-index ff877f7..ffe87cb 100644
---- a/mod-luks.sh
-+++ b/mod-luks.sh
-@@ -162,7 +162,7 @@ luks_crypttab() {
- done
- IFS="$old_IFS"
-
-- verbose "+ cryptsetup --timeout=120 ${keyfile:+-d $keyfile} open $crypttab_opt '$src' '$dst'"
-+ verbose "+ cryptsetup ${keyfile:+-d $keyfile} open $crypttab_opt '$src' '$dst'"
- add_linuxrc <<-EOF
- debugshell
+diff --git a/mod-usbkbd.sh b/mod-usbkbd.sh
+index 0dd0d20..ff8f442 100644
+--- a/mod-usbkbd.sh
++++ b/mod-usbkbd.sh
+@@ -10,6 +10,23 @@ find_modules_usbkbd() {
-@@ -189,7 +189,7 @@ luks_crypttab() {
- crypt_status=\$(cryptsetup \$cryptsetup_opt status '$dst')
- if [ "\${crypt_status%%is inactive*}" != "\$crypt_status" ]; then
- # is inactive
-- cryptsetup \$cryptsetup_opt ${keyfile:+-d $keyfile} --timeout 120 open $crypttab_opt "\$luksdev" '$dst' <&1
-+ cryptsetup \$cryptsetup_opt ${keyfile:+-d $keyfile} open $crypttab_opt "\$luksdev" '$dst' <&1
- fi
- fi
+ local modules i module bInterfaceClass bInterfaceProtocol
++ for i in /sys/bus/usb/devices/*-*:*; do
++ # standard usb keyboards
++ if [ -f $i/bInterfaceClass -a -f $i/bInterfaceProtocol ]; then
++ bInterfaceClass=$(cat $i/bInterfaceClass)
++ bInterfaceProtocol=$(cat $i/bInterfaceProtocol)
++ if [ "$bInterfaceClass" = "03" -a "$bInterfaceProtocol" = "01" ]; then
++ module=$(readlink $i/driver/module)
++ module=$(basename $module)
++
++ if [ -n "$module" ]; then
++ verbose "Found USB Keyboard driver: $module"
++ modules="$modules $module"
++ fi
++ fi
++ fi
++ done
++
+ for i in /sys/class/input/input*; do
+ # standard usb keyboards
+ if [ -f $i/device/bInterfaceClass -a -f $i/device/bInterfaceProtocol ]; then
-commit 21ad0f7980ce6a0135e4a3c37a94472ed4f1320c
-Author: Arkadiusz Miśkiewicz <arekm@maven.pl>
-Date: Tue Dec 18 14:43:20 2018 +0100
+commit 4de5a3333e772ad198381f157c014e452e42c129
+Author: Elan Ruusamäe <glen@pld-linux.org>
+Date: Mon Jul 15 23:56:58 2019 +0300
- Use existing mechanism for installing udev apps but install regular variants, too if initrd-variants don't exist.
+ fix indent
-diff --git a/mod-udev.sh b/mod-udev.sh
-index a2491ee..87f4b68 100644
---- a/mod-udev.sh
-+++ b/mod-udev.sh
-@@ -44,8 +44,6 @@ initrd_gen_udev() {
- inst_d /sbin /etc/udev /lib/udev
- inst_exec $udevd /sbin/udevd
- inst_exec $udevadm /sbin/udevadm
-- inst_exec /lib/udev/ata_id /lib/udev/ata_id
-- inst_exec /lib/udev/scsi_id /lib/udev/scsi_id
- inst /etc/udev/udev.conf /etc/udev/udev.conf
- # standard udev rules
- inst_rules 50-udev-default.rules 60-persistent-storage.rules 61-persistent-storage-edd.rules 80-drivers.rules 95-udev-late.rules \
-@@ -57,6 +55,8 @@ initrd_gen_udev() {
- for e in ata_id cdrom_id collect firmware scsi_id v4l_id; do
- if [ -e "$initrd_dir/udev/$e" ]; then
- inst_exec $initrd_dir/udev/$e /lib/udev/$e
-+ elif [ -e "/lib/udev/$e" ]; then
-+ inst_exec /lib/udev/$e /lib/udev/$e
- fi
- done
+diff --git a/mod-usbkbd.sh b/mod-usbkbd.sh
+index ff8f442..35543b7 100644
+--- a/mod-usbkbd.sh
++++ b/mod-usbkbd.sh
+@@ -10,22 +10,22 @@ find_modules_usbkbd() {
-
-commit 3d81f1cd0bc557ad9a1f157b403f0396866c648c
-Author: Arkadiusz Miśkiewicz <arekm@maven.pl>
-Date: Tue Dec 18 14:38:55 2018 +0100
-
- udevd uses ata_id and scsi_id, so install these.
-
-diff --git a/mod-udev.sh b/mod-udev.sh
-index 422ef3e..a2491ee 100644
---- a/mod-udev.sh
-+++ b/mod-udev.sh
-@@ -41,9 +41,11 @@ setup_mod_udev() {
- initrd_gen_udev() {
- verbose "Setting up udev..."
+ local modules i module bInterfaceClass bInterfaceProtocol
-- inst_d /sbin /etc/udev
-+ inst_d /sbin /etc/udev /lib/udev
- inst_exec $udevd /sbin/udevd
- inst_exec $udevadm /sbin/udevadm
-+ inst_exec /lib/udev/ata_id /lib/udev/ata_id
-+ inst_exec /lib/udev/scsi_id /lib/udev/scsi_id
- inst /etc/udev/udev.conf /etc/udev/udev.conf
- # standard udev rules
- inst_rules 50-udev-default.rules 60-persistent-storage.rules 61-persistent-storage-edd.rules 80-drivers.rules 95-udev-late.rules \
+- for i in /sys/bus/usb/devices/*-*:*; do
+- # standard usb keyboards
+- if [ -f $i/bInterfaceClass -a -f $i/bInterfaceProtocol ]; then
+- bInterfaceClass=$(cat $i/bInterfaceClass)
+- bInterfaceProtocol=$(cat $i/bInterfaceProtocol)
+- if [ "$bInterfaceClass" = "03" -a "$bInterfaceProtocol" = "01" ]; then
+- module=$(readlink $i/driver/module)
+- module=$(basename $module)
++ for i in /sys/bus/usb/devices/*-*:*; do
++ # standard usb keyboards
++ if [ -f $i/bInterfaceClass -a -f $i/bInterfaceProtocol ]; then
++ bInterfaceClass=$(cat $i/bInterfaceClass)
++ bInterfaceProtocol=$(cat $i/bInterfaceProtocol)
++ if [ "$bInterfaceClass" = "03" -a "$bInterfaceProtocol" = "01" ]; then
++ module=$(readlink $i/driver/module)
++ module=$(basename $module)
+
+- if [ -n "$module" ]; then
+- verbose "Found USB Keyboard driver: $module"
+- modules="$modules $module"
+- fi
+- fi
+- fi
+- done
++ if [ -n "$module" ]; then
++ verbose "Found USB Keyboard driver: $module"
++ modules="$modules $module"
++ fi
++ fi
++ fi
++ done
+
+ for i in /sys/class/input/input*; do
+ # standard usb keyboards
-commit dc5ca733ed6fe57dfa39d4598a6586069e41d0b0
+commit 04b32086569a126d5d6f9bd0ad1b0db9f142f50e
Author: Arkadiusz Miśkiewicz <arekm@maven.pl>
-Date: Tue Dec 18 14:34:38 2018 +0100
+Date: Sun Jul 21 21:04:05 2019 +0200
- Install mdadm in /sbin because udevd expects it to be there.
+ Try to detect a need for nvme driver. If you know better method then share with us.
-diff --git a/mod-md.sh b/mod-md.sh
-index 2b6f587..a358517 100644
---- a/mod-md.sh
-+++ b/mod-md.sh
-@@ -133,7 +133,7 @@ initrd_gen_md() {
+diff --git a/geninitrd b/geninitrd
+index b5d405a..05e290a 100755
+--- a/geninitrd
++++ b/geninitrd
+@@ -673,6 +673,11 @@ find_modules_for_devpath() {
+ return
fi
- verbose "Setting up mdadm..."
-
-- inst_exec $mdadm /bin/mdadm
-+ inst_exec $mdadm /sbin/mdadm
-
- echo "DEVICE partitions containers" >> "$DESTDIR/etc/mdadm.conf"
-
-@@ -181,7 +181,7 @@ initrd_gen_md() {
- echo "wait_for_files $cr_dev_list" | add_linuxrc
- add_linuxrc <<-'EOF'
-- mdadm --assemble --scan
-+ /sbin/mdadm --assemble --scan
-
- if [ "$DEBUGINITRD" ]; then
- [ -e /proc/mdstat ] && echo "/proc/mdstat contents:" && cat /proc/mdstat
++ if [[ "$devpath" == /dev/nvme* ]]; then
++ find_module "nvme"
++ return
++ fi
++
+ if [[ "$devpath" == /dev/bcache* ]]; then
+ find_modules_bcache "$devpath"
+ return
-commit 33cc4751b8f80fc3b800928b9ad93866b2569915
+commit 43d2f37d89034a2e409bb4f66cca1a64b12130b8
Author: Arkadiusz Miśkiewicz <arekm@maven.pl>
-Date: Tue Dec 18 14:33:12 2018 +0100
+Date: Mon Nov 25 20:15:24 2019 +0100
- Install blkid in /sbin because udevd expects it to be there.
+ Accept d/D symbols, too (ffffffff825ca52c D __initramfs_start) as noticed in recent 4.19.85-1 kernel.
diff --git a/geninitrd b/geninitrd
-index a79b9c3..118333c 100755
+index 05e290a..052f553 100755
--- a/geninitrd
+++ b/geninitrd
-@@ -1530,7 +1530,7 @@ chmod a+rx "$RCFILE"
- ln -s linuxrc $DESTDIR/init
-
- # create dirs that we really need
--inst_d /{lib,bin,etc,dev{,/pts,/shm},loopfs,var,proc,run,sys,tmp}
-+inst_d /{lib,bin,sbin,etc,dev{,/pts,/shm},loopfs,var,proc,run,sys,tmp}
-
- modules_install "$MODULES"
-
-diff --git a/mod-blkid.sh b/mod-blkid.sh
-index 8ee2a48..92df9ae 100644
---- a/mod-blkid.sh
-+++ b/mod-blkid.sh
-@@ -22,12 +22,12 @@ initrd_gen_blkid() {
+@@ -1097,7 +1097,7 @@ sym_exists() {
+ return 1
fi
- verbose "Adding BLKID support to initrd"
-- inst_exec $blkid /bin/blkid
-+ inst_exec $blkid /sbin/blkid
- initrd_gen_devices
- add_linuxrc <<-'EOF'
- # if built with blkid change ROOT=LABEL=something into ROOT=/dev/device parsed by blkid
- if [ "${ROOT##LABEL=}" != "${ROOT}" -o "${ROOT##UUID=}" != "${ROOT}" ]; then
-- blkid="$(/bin/blkid -t $ROOT -o device -l)"
-+ blkid="$(/sbin/blkid -t $ROOT -o device -l)"
- if [ -n "$blkid" ]; then
- ROOT=$blkid
- fi
+- awk -vc=1 -vsymbol="$symbol" '($2 == "T" || $2 == "t") && $3 == symbol {c = 0} END {exit c}' $mapfile
++ awk -vc=1 -vsymbol="$symbol" '(tolower($2) == "t" || tolower($2) == "d") && $3 == symbol {c = 0} END {exit c}' $mapfile
+ }
+
+ # find best compressor (or forced one) for initrd