Jump to content

Install Ubuntu ARM di QEMU

From Haidhi Wiki
Revision as of 04:19, 14 June 2026 by SanzSkuy (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

download dulu iso nya dari https://ubuntu.com/download/server/arm

cp /usr/share/AAVMF/AAVMF_VARS.fd .

File AAVMF (ARM Architecture Virtual Machine Firmware) adalah firmware UEFI (BIOS) versi open-source khusus untuk arsitektur ARM 64-bit.

_VARS.fd: File ini berfungsi seperti chip NVRAM di motherboard komputer lu. Gunanya buat menyimpan pengaturan BIOS/UEFI (kayak urutan booting/boot priority, jam sistem, Secure Boot, dll).


truncate -s 16G disk
  • truncate: Ini perintah Linux yang super cepat buat mengubah atau mengecilkan/memperbesar ukuran sebuah file.
  • -s 16G: Singkatan dari Size 16 Gigabytes. Ini menentukan target ukuran file yang mau dibuat.
  • disk: Nama file target yang mau dibuat (lu bebas ganti namanya jadi ubuntu.img atau apapun).

Perintah ini membuat file berukuran 16GB bernama disk secara instan (kurang dari 1 detik). Bisa gitu Karena dia bikin yang namanya Sparse File (file bayangan). File ini di sistem kebaca ukurannya 16GB, tapi di harddisk asli laptop dia aslinya 0 bytes (tidak memakan ruang penyimpanan sama sekali) Harddisk laptop baru akan terpakai secara bertahap seiring kita mengisi data di dalam VM Ubuntu ARM nanti.


Run installer

qemu-system-aarch64 \
  -M virt,gic-version=3 \
  -m 4096 \
  -smp 4 \
  -cpu max \
  -serial mon:stdio \
  -device virtio-gpu-pci \
  -device qemu-xhci \
  -device usb-kbd \
  -device usb-tablet \
  -drive if=pflash,format=raw,unit=0,file=/usr/share/AAVMF/AAVMF_CODE.fd,readonly=on \
  -drive if=pflash,format=raw,unit=1,file=AAVMF_VARS.fd \
  -drive if=none,file=disk,format=raw,id=VIRTIO1 \
  -device virtio-blk,drive=VIRTIO1,bootindex=1 \
  -drive if=none,file=ubuntu-26.04-live-server-arm64.iso,format=raw,readonly=on,id=VIRTIO2 \
  -device virtio-blk,drive=VIRTIO2,bootindex=2 \
  -net nic,model=virtio \
  -net user

kalo udah keinstall

qemu-system-aarch64 \
  -M virt,gic-version=3 \
  -m 4096 \
  -smp 4 \
  -cpu max \
  -serial mon:stdio \
  -device virtio-gpu-pci \
  -device qemu-xhci \
  -device usb-kbd \
  -device usb-tablet \
  -drive if=pflash,format=raw,unit=0,file=/usr/share/AAVMF/AAVMF_CODE.fd,readonly=on \
  -drive if=pflash,format=raw,unit=1,file=AAVMF_VARS.fd \
  -drive if=none,file=disk,format=raw,id=VIRTIO1 \
  -device virtio-blk,drive=VIRTIO1,bootindex=1 \
  -net nic,model=virtio \
  -net user