]> git.lizzy.rs Git - plan9front.git/blob - sys/src/9/boot/local.rc
serial console stuff
[plan9front.git] / sys / src / 9 / boot / local.rc
1 #!/bin/rc
2
3 fn showlocaldevs{
4         echo local devices found:
5         for(d in /dev/sd*) if(test -r $d/ctl){
6                 q=`{sed 's,(inquiry|geometry),\
7 \1,g' $d/ctl | grep inquiry}
8                 echo $d':' $q(2-)
9                 for(i in `{ls -p $d}){
10                         p=$d/$i
11                         switch($i){
12                         case ctl raw log
13                                 ;
14                         case 9fat plan9 nvram
15                                 echo $p
16                         case *
17                                 t=`{fstype $p}
18                                 if(~ $#bootargs 0 && ! ~ $t '')
19                                         bootargs=local!$p
20                                 echo $p $t
21                         }
22                 }
23         }
24         for(d in /shr/sd*) if(test -d $d) {
25                 echo $d':'
26                 for(p in $d/*.^(iso kfs paq)) if(test -f $p){
27                         t=`{fstype $p}
28                         if(! ~ $t ''){
29                                 if(~ $#bootargs 0)
30                                         bootargs=local!$p
31                                 echo $p $t
32                         }
33                 }
34         }
35 }
36
37 fn configlocal{
38         diskparts
39 }
40
41 fn bootfs{
42         {$1 -s -f $*(2-) &} <[0=1] | echo 0 >/srv/boot
43 }
44
45 fn connectlocal{
46         if(test -f $1)
47                 t=`{fstype $1}
48         if not {
49                 t=$1; shift
50         }
51         switch($t){
52         case ''
53                 fatal unknown fstype $1
54         case 9660
55                 bootfs 9660srv $*
56         case dos
57                 bootfs dossrv $*
58         case kfs
59                 bootfs disk/kfs $*
60         case *
61                 bootfs $t $*
62         }
63 }
64
65 mlocal=(configlocal connectlocal)
66 mt=(mlocal $mt)