Menyelami jiwa NetBSD: dukungan arsitektur seperti arm64, riscv, dan evbarm, membangun cross-arch untuk perangkat embedded, serta penggunaan pada SBC, router, dan legacy hardware.

Di episode 19 sebelumnya kita telah mengoptimalkan performa NetBSD. Kini kita kembali ke akar identitasnya: portabilitas. Pada episode ini kita akan menyelami embedded, ARM, dan portability deep-dive — menjelajahi dukungan arsitektur seperti arm64, riscv, dan evbarm, membangun sistem secara cross-arch untuk perangkat embedded, serta penerapan nyata pada SBC, router, dan revival legacy hardware.
Inilah episode yang menjawab pertanyaan "kenapa NetBSD?" — karena tidak banyak sistem operasi yang bisa berjalan mulus di Raspberry Pi, di router kecil, dan di hardware server tua, semuanya dari source tree yang sama. Mari kita bedah bagaimana keajaiban portabilitas itu bekerja.
Kekuatan NetBSD terletak pada dukungan arsitekturnya yang luas. Setiap arsitektur punya "port" — sebuah direktori dalam source tree yang berisi dukungan CPU, platform, dan device. Mari lihat sendiri:
ls /usr/src/sys/archamd64 arm arm64 evbarm evbmips m68k mips powerpc riscv sparc64 vax ...| Port | Arsitektur/Perangkat | Kategori |
|---|---|---|
amd64 | PC x86_64 modern | Desktop/server |
arm64 | ARM 64-bit generik | Modern/embedded |
evbarm | Evaluasi board ARM (RPi, Pine64) | Embedded/SBC |
riscv | CPU RISC-V | Emerging |
evbmips | Board MIPS | Embedded |
sparc64 | Workstation Sun | Legacy |
vax | Mesin VAX | Legacy/arkeologi |
evbarm dan evbmips adalah contoh desain port NetBSD: satu port untuk "berbagai board", di mana setiap board dikonfigurasi lewat kernel config dan device tree.
Kalian tidak perlu memiliki perangkat untuk membangun sistemnya — itu kekuatan cross-build dari episode 10. Mari kita bangun kernel untuk Raspberry Pi (aarch64/evbarm) dari mesin x86:
cd /usr/src
./build.sh -m evbarm-aarch64 toolsBuilding tool: nbtoolchain-gcc-...tools membangun toolchain untuk arsitektur target — di sini evbarm-aarch64.
./build.sh -m evbarm-aarch64 kernel=GENERIC64...
copying netbsd to .../evbarm-aarch64/obj/release/kernels/GENERIC64/netbsd./build.sh -m evbarm-aarch64 -u distribution# build.sh: Building the distribution
...
# Creating release setsSatu set source, banyak target. Ini alur yang dipakai proyek untuk menyediakan image ratusan perangkat dari segelintir build server.
Info
Nama machine untuk build.sh diikuti format platform-arch — contoh evbarm-aarch64, evbarm-eb (endian besar), dan riscv64. Lihat daftar lengkap dengan ./build.sh -m x params (akan menampilkan error berisi machine yang valid) atau dari dokumentasi NetBSD Guide.
NetBSD mendukung Raspberry Pi dari generasi awal hingga Pi 4 dan Pi 5 via port evbarm. Setelah kernel dan world siap, image SD disiapkan dengan partisi FAT untuk firmware + partisi FFS untuk root:
# Partisi FAT (boot) + FFS (root), lalu salin file:
cp -r evbarm/obj/distrib/evbarm/raw/ .
# ikuti instruksi untuk menyalin ke /mnt partisi boot dan rootBooting Pi dengan NetBSD memberi kalian sistem UNIX penuh di perangkat yang konsumsinya kurang dari 5 watt — ideal untuk server pribadi kecil, DNS, atau gateway yang dikelola dengan sysctl hw.model.
Pine64 — keluarga board ARM 64-bit — juga didukung NetBSD dengan baik. Untuk perangkat dengan lebih banyak RAM dan storage, Pine64 sering dipilih untuk menjalankan server rumah: pakai pkgsrc untuk memasang nginx, dan kalian punya web server ber-ARM.
Salah satu use case embedded paling populer NetBSD adalah router/gateway — karena semua yang dibutuhkan sudah ada di base system: npf (firewall + NAT), routing, IPv6, dan bridging. Konsep dari episode 8, 12, dan 16 bergabung:
ifconfig_wm0="inet 192.168.1.1 netmask 255.255.255.0"
ifconfig_re0="inet 203.0.113.5 netmask 255.255.255.0"
defaultroute="203.0.113.1"sysctl -w net.inet.ip.forwarding=1
npfctl startnet.inet.ip.forwarding=1Dengan kombinasi ini, sebuah board kecil (atau PC tua) menjadi router NAT penuh dengan firewall — ringan, stabil, dan bisa di-remote via SSH dengan aman.
Portabilitas NetBSD juga berarti menghidupkan kembali hardware lama. Workstation Sun dengan sparc64, Mac PowerPC tua, bahkan mesin VAX — NetBSD membuatnya berguna kembali. Nilainya ganda:
sysctl hw.machine
sysctl hw.modelhw.machine = sparc64
hw.model = SUNW,UltraSPARC-IIi (1000MHz)| Kebutuhan | Pilihan NetBSD |
|---|---|
| Server kecil hemat daya | Raspberry Pi, Pine64 |
| Router/gateway rumah | Board ARM atau PC x86 lama |
| Homelab multi-arsitektur | Server x86 + beberapa SBC |
| Preservation | Sparc64, PowerPC, VAX |
Pada episode 20 ini, kalian telah menyelami jiwa NetBSD: peta port arsitektur seperti arm64, riscv, dan evbarm, alur cross-build untuk perangkat embedded, serta penggunaan nyata pada SBC (Raspberry Pi, Pine64), router/gateway, dan revival legacy hardware.
Inti yang harus dibawa pulang:
./build.sh -m <platform-arch> membangun kernel/world tanpa perangkat fisik.Di episode 21 selanjutnya kita akan melihat kondisi terkini: NetBSD 11.0 dan roadmap — fitur-fitur rilis terbaru, toolchain modern, peningkatan RISC-V/ARM, serta siklus hidup dukungan branch. Sampai jumpa di episode 21!