summaryrefslogtreecommitdiff
path: root/src/initrd
diff options
context:
space:
mode:
authorAndrew Cady <d@jerkface.net>2019-10-17 00:19:12 -0400
committerAndrew Cady <d@jerkface.net>2019-10-17 00:19:12 -0400
commit10e5efaa69c9f0c254db13a84d3312ebaebde5dc (patch)
tree686255f556f929f802c8c97e6f186332a1b7bc9c /src/initrd
parentec5e8ee55440e1e6fc1affe7c502c9f12ffe78bf (diff)
fixup! avoid initrd race condition
Diffstat (limited to 'src/initrd')
-rw-r--r--src/initrd/common.sh15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/initrd/common.sh b/src/initrd/common.sh
index c38fb77..17c9359 100644
--- a/src/initrd/common.sh
+++ b/src/initrd/common.sh
@@ -36,6 +36,21 @@ force_grok_block()
36 udevadm trigger --subsystem-match=block --action=add 36 udevadm trigger --subsystem-match=block --action=add
37} 37}
38 38
39samizdat_install_udev_rules()
40{
41 local target=/etc/udev/rules.d/z00_blockdev_mountroot.rules
42 [ -e "$target" ] && return
43 mkdir -p /etc/udev/rules.d
44 echo 'ACTION=="add", SUBSYSTEM=="block", RUN+="/bin/grok-block $env{DEVNAME}"' \
45 > "$target"
46
47 # 'udevadm trigger --action=add' does not work here; need to restard udevd
48 # first. not sure why
49 samizdat_restart_udev
50
51 udevadm trigger -s block --action add
52}
53
39bootmenu() 54bootmenu()
40{ 55{
41 local do_trigger="$1" no_panic="$2" 56 local do_trigger="$1" no_panic="$2"