Go to file
2010-09-20 11:28:19 +02:00
appmenus Initial public commit. 2010-04-06 00:25:37 +02:00
base_rpms the fedorize_image script 2010-06-19 02:27:12 +02:00
clean_images Add NetworkManager-gnome to netvm packages list 2010-09-20 11:28:19 +02:00
keys the fedorize_image script 2010-06-19 02:27:12 +02:00
mnt Initial public commit. 2010-04-06 00:25:37 +02:00
netvm Initial public commit. 2010-04-06 00:25:37 +02:00
qubeized_images Initial public commit. 2010-04-06 00:25:37 +02:00
rpm Initial public commit. 2010-04-06 00:25:37 +02:00
rpms_to_install_appvm_x64 appvm: use kernel-2.6.32.14-1.2.105a.pvops0.qubes.x86_64 2010-06-30 13:01:02 +02:00
rpms_to_install_netvm_x64 netvm: remove unnecessary rpms to install 2010-06-22 01:45:14 +02:00
vm_conf_files dispvm-prerun.sh minor updates 2010-07-30 16:42:17 +02:00
vm_initramfs_patches Add "modprobe xenblk" to qubes_cow_setup.sh 2010-07-21 17:03:22 +02:00
vm_kernels_appvm_x64 appvm: use kernel-2.6.32.14-1.2.105a.pvops0.qubes.x86_64 2010-06-30 13:01:02 +02:00
vm_kernels_netvm_x64 Update symlinks in vm_kernels_* 2010-06-19 02:27:25 +02:00
.gitignore Initial public commit. 2010-04-06 00:25:37 +02:00
add_3rd_party_software.sh Initial public commit. 2010-04-06 00:25:37 +02:00
appvm.buildlog appvm version 1.1.3 2010-06-30 13:03:23 +02:00
build_netvm_rpm Initial public commit. 2010-04-06 00:25:37 +02:00
build_template_rpm Initial public commit. 2010-04-06 00:25:37 +02:00
cleanup_image Add cleanup_image script 2010-09-17 18:08:12 +02:00
create_apps_for_netvm.sh Initial public commit. 2010-04-06 00:25:37 +02:00
create_apps_for_templatevm.sh Initial public commit. 2010-04-06 00:25:37 +02:00
create_apps_templates_for_netvm.sh Initial public commit. 2010-04-06 00:25:37 +02:00
create_apps_templates.sh Initial public commit. 2010-04-06 00:25:37 +02:00
dispvm-dotfiles.tbz dispvm-dotfiles.tbz updated 2010-07-30 16:41:38 +02:00
fedorize_image fedorize_image: use tar --sparse instead og bzip2 for cleanstarter.img 2010-06-20 22:42:39 +02:00
mount_root.sh Initial public commit. 2010-04-06 00:25:37 +02:00
netvm.spec {template,netvm}.spec: use own vm_kernels_{appvm, netvm} directory 2010-06-19 02:27:25 +02:00
qubeize_image_appvm Copy dispvm-dotfiles.tbz to /etc of the TemplateVM 2010-07-27 14:01:54 +02:00
qubeize_image_netvm qubes_image: split into *_appvm and *_netvm 2010-06-19 02:27:25 +02:00
README Add cleanup_image script 2010-09-17 18:08:12 +02:00
rpms_to_install_appvm qubes_image: split into *_appvm and *_netvm 2010-06-19 02:27:25 +02:00
rpms_to_install_netvm qubes_image: split into *_appvm and *_netvm 2010-06-19 02:27:25 +02:00
templates.spec Add dispvm-prerun.sh script to template rpm 2010-07-27 15:04:56 +02:00
TODO Initial public commit. 2010-04-06 00:25:37 +02:00
version_appvm appvm version 1.1.3 2010-06-30 13:03:23 +02:00
version_netvm version 1.1.0 2010-06-19 02:27:25 +02:00
vm_kernels_appvm {template,netvm}.spec: use own vm_kernels_{appvm, netvm} directory 2010-06-19 02:27:25 +02:00
vm_kernels_netvm {template,netvm}.spec: use own vm_kernels_{appvm, netvm} directory 2010-06-19 02:27:25 +02:00

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 <image> <file-with-packets-lists>

NOTE: The fedorize_image script can be also used to update an image -- it
automatically assumes the update mode if the <image> 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 <img> <template-name>

3a) You should remove yum cached files, and override unused block with
zeroes, via
# ./cleanup_image qubeized_images/name-root.img

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 \
	<original_initrafms> \
	 <filename_for_patched_initramfs> \
	 /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 <name>

The resulting rpm is stored in rpm/noarch directory.