adding create_netboot script to examples
authorMichael Gebetsroither <michael.geb@gmx.at>
Mon, 19 Mar 2007 01:46:00 +0000 (02:46 +0100)
committerMichael Gebetsroither <michael.geb@gmx.at>
Mon, 19 Mar 2007 01:46:00 +0000 (02:46 +0100)
Makefile
create-netboot [new file with mode: 0755]
debian/changelog
debian/rules
grml-terminalserver-config
shared_prog_vars
terminalserver_netboot_package.conf [new file with mode: 0644]

index cf63cc8..2557d77 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -27,6 +27,7 @@ install: bin
        $(install_) -m 644 default_config $(usrshare)
        $(install_) -m 644 shared_prog_vars $(usrshare)
        $(install_) -m 755 nfs-kernel-server $(usrshare)
+       $(install_) -m 644 terminalserver_netboot_package.conf $(usrshare)
        $(install_) -m 755 linuxrc $(usrshare)
        $(install_) -m 755 udhcp-config.sh $(usrshare)
        $(install_) -m 755 rdir $(usrshare)
diff --git a/create-netboot b/create-netboot
new file mode 100755 (executable)
index 0000000..1b5131a
--- /dev/null
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+. /etc/grml/sh-lib
+SHARED_PROG_VARS_="/usr/share/grml-terminalserver/shared_prog_vars"
+isExistent $SHARED_PROG_VARS_ die
+. $SHARED_PROG_VARS_
+
+function actionPkg
+{ 
+    local tmp_=`mktemp -td terminalserver_grub.XXXXXX` || die "could not create tmpfile"
+    local version_="`cat /etc/grml_version`"
+    version_=${version_%% *}
+    local path_="$tmp_/grml_netboot_package_$version_"
+    mkdir $path_
+
+    cp $NETBOOT_PACKAGE_CONF_FILE_ $CONFIG_
+    echo "executing grml-terminalserver-config initrd"
+    grml-terminalserver-config initrd
+
+    # tftpd config
+    grml-terminalserver config tftp
+    cp -r $TFTPD_DATA_DIR_ $path_
+
+    # grub
+    awk '/ on$/{print $1}' $GRUB_NIC_CONF_ >$path_/grub_enabled_nics
+    grml-terminalserver-config grubConf $path_/grub_enabled_nics
+    cp $PATH_/grub.img $path_
+
+    pushd $tmp_
+    tar cjf grml_netboot_package_${version_}.tar.bz2 $path_
+    popd
+    mv -b $tmp_/grml_netboot_package_${version_}.tar.bz2 .
+    rm -rf $tmp_
+}
+
+checkRoot die "You have to be root to use this program"
+disableSyslog
+
+actionPkg
index 729ac01..e9bee38 100644 (file)
@@ -5,8 +5,9 @@ grml-terminalserver (0.84) unstable; urgency=low
   * changed default value for NAT_INTERFACE_ from none to ""
   * introduced iptables as a seperate configurable service within
     grml-terminalserver
+  * adding create_netboot script to examples 
 
- -- Michael Gebetsroither <gebi@grml.org>  Mon, 19 Mar 2007 00:21:20 +0100
+ -- Michael Gebetsroither <gebi@grml.org>  Mon, 19 Mar 2007 02:45:28 +0100
 
 grml-terminalserver (0.83) unstable; urgency=low
 
index 3c4f835..96620f3 100755 (executable)
@@ -66,6 +66,7 @@ binary-arch: build install
        dh_installdocs
        dh_installexamples
        dh_installman debian/grml-terminalserver.8 debian/grml-terminalserver-config.8
+       dh_installexamples create-netboot
        dh_link
        dh_compress
        mkdir -p debian/grml-terminalserver/usr/share/lintian/overrides/
index 770b95e..aa45405 100755 (executable)
@@ -56,7 +56,8 @@ COMMANDS:
 
    help             This help text
    interactive      Interactive Configuration of the grml-terminalserver
-   grubConf         Configure grub and create boot-image (for non-PXE NICs)
+   grubConf <file>  Configure grub and create boot-image (for non-PXE NICs)
+                      Read modules for grub from file if given.
    grubConfWrite    Configure grub and write image to floppy disk
    grubWrite        Write compiled grub-image to floppy disk
    grubMultiWrite   batchwrite grub-image to floppy disk
