From ff2afcb18f391f75802d478bb58e282b872beaf5 Mon Sep 17 00:00:00 2001 From: Knut Anderssen Date: Tue, 14 Oct 2025 13:46:23 +0100 Subject: [PATCH 1/2] Allow to set the search domain via kernel boot option --- .../99agama-cmdline/agama-network-compat.sh | 26 ++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/live/live-root/usr/lib/dracut/modules.d/99agama-cmdline/agama-network-compat.sh b/live/live-root/usr/lib/dracut/modules.d/99agama-cmdline/agama-network-compat.sh index 7e533f0f09..976a8ee08f 100755 --- a/live/live-root/usr/lib/dracut/modules.d/99agama-cmdline/agama-network-compat.sh +++ b/live/live-root/usr/lib/dracut/modules.d/99agama-cmdline/agama-network-compat.sh @@ -88,10 +88,11 @@ ifcfg_to_ip() { return 0 fi - # ifcifg==ip,gateway,nameserver,domain + # ifcfg==ip,gateway,nameserver,domain if strglob "$1" "*.*.*.*/*"; then [[ -n "$2" ]] && gateway=$2 [[ -n "$3" ]] && nameserver=$3 + [[ -n "$4" ]] && domain=$4 ip="$1 " set -- @@ -126,6 +127,13 @@ ifcfg_to_ip() { nameserver="${nameserver#* }" done fi + + ## Configure domain search list + if [[ -n $domain ]]; then + mkdir -p /run/NetworkManager/conf.d + echo "[global-dns]" >/run/NetworkManager/conf.d/10-agama-domain.conf + echo "searches=$domain" >>/run/NetworkManager/conf.d/10-agama-domain.conf + fi fi return 0 @@ -186,6 +194,22 @@ translate_ifcfg() { return 0 } +parse_domain() { + local domain + + domain=$(getarg domain=) + + if [[ -n $domain ]]; then + echo "### Processing domain search list '$domain'" + mkdir -p /run/NetworkManager/conf.d + echo "[global-dns]" >/run/NetworkManager/conf.d/10-agama-domain.conf + echo "searches=$domain" >>/run/NetworkManager/conf.d/10-agama-domain.conf + fi + + return 0 +} + parse_hostname parse_ifname translate_ifcfg +parse_domain From 2dd885606b57a25f9054577e43478875bd4c74d0 Mon Sep 17 00:00:00 2001 From: Knut Anderssen Date: Wed, 22 Oct 2025 11:09:23 +0100 Subject: [PATCH 2/2] Allow to set multiple domains --- .../dracut/modules.d/99agama-cmdline/agama-network-compat.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/live/live-root/usr/lib/dracut/modules.d/99agama-cmdline/agama-network-compat.sh b/live/live-root/usr/lib/dracut/modules.d/99agama-cmdline/agama-network-compat.sh index 976a8ee08f..b32aa76923 100755 --- a/live/live-root/usr/lib/dracut/modules.d/99agama-cmdline/agama-network-compat.sh +++ b/live/live-root/usr/lib/dracut/modules.d/99agama-cmdline/agama-network-compat.sh @@ -193,7 +193,6 @@ translate_ifcfg() { return 0 } - parse_domain() { local domain @@ -203,7 +202,7 @@ parse_domain() { echo "### Processing domain search list '$domain'" mkdir -p /run/NetworkManager/conf.d echo "[global-dns]" >/run/NetworkManager/conf.d/10-agama-domain.conf - echo "searches=$domain" >>/run/NetworkManager/conf.d/10-agama-domain.conf + echo "searches=${domain// /,}" >>/run/NetworkManager/conf.d/10-agama-domain.conf fi return 0