Scroll to navigation

VMDEBOOTSTRAP(8) System Manager's Manual VMDEBOOTSTRAP(8)

NAME

vmdebootstrap - install basic Debian system into virtual disk image

SYNOPSIS

vmdebootstrap --image=FILE --size=SIZE [--mirror=URL] [--distribution=NAME]
vmdebootstrap [--output=FILE] [--verbose | --no-verbose] --image=FILE --size=SIZE [--tarball=FILE] [--mirror=URL] [--arch=ARCH] [--distribution=NAME] [--package=PACKAGE] [--custom-package=DEB] [--no-kernel] [--enable-dhcp | --no-enable-dhcp] [--root-password=PASSWORD] [--customize=SCRIPT] [--hostname=HOSTNAME] [--user=USER/PASSWORD] [--serial-console | --no-serial-console] [--sudo | --no-sudo]

DESCRIPTION

vmdebootstrap installs a basic Debian system into a virtual disk image, for use with virtual machines, such as KVM, Qemu, or VirtualBox. It is like debootstrap(8), which does the same thing, but puts the system into a directory, for use with chroot(8). (In fact, vmdebootstrap is a wrapper around debootstrap).
You need to run vmdebootstrap as root.
To use the image, you probably want to create a virtual machine using your preferred virtualization technology, such as kvm(1), or qemu(1). Configure the virtual machine to use the image you've created. Then start the virtual machine, and log into it via its console to configure it.
The image will be using extlinux(1) as a boot loader. It has an empty root password. The image will not have networking configured. Set the root password before you configure networking.

OPTIONS

--output=FILE
write output to FILE, instead of standard output
--verbose
report what is going on
--image=FILE
put created disk image in FILE
--size=SIZE
create a disk image of size SIZE (1000000000)
--tarball=FILE
tar up the disk's contents in FILE
--mirror=URL
use MIRROR as package source (http://cdn.debian.net/debian/)
--arch=ARCH
architecture to use (amd64)
--distribution=NAME
release to use (stable)
--package=PACKAGE
install PACKAGE onto system
--custom-package=DEB
install package in DEB file onto system (not from mirror)
--no-kernel
do not install a linux package
--enable-dhcp
enable DHCP on eth0
--root-password=PASSWORD
set root password
--customize=SCRIPT
run SCRIPT after setting up system
--hostname=HOSTNAME
set name to HOSTNAME (debian)
--user=USER/PASSWORD
create USER with PASSWORD
--serial-console
configure image to use a serial console
--sudo
install sudo, and if user is created, add them to sudo group

Configuration files and settings:

--dump-config
write out the entire current configuration
--no-default-configs
clear list of configuration files to read
--config=FILE
add FILE to config files

Logging:

--log=FILE
write log entries to FILE (default is to not write log files at all); use "syslog" to log to system log, or "none" to disable logging
--log-level=LEVEL
log at LEVEL, one of debug, info, warning, error, critical, fatal (default: debug)
--log-max=SIZE
rotate logs larger than SIZE, zero for never (default: 0)
--log-keep=N
keep last N logs (10)
--log-mode=MODE
set permissions of new log files to MODE (octal; default 0600)

Peformance:

--dump-memory-profile=METHOD
make memory profiling dumps using METHOD, which is one of: none, simple, meliae, or heapy (default: simple)
--memory-dump-interval=SECONDS
make memory profiling dumps at least SECONDS apart

EXAMPLE

To create an image for the stable release of Debian:
sudo vmdebootstrap --image test.img --size 1g \
    --log test.log --log-level debug --verbose \
    --mirror http://mirror.lan/debian/
    
To run the test image, make sure it is writeable:
sudo chmod a+w ./test.img
    
Execute using qemu, e.g. on amd64 using qemu-system-x86_64:
qemu-system-x86_64 ./test.img
    
(This loads the image in a new window.)

SEE ALSO

debootstrap(8) , qemu(1)