Oracle Cloud Infrastructure
netboot.xyz can be loaded on OCI compute instances so that you can then customize the compute instance as needed.
For this method, we'll use the standard Ubuntu image for the relevant architecture.
Create a compute instance
When creating an instance, make sure to select:
- Image: Ubuntu > Canonical Ubuntu (standard, not minimal)
Take note of which shape you take, as it will determine further steps:
- AMD (
x86_64
) - Ampere A1 (
arm64
)
Set up SSH keys! You will need to log into the server and there is no default password.
We assume you know how to use SSH keys.
Get into the rescue shell
First get onto your compute instance's details page, then scroll down to Resources
under which you'll find Console connection
.
To get into the rescue shell, we recommend you use the Cloud Shell, and not bother with a local connection
. To do so, click on Launch Cloud Shell connection
and wait for the console connection status to reach the ACTIVE
state. Be patient, it can take a minute or two.
You do not need to log in, as we'll only use it control the UEFI Firmware.
Download the EFI binary, Setup GRUB and Reboot into UEFI
Now that you have the rescue shell open, you need to open a SSH connection to entere the following commands, as there is no default password.
Follow the instructions depending on which architecture/shape you chose earlier: arm64
or x86_64
.
The rescue shell over the Oracle Cloud Shell can be somewhat buggy, for instance, you might have to press the Escape key twice instead of only once when in netboot.xyz
arm64
- Ampere A1
These steps apply to the Ampere A1 (arm64
) instances.
The default GRUB configuration already contains the UEFI Firmware
option, so we only have to download netboot.xyz and reboot into the correct option.
# Download netboot (arm64) into the EFI directory
sudo wget -O /boot/efi/netboot.xyz-arm64.efi https://boot.netboot.xyz/ipxe/netboot.xyz-arm64.efi
# Set the default boot entry (for the following boot only) to the UEFI firmware
sudo grub-reboot "UEFI Firmware Settings"
# Reboot the instance
sudo reboot
x86_64
- AMD
These steps apply to the AMD/Intel (x86_64
) instances.
We need to delete the default GRUB configuration and regenerate it, as it does not contain UEFI Firmware
. Then, we can reboot into the UEFI Firmware and boot into netboot.xyz:
# Download netboot (amd64) into the EFI directory
sudo wget -O /boot/efi/netboot.xyz-snp.efi https://boot.netboot.xyz/ipxe/netboot.xyz-snp.efi
# Delete the default configuration (does not contain UEFI Firmware by default)
sudo rm -rf /etc/default/grub /etc/default/grub.d/
# Update GRUB menu (with default configuration)
sudo update-grub
# Set the default boot entry (for the following boot only) to the UEFI firmware
sudo grub-reboot "UEFI Firmware Settings"
# Reboot
sudo reboot
Boot into netboot.xyz
Now that you are in the UEFI Firmware, do the following:
- Choose “Boot Maintenance Manager”
- Choose “Boot From File”
- Choose the only device
- Choose the netboot.xyz EFI file
- Wait for it to start and configure
If you were not able to boot into netboot.xyz correctly, simple repeat the grub-reboot
and reboot
steps to enter UEFI again.
x86_64
- Console quirks: Linux
Once you have booted into netboot.xyz on x86_64
, if you plan on using Linux images, you must still set up custom Kernel cmdline params
under Utilities (UEFI)
.
Set Kernel cmdline params: []
to console=ttyS0,9600
.
If you make a mistake, move with arrow keys, and use the Delete key.
Once you have typed it in, you might have to press the Escape key twice.
This is not applicable to arm64
/Ampere A1.