Amlogic TV boxes
Amlogic TV boxes
General disclaimer and warning
It is possible to install and run Manjaro on several affordable Android TV boxes using Amlogic chipsets such as the S905, S922 and A311 series of processors. These TV boxes can be purchased for a fraction of the price of a similar spec single board computer whilst coming complete with a case, remote and cables but there are a few catches to be aware of.
The Android TV box market is awash with fakes and clones. It has been known for manufacturers to re-use the exact same model name yet use an entirely different chipset. For example, there are at least six versions of the X96 Air but they all have exactly the same case. The TV box manufacturers rarely if ever provide updates for their Android-based OS's and they provide zero support for users wanting to run alternate operating systems so achieving full support for every box is almost impossible.
Physical build quality is another frequent issue with TV boxes, in particular poor thermal designs are quite common. You may have to cut a hole or two in the case and place a USB powered fan over the SoC to perform CPU intensive tasks without throttling or overheating.
Identifying your box
Under Android, go to Settings -> System -> About phone
The device name given under About phone is often the best one to use to identify your box but you can also run:
Under an Android terminal to show your boxes device tree ID.
Installation
Manjaro can be installed from and to micro SD card or USB disk. It is not currently possible to install Manjaro to eMMC on Amlogic TV boxes.
Configure extlinux.conf
After using a disk imaging tool such as dd to write one of the vim3 Manjaro ARM images to a disk, mount the disk and edit BOOT_MNJRO/extlinux/extlinux.conf. You must edit the line that begins with FDT /dtbs/amlogic/ to point to the dtb file that you wish to use to configure your device tree.
If there isn't a matching dtb file for your box within the dtbs folder and you can't find a suitable dtb on this wiki or in the Manjaro forums then you should try meson-sm1-sei610.dtb first:
FDT /dtbs/amlogic/meson-sm1-sei610.dtb
Booting from USB
If you are booting Manjaro from a USB disk or via a USB SATA adapter/enclosure, there is a good chance that you will be required to add a usb-storage.quirks kernel parameter to the APPEND statement in extlinux.conf like so:
APPEND root=PARTUUID=5418e4d8-02 rootflags=data=writeback rw console=ttyAML0,115200n8 console=tty0 no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0 quiet splash plymouth.ignore-serial-consoles usb-storage.quirks=152d:1561:u
You must replace 152d:1561 with the correct USB vendor and product IDs for your USB device. You can find these identifiers by running lsusb when you have your disk or adapter connected to a Linux box. It is recommended you boot from USB without setting the USB storage quirks parameter where possible.
Enable multiboot mode
If this is your first time attempting to boot from an SD card or USB disk, you must enable multiboot mode. Insert your Manjaro micro SD card or attach the Manjaro USB disk then hold down the button in the AV port by inserting a paper clip, a pin or something similar and keep it depressed while powering the device on. Keep the button pressed until you see the boot screen of your box. After a few seconds it should reboot off your SD card or USB disk. You are only required to do this once unless you reflash your eMMC.