Please answer the poll, and if you'd like to provide more info (or even get help) post the following info:
OS and version:
FireTV model and OS version:
Brief description:
If you are trying to root:
Log of root output pasted in CODE tags.
If not:
Why don't you want to root your device?
Example:
OS and version: Win 7
FireTV model and OS version: AFTV2 - rooted, AFTV1 rooted also
Brief description:
root all the things!
Log:
Code:
Done!
Press any key to continue...
OS and version: Mac OS X Mavericks 10.9.5
FireTV model and OS version: AFTV2 OS Version 5.0.3.1 (534011720)
OS and version: Windows 10 (64 bit)
FireTV model and OS version:
AFTV2 OS Version 5.0.3.1 (534011720)
AFTV1 rooted also
OS and version: Mac OS X 10.11.1 / Ubuntu 14.04 (virtual)
FireTV model and OS version: AFTV2 - 5.0.3.1
Brief description:
Tried using OS X (SIP disabled with a more current version of adb that works with El Capitan) but no matter what I did it would stop patching after about the 5th or 6th patch, once it went further but still hung.
So I used my VM of Ubuntu 14 ... This was quite a bit slower to run to completion (this may be due to my VM being configured with very few resources) it was 2.5 hours before it got to the largest patch section so I have to think it took 5 or 6 hours to complete.
I did end up with a loss of ability to remount /system as rw after installing the "system tools" via adbFire but this was fixed after rebooting the FireTV.
Ludacrisvp said:
OS and version: Mac OS X 10.11.1 / Ubuntu 14.04 (virtual)
FireTV model and OS version: AFTV2 - 5.0.3.1
Brief description:
Tried using OS X (SIP disabled with a more current version of adb that works with El Capitan) but no matter what I did it would stop patching after about the 5th or 6th patch, once it went further but still hung.
So I used my VM of Ubuntu 14 ... This was quite a bit slower to run to completion (this may be due to my VM being configured with very few resources) it was 2.5 hours before it got to the largest patch section so I have to think it took 5 or 6 hours to complete.
I did end up with a loss of ability to remount /system as rw after installing the "system tools" via adbFire but this was fixed after rebooting the FireTV.
Click to expand...
Click to collapse
Awesome to see the feedback thanks guys!
That's interesting that it was failing in your OS part way through the serial transfer, but a VM actually worked for you on the same hardware. This is something that may be an ugly workaround for @playingmax too.
OS and version: Win 7
FireTV model: AFTV2
using windows 7 64bit. have been tying to root for the pass 3 days with no success. it just keeps hanging after about 5 mins of flashing.
last Log:
HTML:
C:\Users\Morris\Desktop\aftv2-tools>patch_mmc_win.bat
Patching patch_400.img...
rawwrite dd for windows version 0.6beta3.
Written by John Newbigin <[email protected]>
This program is covered by terms of the GPL Version 2.
skip to 1024
512+0 records in
512+0 records out
Addr: 0x58e0400
Patching patch_1000.img...
rawwrite dd for windows version 0.6beta3.
Written by John Newbigin <[email protected]>
This program is covered by terms of the GPL Version 2.
skip to 4096
512+0 records in
512+0 records out
Addr: 0x58e1000
Patching patch_52000.img...
rawwrite dd for windows version 0.6beta3.
Written by John Newbigin <[email protected]>
This program is covered by terms of the GPL Version 2.
skip to 335872
512+0 records in
512+0 records out
Addr: 0x5932000
Patching patch_53000.img...
rawwrite dd for windows version 0.6beta3.
Written by John Newbigin <[email protected]>
This program is covered by terms of the GPL Version 2.
skip to 339968
512+0 records in
512+0 records out
Addr: 0x5933000
Patching patch_53a00.img...
rawwrite dd for windows version 0.6beta3.
Written by John Newbigin <[email protected]>
This program is covered by terms of the GPL Version 2.
skip to 342528
512+0 records in
512+0 records out
Addr: 0x5933a00
Patching patch_59800.img...
rawwrite dd for windows version 0.6beta3.
Written by John Newbigin <[email protected]>
This program is covered by terms of the GPL Version 2.
skip to 366592
512+0 records in
512+0 records out
Addr: 0x5939800
Patching patch_5a200.img...
rawwrite dd for windows version 0.6beta3.
Written by John Newbigin <[email protected]>
This program is covered by terms of the GPL Version 2.
skip to 369152
1024+0 records in
1024+0 records out
Addr: 0x593a200
Addr: 0x593a400
Patching patch_5e800.img...
rawwrite dd for windows version 0.6beta3.
Written by John Newbigin <[email protected]>
This program is covered by terms of the GPL Version 2.
skip to 387072
512+0 records in
512+0 records out
Addr: 0x593e800
Patching patch_66400.img...
rawwrite dd for windows version 0.6beta3.
Written by John Newbigin <[email protected]>
This program is covered by terms of the GPL Version 2.
skip to 418816
512+0 records in
512+0 records out
Addr: 0x5946400
Patching patch_9ae00.img...
rawwrite dd for windows version 0.6beta3.
Written by John Newbigin <[email protected]>
This program is covered by terms of the GPL Version 2.
skip to 634368
512+0 records in
512+0 records out
Addr: 0x597ae00
Patching patch_cc600.img...
rawwrite dd for windows version 0.6beta3.
Written by John Newbigin <[email protected]>
This program is covered by terms of the GPL Version 2.
skip to 837120
512+0 records in
512+0 records out
Addr: 0x59ac600
Patching patch_cce00.img...
rawwrite dd for windows version 0.6beta3.
Written by John Newbigin <[email protected]>
This program is covered by terms of the GPL Version 2.
skip to 839168
3584+0 records in
3584+0 records out
Addr: 0x59ace00
Addr: 0x59ad000
OS and version:
Raspbian (Updated to latest) on Raspberry Pi 2
FireTV model and OS version:
Fire TV 2 v5.0.3.1 (534011720)
Brief description:
Nothing else was installed on Raspbian to enable rooting to be carried out (Simply the commands originally posted by zero epoch).
To test root and restore of the AFTV2 I also had to learn how to compile ADB on the Pi 2.
I used a 3m USB 3.0 A to A lead (Purchased from Maplin here in UK) to carry out the rooting procedure.
OS and version:
Fedora 22 (x86_64)
FireTV model and OS version:
Fire TV 2 5.0.3.1
Brief description:
I used a cheap $3 cable from the local store Fry's Electronics. I also tested the procedure on RHEL 6.5 with a custom build of python 3.5.0. I found that my Fedora 22 desktop was a bit more reliable than my Lenovo laptop, but still after repeated experimenting I sometimes had to reboot the desktop to fix the serial port buffer.
AFTV2 - 5.0.3.1
Rooted through Ubuntu 14.04 Live CD, just followed steps as given (although had to enable universal sources to load python3-serial), and worked first time like a charm!
gu3stZA said:
AFTV2 - 5.0.3.1
Rooted through Ubuntu 14.04 Live CD, just followed steps as given (although had to enable universal sources to load python3-serial), and worked first time like a charm!
Click to expand...
Click to collapse
Laptop or desktop? Seems like people with laptops are having problems, although Linux has much higher success rates than Windows or Mac OS X for some reason due to hanging.
zeroepoch said:
Laptop or desktop? Seems like people with laptops are having problems, although Linux has much higher success rates than Windows or Mac OS X for some reason due to hanging.
Click to expand...
Click to collapse
5 year old laptop with a cheap 0.5m USB A-A cable.
No problems this side
ImCoKeMaN said:
Awesome to see the feedback thanks guys!
That's interesting that it was failing in your OS part way through the serial transfer, but a VM actually worked for you on the same hardware. This is something that may be an ugly workaround for @playingmax too.
Click to expand...
Click to collapse
Rooted another FireTV2 today using the same Linux VM ... ran it with the time command (and bumped the specs on the VM to 4 cores and 2Gb ram - had 1 core and 128Mb ram).
Took 218 minutes (3.6 hours) to complete root.
Code:
real 218m20.219s
user 5m28.768s
sys 1m53.503s
OS and version:
Ubuntu Live CD 14.04.3 LTS
FireTV model and OS version:
Fire TV 2 5.0.3.1
Brief description:
Used the Live CD (on USB thumbdrive) on a laptop. Had to try different USB ports but besides that no issues at all.
Rooted another under windows 7 desktop. Was having connection problems with laptop.
Sent from my ASUS_Z00AD using Tapatalk
I had great success rooting with a virtual machine running Ubuntu, Under Windows 10 operating system.
Rooted with Ubuntu 14.04 Live USB
Fire TV 2 Rooted
Ubuntu Desktop 14.04.3 on a Live USB
1) I used the instructions on YouTube to install Ubuntu Desktop 14.04.3 to a USB (search YouTube for "How to install Ubuntu 14.04 LTS on a USB drive"). About 2:20 into the video, you get to set the storage size of the Live OS. Although the video uses 2gb, I would recommend 3gb so you won't run into space constraints while following the steps below.
2) I then booted into Ubuntu (you can figure out how to boot from a USB key by googling either how to change boot order or how to enter the BIOS for your computer),
3) In the FireTV 2's settings, I went to Developer Options and turned ON all three options: ADB Debugging, USB Debugging, Apps from Unknown Sources
4) I connected my laptop to the FireTV with a USB Male-to-Male cable and on the laptop, started Terminal (command-line interface)
5) I entered one at a time, the commands from gitlab.com/zeroepoch/aftv2-tools/snippets/11117
6) After running the command "adb reboot ; sudo ./handshake.py", the Terminal just showed "Waiting for preloader" while the FireTV rebooted all the way to the Amazon start screen, so I knew the handshake script had not been successful.
7) I just unplugged the FireTV and plugged it back in (devices are still connected via USB). This time, within a few seconds, Terminal showed "handshake complete!"
8) I then continued with the next command from the script: "sudo ./patch_mmc.sh 0x00000000058e0000 system.root.img system.diff". This does the actual patching and took 2hrs.
9) Finally I skipped the next 3 lines "echo", "echo" and "read" lines and entered the last 3 commands in order to disable updates.
10) I then unplugged the USB, unplugged and replugged the FireTV, and that's it!
Thanks to zeroepoch for getting the ball rolling on opening up this device, and for sharing his work openly with the rest of us!
OS and version: Windows 10 (64 bit) on my Laptop using the pre-configured Virtual Machine (by ultimate_spy_binns).
FireTV model and OS version:
AFTV2 OS Version 5.0.3.1 (534011720)
Thanks to all who made this possible
windows 32bit
Hi i only have a windows 32 bit laptop, would i be able to use this to root aftv 2. ? TIA
raider0 said:
Hi i only have a windows 32 bit laptop, would i be able to use this to root aftv 2. ? TIA
Click to expand...
Click to collapse
Other than needing to install the 32bit Windows driver it should work. Not sure about if the VM image is 64bit or not if you go that route.
zeroepoch said:
Other than needing to install the 32bit Windows driver it should work. Not sure about if the VM image is 64bit or not if you go that route.
Click to expand...
Click to collapse
ok thanks for info and quick responce
Related
Let me preface that ever since I heard of an Intel based phone, the idea of running Windows at near native speeds has always intrigued me.
It's not perfect, but I think we're very close to that goal
Here's a video of my ZE551 running Windows 7:
Edit:
Here's @knightmare running Windoze 10 on his ZF2
http://forum.xda-developers.com/showpost.php?p=62008697&postcount=144
Edit:
Here's a video of my ZE551 installing Windoze 8: ( pretty boring for most people since it's just the install )
Edit:
Here's a video of my ZE551 playing ( I use that term loosely here ) a D3D9 game: Runes of Magic. Even though the Windows 8 QXL driver says it's hardware enabled in DxDiag, it's painfully slow.. taking nearly 15 minutes to start up/log in.
Edit:
Here's a video of Passmark 8 on Windows 8. Some people asked for benchmarks:
Here are the tools you will need to get this running yourself ( ZE551 ):
1. KVM enabled kernel - http://forum.xda-developers.com/zen...fhd-kernel-ze551-kvm-bridge-compiled-t3145055
2. Linux chroot - the one I use is called Linux Deploy ( in the Play Store )
3. Spice client - the one I use is called aSPICE ( in the Play Store )
4. Root - kinda duh
5. Unlocked Bootloader - without an unlocked bootloader, you can't install a new kernel
6. Terminal Emulator - the one I use is called Terminal Emulator ( in the Play Store )
7. SSH client - the one I use is called VX ConnectBot ( in the Play Store )
8. Busybox - most every root-based app uses this ( in the Play Store )
9. OS iso - any cdrom image of the OS you want to run, ie windows 7?
Optional:
1. (optional) a decent sized MicroSD card, I use a 128 gb one that's partitioned 50 gigs or so as ext4 for Linux & 70'ish gigs for vFAT
2. (optional) an SD Card partitioner - the one I use is called Aparted ( in the Play Store )
After unlocking your bootloader and getting root running, this is the process you will follow:
1. Flash the 2.19 kernel img using fastboot flash boot boot_2.19_kvm_bridge.img and reboot. Pray you boot up.
2. Start Terminal Emulator
2a. at the $ prompt, type: su
2b. Grant Permission to Terminal Emulator for Root access ( 1 time thing )
2c. check to see if kvm.ko and kvm-intel.ko are loaded by typing: lsmod
2d. If they aren't loaded, load them using the commands: insmod /lib/modules/kvm.ko and insmod /lib/modules/kvm-intel.ko
2e. exit out of Terminal Emulator by tying the command: exit and then exit again
3. Partition your microSD card using Aparted * OPTIONAL *
4. Use Linux Deploy to install your favorite Linux distro. Unless you are hoping to compile the Android AOSP kernel ( what the FHD phone kernel is ), you can use just about any of them. ONLY use SSH, you won't need framebuffer or X access. This could take upwards of half an hour.
5. After Linux Deploy has installed your linux distro, click Start to start up the chroot.
6. Use an SSH client to connect to your linux distro. ( I prefer to ssh in via my laptop, but also use VX ConnectBot when I'm out and about )
7. Use the package manager to install qemu-kvm for your distro. Most Debian & Ubuntu distros use apt-get, Arch uses pacman, Fedora uses rpm, etc...
7a. (optional) I find it easier to grant superuser privileges to my qemu-kvm executable, so I chmod a+s /usr/bin/qemu-system-x86_64 ; if you are paranoid about security, read through the documentation to do this correctly
8. I recommend creating a shell script to start up qemu-kvm because it can be a pain in the butt to remember all of the switches you like. ie...
qemu-system-x86_64 -full-screen -m 1G -enable-kvm -cpu host \
-drive file=/mnt/0/machine1.img,format=raw -boot menu=on \
--usbdevice tablet -smp 4 -vga qxl -monitor stdio -balloon virtio \
-soundhw hda -net nic,model=virtio \
-net user,smb=/mnt/MicroSD \
-spice port=5900,addr=127.0.0.1,disable-ticketing [email protected]
I have this line ( it's broken up by \'s <-- MAKE SURE THERE IS NO WHITE SPACE AFTER THE \ ) in my bash script called start_win7.sh
Here's a quick explanation of the line:
8a. qemu-system-x86_64 - This is the name of the qemu-kvm executable on my Arch x86_64 distro
8b. -full-screen - Full screen
8c. -m 1G - 1 gig of ram for our virtual machine
8d. -enable-kvm - enable KVM, the whole point of this endeavor
8e. -cpu host - use the same cpu information as our ZF2
8f. -drive file=/mnt/0/machine1.img,format=raw - the location of my hard drive, this is a 10 gig file
8g. -boot menu=on - boot menu enabled ( hit F12 etc.. )
8h. -usbdevice tablet - Qemu SUCKS at tracking the mouse, this forces qemu to track where we touch the screen
8i. -smp 4 - we're using 4 threads ( cores )
8j. -vga qxl - we're using the qxl vga adapter
8l. -monitor stdio - allow us to use the console to make immediate changes to the VM
8m. -balloon virtio - use the virtio balloon feature in the KVM kernel
8n. -soundhw hda - use the Intel HD Audio driver for sound
8o. -net nic,model=virtio - create a network card using the virtual IO feature in the KVM kernel
8p. -net user,smb=/mnt/MicroSD - create a shared folder, in this case the vFAT portion of the microSD card
8q. -spice port=5900,addr=127.0.0.1,disable-ticketing - Start up the SPICE engine for passing video & audio
8r. [email protected] - pass any further arguments to our qemu-kvm executable
so my file: start_win7.sh looks like this:
#!/bin/bash
qemu-system-x86_64 -full-screen -m 1G -enable-kvm -cpu host \
-drive file=/mnt/0/machine1.img,format=raw -boot menu=on \
--usbdevice tablet -smp 4 -vga qxl -monitor stdio -balloon virtio \
-soundhw hda -net nic,model=virtio \
-net user,smb=/mnt/MicroSD \
-spice port=5900,addr=127.0.0.1,disable-ticketing [email protected]
8s. chmod +x start_win7.sh to make it executable
9. Start up the qemu-kvm virtual machine referencing the location of your windows 7 install cd. ie...
./start_win7.sh -cdrom /mnt/MicroSD/Vcd/en_windows7.iso
9a. Qemu will start up and then show you this:
QEMU 2.3.0 monitor - type 'help' for more information
(qemu)
9b. you can then issue QEMU commands from the (qemu) prompt
10. Start up aSPICE
11. Click the OFF button to the left of Show Advanced Settings
12. Make sure Enable Sound is checked, if it isn't, do so.
13. The default connection is 127.0.0.1:5900, so click Connect
At this point, you should see your Windows install starting.
After this you will need the virtio drivers for your Windows box. I'll try to get those urls, but you should be able to Google them. Redhat has VirtIO & Spice guest driver cd's for Windows.
Redhat Windows Virtio Drivers CD: https://fedoraproject.org/wiki/Windows_Virtio_Drivers
SPICE Guest Drivers: http://www.spice-space.org/download.html ( download the QXL Driver and Spice Agent, the executable does not work )
Windows 8 QXL Drivers from Red Hat People: http://people.redhat.com/~vrozenfe/qxlwddm/
How to connect to Windows via RDP: http://forum.xda-developers.com/showpost.php?p=62096457&postcount=165
Edit:
Verified that Windows 8.1 pro can be upgraded to Windows 10. Redhat's qxl windows 8 driver works with Windows 10.
Great job bro. This is iam waiting for using zenfone 2.Is there any sound for windows 7?
if like can i change into windows 8 or 10??.
Tq
Yes, there is sound using aspice if you use the Intel hd audio driver. Unfortunately, the pc link video grabber doesn't record sound. ( why there isn't audio in my video )
Since this virtual machine is simply a pc, you should be able to install Windows 8 or 10.
Please let us know how that turns out!
Sent from my ASUS_Z00AD using XDA Free mobile app
this is amazing...this means there is a chance in the future, to run windows 10 or windows phone 10 (whenever that comes out) ? what about connecting mouse/keyboards via bluetooth? i cant wait for this to grow more! amazing work...!!!
Amazing! Care to try with Windows 10 to see how it behaves?
Seems already fast in your video, you already have ideas to make closer to native speed or it's already the best?
You've outdone yourself. A full modern Windows desktop OS in our pockets.
@ycavan
The very important question: What about video driver? Is it just dummy SVGA or full featured 3D graphics card?
Without Direct3D, windows for me will be nearly useless.
At the moment there is no direct 3d. The problem there is that my chroot doesn't seem to have proper access to all the hardware.
I've heard that the vmware driver is supposed to support d3d9 natively via gallium.
So... The next step would be to look at getting qemu-kvm compile for Android.
If any awesome Android developers out there are willing to do that, we might have a chance at full speed Windows with direct 3d.
I will say this... Epsxe was able to start up ps1 games with Pete's opengl driver via spice.
Sent from my ASUS_Z00AD using XDA Free mobile app
I've been messing around with the Android NDK lately, and if I have time today, I can try cross-compiling qemu-kvm.
This type of stuff is why I love supporting the XDA Community. Very cool. I'll give it a shot today - if USB OTG works, I'll have to see if I can get my Tactrix OpenPort cable to work with it and MazdaEdit.
This is a wonderful job bro... Can we follow the same procedure on other phones (Oneplus One in my case) with a kernel that supports KVM?
vigneshnallamad said:
This is a wonderful job bro... Can we follow the same procedure on other phones (Oneplus One in my case) with a kernel that supports KVM?
Click to expand...
Click to collapse
Since the Oneplus One is using an ARM based chip , not a x86 chip so I don't think it's possible to run Windows
damn man, that's some awesome stuff right there. imma have to find me self a zenfone 2
Jay.Lent said:
damn man, that's some awesome stuff right there. imma have to find me self a zenfone 2
Click to expand...
Click to collapse
Do it. Peer pressure!
awesome work Bro..
btw will it increases battery life of zenfone 2? or making it worse?
as we all know that android 5.0 is very buggy, the memory leak problem cause battery draining, so I wonder about your trick by installing windows 7 on asus zenfone 2 will it fix the battery draining problem?
Awesome Work !! Wish you all the very best for future developments
Wow excellent job.:thumbup:..didn't except such a beautiful stuff....lol touch screen Windows 7
Sent from my ASUS_Z00AD using XDA Free mobile app
Oh my glob! If there is any possibility to have tf2 in my pocket... I will seriously throw money at someone.
qkall said:
Oh my glob! If there is any possibility to have tf2 in my pocket... I will seriously throw money at someone.
Click to expand...
Click to collapse
You could always stream it from your PC as I'm not certain it would run well even on minimum settings.
As per the fact that the windows 7 runs on VM inside the Android, it should ideally worsen the battery life. Windows 7 doesn't replace the android os. If someone is worried about battery should not try this. Nevertheless, it truly would be a great thing to witness.
There is an updated thread now for rooting the AFTV2 that supports both 5.0.3.1 and 5.0.4 and maybe others in the future, see http://forum.xda-developers.com/fire-tv/general/root-amazon-fire-tv-2-updated-t3277556. The new method is simpler than this method and requires less to download and less steps to run.
To be safe run checkver.py every time you handshake since 5.0.4 is starting to roll out! Checkout the 5.0.3.1 tag in order to use this older method.
If you were able to root your AFTV2 we'd appropriate if you report your success on the poll located here.
NOTE: Root was obtained a few weeks ago so... this procedure is not the most time efficient, but it is just a few simple steps that anyone with a technical background can follow. There are ideas and some work in progress to make it easier. It depends also on serial port stability, which is somewhat random luck. Linux experience will be beneficial. The usual disclaimers apply, which means this rooting procedure comes with some risks and the scripts involved haven't been tested in all environments. Any harm that may come from rooting your device using this procedure is at your own risk and I assume no responsibility for any damage it may cause. I will do my best to help you get through it and recover if possible.
Root the Device
It's taken quite a bit of effort, but I've finally managed to create a pre-rooted system image (as well as backup the original) and provide a semi-efficient way to flash the rooted system image. Before attempting any of the steps listed below YOU MUST BE RUNNING 5.0.3.1. You should also have a unmodified/pristine system partition. You would probably know if you had any modifications and at this point that would be uncommon. If the patching fails for some reason just power off the device, reboot your computer (resets the serial port buffer), start the handshake script, then turn on the device. Once the handshake completes run the patching command again. There is no harm running the patching command two or more times. If it keeps hanging try a different computer.
To get started you will need a system that meets the following requirements:
Linux (Mac OS X or Windows w/ changes)
Python 3.x
PySerial
sudo yum install python3-pyserial # Fedora or RedHat
sudo apt-get install python3-serial # Ubuntu or Debian
USB Male A to Male A cable
R/W access to /dev/ttyACM0 (or use sudo)
ADB USB access (optional, but helpful)
Stop ModemManager (if you have it setup, which blocks handshaking)
Now run the following sequence of commands:
Code:
git clone --branch 5.0.3.1 https://gitlab.com/zeroepoch/aftv2-tools.git
cd aftv2-tools
wget http://download.zeroepoch.com/aftv2/5.0.3.1/system.root.img.gz
wget http://download.zeroepoch.com/aftv2/5.0.3.1/system.diff.gz
gunzip system.root.img.gz
gunzip system.diff.gz
adb reboot ; ./handshake.py # or restart but run ./handshake.py first
./checkver.py # STOP if it reports NO!
./patch_mmc.hs 0x00000000058e0000 system.root.img system.diff # takes ~2 hours
# last address is 0x50dce600
For Macs (see post #115, thanks @ians325) to satisfy the requirements above you will need to install python 3.5.0 for Mac OS X from python.org then run "sudo pip3 install pyserial" to install pyserial. Instead of "wget $URL" use "curl -O $URL".
Windows is working now, but it's constantly improving to make it easier for novice users. The bash script has been ported to a batch file (no cygwin needed) and the serial port has some auto-detection built in now. The files needed for Windows have already been added to the repo but the README is constantly evolving. @ImCoKeMaN (big thanks) and myself are working to improve the process and make it easier for Windows users.
Anyone interested in rooting using an Ubuntu VM should watch the YouTube video by @ultimate_spy_binns, https://www.youtube.com/watch?v=CZQqLoO6ojM. There is also a script to help automate the process if you are doing this on an Ubuntu live CD/USB found here (by @BagiMT).
To test that root is working you should first connect to adb shell and then run the command "su". You will need to accept a prompt on the screen (HDMI port) at least once. The shell should change from a dollar-sign ($) prompt to a hash (#) prompt.
If you would like to disable updates after rooting you can use the following commands:
Code:
adb shell
su
pm disable com.amazon.device.software.ota
To go back to stock in case you want to update or for whatever other reason:
Code:
wget http://download.zeroepoch.com/aftv2/5.0.3.1/system.orig.img.gz
gunzip system.orig.img.gz
adb push system.orig.img /data/local/tmp
adb shell
su
pm enable com.amazon.device.software.ota
dd if=/data/local/tmp/system.orig.img of=/dev/block/platform/mtk-msdc.0/by-name/system bs=1m
sync
reboot
I don't always have the best luck transferring large files over ADB so another option is to copy the uncompressed image file to a microSD card and changing the path to /storage/sdcard1/system.orig.img. Be extremely careful that you have the right path, that the file you are reading exists, and that the file is around 1.2 GB in size. Otherwise you may potentially trash your system.
Background Info
This root method works by rebooting the device and halting the boot process at the MediaTek preloader. Once halted at the preloader we can use the preloader binary API to send a series of MMC commands to the flash chip which allows 512 byte blocks to be read and written using a simple FIFO. Since we have both the original and modified system images we can generate a list of blocks that are different between the two images and only patch those blocks. This means we need to write less than 10 MB instead of 1.2 GB. If we had to send the entire system image at the speeds the preloader is limited to it would take about 2 weeks. If for some reason the system partition becomes unbootable that would be your only option to recover right now. By sending just the differences the patching only takes about 2 hours. There are ways to speed this up (about 5-10 minutes instead), but you'd need to obtain limited root access first using a much much more complicated procedure. I choose to provide instead a slower but much simpler series of commands.
The MT preloader is a process that runs before the regular bootloader (lk/fastboot) and of course before the kernel boots. It only shows up for about 3 seconds. Unfortunately the preloader is writable and could potentially be updated. The entire boot chain is cryptographically signed from what I've been able to inspect including the preloader. An unlocked bootloader would most likely be needed to flash a custom kernel (no kexec built-in of course, but modules/device drivers can be loaded) and create ROMs not based on stock. @rbox has been working on getting kexec working as a module but no ETA yet. So in conclusion the tools here allow you to modify the flash contents and using these facilities we have add SuperSU binaries to the system partition.
Anyone interested in how root was obtained should look at the history starting with this post. You should also read the README file from the aftv2-tools git repo. Also feel free to PM me if you have any questions.
Tips
If you want to disable the pop-up message when becoming root you can change notify=1 to notify=0 in /data/data/eu.chainfire.supersu/files/supersu.cfg. You need to reboot the device after making this change. It's also suggested to make the file read-only because it seems to get reset sometimes. (Thanks @ultimate_spy_binns)
Special Thanks
@qwertytical
@budokaiboy
great news
i never powered on my unit - awaiting root
can we have a 5.0.3.1 image to safely flash before root
otherwise the system might update to different version
now that rooting is out
amazon might be quick ...
reiteravi said:
great news
i never powered on my unit - awaiting root
can we have a 5.0.3.1 image to safely flash before root
otherwise the system might update to different version
now that rooting is out
amazon might be quick ...
Click to expand...
Click to collapse
Yeah, mine pre-ordered one is still in a box so I'd need to update it too. I guess I can do that tonight before a new version comes out.
reiteravi said:
great news
i never powered on my unit - awaiting root
can we have a 5.0.3.1 image to safely flash before root
otherwise the system might update to different version
now that rooting is out
amazon might be quick ...
Click to expand...
Click to collapse
Unfortunately you will need to do a normal update first before patching the system partition. It just takes too long to flash a full system image, original or modified, using the methods we have available to us now. Also the boot partition and other partitions are updated with each OTA. I hope we can continue to provide rooted versions of updated system images, but as you know there is no guarantee of that. I'd update now before there is any new updates and then root it. We could in theory root the older versions as well and even before first boot, but without the OTA updates and applying them in reverse I can't go back and patch the older releases. I strongly think the method used to write the system partition can not be fixed since I believe the preloader code is in a ROM.
Mac Update
A few notes for Mac users willing to experiment a little:
I installed python 3.5.0 for Mac OS X from python.org and then ran "sudo pip3 install pyserial" to install pyserial for python 3.x. The final change I needed to make was to change PORT in handshake.py and read_mmc.py/write_mmc.py (only tested reading the boot partition, but everything else should work). In my case the PORT was /dev/cu.usbmodem1430. The device filename seems to be based on the USB port it's connected to. I'm not sure if there is an easier way to find the device filename besides scanning /dev and looking for new devices matching a given pattern. Maybe others on this forum have some better ideas. The final caveat was I need to unplug and replug the USB cable after the handshake completed otherwise the read_mmc.py script would hang on the first read.
I succeeded in rooting mine! For comparison purposes, here's the md5sums of my partitions:
Code:
0e450c032ddce170667ba3ddc26cb960 DKB
a3ad800f012a153953b403ef1fa36e14 EXPDB
d693da95eb68b40e4315333bcf74918b KB
50f24ce4c7ac388b33310bff6f79636a LOGO
59071590099d21dd439896592338bf95 MISC
f9b5ef697fde92c42bbbec35e5a6cad4 PRO_INFO
8a9d058f87711c2e8ccc698647f5026b TEE1
eda2733e1d0214873d9cb9d78c68425f TEE2
97a2ccdb7a02838b26b9a57e4f31d51d boot
fbd20aa58cd63c07392080cad7627e18 lk
74f0bac463bae8141acf20594987a559 recovery
a06c3d6a8c73923ed5c38b479c4410d3 system
So my DKB, KB, and system partitions are different from yours.
NaturalBornHaxor said:
I succeeded in rooting mine! For comparison purposes, here's the md5sums of my partitions:
Code:
0e450c032ddce170667ba3ddc26cb960 DKB
a3ad800f012a153953b403ef1fa36e14 EXPDB
d693da95eb68b40e4315333bcf74918b KB
50f24ce4c7ac388b33310bff6f79636a LOGO
59071590099d21dd439896592338bf95 MISC
f9b5ef697fde92c42bbbec35e5a6cad4 PRO_INFO
8a9d058f87711c2e8ccc698647f5026b TEE1
eda2733e1d0214873d9cb9d78c68425f TEE2
97a2ccdb7a02838b26b9a57e4f31d51d boot
fbd20aa58cd63c07392080cad7627e18 lk
74f0bac463bae8141acf20594987a559 recovery
a06c3d6a8c73923ed5c38b479c4410d3 system
So my DKB, KB, and system partitions are different from yours.
Click to expand...
Click to collapse
That is awesome news! The first confirmed case I've heard of someone else repeating my success
About the DKB and KB partitions being different it makes me wonder what those partitions are for? I didn't include cache and userdata in the MD5SUM of course, which you noticed, because those change all the time. NVRAM when I looked inside appeared to have a few things that looked to be device specific. The system partition being different is actually expected because I found every time I rebooted my system partition changed checksums. Also that is the MD5SUM of the unmodified system partition. I noticed this weird MD5SUM behavior when I was first gaining root and doing some sanity checks. It happens right after daemonsu is started. My best guess is that the SuperSU tools mount the system r/w quickly and that causes the last mounted timestamp to change. Don't know for sure what causes it, but don't worry that's not unexpected. The main reason I kept those hashes in the repo was so when the next version comes out I know which partitions were changed and need to be updated by users who wish to maintain root.
------------------SOLVED-----------------
Please read on if you have problems with handshake script looping forever...
-----------------------------------------------
Hi zeroepoch,
meanwhile I received my Fire TV 2 and tried your scripts but unfortunately without success.
As far as I can see, there are 2 problems:
- The /dev/ttyACM0 device appears on rebooting the Fire TV, but only for some 100th of a second, then it disconnects again.
- If I give it another try, the device will appear as /dev/ttyACM1, next time /dev/ttyACM2, aso.. So I either have to update the handshake script for every try or reboot my computer (then it starts with /dev/ttyACM0 again).
When I first tried it, the handshake-script ran forever, it just missed the short time of availability of /dev/ttyACM0. So I reduced the sleep-timeout in the script from 0.25 to 0.001. Now the handshake script detects the serial device but runs into an I/O Error during one of the next steps (each time different, seems to be a "race condition").
Can you offer any advice? Could my Laptop be too slow somehow or is there some trick to make the Fire TV keep the port open for a longer time?
Greetings, Christian
Code:
shell:
[email protected]:~/aftv2-tools# adb reboot ; ./handshake.py
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
Traceback (most recent call last):
File "./handshake.py", line 17, in <module>
dev = serial.Serial(PORT, BAUD)
File "/usr/lib/python3/dist-packages/serial/serialutil.py", line 261, in __init__
self.open()
File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 282, in open
self._reconfigurePort()
File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 413, in _reconfigurePor t
termios.tcsetattr(self.fd, TERMIOS.TCSANOW, [iflag, oflag, cflag, lflag, ispeed, ospeed , cc])
termios.error: (5, 'Input/output error')
Code:
/var/log/syslog;
Nov 11 11:25:41 DeepThought systemd[1111]: Reached target Default.
Nov 11 11:25:41 DeepThought systemd[1111]: Startup finished in 15ms.
Nov 11 11:27:28 DeepThought kernel: [ 217.460463] usb 8-2: USB disconnect, device number 2
Nov 11 11:27:31 DeepThought kernel: [ 220.608049] usb 8-2: new high-speed USB device number 3 using ehci-pci
Nov 11 11:27:31 DeepThought kernel: [ 220.741857] usb 8-2: New USB device found, idVendor=0e8d, idProduct=2000
Nov 11 11:27:31 DeepThought kernel: [ 220.741860] usb 8-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Nov 11 11:27:31 DeepThought kernel: [ 220.741862] usb 8-2: Product: MT65xx Preloader
Nov 11 11:27:31 DeepThought kernel: [ 220.741864] usb 8-2: Manufacturer: MediaTek
Nov 11 11:27:31 DeepThought mtp-probe: checking bus 8, device 3: "/sys/devices/pci0000:00/0000:00:1d.7/usb8/8-2"
Nov 11 11:27:31 DeepThought mtp-probe: bus: 8, device: 3 was not an MTP device
Nov 11 11:27:31 DeepThought kernel: [ 220.855737] cdc_acm 8-2:1.1: ttyACM0: USB ACM device
Nov 11 11:27:31 DeepThought kernel: [ 220.884047] usbcore: registered new interface driver cdc_acm
Nov 11 11:27:31 DeepThought kernel: [ 220.884050] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
Nov 11 11:27:31 DeepThought kernel: [ 220.924931] usb 8-2: USB disconnect, device number 3
Nov 11 11:27:31 DeepThought ModemManager[511]: <warn> (ttyACM0): tcgetattr() error: 5
Nov 11 11:27:31 DeepThought ModemManager[511]: <warn> (ttyACM0): port attributes not fully set
Nov 11 11:27:31 DeepThought kernel: [ 220.928861] cdc_acm 8-2:1.1: failed to set dtr/rts
Nov 11 11:27:31 DeepThought ModemManager[511]: <info> (tty/ttyACM0): released by modem /sys/devices/pci0000:00/0000:00:1d.7/usb8/8-2
Nov 11 11:27:31 DeepThought ModemManager[511]: <warn> (Plugin Manager) (Cinterion) [ttyACM0] error when checking support: '(Cinterion) Missing port probe for port (tty/ttyACM0)'
Nov 11 11:27:31 DeepThought ModemManager[511]: <warn> (Plugin Manager) (Nokia) [ttyACM0] error when checking support: '(Nokia) Missing port probe for port (tty/ttyACM0)'
Nov 11 11:27:31 DeepThought ModemManager[511]: <warn> (Plugin Manager) (Iridium) [ttyACM0] error when checking support: '(Iridium) Missing port probe for port (tty/ttyACM0)'
Nov 11 11:27:31 DeepThought ModemManager[511]: <warn> (Plugin Manager) (Generic) [ttyACM0] error when checking support: '(Generic) Missing port probe for port (tty/ttyACM0)'
Nov 11 11:27:33 DeepThought ModemManager[511]: <warn> Couldn't find support for device at '/sys/devices/pci0000:00/0000:00:1d.7/usb8/8-2': not supported by any plugin
Nov 11 11:27:35 DeepThought wpa_supplicant[837]: nl80211: send_and_recv->nl_recvmsgs failed: -33
Nov 11 11:27:36 DeepThought kernel: [ 226.092142] usb 8-2: new high-speed USB device number 4 using ehci-pci
Nov 11 11:27:37 DeepThought kernel: [ 226.225936] usb 8-2: New USB device found, idVendor=1949, idProduct=0241
Nov 11 11:27:37 DeepThought kernel: [ 226.225945] usb 8-2: New USB device strings: Mfr=2, Product=3, SerialNumber=4
Nov 11 11:27:37 DeepThought kernel: [ 226.225951] usb 8-2: Product: FireTV
Nov 11 11:27:37 DeepThought kernel: [ 226.225956] usb 8-2: Manufacturer: Amazon
Nov 11 11:27:37 DeepThought kernel: [ 226.225961] usb 8-2: SerialNumber: G070GV05544205DE
Nov 11 11:27:37 DeepThought mtp-probe: checking bus 8, device 4: "/sys/devices/pci0000:00/0000:00:1d.7/usb8/8-2"
Nov 11 11:27:37 DeepThought mtp-probe: bus: 8, device: 4 was an MTP device
After taking a closer look at my syslog and doing some research on problems with /dev/ttyACM0, I finally found the problem. It's the modemmanager. That service immmediately "grabs" the device and tries to do some invalid settings, which leads to an near immediate disconnect.
After I uninstalled the modemmanger (which seemed preinstalled in debian jessie, at least I never installed it on purpose) with
Code:
apt-get remove modemmanager
both of my problems were gone. The device stayed up for 3 seconds and after reboot of the Fire TV it had the same devicename /dev/ttyACM0 again. So I could undo my changes to the handshake script and had instant success with it.
Now I'll try rooting. WHOOT!
Thank you very much for your efforts!
I'd just like to check my understanding - are the instructions you posted comprehensive to obtaining root from absolute scratch?
I know soldering of eMMC and such things were used in development, but that is not needed now after you've done the hard work, correct?
I can just follow your steps above and root the FTV2?
gu3stZA said:
Thank you very much for your efforts!
I'd just like to check my understanding - are the instructions you posted comprehensive to obtaining root from absolute scratch?
I know soldering of eMMC and such things were used in development, but that is not needed now after you've done the hard work, correct?
I can just follow your steps above and root the FTV2?
Click to expand...
Click to collapse
Yes, you're right. No need to solder anything. You just need the tools stated in the instructions.
Hardware:
- a computer running Linux (or something very close)
- a A to A USB cable
Software:
- python3 and python3-serial packages
- adb package (not necessary but recommended)
- zeroepochs scripts and patchfiles
That said, a certain amount of base knowledge regarding Linux doesn't hurt .
Thanks! I've played around with Linux but would definitely classify myself as a beginner. I guess we'll see how user-friendly the instructions are
This is good news, definitely progress, could this be integrated into ADBFire for windows
Jay794 said:
This is good news, definitely progress, could this be integrated into ADBFire for windows
Click to expand...
Click to collapse
This would be perfect. Or even adb. I've just never used Linux
zeroepoch said:
It has only been tested on a US device and I don't know at this point if non US devices are different, maybe not.
Click to expand...
Click to collapse
Hi zeroepoch,
I just used your rooting scripts successfully on a non US (in my case German) version of the Fire TV 2!
Greets,
Christian
skyball2 said:
Hi zeroepoch,
I just used your rooting scripts successfully on a non US (in my case German) version of the Fire TV 2!
Greets,
Christian
Click to expand...
Click to collapse
Thanks for the feedback. Glad to hear it worked!
Successful root under arch Linux! Thanks for your hard work.
By any chance does this root work for the original fire TV ?
Sent from my SM-N910F using Tapatalk
Savage13 said:
By any chance does this root work for the original fire TV ?
Click to expand...
Click to collapse
No. It's MediaTek specific. It may work on most MediaTek devices though.
how can u tell handshake is ok and start patching ?
reiteravi said:
how can u tell handshake is ok and start patching ?
Click to expand...
Click to collapse
It will print "Handshake Complete". Also the serial device will remain present rather than disappear after a few seconds.
I have new instructions here that are much better, but require some amount of software compiling (mainly with the kernel): https://forum.xda-developers.com/iconia-a500/linux-acer-iconia-tab-a500-2020-edition-t4136023
I'm a latecomer to the scene of seeing GNU/Linux userland distros run on this tablet, as I only acquired mine from a friend since last year, and couldn't use it until I replaced the ac adapter and battery. I was this lucky as Android devices capable of running GNU/Linux distros natively are hard to come by, and moreso for getting it for free. But first, the tablet needed to be fixed up by software:
I upgraded the stock Android OS from 3.?.? to 4.0.3 by downloading Acer-provided updates to a microSD card.
Now I could retrieve the tablet's serial number and generate the SBK from it in order to flash Skrillax_CZ's custom bootloader with nvflash.
I flashed CWM 6.0.4.5 custom recovery first (to AKB partition), then OmniROM based on Android 4.4.4 (to LNX partition). I flashed an Open GApps package at first, but I had to remove it as those apps try to utilize the NEON extensions that this tablet's CPU lacks, causing them to crash. (4.4 is the minimum version the Open GApps supports anyways) Instead, I used F-Droid for an app store replacement, which sufficed for most of my needs.
Then I got to flashing a kernel that enables booting native Linux distros (to SOS partition). While I tried both sp3dev's 2.6.38 kernel and rogro82's 3.1.10 kernel (a modded version that loads the distro from the 2nd partition of a microSD card), I stuck with the 3.1.10 kernel, as it included the ASIX AX8817X USB 2.0 Ethernet driver which allows me an alternate method of internet connection in case I couldn't use wi-fi (both boot images are attached for preservation and convenience, renamed).
Now I was ready to experience running Linux distros natively on a mobile device for the first time. :fingers-crossed: From this point on, I would be using rootfs images to reach this dream of mine. With the new instructions posted above, I may have finally realized this dream! While I have more stuff working smoothly (Wi-Fi and Bluetooth, 2D software acceleration), other minor things are still not, including the camera and 3D acceleration (due to such support not existing in mainline kernel).
Some notes I made for this time period:
I have found out that glibc versions 2.24 and later have removed support for Linux kernel versions < 3.2, which limits the choice of distros I can select from without additional work.
The minimum Linux kernel version that this version of the GNU C Library can be used with is 3.2, except on i[4567]86 and x86_64, where Linux kernel version 2.6.32 or later suffices (on architectures that already required kernel versions more recent than 3.2, those requirements remain unchanged). Linux 3.2 or later kernel headers are required on all architectures.
Click to expand...
Click to collapse
The workarounds to this are to use an alternate C library, or use older versions of glibc (Version 2.23 is used in Ubuntu 16.04, but it is compiled to only run with Linux 3.2 or later, so it must be recompiled by lowering the minimum kernel version to 2.6.32).
The file bcm4329-fullmac-4.bin can be found in packages of linux-firmware, but bcm4329-fullmac-4.txt needs to be obtained from the stock Android OSes, as the file "/system/etc/wifi/bcmdhd.cal" (original file attached for convenience, renamed).
Linux kernel version 3.1.10 is the latest one provided by NVIDIA, and new versions are unlikely to be ported to this tablet's CPU, according to https://developer.nvidia.com/linux-tegra-rel-16.
Other than the above three points, Linux distros will work almost flawlessly, but if the screen is turned back on, an external keyboard is needed to switch to one of six virtual terminals by using Ctrl+Alt+[1-6], and then switching back to Ctrl+Alt+7, where 7 may be replaced if the GUI is running in another virtual terminal location. This process is not needed if the NVIDIA proprietary drivers are being used, which can be found on this page: https://launchpad.net/ubuntu/+source/nvidia-graphics-drivers-tegra/16.3-0ubuntu2/+build/4804631 (Beware that X11 ABI versions > 14 are not supported, so downgrade the xorg version somehow to the 1.14.x series to use this driver).
[Version 16.3] is the final release supporting Ventana. T20 support will not be included in future releases.
Click to expand...
Click to collapse
The internal storage is also detected by the kernel, but its contents cannot be normally accessed, as it has a special partitioning scheme that cannot be recognized. It is possible to format it, and partition it to hold accessible data, but I recommend not doing any partitioning for it, as it may require a longer restoration process that will not be explained here for now. However, using TestDisk to search for partitions using the GPT partitioning scheme allows four of them to be accessible. I recommend only copying data from those partitions; writing the detected partitioning scheme is risky for now.
Putting the tablet to sleep by use of pm-utils works, and the tablet will even power back up after the power button is pressed, but it may cause the BCM4329 SDIO card to stop working until the next reboot.
Any programs that utilize OpenGL during their operations are very likely to have poor performance, and will remain so, as this tablet model's GPU only supports OpenGL ES and EGL :crying: , unless those programs are altered by source code to include support one of these two APIs. Additionally, some colors may appear to be off during any OpenGL rendering (e.g. orange is rendered blue) However, the proprietary drivers may help with faster OpenGL ES and EGL rendering, but still, most programs are unable to utilize them.
I guess I can be blamed for sticking with too old hardware; people are moving onto newer hardware so quickly! However, there's still hope for having some sort of Linux tablet, but the road to getting there is not easy.
NEW: I have successfully cross-compiled this Linux 3.17.0-rc7 kernel, using the picasso config from rogro82's kernel source. When compiling this kernel, do not switch to any other branches, or prompts like this will appear upon invoking make:
Code:
Patch physical to virtual translations at runtime (ARM_PATCH_PHYS_VIRT) [N/y/?] n
Physical address of main memory (PHYS_OFFSET) [] (NEW)
I also created a boot image for it, but after flashing it, attempting to boot results in the bootloader being stuck at the loading screen, without hope for anymore activity unless powered off by force. Even inserting an initrd will not change anything but the size of the boot image (Max size for the SOS partition is ~5MB). :crying: This also seems to have happened a version of the 2.6.38 kernel from sp3dev that I have self-compiled, but that one was without an initrd. Either I'm not using the correct toolchain (I'm using the ones provided from the Ubuntu repositories), or non-manufacturer-provided kernels don't have the special code to support this tablet model. However, I really want to get this kernel to boot successfully, so that newer distro versions can be used (my results will appear in another post).
Supported Distros
Almost any distro will work out-of-the-box (OOTB), but some require software-level modifications that can only be done on a real armv7-based device or emulation, so here is a list of distros whose latest stable versions have an arm build, can successfully boot up, use glibc <= 2.23, and their image locations (all of them can at least boot to a terminal login screen, if a graphical desktop environment is not preinstalled, but this will require use of an external USB keyboard):
Devuan 1 Jessie (Mirrors for this distro are located in the directory "devuan_jessie/embedded/")
Slackware ARM 14.2 | http://ftp.arm.slackware.com/slackwarearm/slackwarearm-devtools/minirootfs/roots/
CentOS 7 | http://mirror.centos.org/altarch/7/isos/armhfp/
openSUSE Leap 42.3 | http://download.opensuse.org/ports/armv7hl/distribution/leap/42.3/appliances/
Unfortunately, for some reason, the BCM4329 wi-fi works OOTB only with older versions of some distros, including these:
Devuan 1 Jessie (already listed above)
Debian 8 Jessie and older (supported until May 2020)
Ubuntu 14.04 Trusty Tahr and older (supported until April 2019)
On newer versions of these distros, if I was able to boot them successfully, they will work, but when running
Code:
iwconfig wlan0 txpower auto
it results in input/output errors that are meaningless, and the kernel messages do not really help that much, even when using the supplied nvram file (do I need to get a different one, or support had been dropped entirely for this card?) For these cases, USB ethernet adapters are the only way to get an internet connection to this tablet model. I have never been able to get Bluetooth to work, unless I missed some other task that I have not yet heard of.
NOTE: To remove the root password, use this command on a Linux/BSD/other Unix OS:
Code:
sed -i 's/root:x:/root::/' /etc/passwd
"/etc/passwd" can be replaced with another location if needed. "/etc/fstab" may also need to edited to reflect the partition layout of the microSD card that a selected distro is installed to.
OOTB distro support for this tablet model is very limited at this time; support for it seems to be being dropped implicitly , unless I can compile and successfully get a newer kernel version to boot up. DistroWatch.com lists many more, but older versions of most distros will most likely have to be used. It's better to use the versions that are still supported, for that they will still receive software and security updates occasionally.
booted up slackware rootfs using thor2002ro installer successfully
Potential new kernel source
See the bottom of the first post for more information about this.
I'm working on trying to get us a newer kernel version than the NVIDIA-provided 3.1.10 one, located at https://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux.git/. This one is at 3.17.0-rc7. It's better in that comes straight from kernel.org, the official source of Linux kernel releases. However, its last update was from 09/28/2014, so while it is considerably newer than manufacturer-provided sources, it's not as new as the 4.x series (I'm not sure if I'm even willing to try compiling this series due to the age of this tablet model's hardware), but at least this will allow the tablet to successfully boot up newer distro versions. The issues with the BCM4239 card are likely to carry over here, but I can compile more drivers, either built-in to the image, or as modules that need to be added to a rootfs. Doing this will open up more alternate methods of getting an internet connection, such as by USB wi-fi/cellular adapters, or by USB RNDIS tethering. For reference, here are the current two 3.x release series, both of which are receiving updates as long-term support series:
3.16.x, supported until April 2020.
3.2.x, supported until May 2018.
That means in about two more years, this tablet model will effectively reach its end-of-life.
Do not flash the boot image attached here; it does not work yet. All of the attachments are provided for analysis, as they need more work before becoming usable. I try to learn most things on my own, but some things are not obvious to me as to what I should, so I need all the help I can get so that we can load new distro versions and give life to the remaining of these tablets for a few more years. At most, CentOS 7 is supported until June 2024 (enterprise-oriented distros tend to be supported for unusually longer amounts of time), if older kernels versions must be used or I fail to get this new kernel working at all, so this will be our only supported option if we can't get a new solution by the 1st half of 2020.
i found a thread with step how to install wifi drivers on deb-based distros
https://forum.xda-developers.com/showthread.php?t=1782549
we need packages: broadcom-sta-common broadcom-sta-source firmware-b43-installer firmware-b43legacy-installer b43-fwcutter
(i never tried it, idk if it even works)
still pursuing this project?
not sure if you are still pursuing this but if you are i would like to help
Aaron
adconway said:
not sure if you are still pursuing this but if you are i would like to help
Aaron
Click to expand...
Click to collapse
Yes, I'm still looking for people to help me with this; it will happen for as long as I own this tablet model; I haven't made much progress as I haven't found enough people to help me. It's good that you would like to help me.
Hi!
Sorry for the noob question folks...
I really would like to try some linux distros on this tablet, I have the Skrillax_CZ's custom bootloader installed, also the latest OmniROM but how can I install / boot a linux distro?
Thank you!
Ladislav
The kernel that I used expects the root file system to be on
Code:
/dev/mmcblk1p2
. Images for the Raspberry Pi are usually formatted with two partitions: one containing the boot files; the other containing the actual filesystem. The latter is what the kernel expects to read.
I've been hoping for a thread like this since I wasn't getting anywhere with my own old A500. With Google support flaky as ever on my tablet, I've been itching to remove it entirely for a Linux distro. When I get time, I would love to tinker with the materials you've shared, Worldblender.
Do someone have headers for kernel 3.8.13.20-digetx-thor-01232-gfe12f92?
2019 Status
Finally, I've decided to try again to get something a little more recent onto here. Ubuntu 16.04 and one flavor, Ubuntu MATE 15.04, can currently be run. Ubuntu Mate is an Ubuntu flavor shipping with the MATE desktop environment, and the only flavor to produce images for the Raspberry Pi, hence their partition layout is compatible with the 3.1.10 kernel image.
Here's what I went through today (all versions require editing /etc/fstab to disable mounting of the first partition for them to complete booting. To get Wi-Fi working, use the text file from the very first post of this topic, and place it in the same location (/lib/firmware/brcm); no need to copy the BIN file as it will already be present on the images):
Ubuntu MATE:
15.04: Only version that successfully boots out-of-the-box. Unsupported version. Use this image for now, as all others listed here don't work out-of-the-box.
15.10: Crashes with a kernel panic. Unsupported version.
16.04: Crashes with a kernel panic. Requires replacing the libc6 package and everything that directly depends on it with the ones from 15.10. Supported until April 2021. Glibc version 2.23 is in 16.04, while 2.21 is in 15.04 and 15.10.
Ubuntu:
16.04: Preinstalled images for Raspberry Pi 2/3 available at http://cdimage.ubuntu.com/releases/16.04/release/. Username and password is "ubuntu", and will prompt to change password upon logging in. Requires replacing the libc6 package and everything that directly depends on it with the ones from 15.10. Glibc version 2.23 is in 16.04, while 2.21 is in 15.04 and 15.10.
For Ubuntu 16.04, the following packages must be replaced prior to first boot with a chroot running on either an ARM virtual machine (the instructions at https://wiki.debian.org/QemuUserEmulation will also work), or another ARM computer (Android smartphones and tablets can be used here, as long as they have a microSD slot or support USB-OTG, where a USB SD card reader has to be used instead):
libc-bin
libc6
locales
perl
perl-base
perl-modules
After that, I recommend pinning/locking the packages "libc6" and "perl-base" to prevent the OS from becoming unbootable after an upgrade.
For all unsupported versions of Ubuntu, change the package repository URLs to point to http://old-releases.ubuntu.com/ubuntu/ so that more packages can be installed.
To download any of the Ubuntu MATE image versions listed above, use the torrents attached below (should still work at the time of writing this post). The Internet Archive has saved copies of these torrents, as they can no longer be accessed from the current Ubuntu MATE download page. They can be found at https://web.archive.org/web/*/https://ubuntu-mate.org/raspberry-pi/*
This is the best that I can offer; either use Ubuntu 15.04 right away (and access some newer program versions, but have no access to the latest security updates), or tweak Ubuntu 16.04 post-install with the package names listed above (and access even newer program versions plus security updates until April 2021). It may be the last time we can get newer software on an aging tablet from 2011 [!], unless new ones are compiled from source.
digetx repository
TeTriNol said:
Do someone have headers for kernel 3.8.13.20-digetx-thor-01232-gfe12f92?
Click to expand...
Click to collapse
digetx has a repository on bitbucket, might be there
Upgrade from 14.04 lubuntu by digetx
Thanks for posting the upgrade info, trying for a while but never found out the fix, until now.
After installing and upgrading 14.04 install as originally described on tegraowners I locked all the packages you mentioned eg:
libc-bin
libc6
locales
perl
perl-base
perl-modules
Then did a distrbution upgrade and presto, v16.04. Now I can install the latest versions of some programs I use.
Many thanks for sharing and kudos for finding issue. One day I hope to get back into linux seriously, changed a lot since the 14 floppy disk distributions. :good:
18.04 upgrade works so far
After the v16.04 upgrade I thought "go for broke" and try another dist upgrade and after a few warnings it worked.
Havent tried everything yet but Chromium works to get this typed, and system profiler but I can't upload image here.
Kicad 5 installed but eeschema crashed in 16.04 but it runs on 18.04 albeit a little slower than an i5
https://drive.google.com/file/d/1X3yEyWYsCWyF6RXxgd4GpBkyIHBmIPlw/view?usp=sharing
beaka said:
After the v16.04 upgrade I thought "go for broke" and try another dist upgrade and after a few warnings it worked.
Havent tried everything yet but Chromium works to get this typed, and system profiler but I can't upload image here.
Kicad 5 installed but eeschema crashed in 16.04 but it runs on 18.04 albeit a little slower than an i5
Click to expand...
Click to collapse
Hi beaka, can you share rootfs and install files from tegraowners lubuntu 14.04 ? I'm looking for it but tegraowners is gone now.
rootfs and installer from tegraowners
pheex79 said:
Hi beaka, can you share rootfs and install files from tegraowners lubuntu 14.04 ? I'm looking for it but tegraowners is gone now.
Click to expand...
Click to collapse
Hi pheex,
Here are links to the files I used to install lubuntu 14.04 then do the distupgrades to 18.04
installer:
https://drive.google.com/file/d/13Gg7Xhyx_C1Ra7_rkD4G_3yoPbf-qvC5/view?usp=sharing
rootfs:
https://drive.google.com/file/d/14YZ-_o2c-3afqD0PbppWod12p3xB5fs2/view?usp=sharing
I have skrilax v8 loader and install to sd card.
Hope that helps. :good:
thanks a lot !
Now wifi work, i can't figure it out with ubuntu debootstrap root fs
beaka said:
Hi pheex,
Here are links to the files I used to install lubuntu 14.04 then do the distupgrades to 18.04
I have skrilax v8 loader and install to sd card.
Hope that helps. :good:
Click to expand...
Click to collapse
Dist upgrade don't work for me, something broke dependencies, maybe the packages i freeze (libc...)
Do you remember how do you proceed ?
pheex79 said:
Dist upgrade don't work for me, something broke dependencies, maybe the packages i freeze (libc...)
Do you remember how do you proceed ?
Click to expand...
Click to collapse
I did a new install to card.
apt update
apt upgrade
reboot
open synaptic package manager and lock the versions of:
libc-bin
libc6
locales
perl
perl-base
perl-modulesby selecting then Package/Lock version from menu
reboot and make sure it works
open software updater and update (use gui version as apt doesnt seem to lock version)
reboot and make sure it works
open software updater and do dist upgrade to 16.04 (go to bed as slow dl on 3g)
reboot to see if it worked
then I did a dd of the sd as the upgrade takes hours over 3g
software updater to upgrade 16.04 security
after that I again used software updater to go to 18.04
dd sd card so never have to do it again
using apt from 18.04 doesnt seem to break anything so far that I use.
brief summary but hope it helps. once you get it to 16.04 it seems a bit more stable and on 18.04 it works and is a bit more responsive but I havent tried every feature, just web(chromium and ff v55, had to find old pre-neon vers) , samba, kicad, freerdp (works well) and I can even print to epson wifi x420 (just found it on network, almost thought I was in windows )
good luck let us know how you go
I can't seem to brick my tablet using the link in the post here https://forum.xda-developers.com/hd...unlock-fire-hd-8-2017-douglas-t3962846/page44. dink-x10 says he was able to get twrp flashed on 5.3.7.x with no root using the brick zip the op posted and I'm trying to try this for myself so i can get a new custom rom . But whenever I go into the directory where the zip is in the terminal and type in sudo brick-9820.sh I get (./brick-9820.sh: line 18: bin/fastboot32: cannot execute binary file: Exec format error). Is there any other way to circumvent that without using another pc as this is the only one I currently have access to since my pc's gpu is in the ****ter.
Slipdash said:
I can't seem to brick my tablet using the link in the post here https://forum.xda-developers.com/hd...nlock-fire-hd-8-2017-douglas-t3962846/page44. dink-x10 says he was able to get twrp flashed on 5.3.7.x with no root using the brick zip the op posted and I'm trying to try this for myself so i can get a new custom rom . But whenever I go into the directory where the zip is in the terminal and type in sudo brick-9820.sh I get (./brick-9820.sh: line 18: bin/fastboot32: cannot execute binary file: Exec format error). Is there any other way to circumvent that without using another pc as this is the only one I currently have access to since my pc's gpu is in the ****ter.
Click to expand...
Click to collapse
Raspbian OS is a Debian-based Linux distro.
Are you using Raspberry Pi board running Raspbian?
You can use an another PC (x86) and run Linux in live CD/USB (no installition). Do not run via virtual machine on Windows and macOS PCs (i.e. VirtualBox, VMware).
AmznUser444 Dev said:
Raspbian OS is a Debian-based Linux distro.
Are you using Raspberry Pi board running Raspbian?
You can use an another PC (x86) and run Linux in live CD/USB (no installition). Do not run via virtual machine on Windows and macOS PCs (i.e. VirtualBox, VMware).
Click to expand...
Click to collapse
Raspbian on the Pi board.
Slipdash said:
Raspbian on the Pi board.
Click to expand...
Click to collapse
Raspberry Pi board uses a Broadcom ARM SoC.
You can use an Intel/AMD x86 PC.
Found found out an old pc of mine was actually working but the windows install was bad. Flashed pop os and followed the presedure and it works great.
here is also trouble shooting information
~~~~~~~~~~~~~~~~~~~~~~~
https://store.askey.com/adt-3.html
~~~~~~~~~~~~~~~~~~~~~~~
android 13
for google tv and android tv
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Android 13 for TV | Android Developers
developer.android.com
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
android 12
for google tv and android tv
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
https://developer.android.com/tv/release/12#install-manual
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`
android x86
android (tv / tablet / pc) version. i
this runs on laptops and in virtual machines. its stock un bloated
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Android-x86
Android-x86: Free software download for windows, linux.
www.fosshub.com
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
---------------------------------------------------------------
and now linux options for android tv boxes
-----------------------------------------------------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
GitHub - 833M0L3/H96MaxX3: Install Linux on H96 Max X3 / Amlogic S905X3 TV Box. Cheap alternative to Raspberry Pi's for making a headless home server.
Install Linux on H96 Max X3 / Amlogic S905X3 TV Box. Cheap alternative to Raspberry Pi's for making a headless home server. - GitHub - 833M0L3/H96MaxX3: Install Linux on H96 Max X3 / Amlogic S9...
github.com
~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Linux images for android tv boxes (currently avalaible: archlinux, kali linux) - FreakTab
This topic if for people who want to run linux on thier android tv boxes (by linux i mean kali linux and arch linux) kali linux and arch linux images can be found here: https://disk.yandex.com/d/q3R5VgmiDDLq6w Steps to run linux. 1. Flash the image you downloaded from the link above to an...
forum.freaktab.com
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
project slimBOXtv
A project to create firmware for TV boxes and sticks with an Amlogic processor. Amlogic S905X, S905X2, S905X3, S912, S922, S905W, S905W4, S905Y2, S905L (Android 9) Amlogic S905X4, S905W2, S905Y4 (Android 11) slimBOXtv ATV and AOSP are two...
forum.xda-developers.com
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Armbian for Amlogic S805 and S802/S812
forum.armbian.com
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
this is my fav
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Kali ARM Statistics
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hack the world
and for reading this as an added bonus... free premium youtube version for android devices ... no ads , download video and/or audio, plays with screen off, no ads any where, picture in picture, back ground play, and no ads
Alright I'm no expert on Android tv boxes but is it possible to flash this without unlocking the bootloader?
Like I've got a tivo 4k box that is android 9 and tivo isn't releasing updates anymore as far as I can tell. So could I flash android tv 12 or 13 on it without OEM unlock and without bootloader unlock?
With out unlocking the bootloader. Linux is going to be the best option. You can run many different linux distributions on these tv boxes. Look into kali linux for arm or ubuntu for arm. Possibly debian.
with kali live boot and a usb or flash drive. It restores a pc with black screen of death and allows access to revoer files or take over the device.
Things to note... chmod -v 7777 written before anything changes its permissions same with chmod +rwxXst or last resort chmod +rwx. Adding -v shows if it worked or not -c or -v does that.
Fsck before the path of a directory such as /dev/sda will try to repair the file system on the device listed (dev is short for device and sda is usb plug device #1)
If you put the file system with the files needed on a sd or flash drive or partition. You can mkfs.ext2 -d // /dev/ and what ever device name added to copy root directorys while making a replacement file system
dd if= insert a disk image name or a directory then type of= and insert location to flash the image to.
dd if=/dev/zero of=/dev/ and device path .. will zero a device for re write
Now if you want to edit parts of the file system then create a mount point on the same path but make a new file with mkdir -v -p /type out where you want to go. Then you can mount with files to implant or replace at the location with mount -L and the devices label/name then the paths location or /dev/sd last letter for your device and then location.
Oh and you can also mount with mount -loop and you will basically have your mount over the original one.
If you need to edit logs. type nano and the name of the file. To save what you write hold ctrl and press x then y then let go ctrl and hit enter
spart0n said:
Alright I'm no expert on Android tv boxes but is it possible to flash this without unlocking the bootloader?
Like I've got a tivo 4k box that is android 9 and tivo isn't releasing updates anymore as far as I can tell. So could I flash android tv 12 or 13 on it without OEM unlock and without bootloader unlock?
Click to expand...
Click to collapse
Android devices boot and pass permission as they pass through security. Problem is partiton 1 and partiton 3 are both partition 1 with partition 2 overlaying it. ...
This is what the gods of android use this is a tool box with magisk and pals programs https://apt.izzysoft.de/fdroid/repo/com.sanmer.mrepo_111.apk
Also with a rooted device and an adroid program called termux. You can actually manipulate other androids in lots of ways. Expecially with kali nethunter on a rooted device.. or emulated rooted device like Ld player
Termux has changed the game when it comes to altering androids.
Termux
The main termux site and help pages.
termux.dev
This on a rooted phone is a trojan horse for androids
Kali NetHunter | Kali Linux Documentation
Kali on your Android phone
www.kali.org
This is where the linux on tv boxes information is
Single Armbian image for RK + AML + AW (aarch64 ARMv8)
The start system in Coreelec is not compatible with LibreELECE Armbian etc. If you run coreelec on your TV box, you will no longer be able to run LE and Armbian normally until the full recovery of the standard firmware via the USB Burn Tool and the new activation of the universal multi-boot, whic...
forum.armbian.com
Personally.. using a linux os on a sd card to wipe android tv box is easier than finding one in a billion rom you need.
They say the rock chip is impossible to brick. It has rockmode or what ever.. i ****ing bricked one last year