OS: PRAKTIKUM — Android x86 Build Lab
PRAKTIKUM 9 — Android x86 Build Lab Membangun, Menjalankan, dan Mendiagnosa Android sebagai Sistem Operasi Tujuan Praktikum Praktikum ini dirancang untuk membawa mahasiswa naik level dari pemahaman konseptual ke kemampuan engineering nyata. Setelah menyelesaikan praktikum ini, mahasiswa diharapkan mampu: Membangun Android x86 dari source code Menjalankan Android sebagai OS di VirtualBox Memahami relasi kernel – user space – runtime Android Menganalisis dan memperbaiki error build secara sistematis Filosofi utama: Jika Anda bisa membangun Android OS sendiri, maka Anda memahami sistem operasi modern secara utuh. Persiapan Lingkungan Praktikum Konteks Akademik Praktikum Dalam praktikum ini: Menggunakan Ubuntu 24.04 sebagai build host Mengaplikasikan konsep: Kernel User space Runtime Filesystem Boot process Bersifat reproducible dan non-destruktif (berbasis VM) Android x86 diperlakukan setara dengan Ubuntu Server dan OpenWRT sebagai engineering artifact, bukan sebagai consumer product. Spesifikasi Minimum Lingkungan Build Disarankan menggunakan VM Ubuntu Server 24.04: CPU: 4 core (minimal 2) RAM: 8–16 GB (minimal 8 GB) Disk: ≥ 150 GB (VDI, dynamically allocated) Network: NAT (Internet access) OS: Ubuntu Server 24.04 LTS Catatan penting: Build Android berat dan lama. Ini bukan kelemahan, tetapi pengalaman nyata OS engineering skala industri. Build Android x86 dari Source Instalasi Dependency Build (Ubuntu 24.04) Pastikan sistem up-to-date: sudo apt update sudo apt upgrade -y Install dependency utama AOSP: sudo apt install -y \
git-core gnupg flex bison build-essential \ zip curl zlib1g-dev gcc-multilib g++-multilib \ libc6-dev-i386 libncurses5-dev x11proto-core-dev \ libx11-dev libgl1-mesa-dev libxml2-utils \ xsltproc unzip fontconfig \ openjdk-17-jdk repo
Verifikasi tool penting: java -version repo --version gcc --version Insight OS: Build Android sepenuhnya bergantung pada toolchain GNU/Linux, menegaskan Android sebagai Linux-based OS. Mengambil Source Code Android x86 Buat workspace: mkdir -p ~/android-x86 cd ~/android-x86 Inisialisasi repo Android x86: repo init -u https://github.com/android-x86/manifest.git repo sync -j$(nproc) Proses ini lama dan menghasilkan ribuan file. Ini normal dan mencerminkan kompleksitas OS modern.
Menyiapkan Environment Build Aktifkan environment build: source build/envsetup.sh Pilih target build: lunch android_x86_64-userdebug Penjelasan: x86_64 → arsitektur PC / VM userdebug → mode ideal untuk pembelajaran & debugging Proses Build Android x86 Mulai proses build: make -j$(nproc) Waktu build bisa 1–3 jam tergantung resource. Hasil build berada di: out/target/product/x86_64/ File penting: kernel system.img ramdisk.img android_x86_64.iso Analogi akademik: Ini setara dengan kernel + initramfs + root filesystem pada Linux/OpenWRT.
Boot Android x86 di VirtualBox Pembuatan VM Android x86 Gunakan VirtualBox. Konfigurasi VM: Name: Android-x86 Type: Linux Version: Other Linux (64-bit) RAM: 4–8 GB CPU: 2–4 core Attach ISO: out/target/product/x86_64/android_x86_64.iso Instalasi Android x86 Boot VM Pilih: Install Android-x86 to harddisk Pilih disk virtual Filesystem: ext4 Install GRUB bootloader Reboot VM Android kini berfungsi sebagai sistem operasi mandiri. Verifikasi Android sebagai OS Masuk ke shell Android: adb shell Cek kernel: uname -a Cek proses: ps -A | head Cek filesystem: mount | head Observasi penting: Android menggunakan Linux kernel, process isolation, dan filesystem hierarki nyata. Debugging Build Error (Bagian Terpenting) Filosofi Debugging OS Debugging bukan tanda gagal, tetapi inti pembelajaran OS engineering. Pendekatan yang benar: Baca error, mengerti bahasa Inggris. Identifikasi lapisan (toolchain / kernel / user space) Cari konteks, bukan copy-paste solusi Error Umum & Solusi Error Java Version
ERROR: Java version not supported Solusi: sudo update-alternatives --config java Pastikan OpenJDK 17 aktif. Error Disk Penuh
No space left on device Cek: df -h Solusi: Tambah disk VM Hapus build lama: make clean Error Build Terhenti di Tengah Solusi aman: make clean make -j$(nproc) Build Android bersifat deterministik, clean build sering menyelesaikan masalah.
Membaca Log Build Contoh: tail -n 50 out/build.log Cari: error: FAILED: ninja: Skill penting: Mahasiswa belajar membaca log ribuan baris, bukan menghindarinya. Mini Eksperimen (Fun & Menantang) Beberapa eksperimen ringan: Matikan zygote:
stop zygote → UI mati, kernel tetap hidup Cek memory:
free -h
Bandingkan dengan Ubuntu:
ps aux
Insight:
Kernel sama, user space design menentukan karakter OS.
Refleksi Akademik (OBE-Oriented)
Setelah praktikum ini, mahasiswa mampu secara nyata:
✅ Membangun Android OS dari source
✅ Menjalankan Android sebagai OS di VM
✅ Mengaitkan Android dengan konsep kernel Linux
✅ Melakukan debugging OS skala besar
✅ Berpikir sebagai system builder, bukan user
Penutup Praktikum ini menandai transisi penting: dari pengguna Android → engineer sistem operasi Android. Android tidak lagi misterius atau black box. Ia adalah sistem operasi Linux modern yang: Bisa dibangun Bisa dianalisis Bisa dimodifikasi Selamat — Anda telah membangun sistem operasi modern dengan tangan sendiri.