Build Custom Firmware Openwrt Untuk STB Amlogic

Radenku.com – Build custom firmware openwrt untuk STB Amlogic, seperti HG680P, B860H, HK1 Box dll. Sebenarnya STB amlogic sendiri tidak ada firmware official openwrt. Agar openwrt bisa berjalan di STB Amlogic yaitu merepack rootfs openwrt dengan u-boot & kernel armbian.

Sebenarnya sudah banyak firmware openwrt untuk STB, seperti Reyre openwrt, Helmiwrt, pulpstone, ophub, dll. Walaupun begitu mungkin ada yang ingin membuat firmware openwrt sendiri karena penasaran saja maupun kebutuhan. Aku sendiri yang sudah terbiasa install firmware vanilla openwrt dari official dan install package seperlunya, kurang cocok dengan firmware yang sudah jadi ataupun hasil mod.

Tanpa basa-basi, untuk tutorial build openwrt di STB bisa langsung simak dibawah.

ophub openwrt | radenku

Openwrt Ophub

Untuk membuat firmware openwrt untuk STB amlogic ini menggunakan script dari ophub. Di github ophub sendiri sebenarnya sudah ada tutorial cara build openwrt STB, bisa menggunakan build openwrt github action secara online maupun local.

Di post disini aku tidak compile openwrt di github secara online, melainkan langsung di PC. Untuk membuat firmware custom STB OpenWrt dengan ophub yang dibutuhkan seperti berikut.

  1. Koneksi internet
  2. Ubuntu 20.04 (bisa menggunakan virtual box di windows)
  3. Rootfs armvirt 64

Rootfs Armvirt 64

Untuk membuat firmware openwrt di STB Amlogic dengan menggunakan roofts openwrt armvirt-64. File rootfs ini bisa didapatkan dari berbagai sumber:

Untuk image rootfs armvirt 64 dari official openwrt masih polosan hanya terinstall default package saja, belum terinstall banyak package seperti driver, dll.

Untuk disini aku build rootfs armvirt 64 menggunakan image builder openwrt. Aku lebih suka menggunakan image builder openwrt terutama menggunakan versi firmware stable. Dibanding compile dari source membutuhkan waktu yang lama senain itu compile menggunakan snapshot akan bermasalah jika di kemudian hari ingin install package kmod bisa berakhir error cannot find dependency kernel.

Untuk cara build rootfs openwrt sebenarnya sudah aku buat tutorialnya, tinggal sesuaikan file image-builder dengan armvirt64. Untuk disini cuma sekilas aja lebih lengkapnya bisa di baca cara menggunakan image builder openwrt.

Di post ini aku akan membuat firmware STB openwrt 21.02.3. Bisa juga menggunakan openwrt terbaru 22.03, untuk saat post ini dibuat masih release candidat 22.03.0-rc1. Atau jika ingin menggunakan versi lain atau base lain seperti immortalwrt atau lede tinggal disesuaikan.

Image builder diambil dari sini, pilih versi kalian dan menggunakan armvirt 64.

1. Download image builder armvirt 64 openwrt 21.02.3.

wget https://downloads.openwrt.org/releases/21.02.3/targets/armvirt/64/openwrt-imagebuilder-21.02.3-armvirt-64.Linux-x86_64.tar.xz

2. Extract image builder.

tar -J -x -f openwrt-imagebuilder-21.02.3-armvirt-64.Linux-x86_64.tar.xz

3. Masuk ke folder image builder.

cd openwrt-imagebuilder-21.02.3-armvirt-64.Linux-x86_64

4. Tinggal sesuaikan config, files, packages, dll.

Agar wireless STB openwrt bisa on maka tambahkan package berikut.

ath9k-htc-firmware
btrfs-progs
hostapd
hostapd-utils
kmod-ath
kmod-ath9k
kmod-ath9k-common
kmod-ath9k-htc 
kmod-cfg80211
kmod-crypto-acompress
kmod-crypto-crc32c
kmod-crypto-hash
kmod-fs-btrfs 
kmod-mac80211
wireless-tools
wpa-cli
wpa-supplicant

Contoh ini hanya package basic openwrt ditambah package wifi saja.

Buat custom firmware openwrt STB kalian disini dengan memasukkan package yang diinginkan.

