updated draft:
According to Klaus' recommendation, I have rebased this class on IMachine,
so it becomes IMachine::IUnattended
/* Attributes: */
*BSTR user* (R/W) <-- create a new user, named <user>.
*BSTR password* (R/W) <-- password is both for normal user and for
Administrator / 'root' accounts.
*BSTR ProductKey* (R/W) <-- must have notation:
"12345-12345-12345-12345-12345". Windows guests only.
*BSTR ISOpath* (R/W) <-- a full path to original OS ISO.
*BOOL UnattendedGuestAdditions* <-- add an option to enable / disable
automated guest OS additions install.
/**
* Generates Guest-OS-specific unattended scripts (depending on
IMachine::OSTypId),
* and puts them into the MachineFolder/...
*
* The parameters are replaced according to IUnattended attributes.
*
* The API user can edit, customize or completely replace those scripts,
* before final packaging.
* The unattended scripts are text files, that have Guest-OS-specific
format.
*
* What gets generated ?
*
* Windows NT 5.x:
* MachineFolder/winnt.sif
* Windows NT 6.x:
* MachineFolder/autounattend.xml
* Red Hat:
* MachineFolder/ks.cfg
* MachineFolder/isolinux.cfg
* Debian:
* MachineFolder/preseed.cfg
* MachineFolder/isolinux.cfg
* SUSE:
* MachineFolder/autoinst.xml
* MachineFolder/isolinux.cfg
*/
*IUnattended::ConstructUnattendedScript()*
{
}
/**
* This function finalizes the task of the Unattended pipeline.
* Packages Guest-OS-specific unattended scripts into CD bootable ISOs,
* and into floppies, depending on IMachine::OSTypId.
*
* Windows guests automatically read their unattended config files from
* a floppy disk, and so do not require custom bootable medium.
*
* Linux guests:
* Because Linux guests do not automatically read their unattended scripts,
* We must generate bootable CD on the fly for them.
* In order to make CDs bootable, we first extract boot files from Linux
OSes,
* namely: Linux kernel, initrd, isolinux bootloader. Read: [boot contents]
* Plus we extract LinuxAdditions from the Guest Additions ISO, and
* also package this together on the bootable ISO.
*
* What gets generated ?
*
* Windows NT 5.x:
* MachineFolder/floppy_script.img
* Windows NT 6.x:
* MachineFolder/floppy_script.img
* Red Hat:
* MachineFolder/redhat_boot.iso
* MachineFolder/bootiso/[boot contents]
* Debian:
* MachineFolder/debian_boot.iso
* MachineFolder/bootiso/[boot contents]
* MachineFolder/floppy_script.img
* SUSE:
* MachineFolder/suse_boot.iso
* MachineFolder/bootiso/[boot contents]
*/
*IUnattended::PackageUnattendedScript()*
{
}
--
-Alexey Eromenko "Technologov"
_______________________________________________
vbox-dev mailing list
[email protected]
https://www.virtualbox.org/mailman/listinfo/vbox-dev