github.com/caos/orbos@v1.5.14-0.20221103111702-e6cd0cea7ad4/examples/orbiter/static/virtualbox/machine.sh (about) 1 #!/usr/bin/env bash 2 3 machineName=$1 4 kickstartFile=$2 5 publicKeyPath=$3 6 tmpFolder=$4 7 image=$5 8 9 mkdir -p ${tmpFolder} 10 11 baseFolder=${tmpFolder}/vms 12 mkdir -p ${baseFolder} 13 14 ######################################################################################################################## 15 # VM 16 ######################################################################################################################## 17 VBoxManage createvm --name ${machineName} --ostype "RedHat_64" --register --basefolder ${baseFolder} 18 VBoxManage modifyvm ${machineName} \ 19 --cpus 2 \ 20 --ioapic on \ 21 --memory 2048 \ 22 --vram 20 \ 23 --nic1 bridged \ 24 --nictype1 82540EM \ 25 --audioout off \ 26 --graphicscontroller vmsvga \ 27 --bridgeadapter1 en0 28 29 machineFolder=${baseFolder}/${machineName} 30 diskPath=${machineFolder}/DISK.vdi 31 controllerNameDisk="SATAController" 32 controllerNameImage="IDEController" 33 diskSize=8000 34 35 ######################################################################################################################## 36 # os disk 37 ######################################################################################################################## 38 VBoxManage createmedium --filename ${diskPath} --size ${diskSize} --format VDI 39 VBoxManage storagectl ${machineName} \ 40 --name "${controllerNameDisk}" \ 41 --add sata \ 42 --controller IntelAHCI 43 VBoxManage storageattach ${machineName} \ 44 --storagectl "${controllerNameDisk}" \ 45 --port 0 \ 46 --device 0 \ 47 --type hdd \ 48 --medium ${diskPath} 49 50 ######################################################################################################################## 51 # kickstart volume 52 ######################################################################################################################## 53 54 diskFolder="${tmpFolder}/kickstart" 55 kickstartFilePath="${diskFolder}/ks.cfg" 56 57 mkdir -p ${diskFolder} 58 ORBITER_BOOTSTRAP_PUBLICKEY="$(cat ${publicKeyPath})" envsubst < ${kickstartFile} > ${kickstartFilePath} 59 60 kickstartDisk="${machineFolder}/OEMDRV.dmg" 61 convertedKickstartDisk="${machineFolder}/OEMDRV.vmdk" 62 63 hdiutil create -megabytes 4 -format UDIF -fs MS-DOS -volname OEMDRV -srcfolder ${diskFolder} -ov ${kickstartDisk} 64 VBoxManage internalcommands createrawvmdk -filename ${convertedKickstartDisk} -rawdisk ${kickstartDisk} 65 #rm ${kickstartDisk} 66 VBoxManage storageattach ${machineName} \ 67 --storagectl "${controllerNameDisk}" \ 68 --port 1 \ 69 --device 0 \ 70 --type hdd \ 71 --medium "${convertedKickstartDisk}" \ 72 --hotpluggable on 73 74 ######################################################################################################################## 75 # installation image 76 ######################################################################################################################## 77 imagePath=${tmpFolder}/images/${image} 78 VBoxManage storagectl ${machineName} \ 79 --name "${controllerNameImage}" \ 80 --add ide \ 81 --controller PIIX4 82 VBoxManage storageattach ${machineName} \ 83 --storagectl "${controllerNameImage}" \ 84 --port 0 \ 85 --device 0 \ 86 --type dvddrive \ 87 --medium "${imagePath}" 88 89 VBoxManage modifyvm ${machineName} \ 90 --boot1 dvd \ 91 --boot2 disk \ 92 --boot3 none \ 93 --boot4 none