X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=tools%2Fvirt-rescue;h=73fc56809bf7115dcf04c7a33a439af5fd546146;hp=7a87fbcffd8930bab5a206c30849eef03798f25b;hb=428a45c3e15f03e9861e1b551e1ae8da821dba5f;hpb=daead56fae46a4fedfef176fa3ed1ba37f88a078 diff --git a/tools/virt-rescue b/tools/virt-rescue index 7a87fbc..73fc568 100755 --- a/tools/virt-rescue +++ b/tools/virt-rescue @@ -1,6 +1,6 @@ #!/usr/bin/perl -w # virt-rescue -# Copyright (C) 2009 Red Hat Inc. +# Copyright (C) 2009-2010 Red Hat Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -142,6 +142,23 @@ at all. =cut +my $format; + +=item B<--format> raw + +Specify the format of disk images given on the command line. If this +is omitted then the format is autodetected from the content of the +disk image. + +If disk images are requested from libvirt, then this program asks +libvirt for this information. In this case, the value of the format +parameter is ignored. + +If working with untrusted raw-format guest disk images, you should +ensure the format is always specified. + +=cut + my $memsize; =item B<--memsize MB> | B<-m MB> @@ -153,6 +170,14 @@ parameter is specified in megabytes. =cut +my $network; + +=item B<--network MB> + +Enable QEMU user networking in the guest. + +=cut + my $readonly; =item B<--ro> | B<-r> @@ -180,7 +205,9 @@ GetOptions ("help|?" => \$help, "version" => \$version, "append=s" => \$append, "connect|c=s" => \$uri, + "format=s" => \$format, "memsize|m=i" => \$memsize, + "network" => \$network, "ro|r" => \$readonly, "selinux" => \$selinux, ) or pod2usage (2); @@ -198,6 +225,7 @@ pod2usage (__"virt-rescue: no image or VM names rescue given") my @args = (\@ARGV); push @args, address => $uri if $uri; push @args, rw => 1 unless $readonly; +push @args, format => $format if defined $format; my $g = open_guest (@args); # Setting "direct mode" is required for the rescue appliance. @@ -206,6 +234,7 @@ $g->set_direct (1); # Set other features. $g->set_selinux (1) if $selinux; $g->set_memsize ($memsize) if defined $memsize; +$g->set_network (1) if $network; # Set the kernel command line, which must include guestfs_rescue=1 # (see appliance/init). @@ -228,6 +257,13 @@ exit 0; Several environment variables affect virt-rescue. See L for the complete list. +=head1 SHELL QUOTING + +Libvirt guest names can contain arbitrary characters, some of which +have meaning to the shell such as C<#> and space. You may need to +quote or escape these characters on the command line. See the shell +manual page L for details. + =head1 SEE ALSO L,