make image PROFILE="Default" PACKAGES="\
cgi-io libiwinfo libiwinfo-data libiwinfo-lua liblua liblucihttp liblucihttp-lua \
libubus-lua lua luci luci-app-firewall luci-app-opkg luci-base luci-lib-base \
luci-lib-ip luci-lib-jsonc luci-lib-nixio luci-mod-admin-full luci-mod-network \
luci-mod-status luci-mod-system luci-proto-ipv6 luci-proto-ppp luci-ssl \
luci-theme-bootstrap px5g-wolfssl rpcd rpcd-mod-file rpcd-mod-iwinfo rpcd-mod-luci \
rpcd-mod-rrdns uhttpd uhttpd-mod-ubus luci-compat \
ath9k-htc-firmware btrfs-progs hostapd hostapd-utils kmod-ath kmod-ath9k kmod-ath9k-common \
kmod-ath9k-htc kmod-cfg80211 kmod-crypto-acompress kmod-crypto-crc32c kmod-crypto-hash \
kmod-fs-btrfs kmod-mac80211 wireless-tools wpa-cli wpa-supplicant \
" FILES="files"

6. Hasil openwrt image builder di bin/targets/armvirt/64.

File akan dipakai yaitu default rootfs, contoh disini yaitu file openwrt-21.02.3-armvirt-64-default-rootfs.tar.gz.

Build Custom Firmware Openwrt Untuk STB Amlogic

Sekarang file rootfs openwrt armvirt 64 sudah siap, tinggal lanjut ke repack openwrt menggunakan ophub.

Build Openwrt STB Amlogic

Setelah custom rootfs openwrt untuk STB sudah siap, kita tinggal proses repack firmware menggunakan script dari ophub.

1. Update & install package yang dibutuhkan.

