qemubuilder(8)
π qemubuilder β the pbuilder wrapper for qemu, bestie edition π
okay so like. this is the qemubuilder(8) manual page, from the pbuilder manual family. if you've ever wanted your pbuilder stuff to happen inside a whole entire virtual machine, this is the girl for you. let's get into it π«Ά
β¨ NAME β¨
qemubuilder β a pbuilder wrapper for qemu.
β¨ SYNOPSIS β¨
qemubuilder create [options]
qemubuilder update [options]
qemubuilder build [options] .dsc-file
qemubuilder login [options]
qemubuilder execute [options] -- script [script options]
qemubuilder dumpconfig
β¨ DESCRIPTION β¨
qemubuilder Executes the specified pbuilder operation with qemu. that's it, that's the whole vibe. it's pbuilder but the build happens in qemu land π¦
π COMMANDS π
Most commands imitate pbuilder, so if you need the deets, go read the pbuilder manual, bestie. the ones we're covering:
--create,createβ Create thebase.qemuimage.--update,update,up,uβ Update thebase.qemuimage.--build,build,bβ Build a package given a.dscfile--login,login,lβ Start a session within thebase.qemu.--execute,execute,eβ Execute a command within thebase.qemu.--dumpconfig,dumpconfigβ Dump configuration information, used for debugging.
β¨ OPTIONS β¨
Most options are the same as pbuilder, no notes. BUT these specific ones get special treatment:
--arch-diskdevicesd/hd β Specify whether the disk device inside the virtual machine is called/dev/sdaor/dev/hda. The possible values are'sd'and'hd'.--smp 2β The option passed to SMP.
I don't think I can support bind-mounts in qemu.
Documentation here should be updated according to what's defined in parameter.c, but it isn't. (not me calling out the docs π)
πΈ CONFIGURATION FILES πΈ
qemubuilder reads the following configuration files per default.
/usr/share/pbuilder/pbuilderrcβ Application default, not to be changed./etc/pbuilderrcβ System-wide default.~/.pbuilderrcβ User default- anything specified with
--configfileoption β Additional configuration at runtime.
π CONFIGURATION FILE OPTIONS π
The possible configuration options are as follows. Others are ignored.
DISTRIBUTION=distributionBUILDRESULT=directoryBUILDPLACE=directoryBASEPATH=pathMIRRORSITE=http://mirrorKERNEL_IMAGE=vmlinuzβ Linux kernel to use.INITRD=initrdβ Initrd to use.ARCHITECTURE=archβ The target architecture.
You can also use ARCH=arch for compatibility with 0.60 or older.
MEMORY_MEGS=256β Memory size to use in qemu session, in MB.ARCH_DISKDEVICE=hdβ The architecture-specific disk device specifier. Most arches usesdthese days. The only exceptions werei386andamd64, which used to usehd.SMP=2β The SMP option for qemu.
π EXAMPLES π
qemubuilder createβ Create abase.qemuimage.qemubuilder updateβ Update thebase.qemuimage.qemubuilder build test_0.1.dscβ Build the package specified in dsc file, with thebase.qemuimage.pdebuild --pbuilder qemubuilderβ Runqemubuilder buildagainst the current directory. The current directory should be an extracted Debian source package directory.
Edit /etc/pbuilderrc to have PDEBUILD_PBUILDER=qemubuilder to make this the default behavior for pdebuild.
qemubuilder create --distribution sid --basepath /var/cache/pbuilder/base-test.qemuβ Create abase.qemuimage with the path/var/cache/pbuilder/base-test.qemuand distributionsid.
Example pbuilderrc for i386:
KERNEL_IMAGE=vmlinuz-2.6.18-4-k7
INITRD=initrd.img-2.6.18-4-k7
ARCHITECTURE=i386
BASEPATH=/home/dancer/tmp/base-i386.qemu
MEMORY_MEGS=256
Note: INITRD may or may not be required for your system. Debian Installer initrd may or may not work depending on which one you choose, use the one from an installed system.
β οΈ CAVEATS β οΈ
Note that for mirror specification, http://localhost/debian/ usually doesn't work, it will be searching for files on the virtual machine itself, not the host OS. so like, don't do that one, ok? π
π AUTHOR π
Junichi Uekawa (dancer@debian.org)
π¦ SEE ALSO π¦
/usr/share/doc/pbuilder/pbuilder-doc.html, pbuilder(8), pdebuild(1)
and that's a wrap, bestie β¨ this page came from the pbuilder manual, dated 2008 Aug 10 β so if something here feels vintage, that's why. go build something iconic ππ
π¦ where this page comes from
- debian bookworm: qemubuilder 0.89 Β· GPL-2.0-or-later
- debian trixie: qemubuilder 0.90 Β· GPL-2.0-or-later
- ubuntu jammy: qemubuilder 0.89 Β· GPL-2.0-or-later
- ubuntu noble: qemubuilder 0.89 Β· GPL-2.0-or-later
- ubuntu questing: qemubuilder 0.90
- ubuntu resolute: qemubuilder 0.90build1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms