summaryrefslogtreecommitdiffstats
path: root/src/initramfs
diff options
context:
space:
mode:
authorDirk von Suchodoletz2011-05-26 18:05:06 +0200
committerDirk von Suchodoletz2011-05-26 18:05:06 +0200
commit4ce7cd25bfc6c7773bae27afd1a4b4c9bbcf30d9 (patch)
treeadf77ed13f6db576ca5f7ac10728a0fa68c354c5 /src/initramfs
parentMerge branch 'master' of git.openslx.org:openslx/core (diff)
parentfix for multiple search domains & cosmetics (diff)
downloadcore-4ce7cd25bfc6c7773bae27afd1a4b4c9bbcf30d9.tar.gz
core-4ce7cd25bfc6c7773bae27afd1a4b4c9bbcf30d9.tar.xz
core-4ce7cd25bfc6c7773bae27afd1a4b4c9bbcf30d9.zip
Merge branch 'master' of git.openslx.org:openslx/core
Diffstat (limited to 'src/initramfs')
-rwxr-xr-xsrc/initramfs/scripts/bin/dhcpmkconfig10
-rwxr-xr-xsrc/initramfs/scripts/bin/servconfig25
-rw-r--r--src/initramfs/scripts/etc/functions2
3 files changed, 29 insertions, 8 deletions
diff --git a/src/initramfs/scripts/bin/dhcpmkconfig b/src/initramfs/scripts/bin/dhcpmkconfig
index fa01db75..f154d95e 100755
--- a/src/initramfs/scripts/bin/dhcpmkconfig
+++ b/src/initramfs/scripts/bin/dhcpmkconfig
@@ -36,12 +36,20 @@ set | sed \
-e "s,domain,domain_name,;s,dns,domain_name_servers," \
-e "s,broadcast,broadcast_address,;s,dhc.*,,;/^$/d" \
-e "s,nissrv,nis_servers,;s,nisdomain_name,nis_domain," \
+ -e "s,search,domain_search," \
-e "s,wins,netbios_name_servers,;/OPTIND.*/d" >>/tmp/confviadhcp
# generate a local /etc/resolv.conf (might overwrite the version from preboot)
-[ -n "$domain" ] && echo -e "search $domain\n" >/etc/resolv.conf
+[ -n "$domain" ] && echo -e "domain $domain" >/etc/resolv.conf
+if [ -n "$search" ]; then
+ echo -e "search $search" >>/etc/resolv.conf
+else
+ [ -n "$domain" ] && echo -e "search $domain" >>/etc/resolv.conf
+fi
test -n "$dns" && {
for name in $dns; do
echo nameserver $name >>/etc/resolv.conf;
done; }
+#generate local /etc/hostname
+echo $hostname.$domain > /etc/hostname
diff --git a/src/initramfs/scripts/bin/servconfig b/src/initramfs/scripts/bin/servconfig
index 1248918e..9b2b9d79 100755
--- a/src/initramfs/scripts/bin/servconfig
+++ b/src/initramfs/scripts/bin/servconfig
@@ -123,15 +123,28 @@ else
fi
# set up domainname and resolving
rm -rf /mnt/etc/resolv.conf
-test -n "${domain_name}" && \
- echo -e "# /etc/resolv.conf - file generated by\n#\t$0:\n\
-#\t${date}\n#options timeout:1 attempts:1 rotate\n\
-search "${domain_name} >/mnt/etc/resolv.conf
-test -n "${domain_name_servers}" && {
+
+out=/mnt/etc/resolv.conf
+echo -e "# /etc/resolv.conf - file generated by\n#\t$0:\n\
+#\t${date}\n#options timeout:1 attempts:1 rotate" > $out
+
+[ -n ${domain_name} ] && echo -e "domain ${domain_name}" >> $out
+[ -n "${domain_search}" ] && echo -e "search ${domain_search}" >> $out
+#fallback
+[ ! -n "${domain_search}" ] && [ -n ${domain_name} ] && \
+ echo -e "search ${domain_name}" >> $out
+
+[ -n "${domain_name_servers}" ] && {
for name in ${domain_name_servers}; do
- echo nameserver ${name} >>/mnt/etc/resolv.conf;
+ echo nameserver ${name} >> $out;
done; }
+unset out
+
+# create hostname file
+[ -n ${host_name} ] && [ -n ${domain_name} ] && \
+ echo "${host_name}.${domain_name}" > /mnt/etc/hostname
+
#############################################################################
# run distro specific configuration function
config_distro
diff --git a/src/initramfs/scripts/etc/functions b/src/initramfs/scripts/etc/functions
index 363f2fbc..3e8d4904 100644
--- a/src/initramfs/scripts/etc/functions
+++ b/src/initramfs/scripts/etc/functions
@@ -274,7 +274,7 @@ mkdir /var/lib/dhcp >/dev/null 2>&1
testmkd /usr/share/udhcpc
ln -sf /bin/dhcpmkconfig /usr/share/udhcpc/default.script
# see for options.c file in udhcp subdir of busybox for accepted "-O option"
-udhcpc -O nissrv -O nisdomain -t 8 -q $vci \
+udhcpc -O search -O nissrv -O nisdomain -t 8 -q $vci \
-s /usr/share/udhcpc/default.script -i $nwif 2>/dev/null
}