- Swift 76.1%
- Shell 20.4%
- Makefile 3.5%
| bin | ||
| installer | ||
| src | ||
| .gitignore | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
appleVM Project
The appleVM (or AVM) aims to give users an headless Ubuntu VM on Apple Silicon Macs running with Apple Virtualization Framework which brings nearly native performance. The main program runs with Swift but functionnalities are accessed through Bash scripts.
The project is hosted on GitLab and releases are available on my cdn ATTSCDN
This programs comes with no warranty, use it at your own risk.
Usage
avmstartwill start your VMavmshellwill launch a shell to your VM (it starts your VM if needed)avmstopwill stop your VM (even if shells are opened), it'll kill the VM if necessaryavmserialwill launch your VM with a serial console and in foreground, so killing the process will kill the VM (requires the VM to be stopped), please useshutdowninside the VM to stop it at the endavmsetwill set a new configuration variable to your VMavmset cpu CPUwill set cpu in coresavmset ram RAMwill set ram in MBytes
avmshowwill display your VM current configurationavmmount NAME PATHwill automount PATH (please use an absolute path) at/home/avm/shared/NAMEat bootavmunmount NAMEwill disable automount of NAME shareavminstallwill install a clean VM (requires to have no VM installed, seeavmremove)avmremovewill remove your current VM if it exists
Install
Simply use this command in your terminal : wget -O - https://cdn.attssystem.fr/applevm/installer/install.sh -q | zsh. The same script can be used to update, data of the VM will be saved.
You can watch an example video that shows installation on a blank system at cdn.attssystem.fr
Be careful : The installer will add something to your PATH (it will alter ~/.zshrc) and will add keys to your .ssh/ !
Uninstall
Simply use this command in your terminal : wget -O - https://cdn.attssystem.fr/applevm/installer/uninstall.sh -q | zsh. This script is dangerous, be careful when using it.
Configuration
AVM uses an Ubuntu 22.10 Server for ARM VM. Username is avm and password is avm, password is never required because it allows AVM to send sudo commands (for instance to stop VM).
AVM is using 192.168.65.1/24 network which is only local to your computer, the VM is connected through 192.168.65.2/24 and uses gateway given above.
Connection to the VM is made using SSH with pre-generated keys. During the installation process, new keys are generated and replace the old ones on the VM.
Aliases
The VM comes with presinstalled aliases in ~/.bashrc :
alias shutdown='sudo shutdown -h now'
alias reboot='sudo reboot -h now'
alias ufw='sudo ufw'
alias ports='sudo lsof -i -P -n | grep LISTEN'
alias install='sudo apt install'
alias remove='sudo apt remove'
alias update='sudo apt update'
alias upgrade='sudo apt update && sudo apt upgrade'
alias dist-upgrade='sudo apt dist-upgrade'
alias svim='sudo vim'
alias restart='sudo systemctl restart'
alias start='sudo systemctl start'
alias stop='sudo systemctl stop'
alias status='sudo systemctl status'
alias enable='sudo systemctl enable'
alias disable='sudo systemctl disable'
alias docker-compose='sudo docker-compose'
alias docker='sudo docker'
VM clean install
An archived version of a clean VM is downloadable at : cdn.attssystem.fr. It weighs ~3GB compressed and ~7GB uncompressed.
It is used for installation but can be downloaded at any time.