3d29788c40
Signed-off-by: Ste74 <stefano@manjaro.org>
133 lines
4.6 KiB
Bash
133 lines
4.6 KiB
Bash
#!/bin/bash
|
|
#
|
|
# This program is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; version 2 of the License.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
|
|
version=@version@
|
|
|
|
LIBDIR='@libdir@'
|
|
|
|
[[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh
|
|
|
|
import ${LIBDIR}/util.sh
|
|
|
|
if [ $# -eq 0 ]; then
|
|
msg "No <profile>"
|
|
msg2 "Usage: testiso <profile>"
|
|
exit 1
|
|
fi
|
|
|
|
vdi_size=10240 # 10GB size
|
|
|
|
#Check if already exist virtual disk and in case create it
|
|
if [[ -e ~/VirtualBox\ VMs/Manjaro/Manjaro.vbox ]]; then
|
|
msg "Manjaro Virtual Machine Found"
|
|
else
|
|
msg "We create a new VirtualBox Machine called Manjaro"
|
|
msg2 "We create a new Virtual Disk Image ( vdi ) with ${vdi_size}GB"
|
|
VBoxManage createmedium disk --filename ~/VirtualBox\ VMs/Manjaro/Manjaro.vdi --size ${vdi_size} --format VDI --variant Fixed
|
|
|
|
UUID=$(VBoxManage showhdinfo ~/VirtualBox\ VMs/Manjaro/Manjaro.vdi | awk 'NR == 1 {print $2}') #uuid of vdi disk
|
|
gui_lang=$(awk -F'[.=]' '/LANG/ {print $2}' /etc/locale.conf)
|
|
|
|
echo '<?xml version="1.0"?>
|
|
<!--
|
|
** DO NOT EDIT THIS FILE.
|
|
** If you make changes to this file while any VirtualBox related application
|
|
** is running, your changes will be overwritten later, without taking effect.
|
|
** Use VBoxManage or the VirtualBox Manager GUI to make changes.
|
|
-->
|
|
<VirtualBox xmlns="http://www.virtualbox.org/" version="1.16-linux">
|
|
<Machine uuid="{d5d29291-32e4-4c8e-9633-ecc0511966da}" name="Manjaro" OSType="ArchLinux_64" snapshotFolder="Snapshots" lastStateChange="2019-08-17T15:20:11Z">
|
|
<MediaRegistry>
|
|
<HardDisks>
|
|
<HardDisk uuid="{UUID}" location="Manjaro.vdi" format="VDI" type="Normal"/>
|
|
</HardDisks>
|
|
</MediaRegistry>
|
|
<Hardware>
|
|
<CPU>
|
|
<PAE enabled="false"/>
|
|
<LongMode enabled="true"/>
|
|
<X2APIC enabled="true"/>
|
|
<HardwareVirtExLargePages enabled="false"/>
|
|
</CPU>
|
|
<Memory RAMSize="2048"/>
|
|
<Firmware type="EFI"/>
|
|
<HID Pointing="USBTablet"/>
|
|
<Display VRAMSize="16" accelerate3D="true"/>
|
|
<VideoCapture file="." fps="25"/>
|
|
<BIOS>
|
|
<IOAPIC enabled="true"/>
|
|
</BIOS>
|
|
<USB>
|
|
<Controllers>
|
|
<Controller name="OHCI" type="OHCI"/>
|
|
</Controllers>
|
|
</USB>
|
|
<Network>
|
|
<Adapter slot="0" enabled="true" MACAddress="080027967634" type="82540EM">
|
|
<NAT/>
|
|
</Adapter>
|
|
</Network>
|
|
<AudioAdapter codec="AD1980" driver="Pulse" enabled="true" enabledIn="false"/>
|
|
<RTC localOrUTC="UTC"/>
|
|
<GuestProperties>
|
|
<GuestProperty name="/VirtualBox/HostInfo/GUI/LanguageID" value="gui_lang" timestamp="1566055357633717000" flags=""/>
|
|
</GuestProperties>
|
|
</Hardware>
|
|
<StorageControllers>
|
|
<StorageController name="IDE" type="PIIX4" PortCount="2" useHostIOCache="true" Bootable="true">
|
|
<AttachedDevice passthrough="false" type="DVD" hotpluggable="false" port="1" device="0"/>
|
|
</StorageController>
|
|
<StorageController name="SATA" type="AHCI" PortCount="1" useHostIOCache="false" Bootable="true" IDE0MasterEmulationPort="0" IDE0SlaveEmulationPort="1" IDE1MasterEmulationPort="2" IDE1SlaveEmulationPort="3">
|
|
<AttachedDevice type="HardDisk" hotpluggable="false" port="0" device="0">
|
|
<Image uuid="{UUID}"/>
|
|
</AttachedDevice>
|
|
</StorageController>
|
|
</StorageControllers>
|
|
</Machine>
|
|
</VirtualBox>' > ~/VirtualBox\ VMs/Manjaro/Manjaro.vbox
|
|
|
|
sed -i "s/UUID/$UUID/g" ~/VirtualBox\ VMs/Manjaro/Manjaro.vbox
|
|
sed -i "s/gui_lang/$gui_lang/g" ~/VirtualBox\ VMs/Manjaro/Manjaro.vbox
|
|
|
|
VBoxManage registervm ~/VirtualBox\ VMs/Manjaro/Manjaro.vbox #register the manjaro vbox machine
|
|
fi
|
|
|
|
|
|
VBoxManage storageattach Manjaro --storagectl IDE --port 1 --device 0 --medium emptydrive #empty the dvd drive
|
|
sleep 1
|
|
|
|
load_user_info
|
|
|
|
load_config "${USERCONFDIR}/manjaro-tools.conf" || load_config "${SYSCONFDIR}/manjaro-tools.conf"
|
|
|
|
run_dir=${cache_dir_iso}
|
|
dist_number=${dist_release}
|
|
|
|
iso_dir=$(find ${run_dir} -type d -iname $1)
|
|
|
|
iso=${iso_dir}/${dist_number}
|
|
|
|
if [[ -e $(ls ${iso}/*.iso) ]]; then
|
|
iso_name=$(ls ${iso}/*.iso)
|
|
else msg "No ISO to load present"
|
|
exit 1
|
|
fi
|
|
|
|
VBoxManage storageattach Manjaro --storagectl IDE --port 1 --device 0 --type dvddrive --medium $iso_name #attach dvd manjaro iso
|
|
|
|
sleep 1
|
|
|
|
msg2 "Run Vbox Manjaro with ${iso_name}"
|
|
|
|
sleep 2
|
|
|
|
VBoxManage startvm Manjaro #run vbox machine
|
|
|