virt-p2v-make-disk(1) | Virtualization Support | virt-p2v-make-disk(1) |
NAME¶
virt-p2v-make-disk - Build the virt-p2v disk using virt-builder
SYNOPSIS¶
virt-p2v-make-disk -o /dev/sdX [os-version]
DESCRIPTION¶
virt-p2v(1) converts a physical machine to run virtualized on KVM, managed by libvirt, OpenStack, oVirt, Red Hat Enterprise Virtualisation (RHEV), or one of the other targets supported by virt-v2v(1).
virt-p2v-make-disk is a script which creates a bootable disk image or USB key containing virt-p2v. It uses virt-builder(1) to do this, and is just a small shell script around virt-builder.
The required -o parameter specifies where the output should go, for example to a USB key (eg. "-o /dev/sdX") or to a file. If you pass a device name, then the existing contents of the device will be erased.
"os-version" parameter¶
The optional "os-version" parameter is the base Linux distro to use for the operating system on the ISO. If you don't set this parameter, the script tries to choose a suitable default for you. Most users should not use the "os-version" parameter.
The base OS selected for virt-p2v is not related in any way to the OS of the physical machine that you are trying to convert.
To list possible "os-version" combinations, do:
virt-builder -l
EXAMPLES¶
Write a virt-p2v bootable USB key on /dev/sdX (any existing content on /dev/sdX is erased):
virt-p2v-make-disk -o /dev/sdX
Write a virt-p2v bootable virtual disk image, and boot it under qemu:
virt-p2v-make-disk -o /var/tmp/p2v.img qemu-kvm -m 1024 -boot c \ -drive file=/var/tmp/p2v.img,if=virtio,index=0 \ -drive file=/var/tmp/guest.img,if=virtio,index=1
where /var/tmp/guest.img would be the disk image of some guest that you want to convert (for testing only).
ADDING EXTRA PACKAGES¶
You can install extra packages using the --install option. This can be useful for making a more fully-featured virt-p2v disk with extra tools for debugging and troubleshooting. Give a list of packages, separated by commas. For example:
virt-p2v-make-disk -o /var/tmp/p2v.img --install tcpdump,traceroute
ADDING AN SSH IDENTITY¶
You can inject an SSH identity (private key) file to the image using the --inject-ssh-identity option.
First create a key pair. It must have an empty passphrase:
ssh-keygen -t rsa -N '' -f id_rsa
This creates a private key ("id_rsa") and a public key ("id_rsa.pub") pair. The public key should be appended to the "authorized_keys" file on the virt-v2v conversion server (usually to "/root/.ssh/authorized_keys").
The private key should be injected into the disk image and then discarded:
virt-p2v-make-disk [...] --inject-ssh-identity id_rsa rm id_rsa
When booting virt-p2v, specify the URL of the injected file like this:
│ User name: [root_____________________________] │ │ │ │ Password: [ <leave this field blank> ] │ │ │ │ SSH Identity URL: [file:///var/tmp/id_rsa___________] │
or if using the kernel command line, add:
p2v.identity=file:///var/tmp/id_rsa
For more information, see "SSH IDENTITIES" in virt-p2v(1).
32 BIT VIRT-P2V¶
For improved compatibility with older hardware, virt-p2v-make-disk has an --arch option. The most useful setting (on x86-64 hosts) is --arch i686, which builds a 32 bit virt-p2v environment that will work on older hardware. 32 bit virt-p2v can convert 64 bit physical machines and can interoperate with 64 bit virt-v2v and 64 bit hypervisors.
This option requires that you have built virt-p2v.$arch (ie. usually virt-p2v.i686) by some means, and that you install it next to the ordinary virt-p2v binary (eg. in $libdir/virt-p2v/ or $VIRT_V2V_DATA_DIR). This is outside the scope of this manual page, but you can find some tips in "BUILDING i686 32 BIT VIRT-P2V" in guestfs-building(1).
OPTIONS¶
- --help
- Display help.
- --arch ARCH
- Set the architecture of the virt-p2v ISO. See "32 BIT VIRT-P2V"
above.
If this option is not supplied, then the default is to use the same architecture as the host that is running virt-p2v-make-disk.
- --inject-ssh-identity id_rsa
- Add an SSH identity (private key) file into the image. See "ADDING AN SSH IDENTITY" above.
- --install pkg,pkg,...
- Add extra packages to the image. See "ADDING EXTRA PACKAGES" above.
- --no-warn-if-partition
- Normally you should not write to a partition on a USB drive (ie. don’t use "-o /dev/sdX1", use "-o /dev/sdX" to make a bootable USB drive). If you do this, virt-builder prints a warning. This option suppresses that warning.
- -o OUTPUT
- --output OUTPUT
- Write output to "OUTPUT", which can be a local file or block device. The existing contents of the device will be erased.
- -v
- --verbose
- Enable verbose output. Use this if you need to debug problems with the script or if you are filing a bug.
- -V
- --version
- Display version number and exit.
FILES¶
- $libdir/virt-p2v/virt-p2v.xz
- The virt-p2v(1) binary which is copied into the bootable disk
image.
The location of the binary can be changed by setting the "VIRT_P2V_DATA_DIR" environment variable.
- $datadir/virt-p2v/issue
- $datadir/virt-p2v/launch-virt-p2v.in
- $datadir/virt-p2v/p2v.service
- Various data files that are copied into the bootable disk image.
The location of these files can be changed by setting the "VIRT_P2V_DATA_DIR" environment variable.
ENVIRONMENT VARIABLES¶
- "VIRT_P2V_DATA_DIR"
- The directory where virt-p2v-make-disk looks for data files (see "FILES" above). If not set, a compiled-in location is used.
SEE ALSO¶
virt-p2v(1), virt-p2v-make-kickstart(1), virt-p2v-make-kiwi(1), virt-v2v(1), http://libguestfs.org/.
AUTHORS¶
Richard W.M. Jones http://people.redhat.com/~rjones/
COPYRIGHT¶
Copyright (C) 2009-2019 Red Hat Inc.
LICENSE¶
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 the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
BUGS¶
To get a list of bugs against libguestfs, use this link: https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools
To report a new bug against libguestfs, use this link: https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools
When reporting a bug, please supply:
- The version of libguestfs.
- Where you got libguestfs (eg. which Linux distro, compiled from source, etc)
- Describe the bug accurately and give a way to reproduce it.
- Run libguestfs-test-tool(1) and paste the complete, unedited output into the bug report.
2019-02-07 | libguestfs-1.40.2 |