aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authortlh20@labyrinth.cl.cam.ac.uk <tlh20@labyrinth.cl.cam.ac.uk>2003-09-17 17:26:29 +0000
committertlh20@labyrinth.cl.cam.ac.uk <tlh20@labyrinth.cl.cam.ac.uk>2003-09-17 17:26:29 +0000
commit2856313d8deb002be3cb66bc7dd49edfe26951b3 (patch)
tree1391e9f748f447d3198ed685789932d51266f7f0 /tools
parenta4d2706b5f2606da7d45d79612ed881083c8a2d7 (diff)
downloadxen-2856313d8deb002be3cb66bc7dd49edfe26951b3.tar.gz
xen-2856313d8deb002be3cb66bc7dd49edfe26951b3.tar.bz2
xen-2856313d8deb002be3cb66bc7dd49edfe26951b3.zip
bitkeeper revision 1.431 (3f689945jnFujVkprh_vptT464scvA)
xenctl.xml, Defaults.java, CommandDomainNew.java, ParseDomainNew.java: Add <root_args>ro</root_args> option to xenctl
Diffstat (limited to 'tools')
-rw-r--r--tools/control/src/org/xenoserver/cmdline/ParseDomainNew.java5
-rw-r--r--tools/control/src/org/xenoserver/control/CommandDomainNew.java11
-rw-r--r--tools/control/src/org/xenoserver/control/Defaults.java5
-rw-r--r--tools/control/xenctl.xml1
4 files changed, 18 insertions, 4 deletions
diff --git a/tools/control/src/org/xenoserver/cmdline/ParseDomainNew.java b/tools/control/src/org/xenoserver/cmdline/ParseDomainNew.java
index 6ee771914e..9a35387542 100644
--- a/tools/control/src/org/xenoserver/cmdline/ParseDomainNew.java
+++ b/tools/control/src/org/xenoserver/cmdline/ParseDomainNew.java
@@ -19,6 +19,7 @@ public class ParseDomainNew extends CommandParser {
int vifs = getIntParameter(args, 'v', d.domainVIFs);
String bargs = getStringParameter(args, 'a', d.args) + " ";
String root_dev = getStringParameter(args, 'd', d.rootDevice);
+ String root_args = getStringParameter(args, 't', d.rootArgs);
String usr_dev = getStringParameter(args, 'u', d.usrDevice);
String nfs_root_path = getStringParameter(args, 'f', d.nwNFSRoot);
String nw_ip = getStringParameter(args, '4', d.nwIP);
@@ -39,6 +40,7 @@ public class ParseDomainNew extends CommandParser {
vifs,
bargs,
root_dev,
+ root_args,
nfs_root_path,
nw_ip,
nw_gw,
@@ -78,7 +80,7 @@ public class ParseDomainNew extends CommandParser {
}
public String getUsage() {
- return "[-n<domain_name>] [-k<size>] [-i<image>] [-v<num_vifs>] [-r<initrd>] [-d<root_device>] [-u<usr_device>] [-f<nfs_root>] [-s<nfs_boot_server>] [-4<ipv4_boot_address>] [-g<ipv4_boot_gateway>] [-m<ipv4_boot_netmask>] [-h<hostname>] [-a<args>]";
+ return "[-n<domain_name>] [-k<size>] [-i<image>] [-v<num_vifs>] [-r<initrd>] [-d<root_device>] [-t<root_mount_args>] [-u<usr_device>] [-f<nfs_root>] [-s<nfs_boot_server>] [-4<ipv4_boot_address>] [-g<ipv4_boot_gateway>] [-m<ipv4_boot_netmask>] [-h<hostname>] [-a<args>]";
}
public String getHelpText() {
@@ -93,6 +95,7 @@ public class ParseDomainNew extends CommandParser {
+ " -v Number of VIFs domain_vifs\n"
+ " -r InitRD (if required) domain_init_rd\n"
+ " -d Root device (e.g /dev/nfs, /dev/hda3) root_device\n"
+ + " -t Root mount args (e.g ro) root_args\n"
+ " -u Usr dev/path (e.g /dev/hda3, server:path)usr_device\n"
+ " -a Additional boot parameters args\n"
+ "\n"
diff --git a/tools/control/src/org/xenoserver/control/CommandDomainNew.java b/tools/control/src/org/xenoserver/control/CommandDomainNew.java
index 54b12e0aa0..1060df9c59 100644
--- a/tools/control/src/org/xenoserver/control/CommandDomainNew.java
+++ b/tools/control/src/org/xenoserver/control/CommandDomainNew.java
@@ -32,6 +32,8 @@ public class CommandDomainNew extends Command {
private String bargs;
/** Root device */
private String root_dev;
+ /** Root mount args */
+ private String root_args;
/** Usr device */
private String usr_dev;
/** NFS root path */
@@ -91,13 +93,14 @@ public class CommandDomainNew extends Command {
int vifs,
String bargs,
String root_dev,
+ String root_args,
String nfs_root_path,
String nw_ip,
String nw_gw,
String nw_mask,
String nw_nfs_server,
String nw_host) {
- this(d,name,size,image,initrd,vifs,bargs,root_dev,nfs_root_path,nw_ip,nw_gw,nw_mask,nw_nfs_server,nw_host,null);
+ this(d,name,size,image,initrd,vifs,bargs,root_dev,root_args,nfs_root_path,nw_ip,nw_gw,nw_mask,nw_nfs_server,nw_host,null);
}
public CommandDomainNew(
@@ -109,6 +112,7 @@ public class CommandDomainNew extends Command {
int vifs,
String bargs,
String root_dev,
+ String root_args,
String nfs_root_path,
String nw_ip,
String nw_gw,
@@ -124,6 +128,7 @@ public class CommandDomainNew extends Command {
this.vifs = vifs;
this.bargs = bargs;
this.root_dev = root_dev;
+ this.root_args = root_args;
this.nfs_root_path = nfs_root_path;
this.nw_ip = nw_ip;
this.nw_gw = nw_gw;
@@ -219,7 +224,7 @@ public class CommandDomainNew extends Command {
}
bargs =
(bargs
- + " root=/dev/nfs "
+ + " root=/dev/nfs " + root_args + " "
+ "nfsroot="
+ StringPattern.parse(nfs_root_path).resolve(
domain_id)
@@ -229,7 +234,7 @@ public class CommandDomainNew extends Command {
(bargs
+ " root="
+ StringPattern.parse(root_dev).resolve(domain_id)
- + " ro ");
+ + " " + root_args + " ");
}
diff --git a/tools/control/src/org/xenoserver/control/Defaults.java b/tools/control/src/org/xenoserver/control/Defaults.java
index bf5cc62d8e..c10d1054bb 100644
--- a/tools/control/src/org/xenoserver/control/Defaults.java
+++ b/tools/control/src/org/xenoserver/control/Defaults.java
@@ -29,6 +29,8 @@ public class Defaults {
public int domainVIFs;
/** Default root device. */
public String rootDevice;
+ /** Default root mount args */
+ public String rootArgs;
/** Default usr device. */
public String usrDevice;
/** Default IP address pattern. */
@@ -88,6 +90,7 @@ public class Defaults {
System.out.println(" domainImage " + domainImage);
System.out.println(" domainInitRD " + domainInitRD);
System.out.println(" rootDevice " + rootDevice);
+ System.out.println(" rootArgs " + rootArgs);
System.out.println(" usrDevice " + usrDevice);
System.out.println(" NWIP " + nwIP);
System.out.println(" NWGW " + nwGateway);
@@ -153,6 +156,8 @@ public class Defaults {
domainVIFs = Integer.parseInt(s);
} else if (lastName.equals("root_device")) {
rootDevice = s;
+ } else if (lastName.equals("root_args")) {
+ rootArgs = s;
} else if (lastName.equals("usr_device")) {
usrDevice = s;
} else if (lastName.equals("nw_ip")) {
diff --git a/tools/control/xenctl.xml b/tools/control/xenctl.xml
index 77bd5dcc7e..1d86847d50 100644
--- a/tools/control/xenctl.xml
+++ b/tools/control/xenctl.xml
@@ -6,6 +6,7 @@
<domain_image>./image</domain_image>
<domain_vifs>1</domain_vifs>
<root_device>/dev/nfs</root_device>
+<root_args>ro</root_args>
<nw_ip>=+</nw_ip>
<nw_gw>=</nw_gw>
<nw_mask>=</nw_mask>