summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile1
-rw-r--r--bin/configurexorg3
-rwxr-xr-xbin/udhcpc-script48
-rw-r--r--conf/tcos-run-functions.sh13
-rw-r--r--debian/control1
-rw-r--r--hooks-addons/01dhclient218
-rw-r--r--hooks-addons/14ssh31
-rwxr-xr-xscripts/tcos-bottom/01download_settings3
-rwxr-xr-xscripts/tcos-bottom/25startx3
-rwxr-xr-xscripts/tcos-premount/30rootfs5
-rwxr-xr-xscripts/tcos-top/05network109
-rwxr-xr-xscripts/tcos-top/60make_init5
12 files changed, 251 insertions, 189 deletions
diff --git a/Makefile b/Makefile
index e5f8e1a..ec2bbdc 100644
--- a/Makefile
+++ b/Makefile
@@ -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