This is an old revision of the document!
creating Ubuntu based VM Template
Mainly you will need to create Ubuntu VM manually and then do the following steps to the template before converting it to Template
- create new Ubuntu vm and while installing it make sure you do the following steps
- make the boot partition is separate from other partitions (you can choose any file system for it)
- remaining partitions should be lvm based storage be on lvm based storage
so that after you are done installing the following when you do lvdisplay lvdisplay --- Logical volume --- LV Name /dev/ubuntu/root VG Name ubuntu LV UUID FRarW6-pk6o-BibE-dkIy-3c8O-U1l9-en27mC LV Write Access read/write LV Status available # open 1 LV Size 19.39 GiB Current LE 4964 Segments 2 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 254:0 --- Logical volume --- LV Name /dev/ubuntu/swap_1 VG Name ubuntu LV UUID s4PNXH-vtLx-U09C-Ggzn-2wg6-vbFC-qReidn LV Write Access read/write LV Status available # open 1 LV Size 376.00 MiB Current LE 94 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 254:1
and df output is
df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/ubuntu-root 20G 14G 4.8G 74% / tmpfs 751M 0 751M 0% /lib/init/rw udev 737M 76K 737M 1% /dev tmpfs 751M 0 751M 0% /dev/shm /dev/xvda1 228M 16M 201M 8% /boot
<wrap hi>Note: the sizes are not important</wrap>
- now we need to make scripts run automatically on system startup ,
- Ordered List Item
from xenica package get the script files (xenica_assign_ip,xenica_auostart.sh) and put inside /etc/ so that you will have the file locations as follows
/etc/xenica_assign_ip.sh /etc/xenica_auostart.sh
assign the executable mode to the file by the command
chmod +x /etc/xenica_assign_ip.sh chmod +x /etc/xenica_auostart.sh
Open the file /etc/rc.local in edit mode and put the line
/etc/xenica_assign_ip.sh /etc/xenica_auostart.sh
inside /etc/rc.local
- now make sure xentools installed
- install in the vm parted package
apt-get install parted
- do fdisk -ul and write down the number you get in this section
fdisk -ul dev/xvda1 * 2048 499711 248832 83 Linux Partition 1 does not end on cylinder boundary. /dev/xvda2 501758 16775167 8136705 5 Extended
in my case it was 16775167 (the end of /dev/xvda2 partition)
- now open the script at /etc/xenica_assign_ip.sh
and edit the line (echo n; echo p; echo 3; echo 16775168; echo ; echo t; echo 3; echo 8e; echo w) | fdisk -u /dev/xvda to the number you got in step 5 +1
- convert to template