forked from mirrored-repos/manjaro-tools
Modified testiso to work with vbox. Now a vbox machine called Manjaro is created if not present, a 10GB of disk is attached at the machine and standard configuration is loaded: This mean 2GB of RAM, UEFI support and other. After run for first time testiso it create also the machine into Vbox gui so easy change the settings if needed. Since this function not work before i push directly in master and if anyone want use it is ready.
Signed-off-by: Ste74 <stefano@manjaro.org>
This commit is contained in:
parent
9ebf14dfcc
commit
64be09421b
1 changed files with 111 additions and 21 deletions
132
bin/testiso.in
132
bin/testiso.in
|
@ -11,29 +11,119 @@
|
|||
|
||||
version=@version@
|
||||
|
||||
if [ $# -eq 0 ]; then
|
||||
echo "
|
||||
usage: testiso <isofile> [id|ic|sd|sc|vd|vc]
|
||||
LIBDIR='@libdir@'
|
||||
|
||||
id boot iso as IDE disk
|
||||
ic boot iso as IDE cd-rom
|
||||
sd boot iso as SCSI disk
|
||||
sc boot iso as SCSI cd-rom
|
||||
vd boot iso as virtio disk
|
||||
vc boot iso as virtio cd-rom
|
||||
"
|
||||
[[ -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
|
||||
|
||||
case "${2}" in
|
||||
id) IF="ide"; MEDIA="disk";;
|
||||
ic) IF="ide"; MEDIA="cdrom";;
|
||||
sd) IF="scsi"; MEDIA="disk";;
|
||||
sc) IF="scsi"; MEDIA="cdrom";;
|
||||
vd) IF="virtio"; MEDIA="disk";;
|
||||
vc) IF="virtio"; MEDIA="cdrom";;
|
||||
*) IF="scsi"; MEDIA="cdrom";;
|
||||
esac
|
||||
vdi_size=10240 # 10GB size
|
||||
|
||||
echo qemu -m 256 -drive file=${1},if=${IF},media=${MEDIA},boot=on
|
||||
qemu -m 256 -drive file=${1},if=${IF},media=${MEDIA},boot=on
|
||||
#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
|
||||
|
||||
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="it_IT" 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
|
||||
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
|
Loading…
Reference in a new issue