Index of Categories
Normally on Eucalyptus, when you want to run a new image you need three components ( kernel / ramdisk / disk image ). Each components need to be bundled / uploaded / registered. They gave you respectively an eki / eri / emi. You then register your emi with the correct eki / eri. This process is time consuming and can be error prone.
The following kernel / ramdisk is able to boot any images which has got a grub1 or grub2 correctly configured in either grub.conf / menu.lst / grub.cfg. It initially boots the image with this kernel and then reads grub configuration file to discover kernel configured within the image and kexec into this kernel.
For now, you can download directly from Github (permanent location soon):
wget -O vmlinuz https://github.com/monolive/euca-single-kernel/blob/master/examples/vmlinuz?raw=true wget -O initrd-kexec https://github.com/monolive/euca-single-kernel/blob/master/examples/initrd-kexec_load?raw=true
Before being available, you will need to register them on your eucalyptus cloud.
euca-bundle-image --kernel true -i <kernel filename> euca-upload-bundle -m <manifest> -b <bucket> euca-register <bucket>/<manifest> euca-bundle-image --ramdisk true -i <ramdisk filename> euca-upload-bundle -m <manifest> -b <bucket> euca-register <bucket>/<manifest>
You aren't required to do the step of setting the eki / eri as the default, but if you don't, you still have to associate every emi you register with this eki/eri pair, and who wants to do that?
euca-modify-property -p cloud.images.defaultkernelid=<eki> euca-modify-property -p cloud.images.defaultramdiskid=<eri>
There's plenty of prepackaged cloud images available from various places. We've got a list of Kexec images that we've done some rudimentary testing on.
Yes, now profit by not having to specify kernel and ramdisk for every image you register. If you use an image created by one of the popular image creation tools, which puts a kernel, a useful ramdisk & a grub config inside the filesystem, they should Just Work.
bzr branch lp:~smoser/+junk/kexec-loader
cp -ax kexec-loader/conf/* /etc/initramfs-tools
update-initramfs -c -k `uname -r`
NB: Make sure to have kexec installed (kexec-tools)
code on Github | bugs on Jira | questions on StackOverflow | discussions on Quora | videos on Vimeo | presentations on Slideshare | tweets on Twitter | friends on Facebook | contacts on LinkedIn | +1s on Google Plus
All content copyright Eucalyptus Systems, 2013. Made available under the CC-BY-3.0-US license.