ref: bb85411a83ba9779849a9b7dade04ef6fcaf7513
parent: d01ec89dd454bbc746cd6c2297fc000b69839103
author: cinap_lenrek <cinap_lenrek@localhost>
date: Tue May 10 05:14:30 EDT 2011
boot and namespace cleanup
--- a/lib/namespace
+++ b/lib/namespace
@@ -10,11 +10,12 @@
bind #p /proc
bind -c #s /srv
bind -a #¤ /dev
-bind -a #S /dev
+# userspace devices
+mount -qb /srv/cons /dev
+
# mount points
mount -a /srv/slashn /n
-mount -b /srv/cons /dev
# authentication
mount -a /srv/factotum /mnt
--- a/rc/bin/cpurc
+++ b/rc/bin/cpurc
@@ -71,7 +71,7 @@
# mode of /proc/*/ctl is inherited across rfork, and sets modes on
# other /proc files, such as note, so let listen be killed.
-dontkill '^(ipconfig|factotum|mntgen|venti|fossil|cs|dns|reboot)$'
+dontkill '^(ipconfig|factotum|mntgen|venti|kfs|cwfs.*|cs|dns|reboot)$'
# echo `{date} $sysname >>/sys/log/bootexit ''
--- a/rc/bin/cpurc.local
+++ b/rc/bin/cpurc.local
@@ -5,10 +5,11 @@
# return addresses, even local ones
site=EXAMPLE
# replace FILESERVER with the name of your file server
-# here we start with kfs, your local disk file system
-fileserver=kfs
+# here we start with cwfs, your local disk file system
+fileserver=cwfs
# replace FACEDOM with the local domain to be used in the faces database
facedom=FACEDOM
-for(i in m i P S t)
+for(i in m i P S t u)
bind -a '#'^$i /dev >/dev/null >[2=1]
+mount -qa /srv/usb /dev
--- a/rc/bin/termrc
+++ b/rc/bin/termrc
@@ -5,11 +5,13 @@
mntgen -s slashn && chmod 666 /srv/slashn
-# bind all likely devices (#S was bound in boot)
-for(i in f t m v L P u U '$' Σ κ)
- /bin/bind -a '#'^$i /dev >/dev/null >[2=1]
+# bind all likely devices
+for(i in S f k t m i v L P u U '$' Σ κ)
+ bind -a '#'^$i /dev >/dev/null >[2=1]
rm -f /env/i
+mount -qa /srv/usb /dev
+
# set up any partitions
diskparts
@@ -110,8 +112,7 @@
}
rm -f '/env/fn#ask'
-usbstart
if (test -f /dev/apm)
aux/apm
-dontkill '^(ipconfig|factotum|mntgen|fossil|kfs|cwfs|cs|dns|listen|reboot)$'
+dontkill '^(ipconfig|factotum|mntgen|fossil|kfs|cwfs.*|cs|dns|listen|reboot)$'
--- a/rc/bin/usbstart
+++ /dev/null
@@ -1,12 +1,0 @@
-#!/bin/rc
-# usbstart - start appropriate usb flavour
-if(test -r '#u'/usb) {- if(! test -r /dev/usb)
- bind -a '#u' /dev
- # /boot/boot may have started usbd, which starts all usb drivers
- if(test -f /srv/usb)
- mount -a /srv/usb /dev
- if not
- usb/usbd
-}
-exit ''
--- a/sys/src/9/boot/bootrc
+++ b/sys/src/9/boot/bootrc
@@ -2,39 +2,19 @@
bind -q '#p' /proc
-if(test -e '#b' && ! test -e /dev/kbd){- bind -a '#b' /dev
- aux/kbdfs -s cons
- exec /rc/bin/bootrc </dev/cons >/dev/cons >[2]/dev/cons
+for(i in S f k æ t){+ bind -a '#'^$i /dev >/dev/null >[2=1]
}
-bind -qa '#S' /dev
-bind -qa '#f' /dev
-bind -qa '#k' /dev
-bind -qa '#æ' /dev
-
-fn set {- a=$$1
- $1=()
- rm -f '#e'/$1 '#ec'/$1 /env/$1
+for(i in init user nvram rootdir bootargs nobootprompt sysname \
+ debugfactotum fs fsaddr auth authaddr){+ a=$$i
+ $i=()
+ rm -f '#e'/$i '#ec'/$i /env/$i
if(! ~ $#a 0)
- $1=$a
+ $i=$a
}
-# convert plan9.ini variables
-set init
-set user
-set nvram
-set rootdir
-set bootargs
-set nobootprompt
-set sysname
-set debugfactotum
-set fs
-set fsaddr
-set auth
-set authaddr
-
fn fatal {echo $*
exit $"*
@@ -138,17 +118,16 @@
exec $init
}
-if(test -e '#u'){+if(test -e '#b' && test -x /bin/aux/kbdfs){+ bind -a '#b' /dev
+ aux/kbdfs -s cons
+}
+
+if(test -e '#u' && test -x /bin/usb/usbd){bind -a '#u' /dev
usb/usbd
}
-if(! ~ $#kbmap 0){- bind -a '#κ' /dev
- if(test -r $"kbmap)
- cat $"kbmap >/dev/kbmap
-}
-
# bind in an ip interface
for(i in I l`{seq 0 3})bind -qa '#'$i /net
@@ -163,4 +142,4 @@
nobootprompt=()
user=()
rm -f /srv/boot /srv/slashn /srv/cs /srv/dns
-}
+} </dev/cons >/dev/cons >[2]/dev/cons
--- a/sys/src/cmd/aux/kbdfs.c
+++ b/sys/src/cmd/aux/kbdfs.c
@@ -1085,7 +1085,10 @@
}
/* get higher than normal priority */
- fprint(fd, "pri 16");
+ fprint(fd, "pri 16\n");
+
+ /* always present in physical memory */
+ fprint(fd, "noswap\n");
/* dont let anybody kill us */
if(d = dirfstat(fd)){--
⑨