sudo apt-get update -y
sudo apt-get full-upgrade -y
sudo apt-get install -y $(curl -fsSL https://raw.githubusercontent.com/ophub/amlogic-s9xxx-armbian/main/compile-kernel/tools/script/ubuntu2004-openwrt-depends)

2. Clone repository ophub amlogic-s9xxx-openwrt.

git clone --depth 1 https://github.com/ophub/amlogic-s9xxx-openwrt.git

3. Masuk ke repositori.

cd amlogic-s9xxx-openwrt/

4. Buat folder openwrt-armvirt.

mkdir -p openwrt-armvirt

Jika dilihat menggunakan file manager maka seperti ini repositori ophubnya.

cara compile firmware openwrt stb hg680p | radenku

5. Copy rootfs armvirt 64 yang sudah kita siapkan, taruh di folder openwrt-armvirt. Dan nama file ubah menjadi openwrt-armvirt-64-default-rootfs.tar.gz.

6. Untuk cara build STB openwrt menggunakan ophub amlogic dengan perintah berikut.

sudo ./make -d -b s905x -k 5.10.112 -s 1024

Parameternya seperti ini:

  • -b s905x : jenis processor, contoh amlogic s905x untuk firmware openwrt STB HG680P & B860H. Untuk STB tipe lain bisa cek tabel di bawah.
  • -k 5.10.112 : Konfigurasi kernel yang akan dipakai contoh 5.10.112, kernel lain cek disini.
  • -s 1024 : ukuran partisi rootfs openwrt, contoh 1024MB.

Selain perintah di atas bisa juga menggunakan perintah berikut, atau bisa cek langsung di github ophub lebih lengkapnya.

  • sudo ./make -d -b s905x3_s905d -k 5.15.25_5.10.100 : build STB openwrt s905x3 & s905d dengan kernel 5.15.25 & 5.10.100.
  • sudo ./make -d -k 5.15.25 : build semua tipe STB dengan kernel 5.15.25.
  • sudo ./make -d -b s905d -s 1048 : build STB openwrt amlogic s905d dengan multiple kernel dan storage rootfs 1048MB.
SoCDeviceOptional kernelOpenWrt Firmware
a311dKhadas-VIM3Allopenwrt_a311d_k*.img
s922xBeelink-GT-King, Beelink-GT-King-Pro, Ugoos-AM6-Plus, ODROID-N2Allopenwrt_s922x_k*.img
s905x3X96-Max+, HK1-Box, H96-Max-X3, Ugoos-X3, TX3, X96-Air, A95XF3-AirAllopenwrt_s905x3_k*.img
s905x2X96Max-4G, X96Max-2G, MECOOL-KM3-4GAllopenwrt_s905x2_k*.img
s912H96-Pro-Plus, Tanix-TX92, VORKE-Z6-Plus, Mecool-M8S-PRO-L, Octopus-PlanetAll
openwrt_s912_k*.img
s905dMECOOL-KI-Pro, Phicomm-N1Allopenwrt_s905d_k*.img
s905xHG680P, B860HAllopenwrt_s905x_k*.img
s905wX96-Mini, TX3-Mini5.15.yopenwrt_s905w_k*.img
s905Beelink-Mini-MX-2G, MXQ-PRO+4KAllopenwrt_s905_k*.img
s905l3aE900V22C/DAllopenwrt_s905l3a_k*.img

6. Hasil build openwrt ophub berada di folder out.

7. Tinggal kita burn ke micro sd seperti biasa.

cara membuat openwrt custom stb | radenku

Firmware Openwrt STB Amlogic

Ini hasil dari build firmware STB amlogic menggunakan script ophub, link download openwrt stb ada dibawah. Ada 2 versi yaitu 21.02.3 & 22.03.0-rc1, ada juga rootfsnya kalau ingin mencoba repack langsung.

WiFi SSID      : OpenWrt
WiFi Password  : radenku.com

Router/LuCI IP : 192.168.1.1
LuCI Username  : root
LuCI Password  : radenku.com

Changelog Openwrt 21.02.3 (build 01-05-2022)

  • openwrt default package
  • luci amlogic services
  • wireless

Changelog Openwrt 22.03.0-rc1 (build 01-05-2022)

SoCv21.02.3
(kernel 5.10.113)
v22.03.0-rc1
(kernel 5.10.113)
Rootfs
s905x
s905x2
s905x3
s912

Itu saja sekilas tutorial untuk cara membuat firmware custom openwrt STB amlogic menggunakan github ophub. Jika merasa bermanfaat silakan di share postingan ini, terima kasih.

50 pemikiran pada “Build Custom Firmware Openwrt Untuk STB Amlogic”

  1. (1.1) Start making OpenWrt [ s905x3 - 5.10.118 ]. Remaining space is 146G.
    [ s905x3 - 5.10.118 ] (1/7) Confirm version type.
    [ s905x3 - 5.10.118 ] (2/7) Extract openwrt files.
    [ s905x3 - 5.10.118 ] (3/7) Extract armbian files.
    tar (child): /root/amlogic-s9xxx-openwrt/amlogic-s9xxx/amlogic-armbian/boot-common.tar.xz: Cannot open: No such file or directory
    tar (child): Error is not recoverable: exiting now
    tar: Child returned status 2
    tar: Error is not recoverable: exiting now
    tar (child): /root/amlogic-s9xxx-openwrt/amlogic-s9xxx/amlogic-armbian/firmware.tar.xz: Cannot open: No such file or directory
    tar (child): Error is not recoverable: exiting now
    tar: Child returned status 2
    tar: Error is not recoverable: exiting now
    cp: cannot stat '/root/amlogic-s9xxx-openwrt/amlogic-s9xxx/amlogic-u-boot/bootloader/*': No such file or directory
    cp: cannot stat '/root/amlogic-s9xxx-openwrt/amlogic-s9xxx/amlogic-u-boot/overload/*': No such file or directory
    [ Error ] Have no kernel files in [ /root/amlogic-s9xxx-openwrt/amlogic-s9xxx/amlogic-kernel/5.10.118 ]

    ini kenapa ya mbah . kok punya saya jadi gini . padahal sudah mengikuti caranya

    Balas
  2. Stabil kah? Punya saya kadang dia secara tiba-tiba ngelock gitu, ndak bisa di-ping sama sekali routernya, rto. Durasi juga random, kadang bisa tahan 1 hari lebih, kadang 6 jam aja sdh ngelock, paling lama dapat uptime 3 hari. Perangkat stb hg680p microsd boot + usb lan + pakai usb to dc jack. Masalah tersebut ada sejak awal saya coba pasang openwrt pakai metodenya ophub tsb (dari branch 21.02 s/d 22.03-master). Sdh saya coba juga pakai lede sama saja. Selain itu di syslog/kernel-log banyak sekali spam peringatan dari modul wifinya realtek bawaan stb.

    Balas
  3. Salam kenal mbah. Saya baru terjun ke Dunia openwrt. Paralel nyimak boleh saya coba firmware yang ud jadi mbah. Untuk hg680p. Dan dari fw tersebut kira² plus minus nya dimana buat saya pelajari nantinya

    Balas
  4. om bisa bantu buildkan v21.02.2 pakai kernel yg 5.4?
    saya dirumah pakai 2 buah STB HG680-P, salah satu stb saya gak bisa booting kl pakai kernel 5.10..
    kl pakai kernel 5.4 dua2nya bisa booting..
    saya sudah coba ganti manual kernelnya dari 5.10 ke 5.4 pakai firmware yg om upload tapi pas sudah ganti kernelnya ke 5.4 malah eth1 nya yang missing -_-‘

    Balas
      • eth1 sudah diset di file network & internetnya jalan tp waktu update ke kernel versi 5.4.xxx eth1 nya missing & kl update kembali ke kernel versi 5.10.xxx eth1 nya kembali lagi..
        kl boleh minta tolong buildkan 21.02.3 kernelnya versi 5.4.xxx om, jujur saya suka banget sama firmwarenya ini krn branch nya versi stable & masih polosan..biasanya firmware stb diluaran umumnya dah diinstal macem2 & blum tentu semua fiturnya kepakai..

        Balas
          • mantap tutornya, ini saya sudah berhasil build stable branch 22.03.2 tp ini memory ram nya kok hanya sekitar 800mb cara besarin jd 2gb gimana om?

          • oalah ternyata stb saya yg satunya ramnya mmg hanya 1gb..yg satunya lg baru 2gb..tp abis saya ganti u-boot nya baru bisa optimal ramnya..awalnya hanya terbaca 1.77gb abis diganti jd 1.89gb..

    • tutorialnya sangat berguna, wus wus ga perlu nunggu compile berjam jam, setelah 2 minggu oprek dpt juga immortalwrt stable release 21.02.04 kernel 5.4.224 vanilla tanpa bloat di stb b860h v1.

      install kmod lancar jaya, wifi rtl8189fs onboardnya juga on repack pake scriptnya lynxnexy, tx power juga terdeteksi 12dbm, tinggal pasang antenna omni eksternal.

      trims suhu

      Balas
  5. Bang…kalo build sendiri apa nanti otomatis ada file image bootnya (dtb.img)? Atau bikin sendiri lagi?

    Balas
  6. Bang untuk S905 X3 sudah ada yg kernel 6 belum ? berhubung di hg680p setelah pakai firmware kernel 6, speed internet nya jadi lebih cepat, di bandingkan S905 X3 yang masih kernel 5 .

    Balas
  7. kalau untuk buka terminalnya gimana mbah selain pakai putty?
    untuk membuat yang ada openclashnya membuat pakaged nya dimana?

    Balas
  8. cara membuat pakage ini gimana mbah?

    make image PROFILE=”Default” PACKAGES=”\
    cgi-io libiwinfo libiwinfo-data libiwinfo-lua liblua liblucihttp liblucihttp-lua \
    libubus-lua lua luci luci-app-firewall luci-app-opkg luci-base luci-lib-base \
    luci-lib-ip luci-lib-jsonc luci-lib-nixio luci-mod-admin-full luci-mod-network \
    luci-mod-status luci-mod-system luci-proto-ipv6 luci-proto-ppp luci-ssl \
    luci-theme-bootstrap px5g-wolfssl rpcd rpcd-mod-file rpcd-mod-iwinfo rpcd-mod-luci \
    rpcd-mod-rrdns uhttpd uhttpd-mod-ubus luci-compat \
    ath9k-htc-firmware btrfs-progs hostapd hostapd-utils kmod-ath kmod-ath9k kmod-ath9k-common \
    kmod-ath9k-htc kmod-cfg80211 kmod-crypto-acompress kmod-crypto-crc32c kmod-crypto-hash \
    kmod-fs-btrfs kmod-mac80211 wireless-tools wpa-cli wpa-supplicant \
    ” FILES=”files”

    Balas
  9. sudah persis sama tutorialnya berhasil sampai burning openwrt tetapi tidak bisa otomatis nyala wifinya, kalau firmware dari radenku memang bisa otomatis nyala tp kalau compile sendiri gak bisa nyala

    Balas
  10. assalamualaikum pak mau nanya cara atasi kaya gini gimananya
    tolong di bantu terima kasih sebelumnya

    $ sudo ./make -d -k 5.15.25
    [ STEPS ] Welcome to make OpenWrt!
    [ INFO ] Server running on Ubuntu: [ Release: jammy / Host: x86_64 ]

    [ STEPS ] Start Initializing Variables…
    getopt: invalid option — ‘d’
    [💔] Invalid option [ -d ]!

    Balas
  11. [ INFO ] Server space usage before starting to compile:
    Filesystem Type Size Used Avail Use% Mounted on
    rootfs wslfs 225G 197G 29G 88% /

    [ STEPS ] Start making OpenWrt firmware…
    (1.1) Start making OpenWrt [ s905x – stable/6.1.51 ]. ./make: line 1109: / 1024 / 1024: syntax error: operand expected (error token is “/ 1024 / 1024”)
    [ WARNING ] Remaining space is less than 3G, exit this build.
    [ STEPS ] Server space usage after compilation:
    Filesystem Type Size Used Avail Use% Mounted on
    rootfs wslfs 225G 197G 29G 88% /

    cara atasinya gimana bng saya build pake wsl ubuntu

    Balas
  12. Kereen..
    Aku ikuti tutorial diatas, buat rootfs dari immortalwrt (soalnya ada package cups buat print server, dll) repack firmware nya pake ophub.
    Aku pake wsl ubuntu 22.0.4 di windows 10 dan success.
    Sekarang tinggal mau copy beberapa dependency ke server lokal, biar gk download2 terus pas compile 🙂
    Terimakasih bang tutornya sangat berguna.

    Balas

Tinggalkan komentar