summaryrefslogtreecommitdiffstats
path: root/modules.d/35connman
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-03 14:01:36 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-03 14:01:36 +0000
commit70de5d4041249c1a0f597714398cc245f59495c6 (patch)
treeff491e31b95b662ca6c481ac49d1ca8a94c0226b /modules.d/35connman
parentAdding debian version 060+5-8. (diff)
downloaddracut-70de5d4041249c1a0f597714398cc245f59495c6.tar.xz
dracut-70de5d4041249c1a0f597714398cc245f59495c6.zip
Merging upstream version 102.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'modules.d/35connman')
-rwxr-xr-xmodules.d/35connman/cm-lib.sh1
-rwxr-xr-xmodules.d/35connman/module-setup.sh3
-rwxr-xr-xmodules.d/35connman/netroot.sh92
3 files changed, 1 insertions, 95 deletions
diff --git a/modules.d/35connman/cm-lib.sh b/modules.d/35connman/cm-lib.sh
index 69c4fa2..69901f3 100755
--- a/modules.d/35connman/cm-lib.sh
+++ b/modules.d/35connman/cm-lib.sh
@@ -4,7 +4,6 @@ type getcmdline > /dev/null 2>&1 || . /lib/dracut-lib.sh
cm_generate_connections() {
if getargbool 0 rd.neednet; then
- mkdir -p "$hookdir"/initqueue/finished
echo '[ -f /tmp/cm.done ]' > "$hookdir"/initqueue/finished/cm.sh
mkdir -p /run/connman/initrd
: > /run/connman/initrd/neednet # activate ConnMan services
diff --git a/modules.d/35connman/module-setup.sh b/modules.d/35connman/module-setup.sh
index 6502d30..5a3b0e1 100755
--- a/modules.d/35connman/module-setup.sh
+++ b/modules.d/35connman/module-setup.sh
@@ -10,7 +10,7 @@ check() {
# called by dracut
depends() {
- echo dbus systemd bash
+ echo dbus systemd bash net-lib kernel-network-modules
return 0
}
@@ -25,7 +25,6 @@ install() {
# in an emergency shell.
inst_multiple ip sed grep
- inst_script "$moddir/netroot.sh" "/sbin/netroot"
inst connmand
inst connmanctl
inst connmand-wait-online
diff --git a/modules.d/35connman/netroot.sh b/modules.d/35connman/netroot.sh
deleted file mode 100755
index 8f97774..0000000
--- a/modules.d/35connman/netroot.sh
+++ /dev/null
@@ -1,92 +0,0 @@
-#!/bin/sh
-
-PATH=/usr/sbin:/usr/bin:/sbin:/bin
-command -v getarg > /dev/null || . /lib/dracut-lib.sh
-command -v setup_net > /dev/null || . /lib/net-lib.sh
-
-# Huh? Empty $1?
-[ -z "$1" ] && exit 1
-
-# [ ! -z $2 ] means this is for manually bringing up network
-# instead of real netroot; If It's called without $2, then there's
-# no sense in doing something if no (net)root info is available
-# or root is already there
-[ -d "$NEWROOT"/proc ] && exit 0
-
-if [ -z "$netroot" ]; then
- netroot=$(getarg netroot=)
-fi
-
-[ -z "$netroot" ] && exit 1
-
-# Set or override primary interface
-netif=$1
-[ -e "/tmp/net.bootdev" ] && read -r netif < /tmp/net.bootdev
-
-case "$netif" in
- ??:??:??:??:??:??) # MAC address
- for i in /sys/class/net/*/address; do
- read -r mac < "$i"
- if [ "$mac" = "$netif" ]; then
- i=${i%/address}
- netif=${i##*/}
- break
- fi
- done ;;
-esac
-
-# Figure out the handler for root=dhcp by recalling all netroot cmdline
-# handlers when this is not called from manually network bringing up.
-if [ -z "$2" ]; then
- if getarg "root=dhcp" || getarg "netroot=dhcp" || getarg "root=dhcp6" || getarg "netroot=dhcp6"; then
- # Load dhcp options
- # shellcheck disable=SC1090
- [ -e /tmp/dhclient."$netif".dhcpopts ] && . /tmp/dhclient."$netif".dhcpopts
-
- # If we have a specific bootdev with no dhcpoptions or empty root-path,
- # we die. Otherwise we just warn
- if [ -z "$new_root_path" ]; then
- [ -n "$BOOTDEV" ] && die "No dhcp root-path received for '$BOOTDEV'"
- warn "No dhcp root-path received for '$netif' trying other interfaces if available"
- exit 1
- fi
-
- rm -f -- "$hookdir"/initqueue/finished/dhcp.sh
-
- # Set netroot to new_root_path, so cmdline parsers don't call
- netroot=$new_root_path
-
- # FIXME!
- unset rootok
- for f in "$hookdir"/cmdline/90*.sh; do
- # shellcheck disable=SC1090
- [ -f "$f" ] && . "$f"
- done
- else
- rootok="1"
- fi
-
- # Check: do we really know how to handle (net)root?
- if [ -z "$root" ]; then
- root=$(getarg root=)
- fi
- [ -z "$root" ] && die "No or empty root= argument"
- [ -z "$rootok" ] && die "Don't know how to handle 'root=$root'"
-
- handler=${netroot%%:*}
- handler=${handler%%4}
- handler=$(command -v "${handler}"root)
- if [ -z "$netroot" ] || [ ! -e "$handler" ]; then
- die "No handler for netroot type '$netroot'"
- fi
-fi
-
-# Source netroot hooks before we start the handler
-source_hook netroot "$netif"
-
-# Run the handler; don't store the root, it may change from device to device
-# XXX other variables to export?
-[ -n "$handler" ] && "$handler" "$netif" "$netroot" "$NEWROOT"
-save_netinfo "$netif"
-
-exit 0