#!/bin/sh PREREQ="" DESCRIPTION="Setting LliureX network settings ..." prereqs() { echo "$PREREQ" } case $1 in # get pre-requisites prereqs) prereqs exit 0 ;; esac . /scripts/casper-functions test_iface(){ [ "$1" ] || return 1 [ -e "/sys/class/net/$1" ] || return 1 [ -e "/sys/class/net/$1/wireless" ] || return 0 return 1 } get_first_iface(){ if ls /sys/class/net/eth* >/dev/null 2>/dev/null ; then for i in /sys/class/net/eth* ; do if [ ! -e "${i}/wireless" ] ; then echo ${i##*/} return 0 fi done fi } get_srv_nic(){ CHROOT_VAR="$(chroot /root llxcfg-showvars SRV_NIC)" [ -z "$CHROOT_VAR" ] || SRV_NIC="$(echo "$CHROOT_VAR" |sed -ne "s%^[^']*'%%;s%'[^']*.*$%%;p")" if test_iface "$SRV_NIC" ; then echo $SRV_NIC else get_first_iface fi } case $1 in # get pre-requisites prereqs) prereqs exit 0 ;; esac log_begin_msg "$DESCRIPTION" IFFILE="/root/etc/network/interfaces" if [ ! -z "${NETBOOT}" ] && [ "${NETBOOT}" = "nfs" ]; then if [ -f /netboot.config ] ; then [ -f /root/etc/resolv.conf ] && rm -f /root/etc/resolv.conf rc_search=$(cat netboot.config | awk '/domain/{print $3}') rc_server0=$(cat netboot.config | awk '/dns0/{print $5}') rc_server1=$(cat netboot.config | awk '/dns0/{print $8}') rc_server0="nameserver ${rc_server0}" if [ "${rc_server1}" = "0.0.0.0" ]; then rc_server1="" else rc_server1="nameserver ${rc_server1}" fi cat > /root/etc/resolv.conf <> /root/var/log/netboot.config fi fi if [ -z "${NETBOOT}" -a "$NOROAMING" ] ; then cat > "$IFFILE" <> "$IFFILE" < /root/root/LLIUREX_NETWORK_SETTINGS NETFIX="/usr/sbin/lliurex-srv-netfix" echo "$LLXMODE" >> /root/root/LLIUREX_NETWORK_SETTINGS if [ "$LLXMODE" = "server" -a -x /root/${NETFIX} ] ; then SRV_NIC="" SRV_NIC="$(get_srv_nic)" echo "$SRV_NIC" >> /root/root/LLIUREX_NETWORK_SETTINGS if [ "$SRV_NIC" ] ; then # cat >/root/etc/rcS.d/S39lliurex-networking < /dev/null || true #exit 0 #EOF # chmod +x /root/etc/rcS.d/S39lliurex-networking chroot /root $NETFIX $SRV_NIC >/dev/null 2>/dev/null || true fi fi fi PAMNSS_SERVICE="/usr/sbin/lliurex-pamnss-service" if [ "$LLXMODE" = "client" ] ; then if [ -x /root/${PAMNSS_SERVICE} ] ; then # force delay gdm login in client chroot /root $PAMNSS_SERVICE delay || true fi # if netboot ... generate a init script (before 21 pamnss magic number ...) to get vars and update hostname if [ "${NETBOOT}" ] ; then cat >/root/etc/rcS.d/S39lliurex-client-networking <