x86_64 VM
This section provides an overview of setting up an x86_64 VM.
You must create an x86_64 VM that will be used in all of the O'Malley classes. This is a one-time setup that will be used throughout the trilogy.
Important:
x86-64 VMs with a GUI are required. UTM/QEMU emulation is slow, and you may experience crashes with heavy resources like VS Code.
Performance Warning:
If you are using this documentation for Scheduler assignment in OS, you may experience slow performance and crashes.
Pre-requisites
x86_64 Setup
- Open UTM and click the
+button to create a new VM - Select
Emulateand thenLinux - Select the x86_64 Ubuntu ISO. You must use the version O'Malley has given you
- Set the
RAMto A LOT of your total RAM. We recommend at least8GBif you have 32GB - Set the
CPU Coresto A LOT of your total cores. We recommend at least4if you have an 8-core CPU - Set the
Storage. We recommend at least32GB - Set a
Shared Directory Path. We recommend just using yourDownloadsfolder
Post-Setup
Now, there are some other settings you must change to get the best performance.
- Click on the
Settingsbutton for the VM - Click on
Systemand enableForce Multicore - Click
Save
Post-Ubuntu Install
There are some drivers and other utilities you must install.
- Open the terminal and run the following commands:
sudo apt install build-essential
sudo apt install nasm
sudo apt install qemu-system-i386
GitHub CLI Setup
We recommend installing the GitHub CLI rather than VS Code. This will allow you to use the terminal to push and pull your code, and program on VS Code on your Mac.
- Open the terminal and run the following commands:
sudo apt update
sudo apt install gh
- Authenticate with GitHub:
gh auth login
- Follow the prompts to authenticate with GitHub.
Then, you can use the following commands to interact with your GitHub repository:
# Clone your repo
gh repo clone <repo>
cd <repo>
# Push your code
git push
# Pull your code
git pull
# Create and switch to a new branch
git checkout -b <branch>
# Switch to a branch
git checkout <branch>
# Delete a branch
git branch -d <branch>