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);
vifs,
bargs,
root_dev,
+ root_args,
nfs_root_path,
nw_ip,
nw_gw,
}
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() {
+ " -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"
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 */
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(
int vifs,
String bargs,
String root_dev,
+ String root_args,
String nfs_root_path,
String nw_ip,
String nw_gw,
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;
}
bargs =
(bargs
- + " root=/dev/nfs "
+ + " root=/dev/nfs " + root_args + " "
+ "nfsroot="
+ StringPattern.parse(nfs_root_path).resolve(
domain_id)
(bargs
+ " root="
+ StringPattern.parse(root_dev).resolve(domain_id)
- + " ro ");
+ + " " + root_args + " ");
}
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. */
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);
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")) {
<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>