@@ -468,7 +469,7 @@ function grubConfig
   local tmp_=`mktemp -td terminalserver_grub.XXXXXX` || warn "could not create tmp file for grubConfig"
   if [ -z "$tmp_" ]; then return 1; fi
 
-  grubConfigWork $tmp_
+  grubConfigWork "$tmp_" "$1"
   local ret_=$?
   execute "rm -rf $tmp_" warn
 
@@ -487,19 +488,23 @@ If you networkcard is already listed press <OK>!
 WARNING: DON't add all NIC's, grub could possibly stop working!!"
   local nics_=""
 
-  while read module_ desc_ mode_; do
-    nics_="$nics_ $module_ $desc_ $mode_"
-  done < $GRUB_NIC_CONF_
-
-  echo -n "" >$TMP_
-  local cmd_line_=""
-  $DIALOG_ --clear --separate-output --backtitle "$BACK_TITLE_" --title "$grub_title_" --checklist \
-    "$grub_nic_message_" 10 70 0 $nics_ 2>$TMP_
-  local ret_=$?
-  if [[ $ret_ -ne 0 || `wc -l <$TMP_` -eq 0 ]]; then
-    echo $ret_
-    warn "you should give me your specified NICs but didn't => DEFAULT will be used"
-    awk '/ on$/{print $1}' $GRUB_NIC_CONF_ >$TMP_
+  if [[ $2 == "" ]]; then
+    while read module_ desc_ mode_; do
+      nics_="$nics_ $module_ $desc_ $mode_"
+    done < $GRUB_NIC_CONF_
+
+    echo -n "" >$TMP_
+    local cmd_line_=""
+    $DIALOG_ --clear --separate-output --backtitle "$BACK_TITLE_" --title "$grub_title_" --checklist \
+      "$grub_nic_message_" 10 70 0 $nics_ 2>$TMP_
+    local ret_=$?
+    if [[ $ret_ -ne 0 || `wc -l <$TMP_` -eq 0 ]]; then
+      echo $ret_
+      warn "you should give me your specified NICs but didn't => DEFAULT will be used"
+      awk '/ on$/{print $1}' $GRUB_NIC_CONF_ >$TMP_
+    fi
+  else
+    cat $2 >$TMP_
   fi
   while read module_; do
     cmd_line_="$cmd_line_ --enable-$module_"
@@ -625,7 +630,7 @@ fi
 
 case "$1" in
   interactive)  actionInteractive ;;
-  grubConf)   grubConfig ;;
+  grubConf)   grubConfig "$2" ;;
   grubConfWrite)  grubConfig && grubWrite ;;
   grubWrite)    grubWrite ;;
   grubMultiWrite)   grubMultiWrite "$2" ;;
index 1fc8270..c1d3a57 100644 (file)
@@ -20,6 +20,9 @@ CONFIG_="$PATH_/config"
 # 'data dir' from terminalserver
 USR_SHARE_="/usr/share/grml-terminalserver"
 
+# sample config file for making the netboot package
+NETBOOT_PACKAGE_CONF_FILE_="$USR_SHARE_/terminalserver_netboot_package.conf"
+
 # defaults for vars in terminalserver.conf
 DEFAULT_CONFIG_="$USR_SHARE_/default_config"
 
diff --git a/terminalserver_netboot_package.conf b/terminalserver_netboot_package.conf
new file mode 100644 (file)
index 0000000..4ef026f
--- /dev/null
@@ -0,0 +1,13 @@
+# GRML TERMINAL-SERVER CONFIG
+INTERFACE_="eth0"
+IP_="192.168.0.1"
+NETWORK_="192.168.0.0"
+NETMASK_="255.255.255.0"
+GW_="192.168.0.1"
+NAMESERVERS_=""
+IPRANGE_FROM_="192.168.0.1"
+IPRANGE_TO_="192.168.0.254"
+OPTIONS_=""
+BOOT_ARGS_=""
+NAT_INTERFACE_=""
+