Amazon Fire TV 2 (amazon-sloane)

Contributors

 * The Arjdroid

Status
I have a proper boot.img as the developers on the XDA-Developers thread have already made a succesful bootloader unlock and TWRP bootloader for it. I am currently stuck at the kernel step. I have the source code for the original firmware, as provided by amazon. I am not exactly sure how to extract the kernel from it. I will ask on the IRC thread for some help on how to do this. Amazon has provided instructuions on building the kernel but the build environment is very outdated.

EDIT (5 Dec 2021): I am still stuck on the kernel. The kernel I obtained from the m8173-dev github repo for unofficial LineageOS 16 doesn't compile properly. The kernel sources provided by amazon don't seem to be compiling either, I can't find exactly what patches to apply to fix the errors I'm getting...

Device Files
N/A

Unlocking The Bootloader
How to Unlock the Bootloader And Install TWRP on the Amazon FireTV 2 - https://forum.xda-developers.com/t/unlock-root-twrp-unbrick-firetv-2-sloane.4222331/

(I will put some basic notes on how to achieve this over here because I found the instructions to be a bit confusing)

Roll aluminium foil into a pointy needle thing and then short DAT0 according to the diagram. (you have to bridge the aluminium roll between DAT0 and the big silver GND)
 * Use something like a flathead screwdriver to pry open the box.
 * Depending on your software version, follow the instructions.
 * If you have to short it;

Important Links and Information
Source Code of the Original Firmware (presumably includes the kernel), provided by Amazon themselves! https://www.amazon.com/gp/help/customer/display.html?nodeId=201452680

Out Of Box Android Version Specifications:
 * Amazon Fire OS 5 (mine was latest at around 5.2.7.8) it is based on Android 5
 * Output of cat /proc/version

Linux version 3.10.61+ (build@i3-ri-14-use1a-b-125) (gcc version 4.9 20140514 (prerelease) (GCC) ) #1 SMP PREEMPT


 * Output of cat /proc/cpuinfo

Processor	: AArch64 Processor rev 2 (aarch64)

processor	: 0

BogoMIPS	: 26.00

Features	: fp asimd aes pmull sha1 sha2 crc32

CPU implementer	: 0x41

CPU architecture: AArch64

CPU variant	: 0x0

CPU part	: 0xd03

CPU revision	: 2

Hardware	: MT8173

Serial		: 67332e1badf0152a

Device Specifications https://developer.amazon.com/docs/fire-tv/device-specifications-fire-tv-pendant-box.html?v=ftvgen2

Processor Specifications https://www.mediatek.com/products/tablets/mt8173

https://www.notebookcheck.net/Mediatek-MT8173-SoC-Benchmarks-and-Specs.187982.0.html

Note: The CPU is the SoC is the Mediatek MT8173C, not the MT8173, the only (as far as I can tell) difference between the two is that the MT8173C has a 2.1 Ghz clockspeed, slightly lower than the 2.4Ghz of the MT8173.

There is an _unofficial_ port of LineageOS for the device.

The kernel is at - https://github.com/mt8173-dev/android_kernel_amazon_sloane

branch: lineage-16.0

The rom itself is at - https://github.com/mt8173-dev/android_device_amazon_sloane

branch: lineage-16.0

The above repositories also contain branches for cyanogenmod and the original kernel from the vendor firmware though I am not sure they would be as reliable as LineageOS.

There is a Chromebook with the Mediatek MT8173 SoC (The Acer Chromebook R13) it has a port of ArchLinuxARM that works on it. Currently I'm only trying to use the kernel from the lineageos 16 port but I might later on try implementing the ArchLinuxARM kernel (which is directly siphoned out of ChromeOS) hopefully that is a newer kernel version.