Intelligent Desktop Virtualization (IDV) for Education

ID Date Version Classification
824808 06/26/2025 1.3.13-3.1 Public
Document Table of Contents

On ADL IDV Build Server

Follow the instructions below to generate the IDV Guest installer ISO file. The installer simplifies the IDV Guest setup process.

  1. Launch the Terminal application and create a project folder.

  2. mkdir -p ~/iso/guest
  3. Launch Cubic and click the folder icon to choose the project folder created from Step 1 to store the output ISO file. Click Select and click Next.
  4. image37.png

  5. In the Filename field, choose the pre-downloaded Ubuntu Desktop ISO file (Ubuntu 22.04.4 for MTL), then click Next. Cubic will decompress the ISO file content into the project folder.
  6. image38.png

  7. Customize the file system by entering these instructions in Table 7 into the virtual environment terminal.
  8. image39.png

    Table 7. Instructions to Customize File System of IDV Guest (Ubuntu)


    # Copy and unzip idv-v1.3.13.zip
    mkdir -p /opt/idv
    cd /opt/idv

    # Copy IDV package, SRIOV package and artifact package
    scp sysadmin@localhost:~/idv_setup/*.zip .
    unzip idv-v1.3.13.zip
    chmod +x ./setup.idvguest.cubic.sh

    # Run setup script to start provisioning idvhost with server IP argument

    # Optional: Run the script with proxy arguments if the environment require proxy

    # Optional: Add the password argument if wish to change the default password

    # Default password for idvuser is “Intel@123”
    ./setup.idvguest.cubic.sh --http_proxy <http_proxy> --https_proxy <https_proxy> --no_proxy <no_proxy>
    Note:If you observed an error message as ERROR couldn't connect to zsys daemon, ignore it and proceed to Step 5.
  9. Click Next to proceed.
  10. Remove the gnome-initial-setup package by checking the checkbox for both Standard and Minimal options. Click Next to proceed.
  11. image40.png

  12. Enable automatic installation by configuring ubuntu.seed. Click the Preseed tab > select ubuntu.seed on the left drop-down list. Update the content to the configurations below. The content for the preseed can also be found in /opt/idv/artifact/idvguest/preseed.txt.
  13. image41.png


    ubiquity ubiquity/download_updates boolean false
    ubiquity ubiquity/use_nonfree boolean false
    d-i debian-installer/language string en
    d-i debian-installer/locale string en_US.UTF-8
    d-i debian-installer/country string MY
    d-i console-setup/ask_detect boolean false
    d-i console-setup/layoutcode string us
    d-i keyboard-configuration/xkb-keymap select us
    d-i keyboard-configuration/variant select English (US)
    d-i keyboard-configuration/layoutcode select us
    d-i keyboard-configuration/modelcode select pc105
    d-i netcfg/choose_interface select auto
    d-i netcfg/get_hostname string idvguest
    d-i netcfg/get_domain string localdomain
    d-i netcfg/wireless_wep string
    d-i mirror/country string MY
    d-i mirror/http/hostname string my.archive.ubuntu.com
    d-i mirror/http/directory string /ubuntu
    d-i mirror/http/mirror select my.archive.ubuntu.com
    d-i clock-setup/utc-auto boolean true
    d-i clock-setup/utc boolean true
    d-i clock-setup/ntp boolean true
    d-i time/zone string Asia/Kuala_Lumpur
    d-i partman-auto/init_automatically_partition select biggest_free
    d-i partman-auto/method string regular
    d-i partman-lvm/device_remove_lvm boolean true
    d-i partman-md/device_remove_md boolean true
    d-i partman-auto/choose_recipe select atomic
    d-i partman-partitioning/confirm_write_new_label boolean true
    d-i partman/choose_partition select Finish partitioning and write changes to disk
    d-i partman/confirm boolean true
    d-i partman/confirm_nooverwrite boolean true
    d-i passwd/user-fullname string idvuser
    d-i passwd/username string idvuser
    d-i passwd/user-password-crypted password $1$/TEtBqkw$7RPdA4NxKzFuySLsckiWW1
    d-i user-setup/allow-password-weak boolean true
    d-i user-setup/encrypt-home boolean false
    tasksel tasksel/first multiselect ubuntu-desktop
    d-i pkgsel/include string openssh-server git-core
    d-i pkgsel/upgrade select none
    d-i pkgsel/update-policy select none
    d-i grub-installer/only_debian boolean true
    d-i grub-installer/with_other_os boolean true
    d-i finish-install/reboot_in_progress note
    ubiquity ubiquity/reboot boolean true
  14. Configure the grub settings. Click the Boot tab > select grub.cfg on the left drop-down list. Update the content to the configurations below. The content can also be found in /opt/idv/artifact/idvguest/grub.txt. Click Next to proceed.

  15. set timeout=5

    loadfont unicode

    set menu_color_normal=white/black
    set menu_color_highlight=black/light-gray

    menuentry "Autoinstall IDV Guest" {
    set gfxpayload=keep
    linux        /casper/vmlinuz auto=true noprompt boot=casper file=/cdrom/preseed/ubuntu.seed automatic-ubiquity quiet splash ---
    initrd        /casper/initrd.gz
    }
    grub_platform
  16. Click Generate to create the custom ISO file. The ISO image will be generated and stored in the path set in Step 1.
  17. Once done, check the Delete all project files checkbox and click Close to close the Cubic.
  18. The IDV Guest ISO image must be converted to qcow2 format to be booted by libvirt. Launch Virtual Machine Manager.
  19. image42.png

  20. Click the Add New VM icon.
  21. image43.png

  22. Select Local install media (ISO image or CDROM). Click Forward to proceed.
  23. image44.png

  24. Click Browse.
  25. image45.png

  26. Click Browse Local and navigate to the path of the custom iso file: ~/iso/guest/.iso > Click Open
  27. image46.png

  28. If the operation system is not detected automatically, uncheck the Automatically detect from the installation media/source checkbox and manually type the name of the operating system in the text box. Click Forward to proceed.
  29. image47.png

  30. *Optional: If this error pops up. Click YES.
  31. image48.png

  32. Enter the appropriate CPU and memory resources for the VM. The recommended minimum memory size for Linux VM is 4 GB. Click Forward to proceed.
  33. image49.png

  34. Select the Select or create custom storage option > click Manage.
  35. image50.png

  36. Select the default directory on the left to store the VM image file > click the Add icon.
  37. image51.png

  38. In the Name field, enter ubuntu_​22, in the Format field, select the qcow2 option. Specify the appropriate file size to allocate to the VM disk image and check the Allocate entire volume now checkbox > click Finish to proceed.
  39. image52.png

  40. Select the VM disk image file created in the previous step, click Choose Volume, and click Forward.
  41. image53.png

  42. On the final page, click Finish to begin the installation of the guest operating system.
  43. image54.png

  44. Follow the instructions on the operating system installer to complete the installation process.
  45. After successfully installing the Ubuntu VM, the auto-install process will begin on the first boot of the VM. The process will take a few minutes and involve two reboots.
  46. Note:Do not login to idvuser, the VM will auto-login after restart.
  47. Check for the presence of /opt/idv/auto-install.idvguest.stage2.done file on the Ubuntu VM, which indicates the completion of the auto-install process.

  48. ls /opt/idv/auto-install.idvguest.stage2.done
  49. Shut down the Ubuntu VM after completing the setup.
  50. On the IDV Server, execute the instruction below to copy the VM disk image file from /var/lib/libvirt/images to /home/idvuser/imgs.
    sudo /opt/idv/scripts/update-img.idvserver.sh --path /var/lib/libvirt/images/ubuntu_22.qcow2 --os ubuntu