bootrc: handle multiple fs and auth addresses in netboot, always set auth= in /net/ndb
This commit is contained in:
parent
17566b4dd3
commit
665f0c8e3e
2 changed files with 19 additions and 9 deletions
|
@ -4,6 +4,7 @@ mntgen -s slash /mnt
|
|||
bind /root /mnt/broot
|
||||
unmount /root
|
||||
|
||||
bind -q '#d' /fd
|
||||
bind -q '#p' /proc
|
||||
for(i in S f k æ t b m)
|
||||
bind -qa '#'^$i /dev
|
||||
|
|
|
@ -17,24 +17,33 @@ fn confignet{
|
|||
|
||||
must ip/ipconfig -p $*
|
||||
if(~ $#fs 0)
|
||||
fs=`{awk -F'=' '/fs=/{print $2; exit}' /net/ndb}
|
||||
fs=`{awk -F'=' '/^[ ]*fs=/{print $2}' /net/ndb}
|
||||
if(~ $#auth 0)
|
||||
auth=`{awk -F'=' '/auth=/{print $2; exit}' /net/ndb}
|
||||
auth=`{awk -F'=' '/^[ ]*auth=/{print $2}' /net/ndb}
|
||||
if(~ $#fs 0)
|
||||
ask fs ' ip is? ' $auth
|
||||
if(~ $#auth 0){
|
||||
ask auth ' ip is? ' $fs
|
||||
if(~ $#auth 1)
|
||||
echo ' auth='^$auth >>/net/ndb
|
||||
ask fs ' ip is? ' $auth(1)
|
||||
if(~ $#auth 0)
|
||||
ask auth ' ip is? ' $fs(1)
|
||||
|
||||
# set bootstrap authservers for factotum
|
||||
if(! ~ $#auth 0){
|
||||
grep -v '^[ ]*auth=' /net/ndb >/env/x
|
||||
cat /env/x <{echo ' auth='^$auth^'
|
||||
'} >/net/ndb
|
||||
rm /env/x
|
||||
}
|
||||
}
|
||||
|
||||
fn connecttcp{
|
||||
srv -q tcp!$fs!564 boot
|
||||
while(! ~ $#fs 0 && ! srv -q tcp!$fs(1)^!564 boot)
|
||||
fs=$fs(2-);
|
||||
fs=$fs(1)
|
||||
}
|
||||
|
||||
fn connectil{
|
||||
srv -q il!$fs!17008 boot
|
||||
while(! ~ $#fs 0 && ! srv -q il!$fs(1)^!17008 boot)
|
||||
fs=$fs(2-);
|
||||
fs=$fs(1)
|
||||
}
|
||||
|
||||
mtcp=(confignet connecttcp)
|
||||
|
|
Loading…
Reference in a new issue