b5e395d385
(c) 2010 Invisible Things Lab Authors: ========= Joanna Rutkowska <joanna@invisiblethingslab.com> Rafal Wojtczuk <rafal@invisiblethingslab.com> |
||
---|---|---|
appmenus | ||
clean_images | ||
mnt | ||
netvm | ||
qubeized_images | ||
rpm | ||
rpms_to_install_appvm_x64 | ||
rpms_to_install_netvm_x64 | ||
vm_conf_files | ||
vm_initramfs_patches | ||
vm_kernels_appvm_x64 | ||
vm_kernels_netvm_x64 | ||
.gitignore | ||
add_3rd_party_software.sh | ||
build_netvm_rpm | ||
build_template_rpm | ||
create_apps_for_netvm.sh | ||
create_apps_for_templatevm.sh | ||
create_apps_templates_for_netvm.sh | ||
create_apps_templates.sh | ||
mount_root.sh | ||
netvm.spec | ||
qubeize_image | ||
README | ||
templates.spec | ||
TODO | ||
version_appvm | ||
version_netvm |
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.