Go to file
Joanna Rutkowska b5e395d385 Initial public commit.
(c) 2010 Invisible Things Lab

Authors:
=========
Joanna Rutkowska <joanna@invisiblethingslab.com>
Rafal Wojtczuk  <rafal@invisiblethingslab.com>
2010-04-06 00:25:37 +02:00
appmenus Initial public commit. 2010-04-06 00:25:37 +02:00
clean_images Initial public commit. 2010-04-06 00:25:37 +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 Initial public commit. 2010-04-06 00:25:37 +02:00
rpms_to_install_netvm_x64 Initial public commit. 2010-04-06 00:25:37 +02:00
vm_conf_files Initial public commit. 2010-04-06 00:25:37 +02:00
vm_initramfs_patches Initial public commit. 2010-04-06 00:25:37 +02:00
vm_kernels_appvm_x64 Initial public commit. 2010-04-06 00:25:37 +02:00
vm_kernels_netvm_x64 Initial public commit. 2010-04-06 00:25:37 +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
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
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
mount_root.sh Initial public commit. 2010-04-06 00:25:37 +02:00
netvm.spec Initial public commit. 2010-04-06 00:25:37 +02:00
qubeize_image Initial public commit. 2010-04-06 00:25:37 +02:00
README Initial public commit. 2010-04-06 00:25:37 +02:00
templates.spec Initial public commit. 2010-04-06 00:25:37 +02:00
TODO Initial public commit. 2010-04-06 00:25:37 +02:00
version_appvm Initial public commit. 2010-04-06 00:25:37 +02:00
version_netvm Initial public commit. 2010-04-06 00:25:37 +02:00

The Template Builder
======================

(applies also to the netvm builder)

1) get a clean image of a Linux install (e.g. by using virt-install) NOTE: 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 so that they point to the current version
of rpms to install

3) Now, you can "qubeize" the image. This must be done as root. E.g.:

# ./qubeize_image clean_images/some_image.img f12-x64-compact

4) Make sure the symlinks in vm_kernels point to correct kernel and initramfs
files.

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 


4b) Manually adjust the appmenus

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.