commit 761ebf2a4f56f03002a8ef7254115b5815ad674b
parent 4da0767d9990fa894dc3d6d94fc5650579a52404
Author: Jesus Galan Lopez (yiyus) <yiyu.jgl@gmail.com>
Date: Fri, 25 Jun 2010 01:04:10 +0200
9vx.ini understands localroot
Diffstat:
4 files changed, 13 insertions(+), 9 deletions(-)
diff --git a/doc/9vx.1 b/doc/9vx.1
@@ -59,7 +59,7 @@ arguments will be passed to boot/boot as explained in boot(8), with the addition
the local method also supports local directories. The
.I -r
option sets
-.I nobootprompt=local!#Z/localroot
+.I nobootprompt=local!#Z/root
to boot from a local directory containing a Plan 9 tree.
If an
.I user
@@ -118,10 +118,11 @@ pairs in a similar fasion to plan9.ini(8). Additional options are
.I initrc,
.I usetty,
.I memsize,
-.I netdev
-and
+.I netdev,
.I macaddr
-(that can also be part of a netdev line).
+(that can also be part of a netdev line)
+and
+.I localroot.
.SH BUGS
The menu system of plan9.ini(8) is not supported in
.I 9vx.ini
diff --git a/src/9vx/conf.c b/src/9vx/conf.c
@@ -118,14 +118,14 @@ iniopt(char *name, char *value)
if(*name == '*')
name++;
- if(strcmp(name, "initrc") == 0)
- initrc = 1;
- else if(strcmp(name, "nofork") == 0)
+ if(strcmp(name, "nofork") == 0)
nofork = 1;
else if(strcmp(name, "nogui") == 0){
nogui = 1;
usetty = 1;
}
+ else if(strcmp(name, "initrc") == 0)
+ initrc = 1;
else if(strcmp(name, "usetty") == 0)
usetty = 1;
else if(strcmp(name, "memsize") == 0)
@@ -151,6 +151,8 @@ iniopt(char *name, char *value)
}
else if(strcmp(name, "macaddr") == 0)
setmac(value);
+ else if(strcmp(name, "localroot") == 0 && !localroot)
+ localroot = value;
else if(strcmp(name, "user") == 0 && !username)
username = value;
}
@@ -184,6 +186,8 @@ printconfig(char *argv0){
if(ve[i].mac != nil)
print(" -a %s", ve[i].mac);
}
+ if(localroot)
+ print(" -r %s", localroot);
print(" -u %s", username);
for(i = 0; i < bootargc; i++)
print(" %s", bootargv[i]);
diff --git a/src/9vx/conf.h b/src/9vx/conf.h
@@ -12,6 +12,7 @@ int memsize; /* memory size */
int bootargc;
char** bootargv;
char* inifile;
+char* localroot;
char* username;
int readini(char *fn);
diff --git a/src/9vx/main.c b/src/9vx/main.c
@@ -49,7 +49,6 @@ int doabort = 1; // for now
int abortonfault;
char* argv0;
char* conffile = "9vx";
-char* localroot;
Conf conf;
static Mach mach0;
@@ -82,7 +81,6 @@ int
main(int argc, char **argv)
{
int vetap;
- int i, n;
char *vedev;
char *inifile;