Instalasi Alpine Linux di STB BH860
Instalasi Alpine Linux di STB BH860
Latar Belakang
Setelah berbagai percobaan, saya menemukan metode paling stabil untuk menjalankan Alpine Linux di STB BH860 (Amlogic S905X): memanfaatkan kernel dan initramfs dari Armbian Ophub yang sudah terbukti kompatibel dengan perangkat ini. Pendekatan ini menghindari masalah driver dan boot failure yang sering terjadi saat menggunakan kernel generik Alpine. Teknik ini biasa disebut Franken-Distro atau Rootfs Swapping
Prasyarat
- Sistem di eMMC:
- Armbian Ophub sudah terinstal dan berjalan normal di memori internal (eMMC) dan panduan ini mengasumsikan device kalian juga sudah terinstall Armbian Ophub di eMMC. Tapi ini tidak wajib, kalian bisa pakai OS apapun di eMMC tentu dengan proses installnya akan berbeda
- Kartu SD:
- Berisi Armbian Ophub yang sama dengan versi di eMMC (pastikan bisa boot normal sebelum dimodifikasi).
- Koneksi internet:
- Internet dan kabel LAN yang nanti berfungsi di Armbian untuk mengunduh paket Alpine.
1. Persiapan Lingkungan
- Jangan pasang kartu SD saat boot awal. Nyalakan STB BH860 tanpa kartu SD untuk memastikan sistem boot dari eMMC (Armbian Ophub).
- Setelah proses boot selesai, masukkan kartu SD yang berisi Armbian Ophub.
2. Identifikasi Partisi Kartu SD
Di terminal Armbian (eMMC), jalankan:
lsblk
Contoh output:
mmcblk0boot0 179:8 0 4M 0 disk
mmcblk0boot1 179:16 0 4M 0 disk
mmcblk0 179:0 0 15G 0 disk
├─mmcblk0p1 179:1 0 256M 0 part /boot
├─mmcblk0p2 179:2 0 15G 0 part /
mmcblk1 179:24 0 30G 0 disk
├─mmcblk1p1 179:25 0 256M 0 part
└─mmcblk1p2 179:26 0 30G 0 part
mmcblk0: Perangkat eMMC (sistem Armbian utama).mmcblk1: Kartu SD (akan diubah menjadi Alpine Linux).mmcblk1p2: Partisi root yang akan diganti dengan Alpine.
3. Mount Partisi Kartu SD
mkdir -p /mnt/alpine-root
mount /dev/mmcblk1p2 /mnt/alpine-root
4. Ganti Isi RootFS dengan Alpine Linux
Unduh dan ekstrak Alpine rootfs langsung di STB:
cd /mnt/alpine-root
wget https://dl-cdn.alpinelinux.org/alpine/v3.23/releases/aarch64/alpine-minirootfs-3.23.2-aarch64.tar.gz
sudo tar xvf alpine-minirootfs-3.23.2-aarch64.tar.gz -C /mnt/alpine-root
5. Salin Modul Kernel dari Armbian Ophub
Modul kernel dari eMMC wajib disalin ke kartu SD agar perangkat keras (Ethernet, USB, HDMI) terdeteksi oleh Alpine:
cp -r /lib/modules/* /mnt/alpine-root/lib/modules/
Verifikasi:
ls /mnt/alpine-root/lib/modules
6. Konfigurasi Dasar via Chroot
Siapkan lingkungan chroot:
mount -t proc /proc /mnt/alpine-root/proc
mount -t sysfs /sys /mnt/alpine-root/sys
mount -o bind /dev /mnt/alpine-root/dev
mount -o bind /etc/resolv.conf /mnt/alpine-root/etc/resolv.conf
Masuk ke lingkungan Alpine:
chroot /mnt/alpine-root /bin/sh
Di Dalam Chroot:
a. Atur Repositori dan Update
echo "https://dl-cdn.alpinelinux.org/alpine/v3.23/main" > /etc/apk/repositories
echo "https://dl-cdn.alpinelinux.org/alpine/v3.23/community" >> /etc/apk/repositories
apk update
b. Instal Paket Penting
apk add openssh ntpd bash nano
c. Konfigurasi Jaringan
-
Antarmuka Ethernet (DHCP):
cat > /etc/network/interfaces <<EOF auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp EOF -
DNS:
echo "nameserver 8.8.8.8" > /etc/resolv.conf echo "nameserver 1.1.1.1" >> /etc/resolv.conf -
Aktifkan Layanan Jaringan:
rc-service networking start rc-update add networking -
NTP:
rc-update add ntpd default ntpd -q -p pool.ntp.org
d. Izinkan Login Root via SSH
sed -i 's/#PermitRootLogin.*/PermitRootLogin yes/' /etc/ssh/sshd_config
grep -q "PermitRootLogin" /etc/ssh/sshd_config || echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
rc-update add sshd
e. Finalisasi
passwd # Atur password root untuk Alpine
echo "Nixpoin-alpine" > /etc/hostname
exit # Keluar dari chroot
7. Bersihkan dan Unmount
umount -l /mnt/alpine-root/{proc,sys,dev,etc/resolv.conf,}
umount /mnt/alpine-root
8. Reboot dan Boot dari Kartu SD
- Matikan STB:
poweroff - Pastikan kartu SD tetap terpasang.
- Nyalakan ulang STB.
- Jika U-Boot Anda mendukung boot order otomatis, sistem akan boot dari kartu SD.
Verifikasi Sistem
Setelah boot ke Alpine:
- Cek kernel dan modul:
uname -r # Pastikan versi kernel sama dengan Armbian Ophub lsmod # Verifikasi modul hardware terload - Cek waktu sistem:
date # Waktu harus akurat berkat NTP
Troubleshooting
Masalah Umum
Saya sarankan untuk menyambungkan ke monitor lewat kabel HDMI untuk pertama kali booting, agar tahu apakah STB berhasil boot ke Alpine atau tidak.
-
Ethernet tidak terdeteksi: Pastikan semua modul kernel dari
/lib/modulesArmbian sudah disalin. Cek dengandmesg | grep eth. -
Tidak bisa login root via SSH: Periksa konfigurasi
/etc/ssh/sshd_configdan pastikan tidak ada typo padaPermitRootLogin yes. -
Boot gagal: Karena kita tidak mengubah
/boot, masalah biasanya terletak pada:- Partisi root (
mmcblk1p2) tidak terbaca (cek kabel SD card). - Modul kernel tidak kompatibel (pastikan versi kernel di eMMC dan SD card sama persis).
- Partisi root (
Catatan Penting
- Jangan hapus Armbian di eMMC: Sistem ini menjadi “penyelamat” jika Alpine di SD card gagal boot. Cukup cabut kartu SD untuk kembali ke Armbian.
(Artikel ini didasarkan pada pengalaman pribadi penulis. Lakukan dengan risiko Anda sendiri.)
Referensi: