Amazon Fire TV 2 (amazon-sloane)

== Contributors ==
* The Arjdroid
== Device owners ==
== 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)
* 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;
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)
== 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.
== See also ==
* DIAL