create a sos facility Reference: /n/atom/patch/applied/sos Date: Thu Mar 6 16:14:00 CET 2014 Signed-off-by: quanstro@quanstro.net --- /rc/bin/sos/net Thu Jan 1 00:00:00 1970 +++ /rc/bin/sos/net Thu Mar 6 16:11:10 2014 @@ -0,0 +1,59 @@ +#!/bin/rc +rfork en + +n=() +fn catit{ + if(! ~ $#n 0) + echo + n=($n 1) + echo $1 + cat $1 +} + +fn dosos{ + catit ipselftab + catit iproute + for(i in ipifc/?){ + catit $i/status + catit $i/local + } + catit arp + for(i in ether?){ + catit $i/addr; echo + catit $i/mtu + catit $i/stats + catit $i/ifstats + echo + echo ethertypes + x=`{cat $i/?/type} {for(i in $x)echo $i} | + awk '{printf "%4d %.4x\n", NR, $1}' + n = ($n 1) + } +} + +fn nets{ + echo /net*/arp|sed '/\*/d + s:/arp::g' +} + +if(~ $#* 0) + '*'=`{nets} +switch($#*){ +case 0 + exit '' +case 1 + hdr=() +case * + hdr=1 +} +for(net){ +echo net $net + @{ + if(! ~ $#header 0){ + echo $net + echo + } + builtin cd $net || exit + dosos + } +} --- /rc/bin/sos/sd Thu Jan 1 00:00:00 1970 +++ /rc/bin/sos/sd Thu Mar 6 16:11:10 2014 @@ -0,0 +1,79 @@ +#!/bin/rc +rfork e + +fn aze{ + echo $*(2-) '|' atazz $1 + echo $*(2-) | atazz $1 >[2]/dev/null +} + +fn scz{ + echo $*(2-) '|' scuzz $1 + echo $*(2-) | scuzz $1 >[2]/dev/null +} + +fn dtype0{ + switch($1){ + case iahci ahci ata sd50c mv50xx ide + echo ata + case mylex 53c8xx + echo scsi + case orion odin vanir + t=`{sed -n 's:^type ([^ ]+).*$:\1:p' < $2} + switch($t){ + case sas + echo scsi + case sata + echo ata + } + case mpt2 + t=`{sed -n 's:^type ([^ ]+).*$:\1:p' < $2} + echo t + } +} + +fn dtype { + dtype0 `{sed -n 's:^' ^ $1 ^ ' ([^ ]+).*:\1:p' cpuid +sossd >sd >[2=1] +usb/probe >usb >[2=1] +sosnet >net +pci -v>pci +aux/dmi>dmi +mkdir dev || exit +@{ + builtin cd dev + # #P + for(i in '#P/'*) + if(~ $i '#P/'$Plist) + cat $i>`{basename $i}>[2=] + # #c + for(i in '#c/'^(swap sysname kmesg sysstat time drivers)) + cat $i>`{basename $i} +} +mkdir ec +disk/mkfs -s '#ec' -d ec <{echo +}>/dev/null>[2=1] + +builtin cd /n && disk/mkfs -as sos <{echo +} >[2=]| bzip2 -9 > /tmp/sos.mkfs.bz2 +echo mail -a /tmp/sos.mkfs.bz2 quanstro@9atom.org -s 'sos output' '<' /dev/null +