shithub: riscv

ref: f899b2fe3c091ccab33673f9fea9d1d99c0c2940
dir: /rc/bin/inst/ndbsetup/

View raw version
#!/bin/rc

# desc: setup network configuration
# prereq: confignet copydist

etheraddr=`{cat /net/ether0/addr >[2]/dev/null}

switch($1){
case checkready checkdone
	if(~ $#etheraddr 1 && ~ $netisfrom ether && ~ $ethermethod dhcp manual && \
	   ! grep -s $etheraddr /n/newfs/lib/ndb/local)
		ndbsetup=ready
	if not
		ndbsetup=done
	export ndbsetup

case go
	echo
	echo 'Setup network configuration'
	echo

	default=()
	if(~ $#sysname 1)
		default=(-d $sysname)
	prompt $default 'sysname'
	sysname=$rd

	cp /n/newfs/lib/ndb/local /tmp/ndb.local
	{
		ssam 'x/^.*ether='^$etheraddr^'.*$/ d' /tmp/ndb.local

		echo
		switch($ethermethod){
		case dhcp
			echo 'sys='^$sysname 'ether='^$etheraddr

		case manual
			echo 'sys='^$sysname 'ether='^$etheraddr \
				'ip='^$ipaddr 'ipmask='^$ipmask 'ipgw='^$gwaddr
		}
		echo
	} >/n/newfs/lib/ndb/local
}