yellow_submarine
Member
Thấy nhiều thím muốn tận dụng tvbox cũ cài armbian để làm server mini, cài đặt docker, hass.io, pi-hole hay adguard home chặn quảng cáo... nhưng không biết bắt đầu từ đâu nên mình mở thread này để các thím tham khảo, thảo luận.
Thông tin trong thread này được tổng hợp từ nhiều nguồn khác nhau, một số khác có được từ quá trình tìm hiểu, mò mẫm của bản thân nên có thể sẽ có nhiều sai sót, các thím cứ gạch đá thoải mái.
1. Về Armbian cho tvbox
Trước hết, phải nói rõ rằng Armbian cho Tvbox (AcT) chỉ là OS do một Dev người Nga (hoặc Ukraina?) phát triển, được cung cấp miễn phí dưới dạng "as is" nên người dùng cuối sẽ không nhận được hỗ trợ từ tác giả.
Hiện nay thì AcT đang được build từ Ubuntu 18.04 (tên mã Bionic), 20.04 (Focal) và Debian 10 (Buster), 11 (Bullseye); có cả bản desktop (có GUI) và bản server (CLI). Vì có nhiều biến thể như vậy nên cần lưu ý chọn bản phù hợp cho mục đích sử dụng. Cũng cần chú ý thêm là hiện nay, Dev này chỉ tập trung build AcT cho các tvbox kiến trúc 64bit (aarch64, ARMv8) dưới dạng một file ảnh (image) duy nhất dùng cho cả chip Amlogic, Allwinner hay Rockchip.
Nhìn chung AcT còn rất nhiều lỗi. Cùng một tvbox nhưng với bản AcT build ngày 5 chẳng hạn thì khi cài đặt xong có thể có wifi 2.4/5 GHz, sound, bluetooth, usb 2.0/3.0, HDMI, màu chuẩn, nhận đủ dung lượng bộ nhớ trong; sang bản build ngày 20 thì lại mất sound, bluetooth, không nhận đủ dung lượng bộ nhớ trong...vv và sang bản build ngày 30 thì có khi mất cả (!), chỉ còn ethernet. Một điểm hạn chế nữa là đa phần các tvbox sau khi cài đặt AcT sẽ chỉ nhận ethernet 100mb, một số ít nhận 1gb.
Mục đích của mình là tận dụng tvbox cũ làm mini server, chạy một số container giám sát hệ thống, chặn quảng cáo nên thường chỉ quan tâm đến bản AcT server build trên nền Debian Buster, có ethernet và ổn định hay không thôi, còn thì không quan tâm lắm đến các tính năng khác như sound, bluetooth hoặc wifi... Hình dưới minh họa việc sử dụng tvbox làm headless server, AcT kernel 5.9 với 5 docker và một số phần mềm khác như Ansible, Prometheus.
Vậy, chọn tvbox nào phù hợp? Nếu đã có tvbox rồi thì so sánh model tvbox của mình với danh sách DTB (device tree - định nghĩa giao tiếp cho firmware) của AcT để xem có hỗ trợ không. Riêng chip Amlogic, AcT hỗ trợ gần 30 model, gồm cả tvbox và một số SBC. Trong trường hợp không có trong danh sách model hỗ trợ thì cũng có thể dùng DTB của tvbox nào dùng cùng SoC: lấy ví dụ như tx3mini và x96 mini đều dùng amlogic 905W nên có thể dùng DTB của tx3mini (meson-gxl-s905w-p281.dtb, hoặc meson-gxl-s905w-tx3-mini.dtb) cho x96 mini.
Còn nếu mua tvbox mới thì theo ý kiến cá nhân nên chọn của các hãng có tên tuổi như tanix, envybox, beelink. Các hãng này thường có website, thông tin, cấu hình tvbox chuẩn, rõ ràng, build chắc chắn, có phần tải/cập nhật firmware. Do đó, trong một số trường hợp đã cài AcT lên eMMC rồi thì việc muốn quay về OS gốc cũng dễ dàng hơn.
Một số tvbox thông dụng hiện nay: Tanix tx3 mini (khoảng trên 400-450k cho bản 2/16 GB, các đời đều chạy được AcT); x96 mini (chỉ rev 2.1 chạy được AcT; rev 2.2 đã khóa uboot nên không chạy được AcT), x96 max; Beelink dòng GT1, GT-King (khá đắt, chắc chẳng thím nào bỏ ra 2000-3000k mua về chỉ để chạy AcT) và nhiều model khác.... Có thể tham khảo một số dòng tvbox chạy được AcT trên forum armbian.
Đợi một lúc Act sẽ tự cài đặt lên eMMC theo kịch bản (script), báo thành công thì khởi động lại tvbox. Rút sdcard ra trước khi cắm điện, tvbox sẽ boot vào AcT từ eMMC.
Cập nhật
10/2021: Cập nhật link tải về (Bản build cuối cho armlogic, 10/2020, debian buster, kernel 5.9)
4/2021: sửa lỗi hiển thị ảnh: đổi server của pik.vn từ 2 sang 3.
1. Từ tháng 11/2020, AcT chỉ hỗ trợ tvbox chip allwinner và rockchip. Bản build 10/2020 (kernel 5.9.0) là bản cuối cùng hỗ trợ cho các tvbox chạy chip amlogic.
2. Một số cách fix khi không boot được AcT từ sd card:
Thông tin trong thread này được tổng hợp từ nhiều nguồn khác nhau, một số khác có được từ quá trình tìm hiểu, mò mẫm của bản thân nên có thể sẽ có nhiều sai sót, các thím cứ gạch đá thoải mái.
1. Về Armbian cho tvbox
Trước hết, phải nói rõ rằng Armbian cho Tvbox (AcT) chỉ là OS do một Dev người Nga (hoặc Ukraina?) phát triển, được cung cấp miễn phí dưới dạng "as is" nên người dùng cuối sẽ không nhận được hỗ trợ từ tác giả.
Hiện nay thì AcT đang được build từ Ubuntu 18.04 (tên mã Bionic), 20.04 (Focal) và Debian 10 (Buster), 11 (Bullseye); có cả bản desktop (có GUI) và bản server (CLI). Vì có nhiều biến thể như vậy nên cần lưu ý chọn bản phù hợp cho mục đích sử dụng. Cũng cần chú ý thêm là hiện nay, Dev này chỉ tập trung build AcT cho các tvbox kiến trúc 64bit (aarch64, ARMv8) dưới dạng một file ảnh (image) duy nhất dùng cho cả chip Amlogic, Allwinner hay Rockchip.
Nhìn chung AcT còn rất nhiều lỗi. Cùng một tvbox nhưng với bản AcT build ngày 5 chẳng hạn thì khi cài đặt xong có thể có wifi 2.4/5 GHz, sound, bluetooth, usb 2.0/3.0, HDMI, màu chuẩn, nhận đủ dung lượng bộ nhớ trong; sang bản build ngày 20 thì lại mất sound, bluetooth, không nhận đủ dung lượng bộ nhớ trong...vv và sang bản build ngày 30 thì có khi mất cả (!), chỉ còn ethernet. Một điểm hạn chế nữa là đa phần các tvbox sau khi cài đặt AcT sẽ chỉ nhận ethernet 100mb, một số ít nhận 1gb.
Mục đích của mình là tận dụng tvbox cũ làm mini server, chạy một số container giám sát hệ thống, chặn quảng cáo nên thường chỉ quan tâm đến bản AcT server build trên nền Debian Buster, có ethernet và ổn định hay không thôi, còn thì không quan tâm lắm đến các tính năng khác như sound, bluetooth hoặc wifi... Hình dưới minh họa việc sử dụng tvbox làm headless server, AcT kernel 5.9 với 5 docker và một số phần mềm khác như Ansible, Prometheus.
2. Về tvbox
Hiện nay, tvbox có trên thị trường có chất lượng khác nhau, thượng vàng hạ cám, được nhiều bên sản xuất, cùng một dòng có thể chính hãng sản xuất hoặc do một bên khác OEM. Ví dụ như tx3 mini, trên thị trường có ít nhất 3 loại box cùng tên tx3mini, hay x96 mini có tới vài phiên bản dùng board khác nhau. Ngoài ra, một số tvbox dùng bộ nhớ trong eMMC thì sau khi boot AcT từ sdcard thì có thể cài đặt AcT trực tiếp lên eMMC; một số tvbox khác lại dùng bộ nhớ trong là nand flash, loại này thì kernel linux không hỗ trợ nên không thể cài đặt AcT lên bộ nhớ trong. Tvbox mặc định sẽ luôn boot từ OS trên bộ nhớ trong. Do vậy, để có thể boot từ sdcard thì phải thêm một bước nữa là dùng script để kích hoạt chế độ này. Bước này sẽ đề cập ở phần sau.Vậy, chọn tvbox nào phù hợp? Nếu đã có tvbox rồi thì so sánh model tvbox của mình với danh sách DTB (device tree - định nghĩa giao tiếp cho firmware) của AcT để xem có hỗ trợ không. Riêng chip Amlogic, AcT hỗ trợ gần 30 model, gồm cả tvbox và một số SBC. Trong trường hợp không có trong danh sách model hỗ trợ thì cũng có thể dùng DTB của tvbox nào dùng cùng SoC: lấy ví dụ như tx3mini và x96 mini đều dùng amlogic 905W nên có thể dùng DTB của tx3mini (meson-gxl-s905w-p281.dtb, hoặc meson-gxl-s905w-tx3-mini.dtb) cho x96 mini.
Còn nếu mua tvbox mới thì theo ý kiến cá nhân nên chọn của các hãng có tên tuổi như tanix, envybox, beelink. Các hãng này thường có website, thông tin, cấu hình tvbox chuẩn, rõ ràng, build chắc chắn, có phần tải/cập nhật firmware. Do đó, trong một số trường hợp đã cài AcT lên eMMC rồi thì việc muốn quay về OS gốc cũng dễ dàng hơn.
Một số tvbox thông dụng hiện nay: Tanix tx3 mini (khoảng trên 400-450k cho bản 2/16 GB, các đời đều chạy được AcT); x96 mini (chỉ rev 2.1 chạy được AcT; rev 2.2 đã khóa uboot nên không chạy được AcT), x96 max; Beelink dòng GT1, GT-King (khá đắt, chắc chẳng thím nào bỏ ra 2000-3000k mua về chỉ để chạy AcT) và nhiều model khác.... Có thể tham khảo một số dòng tvbox chạy được AcT trên forum armbian.
3. Cài đặt AcT lên tvbox
3.1. Nguyên liệu
- tvbox: thường dùng bản 2gb ram, 16gb bộ nhớ trong (2/16). Nếu chỉ sử dụng tvbox cài pihole, adguard chặn quảng cáo thì chỉ cần bản 1/8 GB tuy hơi đuối. Trong ví dụ sau mình dùng tx3 mini rev H, 2/16 GB, cấu trúc 64bit.
- 1 micro SD card 8 hoặc 16gb, class 10. Class càng cao càng tốt nếu muốn chạy AcT từ sdcard. Còn nếu chỉ để dùng sdcard làm trung gian trước khi cài đặt AcT lên eMMC của tvbox thì có thể tận dụng bất cứ sdcard nào săn có. Lưu ý là nếu sdcard class thấp (4, 6 chẳng hạn) thì ở lần khởi động AcT đầu tiên sẽ mất khá lâu, thường từ 30 phút đến cả tiếng; class 10 thì chỉ khoảng 3-5 phút.
- usb đọc thẻ sd.
- Phần mềm để ghi AcT lên sdcard: thường là Etcher, Rufus. Mình hay dùng Rufus vì có thể ghi image từ file zip mà không phải giải nén, sau khi ghi xong thì có thể sửa lại file cấu hình luôn mà không phải rút, cắm lại usb đọc thẻ.
- AcT image: tải về tại đây
- PuTTy hoặc Terminal để kết nối với tvbox đang chạy AcT.
3.2. Các bước
- Tải file image của Armbian từ đường link trên. Trong hình, mình chọn bản server buster dùng chung cho cả 3 loại chip, build ngày 5/10/2020, kernel 5.9.0.
- Cắm usb card reader vô PC. Chạy Rufus, chọn usb reader từ menu sổ "Device", kéo thả file image Armbian vừa tải ở bước trên vào "Boot selection" rồi click "Start" để ghi ra sdcard.
- Sau khi Armbian đã được ghi ra sdcard thì phải sửa file config cho phù hợp với cấu hình của tvbox. Lấy ví dụ cấu hình của tx3 mini: SoC là Amlogic S905W
+ Dùng Explorer để duyệt phân vùng BOOT của sdcard. Sửa file "u-boot-*" thành "u-boot.ext". tx3 mini dùng S905W nên mình sẽ sửa file u-boot-s905x-s912 thành u-boot.ext
+ Mở file "extlinux.conf" trong thư mục extlinux bằng notepad hoặc bất kỳ text editor nào sẵn có trên PC. Trong ví dụ này, mình dùng Sublime Text để chỉnh sửa:
+ Tìm đến dòng config cho SoC Amlogic (# aml s9xxx). Bỏ các dấu # ở đầu dòng FDT (chỉ cần 1 dòng) và APPEND.
Chú ý: tvbox dùng chip nào thì tìm dòng config cho chip tương ứng, xóa toàn bộ các dòng config còn lại cho các dòng chíp khác không dùng đến.
+ Quay trở lại cửa sổ Explorer, duyệt đến BOOT > dtb > chip Amlogic, tìm dtb cho tx3 mini, sao chép tên của file dtb này.
Chú ý: Với SoC 905W có 2 file DTB là meson-gxl-s905w-p281.dtb và meson-gxl-s905w-tx3-mini.dtb, dùng file DTB nào cũng được. Mình thử cả 2 file thì tvbox của mình chỉ nhận meson-gxl-s905w-p281.dtb mà không nhận file còn lại.
+ Dán tên file dtb vào dòng FDT như hình dưới đây. Lưu các thông tin vừa chỉnh sửa.
- Tháo sdcard ra và lắp vào khe TF trên tvbox. Cắm điện tvbox để boot vào OS gốc Androi.
- Trong Android, chọn cài đặt (Setting), sau đó chọn Cập nhật (Update), chọn file aml_autoscript.zip trên sdcard, sau đó nhấn Update. tvbox sẽ khởi động lại.
- Sau khi tvbox khởi động lại, nếu hên thì có thể boot luôn vào Armbian trên sdcard. Nói nếu hên vì trên forum Armbian có đề cập một số trường hợp boot được luôn vào AcT, một số trường hợp thì vẫn vào lại Android gốc của tvbox.
- Nếu rơi vào trường hợp sau thì dùng phương pháp chọc que vào nút reset như sau:
+ Rút jack điện của tvbox.
+ Dùng một cái que chọc vào nút reset. Tùy từng tvbox mà nút reset này được bố trí ở các vị trí khác nhau: với tx3 mini thì nút reset nằm trong lỗ cắm AV, với x96 mini thì nằm ở mặt lưng tvbox.
+ Vẫn nhấn giữ que nhọn chọc nút reset, cắm jack điện cho tvbox. Đợi trên 30s thì tvbox sẽ boot vào Armbian trên sdcard, lúc này nhả tay giữ que chọc lỗ reset.
- Làm đúng các bước trên, các thím sẽ cài đặt AcT trên sdcard thành công. Ở lần đăng nhập đầu tiên, dùng username là root, password là 1234. Sau đó khởi tạo username và password mới
- Một số bước cần làm tiếp theo:
+ Khóa account root và chỉ sử dụng username khởi tạo nói trên ở những lần đăng nhập sau.
+ Cập nhật hệ thống, đảm bảo các package là mới nhất: Chạy lần lượt các lệnh sau
sudo apt update
sudo apt upgrade -y
sudo apt dist-upgrade
+ Chạy lệnh
armbian-config
để cài đặt thêm package của bên thứ 3: docker, hass.io..; thay đổi tên host của tvbox; trong trường hợp có sử dụng cron để tự động hóa một số task thì các thím phải thay đổi múi giờ phù hợp...+ Dùng lệnh sudo reboot để khởi động lại tvbox.
- Nếu muốn cài đặt lên eMMC (để tận dụng tốc độ của eMMC; sdcard để làm việc khác..) thì sau khi dùng PuTTY đăng nhập vào AcT, tại terminal nhập vào lệnh sau:
sudo /root/install-aml.sh
Đợi một lúc Act sẽ tự cài đặt lên eMMC theo kịch bản (script), báo thành công thì khởi động lại tvbox. Rút sdcard ra trước khi cắm điện, tvbox sẽ boot vào AcT từ eMMC.
Cập nhật
10/2021: Cập nhật link tải về (Bản build cuối cho armlogic, 10/2020, debian buster, kernel 5.9)
4/2021: sửa lỗi hiển thị ảnh: đổi server của pik.vn từ 2 sang 3.
1. Từ tháng 11/2020, AcT chỉ hỗ trợ tvbox chip allwinner và rockchip. Bản build 10/2020 (kernel 5.9.0) là bản cuối cùng hỗ trợ cho các tvbox chạy chip amlogic.
2. Một số cách fix khi không boot được AcT từ sd card:
- Hạ (downgrade) Android OS của tvbox (https://voz.vn/t/cai-dat-adguardhome-tren-tvbox-chay-armbian.164275/page-3#post-5400666).
- Thay sd card khác (https://voz.vn/t/cai-dat-adguardhome-tren-tvbox-chay-armbian.164275/post-5802359)
Last edited: