cleanup boot(8), replace read(1), fix cpu kernel configs
This commit is contained in:
parent
f55d5517ed
commit
7827e7ae6f
8 changed files with 10 additions and 57 deletions
|
@ -32,4 +32,4 @@ if (! test -e /dev/fs/ctl && test -e '#k/fs')
|
||||||
bind -b '#k' /dev
|
bind -b '#k' /dev
|
||||||
if (~ $#sysname 1 && ! ~ $sysname '' &&
|
if (~ $#sysname 1 && ! ~ $sysname '' &&
|
||||||
test -r /cfg/$sysname/fsconfig && test -w /dev/fs/ctl)
|
test -r /cfg/$sysname/fsconfig && test -w /dev/fs/ctl)
|
||||||
read -m /cfg/$sysname/fsconfig >/dev/fs/ctl
|
awk '{print $0; fflush}' /cfg/$sysname/fsconfig >/dev/fs/ctl
|
||||||
|
|
|
@ -84,27 +84,3 @@ setenv(char *name, char *val, int ec)
|
||||||
write(f, val, strlen(val));
|
write(f, val, strlen(val));
|
||||||
close(f);
|
close(f);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
srvcreate(char *name, int fd)
|
|
||||||
{
|
|
||||||
char *srvname;
|
|
||||||
int f;
|
|
||||||
char buf[64];
|
|
||||||
|
|
||||||
srvname = strrchr(name, '/');
|
|
||||||
if(srvname)
|
|
||||||
srvname++;
|
|
||||||
else
|
|
||||||
srvname = name;
|
|
||||||
|
|
||||||
snprint(buf, sizeof buf, "#s/%s", srvname);
|
|
||||||
f = create(buf, 1, 0666);
|
|
||||||
if(f < 0)
|
|
||||||
fatal(buf);
|
|
||||||
sprint(buf, "%d", fd);
|
|
||||||
if(write(f, buf, strlen(buf)) != strlen(buf))
|
|
||||||
fatal("write");
|
|
||||||
close(f);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
|
@ -5,8 +5,6 @@
|
||||||
#include "../boot/boot.h"
|
#include "../boot/boot.h"
|
||||||
|
|
||||||
char cputype[64];
|
char cputype[64];
|
||||||
char reply[256];
|
|
||||||
int printcol;
|
|
||||||
int mflag;
|
int mflag;
|
||||||
int fflag;
|
int fflag;
|
||||||
int kflag;
|
int kflag;
|
||||||
|
@ -14,8 +12,6 @@ int kflag;
|
||||||
void
|
void
|
||||||
boot(int argc, char *argv[])
|
boot(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
Waitmsg *w;
|
|
||||||
int pid, i;
|
|
||||||
char buf[32];
|
char buf[32];
|
||||||
|
|
||||||
fmtinstall('r', errfmt);
|
fmtinstall('r', errfmt);
|
||||||
|
@ -33,6 +29,8 @@ boot(int argc, char *argv[])
|
||||||
bind("#s", "/srv", MREPL|MCREATE);
|
bind("#s", "/srv", MREPL|MCREATE);
|
||||||
|
|
||||||
if(Debug){
|
if(Debug){
|
||||||
|
int i;
|
||||||
|
|
||||||
print("argc=%d\n", argc);
|
print("argc=%d\n", argc);
|
||||||
for(i = 0; i < argc; i++)
|
for(i = 0; i < argc; i++)
|
||||||
print("%lux %s ", (ulong)argv[i], argv[i]);
|
print("%lux %s ", (ulong)argv[i], argv[i]);
|
||||||
|
@ -53,7 +51,8 @@ boot(int argc, char *argv[])
|
||||||
|
|
||||||
readfile("#e/cputype", cputype, sizeof(cputype));
|
readfile("#e/cputype", cputype, sizeof(cputype));
|
||||||
setenv("bootdisk", bootdisk, 0);
|
setenv("bootdisk", bootdisk, 0);
|
||||||
|
setenv("cpuflag", cpuflag ? "1" : "0", 0);
|
||||||
|
|
||||||
/* setup the boot namespace */
|
/* setup the boot namespace */
|
||||||
bind("/boot", "/bin", MAFTER);
|
bind("/boot", "/bin", MAFTER);
|
||||||
run("/bin/paqfs", "-q", "-c", "8", "-m" "/root", "/boot/bootfs.paq", nil);
|
run("/bin/paqfs", "-q", "-c", "8", "-m" "/root", "/boot/bootfs.paq", nil);
|
||||||
|
@ -61,26 +60,5 @@ boot(int argc, char *argv[])
|
||||||
snprint(buf, sizeof(buf), "/%s/bin", cputype);
|
snprint(buf, sizeof(buf), "/%s/bin", cputype);
|
||||||
bind(buf, "/bin", MAFTER);
|
bind(buf, "/bin", MAFTER);
|
||||||
bind("/rc/bin", "/bin", MAFTER);
|
bind("/rc/bin", "/bin", MAFTER);
|
||||||
|
run("/bin/bootrc", nil);
|
||||||
switch(pid = rfork(RFFDG|RFREND|RFPROC)){
|
|
||||||
case -1:
|
|
||||||
fatal("fork error");
|
|
||||||
case 0:
|
|
||||||
setenv("cpuflag", cpuflag ? "1" : "0", 0);
|
|
||||||
run("/bin/rc", "/rc/bin/bootrc", nil);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
while((w = wait()) != nil)
|
|
||||||
if(w->pid == pid)
|
|
||||||
break;
|
|
||||||
if(w == nil){
|
|
||||||
free(w);
|
|
||||||
fatal("wait error");
|
|
||||||
}
|
|
||||||
free(w);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
for(;;)
|
|
||||||
;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,7 +34,7 @@ fn ask {
|
||||||
echo -n $3
|
echo -n $3
|
||||||
echo -n '] '
|
echo -n '] '
|
||||||
}
|
}
|
||||||
$1=`{read}
|
$1=`{dd -bs 64 -count 1 >[2]/dev/null}
|
||||||
if(~ $#$1 0)
|
if(~ $#$1 0)
|
||||||
$1=$3
|
$1=$3
|
||||||
if(~ $"$1 '!rc'){
|
if(~ $"$1 '!rc'){
|
||||||
|
|
|
@ -66,7 +66,7 @@ port
|
||||||
int cpuserver = 1;
|
int cpuserver = 1;
|
||||||
int i8250freq = 3686000;
|
int i8250freq = 3686000;
|
||||||
|
|
||||||
boot boot
|
boot cpu
|
||||||
tcp
|
tcp
|
||||||
local
|
local
|
||||||
|
|
||||||
|
|
|
@ -69,7 +69,7 @@ port
|
||||||
int cpuserver = 1;
|
int cpuserver = 1;
|
||||||
int i8250freq = 3686000;
|
int i8250freq = 3686000;
|
||||||
|
|
||||||
boot boot
|
boot cpu
|
||||||
tcp
|
tcp
|
||||||
local
|
local
|
||||||
|
|
||||||
|
|
|
@ -118,7 +118,7 @@ ip
|
||||||
port
|
port
|
||||||
int cpuserver = 1;
|
int cpuserver = 1;
|
||||||
|
|
||||||
boot boot
|
boot cpu
|
||||||
tcp
|
tcp
|
||||||
local
|
local
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,6 @@ $cputype
|
||||||
mntgen
|
mntgen
|
||||||
mount
|
mount
|
||||||
rc
|
rc
|
||||||
read
|
|
||||||
rm
|
rm
|
||||||
sed
|
sed
|
||||||
srv
|
srv
|
||||||
|
|
Loading…
Reference in a new issue