0bee91a00b8d7507ab6db033e7488c396ad7803a
[akaros.git] / kern / kfs / ifconfig
1 #!/bin/ash
2
3 if [ "$#" -eq "1" ]
4 then
5         MACHINE=$1
6 fi
7
8 #bind -a '#I' /net
9 #bind -a '#l0' /net
10 #cat /net/ipifc/clone
11 ## bind the ether0 to it
12 #echo 'bind ether /net/ether0' > /net/ipifc/0/ctl
13 #exit
14
15 # ifconfig it
16
17 export cputype=amd64
18 export objtype=$cputype
19 export service=cpu
20 export authid=bootes
21 export rootdir=/root
22 export rootspec=''
23 export rootsrv=boot
24
25 #authentication='nvram=/boot/adm/nvram auth/factotum -sfactotum -S'      # -a ...
26 # test xyzip=(0 0 0 104.9.33)
27 # test fsaddr='tcp!135.$xyzip(4)^!564'
28 # (me network server server-addr
29 # wrong addresses.
30
31 # qemu is the default
32 me=10.0.2.15
33 mask=255.255.255.0
34 # brho: i don't know what exactly 'remote' is supposed to be, but that is
35 # the third argument processed by adding to an ipifc.  if we pass nothing,
36 # it'll build 'remote' by masking me & mask.
37 remote=10.0.2.0
38 route=10.0.2.2
39
40 if [ "x$MACHINE" = "xc89" ]
41 then
42         # c89's config.  use c96 for eth0 (.196).  if you want, we can also use
43         # c97 (.197):
44         # $ cat /9/net/ipifc/clone (get e.g. 2)
45         # $ echo "add 169.229.49.197 255.255.255.0" > /9/net/ipifc/2/ctl
46         me=169.229.49.196
47         mask=255.255.255.0
48         remote=169.229.49.0
49         route=169.229.49.1
50 fi
51
52 if [ "x$MACHINE" = "xhossin" ]
53 then
54         # brho's soda hall desktop
55         me=128.32.37.46
56         mask=255.255.255.0
57         remote=128.32.37.0
58         route=128.32.37.1
59 fi
60 #
61 # Post the read-only filesystem in #s/$beetroot
62 # and mount it on /boot so the commands in /boot/$cputype/bin
63 # are available to create the namespace (namespaces like to
64 # mount #s/boot on / and that should not be the read-only
65 # filesystem).
66 # Must set hostowner to be that of the owner of the nvram file
67 # before paqfs starts otherwise factotum will not be able to
68 # open it.
69 #
70 #/boot/echo -n sys > '#c/hostowner'
71 #/boot/paqfs -p -S $beetroot -m /boot -q /boot/$beetroot
72 #cd /boot/$cputype/bin
73 bind -b '#c' /dev
74 #bind '#d' /fd
75 #bind -c '#e' /env
76 bind -b '#p' /proc
77 #bind -b -c '#s' /srv
78 bind -b '#s' /srv
79
80 #
81 # Configure the networks.
82 #
83 bind -a '#I' /net
84 bind -a '#l0' /net
85
86 # note: dhcp is possible, just not done yet.
87 #get an instance of a network stack
88 i=`cat /net/ipifc/clone`
89 # bind the ether0 to it
90 echo "bind ether /net/ether0 " > /net/ipifc/$i/ctl
91 # ifconfig it
92 echo "add $me $mask $remote" > /net/ipifc/$i/ctl
93 echo "add 0 0 $route" > /net/iproute
94 echo I am $me, default route $route
95
96 i=`cat /net/ipifc/clone`
97 echo "bind loopback /dev/null " > /net/ipifc/$i/ctl
98 echo "add 127.0.0.1 255.0.0.0 127.0.0.0 " > /net/ipifc/$i/ctl