diff options
| author | Daniel Baumann <daniel@debian.org> | 2010-07-23 16:20:32 +0200 |
|---|---|---|
| committer | Daniel Baumann <daniel@debian.org> | 2011-03-09 17:53:27 +0100 |
| commit | 66d1235abf2dbc4062ed5bb7aef28d99a5a38eb2 (patch) | |
| tree | 378444e7290364f45440790a239ebcb801e43e0a | |
| parent | da460be0437855fb745d0675c78186eba2ab549b (diff) | |
| download | live-boot-66d1235abf2dbc4062ed5bb7aef28d99a5a38eb2.tar.gz live-boot-66d1235abf2dbc4062ed5bb7aef28d99a5a38eb2.zip | |
Adding support for resolving DNS names from initramfs, thanks to Michal Suchanek <hramrach@centrum.cz> for initial patch which this is based on (Closes: #589659).
| -rwxr-xr-x | hooks/live | 25 | ||||
| -rwxr-xr-x | scripts/live | 16 |
2 files changed, 41 insertions, 0 deletions
@@ -24,6 +24,20 @@ esac # live-boot hook +# Reading configuration file from filesystem +if [ -e /etc/live/boot.conf ] +then + . /etc/live/boot.conf +fi + +if ls /etc/live/boot.conf.d/* > /dev/null 2>&1 +then + for _FILE in /etc/live/boot.conf.d/* + do + . ${_FILE} + done +fi + # Handling live-boot # Configuration @@ -226,3 +240,14 @@ then manual_add_modules iscsi_tcp manual_add_modules crc32c fi + +if [ "${LIVE_DNS}" = "true" ] +then + #copy_exec /lib/libnss_files.so.* /lib # /etc/hosts and /etc/passwd + copy_exec /lib/libnss_dns.so.* /lib # DNS server + #copy_exec /lib/libnss_compat.so.* /lib # /etc/passwd + + # Configuration file - may be needed if /etc/hosts is used. + #mkdir -p $DESTDIR/etc + #cp -p /etc/nsswitch.conf $DESTDIR/etc +fi diff --git a/scripts/live b/scripts/live index f5f4ad2..295b75f 100755 --- a/scripts/live +++ b/scripts/live @@ -639,6 +639,22 @@ do_netsetup () HWADDR="$(cat /sys/class/net/${DEVICE}/address)" fi + if [ ! -e "/etc/resolv.conf" ] + then + echo "Creating /etc/resolv.conf" + + if [ -n "${DNSDOMAIN}" ] + then + echo "domain ${DNSDOMAIN}" > /etc/resolv.conf + echo "search ${DNSDOMAIN}" > /etc/resolv.conf + fi + + for i in ${IPV4DNS0} ${IPV4DNS1} ${IPV4DNS1} + do + echo "nameserver $i" >> /etc/resolv.conf + done + fi + # Check if we have a network device at all if ! ls /sys/class/net/"$DEVICE" > /dev/null 2>&1 && \ ! ls /sys/class/net/eth0 > /dev/null 2>&1 && \ |
