The Template Builder ====================== (applies also to the netvm builder) 1) First, create a clean image of Fedora Linux install. You can use the fedoraize_image script for this: fedorize_image NOTE: The fedorize_image script can be also used to update an image -- it automatically assumes the update mode if the already exists. The fedorize image takes care about creating proper partition table, that contains root and swap partitions, to create the initial rpm database, and install some core packages. We assume that the image will have a two-partition layout: img1 <--- the root fs (/) img2 <--- the swap 2) Update symlinks in rpms_to_install_XXX/ so that they point to the current version of Qubes-specific rpms to install you want to use (e.g. qubes-gui-vm, etc). 3) Now, you can "qubeize" the image. This must be done as root. E.g.: # ./qubeize_image 4) Make sure the symlinks in vm_kernels_XXX/ point to correct kernel and initramfs files you want to use for the template: 4a) In order to prepare a patched initramfs file, use the patch_appvm_initramfs.sh program that is installed as part of qubes-core-dom0.rpm: # /usr/lib/qubes/patch_appvm_initramfs.sh \ \ \ /abs_path/vm-initramfs-patches/qubes_cow_setup.sh 5) Finally, build the Template RPM (do it as normal user, not root), e.g.: $./build_rpm The resulting rpm is stored in rpm/noarch directory.