Hi there, I'm working on the same IUnattended idea in a project called jclouds ( http://www.jclouds.org/) and this is the here you can find the initial implementation of the virtualbox adapter https://github.com/jclouds/jclouds/tree/master/sandbox-apis/virtualbox
Our implementation is slightly different: instead of using the floppy disk we are passing a "preseed file" using an embedded jetty server to the OS installer. This uses heavily the method "vboxmanage controlvm vmane keyboardputscancode hex" offered by vbox api, but we have to manually transform every single char into a scancode that simulates a keystroke. (more details here http://www.win.tue.nl/~aeb/linux/kbd/scancodes-1.html) We think that this approach can be more generic and we will appreciate to have support to automatically translate from char to scancode from vbox api. wdyt? Andrea On Sun, Jan 22, 2012 at 11:50 PM, Alexey Eromenko <al4...@gmail.com> wrote: > Hi All, > > [Draft] proposal of new API: > *IVirtualBox::IUnattended* > > My vbox-unattended project is progressing well, now at v0.6.3 BETA: > https://forums.virtualbox.org/viewtopic.php?f=10&t=46798&p=214565#p214565 > > ----------------- > Currently I am aware of 4 projects trying to achieve Unattended installs > with VirtualBox, to varying degrees (openSUSE openQA, Technologov's > vbox-unattended, pallet, vagrant-VeeWee) > In order to remove duplicate of effort, it is a good idea to implement > this at the Main API level. It will let GUI, CLI and python users alike to > share same code, and, more importantly, customize to own needs. > > The low-level stuff is pretty similar to my "libunattended.cpp". > > What should it do ? > > /* Generic functions: */ > Low-level: > This one will replace 4 parameters: user, password, ProductKey, arch. > Input file = template_script, outfile = MachineFolder/target_script > prepareGenericScript() > This one will create a FAT12-formatted floppy image at given path, like > MachineFolder/floppy.img > prepareFormattedFloppy() > This one will copy up to 2 files into a given FAT12-formatted floppy image > (we don't need more than 2) > copyFilesToFloppy(file1, file2) > This will extract Linux Guest Additions: > extractLinuxAdditionsFromISO() > This is a generic function to crate bootable Linux ISO image with ISOLINUX > bootloader and unattended script: > prepareUnattendedLinuxCD() > > /* Guest OS specific functions: */ > Low-level: > prepareRHELScript() <-- similar to prepareGenericScript(), but more RHEL > specifics. > extractFromRedHatISO( path_to_ISO ) <-- extracting Linux kernel, initrd > and isolinux bootloader, Red Hat-way. > extractFromDebianISO( path_to_ISO ) <-- extracting Linux kernel, initrd > and isolinux bootloader, Debian-way. > extractFromSuseISO( path_to_ISO ) <-- extracting Linux kernel, initrd and > isolinux bootloader, SUSE-way. > > High-level: > constructUnattendedScript( IGuestOSType ) <-- will edit scripts > automatically, and put them into correct places ( MachineFolder/... ) > NOTE: between those 2 stages, it is possible for the API user to edit > those files, either manually (in case of VBoxManage CLI user) or via stream > editor, such as "sed". This will give us pretty customizable solution. > packageUnattendedScript( IGuestOSType? ) <-- will copy into floppy / CD > images, and put them into correct places ( MachineFolder/... ) > > Windows guests do not need any specifics, because the generic functions > are sufficient for them. > It will auto-detect VM folder, and put ready scripts and ready images > there, by using IVirtualBox::composeMachineFilename() and similar helpers... > > -- > -Alexey Eromenko "Technologov" > > _______________________________________________ > vbox-dev mailing list > vbox-dev@virtualbox.org > https://www.virtualbox.org/mailman/listinfo/vbox-dev > > -- Caselle da 1GB, trasmetti allegati fino a 3GB e in piu' IMAP, POP3 e SMTP autenticato? GRATIS solo con Email.it http://www.email.it/f Sponsor: Conto Arancio al 4,20%. Soldi sempre disponibili, zero spese, aprilo in due minuti! Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=11923&d=23-1
_______________________________________________ vbox-dev mailing list vbox-dev@virtualbox.org https://www.virtualbox.org/mailman/listinfo/vbox-dev