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 hevay resources like VSCode.
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
Emulate
and thenLinux
- Select the x86_64 Ubuntu ISO. You must use the version O'Malley has given you
- Set the
RAM
to AT LOT of your total RAM. We recommend at least8GB
if you have 32GB - Set the
CPU Cores
to AT LOT of your total cores. We recommend at least4
if you have an 8-core CPU - Set the
Storage
. We recommend at least32GB
- Set a
Shared Directory Path
. We recommend just using yourDownloads
folder
Post-Setup
Now, there are some other settings you must change to get the best performance.
- Click on the
Settings
button for the VM - Click on
System
and 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 VSCode. This will allow you to use the terminal to push and pull your code, and program on VSCode 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
gh repo push
# Pull your code
gh repo pull
# Create a new branch
gh repo create <branch>
# Switch to a branch
gh repo switch <branch>
# Delete a branch
gh repo delete <branch>