Go to file
Joanna Rutkowska e96bf8e4c1 version 1.2.1
2011-03-24 13:04:44 +01:00
appmenus Build universal (appvm,netvm,proxyvm), cow-based template 2011-03-16 09:52:21 +01:00
base_rpms the fedorize_image script 2010-06-19 02:27:12 +02:00
clean_images Leave tar-ed volatile.img (#118) 2011-03-24 13:04:43 +01:00
fedorized_images fedorized_images/ is a useful tmp directory, keep it in git 2011-03-24 13:04:43 +01: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 Use xterm instead of konsole in netvm appmenus 2010-10-04 12:38:15 +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_3rd_party Keep 3rd party RPMs in the repo 2010-09-23 00:53:55 +02:00
rpms_to_install_x64 core/gui rpms update 2011-03-24 13:04:43 +01:00
template Make templatevm's appmenus to start programs as root 2010-10-04 17:54:45 +02:00
vm_conf_files Use standaloneVM's own kernel - not template's one 2011-03-24 13:04:43 +01:00
vm_initramfs_patches Create template with plain root.img without partitions (#118) 2011-03-24 13:04:43 +01:00
vm_kernels_x64 Build universal (appvm,netvm,proxyvm), cow-based template 2011-03-16 09:52:21 +01:00
.gitignore Add backup files to gitignore 2011-03-02 12:25:04 +01:00
add_3rd_party_software.sh Keep 3rd party RPMs in the repo 2010-09-23 00:53:55 +02:00
appvm.buildlog appvm version 1.1.3 2010-06-30 13:03:23 +02:00
build_template_rpm Initial public commit. 2010-04-06 00:25:37 +02:00
cleanup_image Create template with plain root.img without partitions (#118) 2011-03-24 13:04:43 +01:00
create_apps_for_templatevm.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 Create template with plain root.img without partitions (#118) 2011-03-24 13:04:43 +01:00
mount_root.sh Initial public commit. 2010-04-06 00:25:37 +02:00
qubeize_image Create template with plain root.img without partitions (#118) 2011-03-24 13:04:43 +01:00
README Build universal (appvm,netvm,proxyvm), cow-based template 2011-03-16 09:52:21 +01:00
rpms_to_install Build universal (appvm,netvm,proxyvm), cow-based template 2011-03-16 09:52:21 +01:00
templates.spec Add standalone-template.conf to rpm 2011-03-24 13:04:43 +01:00
TODO Initial public commit. 2010-04-06 00:25:37 +02:00
version_appvm version 1.2.1 2011-03-24 13:04:44 +01:00
vm_kernels Build universal (appvm,netvm,proxyvm), cow-based template 2011-03-16 09:52:21 +01:00

The Template 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>

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.