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

Reply via email to