}
# }}}
-
# INITRD {{{
function actionMkInitrd
{
- echo
- echo "Creating initrd $PATH_/minirt26.gz:"
- if isExistent "$PATH_/minirt26.gz" ; then
- echo
- echo "$PATH_/minirt26.gz exists already, skipping initrd creation"
- return 0
- fi
-
- mkInitrd
-
- echo '... done'
+ echo "Installing initrd $PATH_/minirt26.gz:"
+ # until we have a stable file location API let's use
+ # an according heuristic
+ initrd_=initrd.img-"$(uname -r)"
+ cp /boot/"$initrd_" "$PATH_"/minirt26.gz || die "Could not copy /boot/$initrd_"
}
-function mkInitrd
-{
- # we do not want to include persistent configuration files
- # from udev in the initrd
- udev_tmp_=$(mktemp -d terminalserver__udev.XXXXXX)
- persistent=false
- if ls /etc/udev/rules.d/*persistent* >/dev/null 2>&1 ; then
- persistent_files=true
- for f in /etc/udev/rules.d/*persistent* ; do
- mv "$f" "${udev_tmp_}/"
- done
- fi
-
- set -e
- local cfg_="/etc/initramfs-tools/initramfs.conf"
- local tmp_="`mktemp -t terminalserver__initramfsbk.XXXXXX`"
- cp $cfg_ $tmp_
- sed -i 's/^MODULES=.*/MODULES=netboot/' $cfg_
- update-initramfs -u -t 1>/dev/null
- mv $tmp_ $cfg_
-
- local initrd_="/boot/initrd.img-$KERNEL_VERSION_"
- mv $initrd_ $PATH_/minirt26.gz
- mv ${initrd_}.bak $initrd_
- set +e
-
- # restore udev configuration files
- if $persistent_files ; then
- mv ${udev_tmp_}/* /etc/udev/rules.d/
- rmdir "${udev_tmp_}"
- fi
-}
# }}}
-
# INTERACTIVE CONFIGURATION {{{
function actionInteractive
local card_title_="Choose network device connected to client network"
local card_message_="Available network devices:"
local iprange_title_="IP Address range for clients"
-local iprange_message_="
+ local iprange_message_="
Please enter the desired IP-Range of addresses that should be allocated by clients, separated by a single space.
Example:
local runconfig_title_="Networkcard config"
local runconfig_message_="Would you like to configure your interfaces now?"
- # on witch interfaces should we listen
+ # on which interfaces should we listen
local netdevices_="$(grep -ve 'lo:' -ve 'Inter-|' -ve 'face |bytes' /proc/net/dev | awk -F: '{print $1}')"
local device_list_=""
for INTERFACE_ in $netdevices_; do device_list_="$device_list_ ${INTERFACE_} Networkcard_${INTERFACE_##eth}"; done
done
IPRANGE_FROM_=`execute "ipcalc -nb $IP_/$NETMASK_" warn |awk '/HostMin/{print $2}'`
+ # if we have x.x.x.1 as starting range adress provide
+ # x.x.x.10 instead so we avoid possible conflicts with
+ # default gateway
+ if echo $IPFROM | grep -c '\.1$' ; ; then
+ IPFROM="${IPFROM%%\.1}.10"
+ fi
IPRANGE_TO_=`execute "ipcalc -nb $IP_/$NETMASK_" warn |awk '/HostMax/{print $2}'`
NETWORK_=`execute "ipcalc -nb $IP_/$NETMASK_" warn |awk '/Network:/{print $2}'`
NETWORK_=${NETWORK_%/*}