diff options
-rw-r--r-- | Makefile | 1 | ||||
-rw-r--r-- | bin/configurexorg | 3 | ||||
-rwxr-xr-x | bin/udhcpc-script | 48 | ||||
-rw-r--r-- | conf/tcos-run-functions.sh | 13 | ||||
-rw-r--r-- | debian/control | 1 | ||||
-rw-r--r-- | hooks-addons/01dhclient | 218 | ||||
-rw-r--r-- | hooks-addons/14ssh | 31 | ||||
-rwxr-xr-x | scripts/tcos-bottom/01download_settings | 3 | ||||
-rwxr-xr-x | scripts/tcos-bottom/25startx | 3 | ||||
-rwxr-xr-x | scripts/tcos-premount/30rootfs | 5 | ||||
-rwxr-xr-x | scripts/tcos-top/05network | 109 | ||||
-rwxr-xr-x | scripts/tcos-top/60make_init | 5 |
12 files changed, 251 insertions, 189 deletions
@@ -159,6 +159,7 @@ install: install -m 755 bin/get_server $(DESTDIR)/$(TCOS_BINS)/ install -m 755 bin/clean_string.sh $(DESTDIR)/$(TCOS_BINS)/ install -m 755 bin/get_vga_vendor $(DESTDIR)/$(TCOS_BINS)/ + install -m 755 bin/udhcpc-script $(DESTDIR)/$(TCOS_BINS)/ install -m 755 bin/tcos-bootchartd $(DESTDIR)/$(TCOS_BINS)/ diff --git a/bin/configurexorg b/bin/configurexorg index 43ae581..dc12de1 100644 --- a/bin/configurexorg +++ b/bin/configurexorg @@ -53,7 +53,8 @@ debug () { } tftp_download_again() { - MYIP=$(grep 'fixed-address' /var/lib/dhcp/dhclient.leases | head -1| awk '{print $2}' | sed s/";"//g) + #MYIP=$(grep 'fixed-address' /var/lib/dhcp/dhclient.leases | head -1| awk '{print $2}' | sed s/";"//g) + MYIP=$(awk -F"=" '/^ip=/ {print $2}' /tmp/net.data) debug "downloading file /tcos/conf/${MYIP}.conf" download_file /tcos/conf/${MYIP}.conf /conf/mysettings.conf # new versions of tftp don't create file diff --git a/bin/udhcpc-script b/bin/udhcpc-script new file mode 100755 index 0000000..2bf3287 --- /dev/null +++ b/bin/udhcpc-script @@ -0,0 +1,48 @@ +#!/bin/sh +# http://lists.debian.org/debian-boot/2002/11/msg00500.html +# udhcpc script edited by Tim Riker <Tim@Rikers.org> + +[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1 + +RESOLV_CONF="/etc/resolv.conf" +[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast" +[ -n "$subnet" ] && NETMASK="netmask $subnet" + +case "$1" in + deconfig) + /sbin/ifconfig $interface 0.0.0.0 + ;; + + renew|bound) + echo "ip=$ip" > /tmp/net.data + echo "dhcpserver=$serverid" >> /tmp/net.data + echo "hostname=$hostname" >> /tmp/net.data + echo "netmask=$subnet" >> /tmp/net.data + echo "gateway=$router" >> /tmp/net.data + echo "interface=$interface" >> /tmp/net.data + # sipsrv is x-display-manager and font-servers + echo "sipsrv=$sipsrv" >> /tmp/net.data + + /sbin/ifconfig $interface $ip $BROADCAST $NETMASK + + if [ -n "$router" ] ; then + echo "deleting routers" + while route del default gw 0.0.0.0 dev $interface ; do + : + done + + for i in $router ; do + route add default gw $i dev $interface + done + fi + + echo -n > $RESOLV_CONF + [ -n "$domain" ] && echo search $domain >> $RESOLV_CONF + for i in $dns ; do + echo adding dns $i + echo nameserver $i >> $RESOLV_CONF + done + ;; +esac + +exit 0 diff --git a/conf/tcos-run-functions.sh b/conf/tcos-run-functions.sh index 97072ff..a5c3f12 100644 --- a/conf/tcos-run-functions.sh +++ b/conf/tcos-run-functions.sh @@ -112,12 +112,19 @@ get_server() { return fi # read server ip address from dhcp - if [ ! -e /var/lib/dhcp/dhclient.leases ] || [ $(cat /var/lib/dhcp/dhclient.leases | wc -l) = 0 ]; then +# if [ ! -e /var/lib/dhcp/dhclient.leases ] || [ $(cat /var/lib/dhcp/dhclient.leases | wc -l) = 0 ]; then +# clear +# panic "Error, network not configured, check your DHCP server conf." +# fi +# SERVER=${TCOS_SERVER} +# SERVER=$(grep dhcp-server /var/lib/dhcp/dhclient.leases | awk '{print $3}' | awk -F ";" '{print $1}') + + if [ ! -e /tmp/net.data ]; then clear panic "Error, network not configured, check your DHCP server conf." fi - SERVER=${TCOS_SERVER} - SERVER=$(grep dhcp-server /var/lib/dhcp/dhclient.leases | awk '{print $3}' | awk -F ";" '{print $1}') + SERVER=$(awk -F"=" '/^dhcpserver=/ {print $2}' /tmp/net.data) + # overwrite with cmdline # DOCUMENTME server | ip of XDMCP server SERVER=$(read_cmdline_var "server" "${SERVER}") diff --git a/debian/control b/debian/control index 7e128d1..b616140 100644 --- a/debian/control +++ b/debian/control @@ -14,7 +14,6 @@ Package: initramfs-tools-tcos Architecture: all Depends: tcos-core, initramfs-tools (>= 0.40), - isc-dhcp-client | dhcp3-client | dhcp-client, console-setup | console-data, squashfs-tools, pciutils, diff --git a/hooks-addons/01dhclient b/hooks-addons/01dhclient index e9e5a16..d1af795 100644 --- a/hooks-addons/01dhclient +++ b/hooks-addons/01dhclient @@ -13,114 +13,128 @@ sed '/hosts:/ chosts: files dns' /etc/nsswitch.conf > $DESTDIR/etc/nssw dns1=$(grep ^nameserver /etc/resolv.conf 2>/dev/null | grep -v "127.0.0.1" | head -1 | awk '{print $2}') echo "TCOS_DNS_SERVER=${dns1}" >> ${DESTDIR}/conf/tcos.conf -if [ ! -f /sbin/dhclient ]; then +# check for "busybox udhcpc -O 290| grep sipsrv" +# 290 option no exists, busybox return know options +check=$(busybox udhcpc -O 290 2>&1| grep -c sipsrv) +if [ "$check" != "0" ]; then + cpifexists ${TCOS_BINS}/udhcpc-script /bin/ +else echo "ERROR" echo "" - echo "NO DHCP support, please install dhcp-client package." - echo " => apt-get install dhcp-client (or)" - echo " => apt-get install dhcp3-client" + echo "NO UDHCP support, please install a recent busybox package." echo "" - # critical error FIXME clean tmp files !!!! - killall gentcos - -elif [ -f /sbin/dhclient3 ]; then - - #_echo "" - #_echo " WARNING: dhcp3-client package support is very bad," - #_echo " please use dhcp-client instead" - #_echo "" - # exit 1 - - - copydir /etc/dhcp3 /etc/ - cpifexists /sbin/dhclient /sbin/ - cat << EOF > $DESTDIR/sbin/dhclient-script -#!/bin/sh - -if [ -f /tmp/dhclient-script.done ]; then - exit 0 fi -# we have some env vars apply it -# -# \${interface} should be network iface (ex: eth0) -# \${new_ip_address} IP address of dhcp response -# \${new_subnet_mask} netmask -# \{new_routers} gateway -# - -for varpar in \$(env); do - varname=\$(echo \$varpar| awk -F'=' '{print \$1}') - varvalue=\$(echo \$varpar| awk -F'=' '{print \$2}') - if [ "\$varname" = "new_ip_address" ]; then - IP=\$varvalue - fi - if [ "\$varname" = "interface" ]; then - INTERFACE=\$varvalue - fi - if [ "\$varname" = "new_subnet_mask" ]; then - NETMASK=\$varvalue - fi - if [ "\$varname" = "new_routers" ]; then - GATEWAY=\$varvalue - fi -done - -# test if we have all needed variables -if [ \$INTERFACE ] && [ \$IP ] && [ \$NETMASK ] && [ \$GATEWAY ] ; then - ifconfig \${INTERFACE} \${IP} netmask \${NETMASK} up - route add default dev \${INTERFACE} gw \${GATEWAY} - # create a file to not configure network again - touch /tmp/dhclient-script.done -fi - -EOF - chmod +x $DESTDIR/sbin/dhclient-script - - mkdir -p $DESTDIR/var/lib/dhcp3 $DESTDIR/lib/dhcp3-client - touch $DESTDIR/lib/dhcp3-client/call-dhclient-script - - # dhclient3 need dhcp user - dhcp_user=$(grep -c "dhcp:" /etc/passwd ) - - if [ $dhcp_user -gt 0 ]; then - grep "dhcp:" /etc/passwd >> $DESTDIR/etc/passwd - grep "dhcp:" /etc/group >> $DESTDIR/etc/group - grep "dhcp:" /etc/shadow >> $DESTDIR/etc/shadow - - # # adjust owner and suids - chmod 4755 $DESTDIR/lib/dhcp3-client/call-dhclient-script - chown root:dhcp $DESTDIR/lib/dhcp3-client/call-dhclient-script - fi - - -elif [ -x /sbin/dhclient ]; then - # dhcp and network stuff - cpifexists /sbin/dhclient /sbin/ - mkdir -p $DESTDIR/var/lib/dhcp/ - [ -e /etc/dhclient-script ] && cpifexists /etc/dhclient-script /etc/ - [ -e /sbin/dhclient-script ] && cpifexists /sbin/dhclient-script /sbin/ - [ -e /etc/dhclient.conf ] && cpifexists /etc/dhclient.conf /etc/ - - # new version (4.1.1-P1-7) use libcrypto, move to /lib - if ldd /sbin/dhclient| grep -q libcrypto; then - mv $DESTDIR/usr/lib/libcrypto.so* $DESTDIR/lib/ - fi - - if ldd /sbin/dhclient| grep -q libz; then - mv $DESTDIR/usr/lib/libz.so.* $DESTDIR/lib/ - fi -else - _echo "" - _echo " ERROR:" - _echo " No dhcp-client package detected" - _echo " Please install dhcp-client package" - _echo " thin clients don't work without dhcp-client package" - _echo "" - exit 1 - -fi +#if [ ! -f /sbin/dhclient ]; then +# echo "ERROR" +# echo "" +# echo "NO DHCP support, please install dhcp-client package." +# echo " => apt-get install dhcp-client (or)" +# echo " => apt-get install dhcp3-client" +# echo "" +# # critical error FIXME clean tmp files !!!! +# killall gentcos + +#elif [ -f /sbin/dhclient3 ]; then + +# #_echo "" +# #_echo " WARNING: dhcp3-client package support is very bad," +# #_echo " please use dhcp-client instead" +# #_echo "" +# # exit 1 + + +# copydir /etc/dhcp3 /etc/ +# cpifexists /sbin/dhclient /sbin/ +# cat << EOF > $DESTDIR/sbin/dhclient-script +##!/bin/sh + +#if [ -f /tmp/dhclient-script.done ]; then +# exit 0 +#fi + + +## we have some env vars apply it +## +## \${interface} should be network iface (ex: eth0) +## \${new_ip_address} IP address of dhcp response +## \${new_subnet_mask} netmask +## \{new_routers} gateway +## + +#for varpar in \$(env); do +# varname=\$(echo \$varpar| awk -F'=' '{print \$1}') +# varvalue=\$(echo \$varpar| awk -F'=' '{print \$2}') +# if [ "\$varname" = "new_ip_address" ]; then +# IP=\$varvalue +# fi +# if [ "\$varname" = "interface" ]; then +# INTERFACE=\$varvalue +# fi +# if [ "\$varname" = "new_subnet_mask" ]; then +# NETMASK=\$varvalue +# fi +# if [ "\$varname" = "new_routers" ]; then +# GATEWAY=\$varvalue +# fi +#done + +## test if we have all needed variables +#if [ \$INTERFACE ] && [ \$IP ] && [ \$NETMASK ] && [ \$GATEWAY ] ; then +# ifconfig \${INTERFACE} \${IP} netmask \${NETMASK} up +# route add default dev \${INTERFACE} gw \${GATEWAY} +# # create a file to not configure network again +# touch /tmp/dhclient-script.done +#fi + +#EOF +# chmod +x $DESTDIR/sbin/dhclient-script + +# mkdir -p $DESTDIR/var/lib/dhcp3 $DESTDIR/lib/dhcp3-client +# touch $DESTDIR/lib/dhcp3-client/call-dhclient-script + +# # dhclient3 need dhcp user +# dhcp_user=$(grep -c "dhcp:" /etc/passwd ) + +# if [ $dhcp_user -gt 0 ]; then +# grep "dhcp:" /etc/passwd >> $DESTDIR/etc/passwd +# grep "dhcp:" /etc/group >> $DESTDIR/etc/group +# grep "dhcp:" /etc/shadow >> $DESTDIR/etc/shadow +# +# # # adjust owner and suids +# chmod 4755 $DESTDIR/lib/dhcp3-client/call-dhclient-script +# chown root:dhcp $DESTDIR/lib/dhcp3-client/call-dhclient-script +# fi +# + +#elif [ -x /sbin/dhclient ]; then +# # dhcp and network stuff +# cpifexists /sbin/dhclient /sbin/ +# mkdir -p $DESTDIR/var/lib/dhcp/ +# [ -e /etc/dhclient-script ] && cpifexists /etc/dhclient-script /etc/ +# [ -e /sbin/dhclient-script ] && cpifexists /sbin/dhclient-script /sbin/ +# [ -e /etc/dhclient.conf ] && cpifexists /etc/dhclient.conf /etc/ + +# # new version (4.1.1-P1-7) use libcrypto, move to /lib +# if ldd /sbin/dhclient| grep -q libcrypto; then +# mv $DESTDIR/usr/lib/libcrypto.so* $DESTDIR/lib/ +# fi + +# if ldd /sbin/dhclient| grep -q libz; then +# mv $DESTDIR/usr/lib/libz.so.* $DESTDIR/lib/ +# fi + +#else +# _echo "" +# _echo " ERROR:" +# _echo " No dhcp-client package detected" +# _echo " Please install dhcp-client package" +# _echo " thin clients don't work without dhcp-client package" +# _echo "" +# exit 1 + +#fi diff --git a/hooks-addons/14ssh b/hooks-addons/14ssh index 88aef4b..f47e48e 100644 --- a/hooks-addons/14ssh +++ b/hooks-addons/14ssh @@ -29,37 +29,6 @@ else cpifexists /usr/lib/dropbear/dropbearconvert /usr/lib/dropbear/ - # copy pub key - if [ ${TCOS_ADMIN_USER} ]; then - mkdir -p $DESTDIR/root/.ssh - _echo " Copying ${TCOS_ADMIN_USER} public SSH key" - if [ "${TCOS_ADMIN_USER}" = "root" ]; then - pkey=/root/.ssh/id_rsa.pub - key=/root/.ssh/id_rsa - else - home=$(getent passwd ${TCOS_ADMIN_USER} | head -1 | awk -F":" '{print $6}') - if [ "$home" = "" ]; then home="/home/${TCOS_ADMIN_USER}"; fi - pkey=${home}/.ssh/id_rsa.pub - key=${home}/.ssh/id_rsa - fi - - #### key exists? ### - if [ -f ${key} ]; then - #_echo " Copying $key...." - cat $pkey >> $DESTDIR/root/.ssh/authorized_keys - cat $pkey >> $DESTDIR/root/.ssh/id_rsa.pub - cat $key >> $DESTDIR/root/.ssh/id_rsa - chmod 600 $DESTDIR/root/.ssh/id_rsa - else - _echo " WARNING: $key not found !!!" - _echo " You need to create ssh-key as \"${TCOS_ADMIN_USER}\" user or select another user in preferences." - _echo " => $ ssh-keygen -t rsa" - fi - #################### - else - _verbose "(14ssh) TCOS_ADMIN_USER is empty" - fi - fi stat_after "Dropbear ssh server" diff --git a/scripts/tcos-bottom/01download_settings b/scripts/tcos-bottom/01download_settings index 05fa19a..a8826dd 100755 --- a/scripts/tcos-bottom/01download_settings +++ b/scripts/tcos-bottom/01download_settings @@ -13,7 +13,8 @@ maybe_break download_settings . /conf/tcos.conf . /conf/tcos-run-functions -MYIP=$(grep 'fixed-address' /var/lib/dhcp/dhclient.leases | head -1| awk '{print $2}' | sed s/";"//g) +#MYIP=$(grep 'fixed-address' /var/lib/dhcp/dhclient.leases | head -1| awk '{print $2}' | sed s/";"//g) +MYIP=$(awk -F"=" '/^ip=/ {print $2}' /tmp/net.data) download_file /tcos/conf/${MYIP}.conf /conf/mysettings.conf if [ $? -eq 0 ]; then diff --git a/scripts/tcos-bottom/25startx b/scripts/tcos-bottom/25startx index c4daffd..964d04b 100755 --- a/scripts/tcos-bottom/25startx +++ b/scripts/tcos-bottom/25startx @@ -35,7 +35,8 @@ if [ ! -f $XAUTHORITY ]; then value=0 log_begin_msg "Creating magic cookie for X" _log "STARTX creating cookie..." - MYIP=$(grep 'fixed-address' /var/lib/dhcp/dhclient.leases | head -1| awk '{print $2}' | sed s/";"//g) + #MYIP=$(grep 'fixed-address' /var/lib/dhcp/dhclient.leases | head -1| awk '{print $2}' | sed s/";"//g) + MYIP=$(awk -F"=" '/^ip=/ {print $2}' /tmp/net.data) cookie=$(mcookie || value=1) xauth -f $XAUTHORITY -q add :0 MIT-MAGIC-COOKIE-1 $cookie 2>> /tmp/initramfs.debug || value=1 xauth -f $XAUTHORITY -q add localhost:0 MIT-MAGIC-COOKIE-1 $cookie 2>> /tmp/initramfs.debug || value=1 diff --git a/scripts/tcos-premount/30rootfs b/scripts/tcos-premount/30rootfs index 5a53393..7ae3601 100755 --- a/scripts/tcos-premount/30rootfs +++ b/scripts/tcos-premount/30rootfs @@ -82,8 +82,9 @@ rm -rf /target/conf/ && cp -ra /conf/ /target/ rm -rf /target/scripts/ && cp -ra /scripts/ /target/ mkdir -p /target/tmp && cp -ra /tmp/* /target/tmp -mkdir -p /var/lib/dhcp/ -cp /var/lib/dhcp/dhclient.leases /target/var/lib/dhcp/dhclient.leases +#mkdir -p /var/lib/dhcp/ +#cp /var/lib/dhcp/dhclient.leases /target/var/lib/dhcp/dhclient.leases +cat /tmp/net.data > /root/tmp/net.data cp /etc/hostname /target/etc/hostname cp /etc/resolv.conf /target/etc/resolv.conf diff --git a/scripts/tcos-top/05network b/scripts/tcos-top/05network index 164ece8..7fe1f2b 100755 --- a/scripts/tcos-top/05network +++ b/scripts/tcos-top/05network @@ -22,17 +22,17 @@ log_end_msg $? touch /etc/resolv.conf -if [ -d /var/lib/dhcp3 ]; then - # link to work with dhcp-client or dhcp3-client - ln -s /var/lib/dhcp3 /var/lib/dhcp +#if [ -d /var/lib/dhcp3 ]; then +# # link to work with dhcp-client or dhcp3-client +# ln -s /var/lib/dhcp3 /var/lib/dhcp - chown root:dhcp /lib/dhcp3-client 2>/dev/null - chown 775 /lib/dhcp3-client - chmod 4744 /lib/dhcp3-client/call-dhclient-script +# chown root:dhcp /lib/dhcp3-client 2>/dev/null +# chown 775 /lib/dhcp3-client +# chmod 4744 /lib/dhcp3-client/call-dhclient-script - chown root:dhcp /etc/resolv.conf 2>/dev/null - chmod 644 /etc/resolv.conf -fi +# chown root:dhcp /etc/resolv.conf 2>/dev/null +# chmod 644 /etc/resolv.conf +#fi # wireless TCOS minihowto # @@ -195,37 +195,46 @@ fi log_begin_msg "Sending DHCP request on $TCOS_NET_LINK" _log "DHCLIENT $TCOS_NET_LINK" - dhclient $TCOS_NET_LINK >> /tmp/initramfs.debug 2>&1 - myip=$(grep 'fixed-address' /var/lib/dhcp/dhclient.leases | head -1| awk '{print $2}' | sed s/";"//g) - - if grep -q "server-name" /var/lib/dhcp/dhclient.leases; then - dhcpserver=$(grep 'server-name' /var/lib/dhcp/dhclient.leases | awk -F'"' '{print $2}') - else - dhcpserver=$(grep 'dhcp-server' /var/lib/dhcp/dhclient.leases | awk '{print $3}' | awk -F ";" '{print $1}') - fi - - hostname=$(grep 'host-name' /var/lib/dhcp/dhclient.leases | awk '{print $3}' | awk -F ";" '{print $1}' | sed s/\"//g) - TCOS_NET_ACTIVE=$(grep 'interface' /var/lib/dhcp/dhclient.leases | head -1| awk '{print $2}' | sed s/";"//g | sed s/\"//g) + busybox udhcpc -i $TCOS_NET_LINK -s /bin/udhcpc-script -O sipsrv >> /tmp/initramfs.debug 2>&1 + myip=$(awk -F"=" '/^ip=/ {print $2}' /tmp/net.data) + dhcpserver=$(awk -F"=" '/^dhcpserver=/ {print $2}' /tmp/net.data) + hostname=$(awk -F"=" '/^hostname=/ {print $2}' /tmp/net.data) + netmask=$(awk -F"=" '/^netmask=/ {print $2}' /tmp/net.data) + gateway=$(awk -F"=" '/^gateway=/ {print $2}' /tmp/net.data) + TCOS_NET_ACTIVE=$(awk -F"=" '/^interface=/ {print $2}' /tmp/net.data) + xserver=$(awk -F"=" '/^sipsrv=/ {print $2}' /tmp/net.data) + +# dhclient $TCOS_NET_LINK >> /tmp/initramfs.debug 2>&1 +# myip=$(grep 'fixed-address' /var/lib/dhcp/dhclient.leases | head -1| awk '{print $2}' | sed s/";"//g) + +# if grep -q "server-name" /var/lib/dhcp/dhclient.leases; then +# dhcpserver=$(grep 'server-name' /var/lib/dhcp/dhclient.leases | awk -F'"' '{print $2}') +# else +# dhcpserver=$(grep 'dhcp-server' /var/lib/dhcp/dhclient.leases | awk '{print $3}' | awk -F ";" '{print $1}') +# fi + +# hostname=$(grep 'host-name' /var/lib/dhcp/dhclient.leases | awk '{print $3}' | awk -F ";" '{print $1}' | sed s/\"//g) +# TCOS_NET_ACTIVE=$(grep 'interface' /var/lib/dhcp/dhclient.leases | head -1| awk '{print $2}' | sed s/";"//g | sed s/\"//g) log_end_msg 0 # hack for dhcp3-client -if [ "$(route -n 2>&1| grep -c $TCOS_NET_ACTIVE)" = "0" ]; then - log_begin_msg "Forcing net for dhcp3-client" - myip=$(grep 'fixed-address' /var/lib/dhcp/dhclient.leases | head -1| awk '{print $2}' | sed s/";"//g) - - if grep -q "server-name" /var/lib/dhcp/dhclient.leases; then - dhcpserver=$(grep 'server-name' /var/lib/dhcp/dhclient.leases | awk -F'"' '{print $2}') - else - dhcpserver=$(grep 'dhcp-server' /var/lib/dhcp/dhclient.leases | awk '{print $3}' | awk -F ";" '{print $1}') - fi - - netmask=$(grep 'subnet-mask' /var/lib/dhcp/dhclient.leases | head -1| awk '{print $3}' | sed s/";"//g) - gateway=$(grep 'routers' /var/lib/dhcp/dhclient.leases | head -1| awk '{print $3}' | sed s/";"//g) - #ifconfig $TCOS_NET_ACTIVE down - ifconfig $TCOS_NET_ACTIVE $myip netmask $netmask up - route add default dev $TCOS_NET_ACTIVE gw $gateway - log_end_msg $? -fi +#if [ "$(route -n 2>&1| grep -c $TCOS_NET_ACTIVE)" = "0" ]; then +# log_begin_msg "Forcing net for dhcp3-client" +# myip=$(grep 'fixed-address' /var/lib/dhcp/dhclient.leases | head -1| awk '{print $2}' | sed s/";"//g) + +# if grep -q "server-name" /var/lib/dhcp/dhclient.leases; then +# dhcpserver=$(grep 'server-name' /var/lib/dhcp/dhclient.leases | awk -F'"' '{print $2}') +# else +# dhcpserver=$(grep 'dhcp-server' /var/lib/dhcp/dhclient.leases | awk '{print $3}' | awk -F ";" '{print $1}') +# fi + +# netmask=$(grep 'subnet-mask' /var/lib/dhcp/dhclient.leases | head -1| awk '{print $3}' | sed s/";"//g) +# gateway=$(grep 'routers' /var/lib/dhcp/dhclient.leases | head -1| awk '{print $3}' | sed s/";"//g) +# #ifconfig $TCOS_NET_ACTIVE down +# ifconfig $TCOS_NET_ACTIVE $myip netmask $netmask up +# route add default dev $TCOS_NET_ACTIVE gw $gateway +# log_end_msg $? +#fi if [ -n ${TCOS_DEBUG} ]; then @@ -249,8 +258,13 @@ fi # search for other hosts TCOS_TFTP_SERVER=$(read_cmdline_var 'tftpserver' "${dhcpserver}") -if grep -q "x-display-manager" /var/lib/dhcp/dhclient.leases; then - TCOS_XDMCP_SERVER=$(grep "x-display-manager" /var/lib/dhcp/dhclient.leases | tail -1| awk '{print $3}'| sed -e 's/;//g') +#if grep -q "x-display-manager" /var/lib/dhcp/dhclient.leases; then +# TCOS_XDMCP_SERVER=$(grep "x-display-manager" /var/lib/dhcp/dhclient.leases | tail -1| awk '{print $3}'| sed -e 's/;//g') +#else +# TCOS_XDMCP_SERVER=$(read_cmdline_var 'xserver' "${dhcpserver}") +#fi +if [ "$xserver" != "" ]; then + TCOS_XDMCP_SERVER=$xserver else TCOS_XDMCP_SERVER=$(read_cmdline_var 'xserver' "${dhcpserver}") fi @@ -258,8 +272,13 @@ fi TCOS_RDESKTOP_SERVER=$(read_cmdline_var 'rdesktop' "${dhcpserver}") TCOS_NFS_SERVER=$(read_cmdline_var 'nfsserver' "${dhcpserver}") -if grep -q "font-servers" /var/lib/dhcp/dhclient.leases; then - TCOS_FONT_SERVER=$(grep font-servers /var/lib/dhcp/dhclient.leases | tail -1| awk '{print $3}'| sed -e 's/;//g') +#if grep -q "font-servers" /var/lib/dhcp/dhclient.leases; then +# TCOS_FONT_SERVER=$(grep font-servers /var/lib/dhcp/dhclient.leases | tail -1| awk '{print $3}'| sed -e 's/;//g') +#else +# TCOS_FONT_SERVER=$(read_cmdline_var 'fontserver' "${dhcpserver}") +#fi +if [ "$xserver" != "" ]; then + TCOS_FONT_SERVER=$xserver else TCOS_FONT_SERVER=$(read_cmdline_var 'fontserver' "${dhcpserver}") fi @@ -280,14 +299,14 @@ ${TCOS_NFS_SERVER} nfs-server ${TCOS_FONT_SERVER} font-server EOF -# set dns -echo "nameserver $TCOS_DNS_SERVER" > /etc/resolv.conf +## set dns +#echo "nameserver $TCOS_DNS_SERVER" > /etc/resolv.conf hostname $hostname export HOSTNAME=$hostname -export hostname -log_end_msg $? +#export hostname +log_end_msg # start portmap [ -x /sbin/portmap ] && /sbin/portmap >/tmp/portmap.log 2>&1 & diff --git a/scripts/tcos-top/60make_init b/scripts/tcos-top/60make_init index 08f8e9a..a6c2d29 100755 --- a/scripts/tcos-top/60make_init +++ b/scripts/tcos-top/60make_init @@ -68,8 +68,9 @@ chmod +x /root/sbin/init mkdir -p /root/proc /root/dev /root/sys mkdir -p /root/var/run /root/var/www /root/var/log /root/tmp -mkdir -p /root/var/lib/dhcp -cat /var/lib/dhcp/dhclient.leases > /root/var/lib/dhcp/dhclient.leases +#mkdir -p /root/var/lib/dhcp +#cat /var/lib/dhcp/dhclient.leases > /root/var/lib/dhcp/dhclient.leases +cat /tmp/net.data > /root/tmp/net.data cat /etc/hostname > /root/etc/hostname cat /etc/hosts > /root/etc/hosts cat /etc/resolv.conf > /root/etc/resolv.conf |