Related
I am going on a trans-pacific flight, so it will be just me, my spare A855 Droid and whatever I can fit on my laptop for 16 hours. I'd like to spend some time getting to know the device better and messing with a few ROMs.
There is no internet access whatsoever on the plane, so I will need to assemble all of my tools and ROM images beforehand. My question to the group is: what should I take with me? Most of the HowTos involve installing ClockworkMod and downloading ROMS from within the app - I will not be able to do that.
Here is my list so far. Any suggestions for additional tools/files/docs are appreciated. I'll even accept suggestions for other things to do with my time (keep it clean please!)
Hardware:
Motorola A855, USB cable, Charger, flash reader/adapter (also a Samsung Charge FWIW)
Software:
Andriod SDK, updated
Eclipse
RSD Lite 5.3.1 + Motorola drivers from here
APKs (I suppose I'll load them via ADB or the SD card...)
Clockwork MOD ROM Manager APK
ROM Images (from clockworkmod website)
recovery-clockwork-2.5.0.1-sholes.img
update-cm-7.1.0-Droid-signed.zip (CyanogenMod)
gapps-gb-20110828-signed.zip (Google Apps)
cerberus_1.91.zip (Same as the Cerberus app? looks interesting...)
Superuser-3.0.7-efgh-signed.zip (for messing with stock image)
Thank you!
Debian for the HP TouchPad
Downloads:
todo: add pics and binary links, for now there's https://mega.co.nz/#F!xZ81iKoK!Xio5bV9yjBRPTIzjLhCX3A
Source:
Kernel Builder: https://github.com/CalcProgrammer1/kernel_tenderloin_debian
I put together this kernel builder repository that contains the ramdisks needed to boot either a discrete Debian partition or a chrooted Debian install. It uses submodules for the kernel and backports sources. You can just run the mkbootzip.sh file and it will build the uImage.Debian/uImage.DebiAndroid moboot kernels. Choose the one that fits your installation method and install it to /boot on the TouchPad.
Kernel Source: https://github.com/CalcProgrammer1/..._msm8660-common/tree/tenderloin-cm-11.0-wip-5
Backports Source: https://github.com/CalcProgrammer1/backports-3.10-2
Thanks to jcsullins for porting the TouchPad to the samsung_msm8660-common kernel, without which this would not have been so easy! The Note 1 shares this kernel tree and I already had Debian working on it, made the port to TouchPad dead simple.
So I got an idea that I'm working on. I have been using Debian in a chroot on my Note 3 and it's really convenient to have both Debian and Android running side-by-side, but there are some things (mainly hardware/GPU hacking) that work better with a native install of Debian/Ubuntu/etc. On my Note 3 (which uses a datamedia partitioning scheme) I decided to forgo using a loopback mounted img file for my chroot and instead dump the Debian rootfs straight into my /data partition in the /data/debian directory. Why? With this configuration, Android, Debian, and Internal SD all share the same storage partition and can grow or shrink as space allows rather than deal with micromanaging partitions and having to resize. Want to install a desktop environment and delete it later? Go ahead, space allows.
So I decided to reformat my TouchPad with TP Toolbox last night and get CM11 running on it so my Ubuntu partition got wiped. That got me thinking...if I install my datamedia Debian installation, could I then write an init script to boot directly into it from a kernel? If so, the same Debian installation (residing in cm-data LVM in the debian directory) could be used both as a native install as well as a chroot from Android. Awesome!
So that's what this project is, create a Debian rootfs that doesn't require repartitioning, works as a chroot, and works natively as well. I'm calling the project DebiAndroid because it merges Debian and Android. Got some time to work on it over the weekend so hopefully I get something up, but for those who want to do it yourself it's basically just that:
1. Use debootstrap to generate a Debian armhf rootfs
2. Use qemu-user-static and chroot on your PC to install all the packages you want on your rootfs
3. Compress rootfs, put it on TouchPad, decompress in /data/debian
4. Write script to bind system FS entries to /data/debian and chroot in
5. Write init script to boot directly into /data/debian for native use
So far I've been successful at all of these, having a working chroot (with MATE desktop through XServer XSDL app) as well as booting into the chroot (terminal only right now, and USB OTG was broken so I couldn't log in). Hopefully I can get some 3.4 kernel action going as well. I'll update this post once something happens.
EDIT 1: I'm in! I forgot to set a password for root and I don't have any other accounts at the moment, so I rebooted into CM11 and chrooted in, set a password. Also had to disable the ALSA service because there's a missing firmware file that crashes it. Now to get networking up and running, I think I'll just build a kernel locally and modules_install rather than deal with cross compiling.
EDIT 2: I'm at it again, this time going to focus on Freedreno graphics as I'm really close on my Note 1 port which uses the same GPU and now the same kernel source tree as well. I was able to get a rendered 3D screensaver to run for a few seconds on my Note, should be repeatable on the TP.
EDIT 3:
Kernel Source: https://github.com/CalcProgrammer1/..._msm8660-common/tree/tenderloin-cm-11.0-wip-5
O_O
Man, that sound really great ! I would like to try it and install it as a zip file on another partition. How much space do you need for the root partition with your mate install ? Did you got some problem with the touchscreen sensibility or with bluetooth, wifi, camera, micro or sound not working ? I guess i could try one with Gnome 3 on my side. Thank in advance for your reply.
Right now it's only working in chroot, so Android is providing the X-server and touchscreen and everything else. I'm trying to get the kernel 3.4 to boot it outside of Android.
I hope you can do it. ^_^ Maybe I will try to find a way to make it work with Arch Linux with your kernel if you succeed to this project.
So finally, one month later, did you succeed into making Debian work for the Tenderloin ?
I got Debian with Freedreno sorta working on my Galaxy Note:
https://www.youtube.com/watch?v=qtb-TSGumNo
The kernel patch I used to make this work seems compatible with the TouchPad kernel source here:
https://github.com/TLOIN-3X-WIP/android_kernel_samsung_msm8660-common/tree/tenderloin-cm-11.0-wip-5
which is based off the same Samsung msm8660-common 3.0 kernel.
If all goes well, this should be pretty simple to get running on the TouchPad same as it is on the Note, which are pretty similar devices in terms of core (MSM8660 vs APQ8060).
EDIT: My kernel patch applied perfectly! I was able to get into X but the backlight shut off and I couldn't see anything without shining a bright light through the swamp of fingerprints covering the screen. Need to fix that issue but hopefully it's working otherwise!
EDIT: Freedreno confirmed working, but still no backlight. It should be at the same level as where my Note 1 demo is (runs es2gears, rss-glx screensavers) but of course I can't see much anything so once I figure out what's turning off the backlight then we should be good to go.
EDIT: Using jcsullins' wip-5 branch fixes the backlight issues. Here's a video:
https://www.youtube.com/watch?v=vx8_u1jhXJY
CalcProgrammer1 said:
I got Debian with Freedreno sorta working on my Galaxy Note:
https://www.youtube.com/watch?v=qtb-TSGumNo
The kernel patch I used to make this work seems compatible with the TouchPad kernel source here:
https://github.com/TLOIN-3X-WIP/android_kernel_samsung_msm8660-common/tree/tenderloin-cm-11.0-wip-5
which is based off the same Samsung msm8660-common 3.0 kernel.
If all goes well, this should be pretty simple to get running on the TouchPad same as it is on the Note, which are pretty similar devices in terms of core (MSM8660 vs APQ8060).
EDIT: My kernel patch applied perfectly! I was able to get into X but the backlight shut off and I couldn't see anything without shining a bright light through the swamp of fingerprints covering the screen. Need to fix that issue but hopefully it's working otherwise!
EDIT: Freedreno confirmed working, but still no backlight. It should be at the same level as where my Note 1 demo is (runs es2gears, rss-glx screensavers) but of course I can't see much anything so once I figure out what's turning off the backlight then we should be good to go.
EDIT: Using jcsullins' wip-5 branch fixes the backlight issues. Here's a video:
https://www.youtube.com/watch?v=vx8_u1jhXJY
Click to expand...
Click to collapse
OMG ! It seem great ! Can you share your method how to install it with a zip file and if you can, make a tutorial of how to port a Linux OS on the TP ? It would be really appreciate to be able to finaly run a linux desktop on the Touchpad. Thank you very much for your hard work. ^_^ Cannot wait to try it.
awesome job ! I cannot wait to try it out myself !!!!!!!!!!
let us know how to install it
Still lovin and rockin my good ol' Touchpad haha
I updated the OP with links to my source code and the build root I use to build the kernel images. If you want to build your own kernel go right ahead and play with it. As for a prebuilt image, it probably won't happen for some time because my rootfs on the TouchPad is a mess (installed a bunch of very large apps like games that aren't feasible to redistribute). I'll have to make a new rootfs from scratch. Since Freedreno is on the verge of making it into Debian testing as it is, it would be best to just wait for that to happen so I don't have to redistribute custom builds of the xserver-xorg-video-freedreno driver (you can build it from source as it's on Debian's git and builds with dpkg-buildpackage, just hasn't made it into a binary release yet). There's also a bug in Mesa that prevents Freedreno from accelerating 3D (GL or GLES). It's a one-line fix and Rob Clark said he's pushed it to master, but it hasn't made its way into a stable Mesa branch yet and thus still needs to be applied manually. Rebuilding Mesa on a TouchPad takes hours. Hopefully that one gets merged soon as well and then we can use straight up Testing without modification. That will make creating a new rootfs image a lot easier. I still haven't messed with getting Bluetooth or touchscreen to work, though the work I and others have done for older Ubuntu releases should apply just fine here. Audio is also going to be tricky, as I deleted WebOS completely and Ubuntu relied on a file from it. I have a webos rootfs that I was able to pull the required files from, but it's not working right.
EDIT: Sound! I talked to jcsullins on #freedreno and he gave me this: https://github.com/CyanogenMod/android_device_hp_tenderloin/blob/cm-11.0/configs/mixer_paths.xml
Those are the initialization settings for ALSA that need to be configured for sound. We can use alsaucm to set these, I just need to figure out how the heck alsaucm configurations work. I got the device initialization working and I threw in the speaker initialization just to test, but no idea how to switch between speaker, headphones, bluetooth, etc. With this method we don't need to pull audiod from webos! That means no more dependency on closed source binaries pulled out of that OS that may or may not exist anymore.
EDIT: I wrote some new alsa ucm files, now it should be able to select headphones or speaker directly. There isn't any jack detection so you'll have to manually switch, though if I could find the input for the jack switch it might not be hard to implement automatic switching. Still need to apply that RGB patch and fix the broken colors.
EDIT: New pic: http://i.imgur.com/SjOPWB5.jpg That's right, applying the RGB patch fixed the desktop and broke the rendering! Some reason the Freedreno GPU-rendered things are using the opposite color format. The big gear should be red and the top one blue. Here's another pic with the TP and Note side by side, running almost the same software: http://i.imgur.com/1kmKDOw.jpg
Hello, recently purchased a asus tf701t laptop/tablet hyrbid and the device itself is perfect. Powerful cpu, good storage and an insane 2k resolution for a 10' inch screen which I don't think has been done before.
However I absolutely hate android (no offense to android developers) and decided to try installing Linux Mint 17 which can be installed on any regular laptop easily. Essentially, I want to get rid of both android bootloader and the OS itself and replace that with Grub bootloader and Linux Mint 17 OS. But android is fighting me every step of the way trying to prevent me from doing just that I unlocked the bootloader so my warrenty is void now.
But beyond that I can't install linux iso because the android bootloader isn't registering the usb stick (with linux iso on it) so I can't launch the linux live iso at all. I tried using cdrom iso using disk to launch through usb and still doesn't come up in the bootloader options. I know its possible to use linux on these devices because I've seen people have done it before on the internet.
I am now at this point starting to consider android itself as malware as the very definition of the word, ....lets start with the fact that they locked the bootloader, prompting me to give ip address just to enable me to unlock the bootloader (malicious and very dodgy). No root access therefore, third party programs are required to enable root which further my belief that android os is more malware than it is a legitimate operating system. Lastly, either possibly no usb driver for bootloader or usb port is locked out by design at bootloader (either way, might explain why I can't use usb linux iso).
What I can't understand is, why google can lock down a device tighter than fort knox on a Asus brand device. This is like buying a brand new car and not being able to open your own car even though you purchased it. What google has done is borderline illegal and I'm abit astonished how they can get away with it...
Sorry for the rant guys I'm abit fustrated atm. Can anyone please help me? I really love linux mint and if its possible to format android and install linux mint on this device I would be eternally grateful
Update: I attempted to flash the device with the command: fastboot -i 0x0B05 flash recovery recovery.img which works...but when I reboot and push power and down volume into bootloader...and try to get into recovery...the screen looks like its about to load into it but then resumes boot of android.
I'm really puzzled by this. So cannot flash a custom recovery for some strange reason
Its not so simple I dont think. You might want to watch whats happening on this thread for now.
http://forum.xda-developers.com/transformer-tf701/general/native-linux-asus-tf701t-t2973119
I would think you would have to completely replace the bootloader with something like uboot maybe if you wanted to wipe the tablet. But I dont think anyone knows. Then you could end up with some permanent brick. There would be no recovery or fastboot option if you were somehow able to get some kind of boot loader on this thing. I have no idea.
Edit: Also there is no arm based Linux Mint afiak.
YayYouFixedIt said:
Its not so simple I dont think. You might want to watch whats happening on this thread for now.
I would think you would have to completely replace the bootloader with something like uboot maybe if you wanted to wipe the tablet. But I dont think anyone knows. Then you could end up with some permanent brick. There would be no recovery or fastboot option if you were somehow able to get some kind of boot loader on this thing. I have no idea.
Edit: Also there is no arm based Linux Mint afiak.
Click to expand...
Click to collapse
Thanks I appreciate the reply. I understand this won't be easy but I'm stubborn that way
Can you give me some advice on where I can start learning how to place a native linux os on the device? Would grub bootloader work with tf701t?
have you considered returning your tf701 and replacing it with the tf700 infinity? you can replace the OS with ubuntu.. theres much more support for that model than the tf701
tf701mega said:
have you considered returning your tf701 and replacing it with the tf700 infinity? you can replace the OS with ubuntu.. theres much more support for that model than the tf701
Click to expand...
Click to collapse
Out of curiosity, have you used the tf700t? it is good for development, but it could run pretty slow at times. It might of been because of the tegra 3 processor, because the tf300t also had this performance issue. I was barely able to type up documents on a CM Rom because the tablet would lag when typing out and would then force close and corrupt my document.
atleast for me, that was the reason why I went with this one rather than the tf700t. This is just my 2 cents about getting the tf700t. I would suggest trying it out before getting it.
Sent from my K00C using Tapatalk 2
Just how stubborn are you?
How much work do you want to put into this? There are two options, the easy route that you probably will consider imperfect, and the much more complicated route that I'm not certain will work. I'll do my best to explain both.
The method I use is to install a linux distro (in my case, ubuntu) inside a chroot. There are several apps on the android market to help you set this up. The one I used sets up an Xvnc server, so you can view your linux desktop by using an android VNC viewer -- but it's just connecting locally, not going over the network.
This works nicely out of the box, but it's slow, partly because it's using the VNC protocol and partly because there's no 2d hardware acceleration. I tinkered with my setup and installed XSDL, a native android X server with hardware acceleration. I had to modify the linux startup script to skip starting Xvnc and instead connect to XSDL (which is on :0.0 like a normal X server).
This works great and is fairly fast. For me, this is a good compromise between a full-fledged linux laptop and the convenience of android apps written specifically for a multitouch screen. I generally do most of my stuff in Android, but I can drop into my Ubuntu desktop whenever I need more power.
The really big downside is that it's hard to prevent Android's low-memory killer from sacrificing XSDL when I haven't used it for awhile. I've mucked about with various solutions involving oom_score_adj and such, and that helps, but android still ends up killing my X server sometimes.
So, that's the easy method. For the more complicated method, I'm just theorizing, and this stuff may not work. You're going to need to either already have somewhat deep linux knowledge or be willing to learn Here goes.
In this post, I described how I managed to boot my tf701t after the internal memory card died a horrible death. The important bit here is that I learned how to boot any initrd/kernel combination using fastboot, and how to roll that combination into a boot.img so that the tablet always boots it. This is what you'll need to do both for the installation and for future boots into your Linux install.
First off, choose your Linux distro. I don't think you'll be able to use Mint, since, as someone pointed out above, there's no ARM build of Mint. However, there is an ARM build of Debian and Mint has the "debian edition", so maybe there is an ARM version. It may be, though, that the Mint folks only built their special stuff (Cinnamon/mate/whatever) for x86 platforms. I'd recommend Ubuntu as a compromise since I know it runs on the tf701t.
For the initial installation, put the contents of the install ISO onto an SD card -- just copying your bootable USB drive over should work. Now for the tricky bit: you'll need to pull the kernel and initrd ("ramdisk", "initial ramdisk" -- usually initrd-<something>.gz) off of the usb drive and into a working directory on a Linux laptop or desktop (let's call it the "host"). You might get away with just fastbooting this kernel/ramdisk directly. Install the fastboot package for your distro (Ubuntu has one, anyway). Connect up your tablet, put it in fastboot mode (I think that's done by booting with volume up and down held) and do 'fastboot boot <your kernel> <your ramdisk>'.
This will boot the kernel and load up the initrd, which is a tiny little linux filesystem stored in memory. The kernel runs a program called init inside the ramdisk and init takes over and boots into the actual installer. The question in my mind is how it goes about finding the ISO contents. If it searches by filesystem UUID, and there's a good chance that it does, then it will find your the ISO contents on the SD card just fine and the installer will start up.
If not, well, things will get a lot more complicated. Normally what one would do in a case like this would be to pass kernel command-line arguments (you do this in the SYSLINUX bootloader for distros like Ubuntu) telling it where to find the installation media. We can't do that because fastboot doesn't let you pass command-line arguments. Instead, you'd need to extract the initrd on the Host machine, modify the init script in some way to tell it where to find the installation media (probably /dev/block/mmcblk1p1), and then repackage it. I went into somewhat shallow detail on how to do the extract/repackage parts of this, but this is where either prior linux knowledge or a willingness to do some research comes in. Hints: gunzip the initrd, then use the cpio tool to extract it.
Okay, so let's say that you get the installer booting. The next big question is whether it's going to work at all. In theory the graphics chip inside the tf701t is supported by linux, but in practice, maybe it's only supported by a kernel module that Samsung built. Maybe you'd need to substitute the stock kernel. The next question is whether X has a module that will work with the graphics chip. But maybe even if it doesn't you can use a text-mode installer. That would at least let you get a system installed that you could then hack on to try to get X running.
So, let's say you do get linux installed (probably onto the internal SD card, /dev/block/mmcblk0). Now you want to boot it. You'll need to look into the installed system and steal its kernel and ramdisk, and get them onto the Host machine. Or maybe you could just extract them from the debian packages, since I'm not sure how you'd get things off of that internal SD at this stage. As a hint, these may well NOT be the same kernel/initrd as in the installer.
Once you've got the kernel/ramdisk, you can try to boot into them with fastboot. If that works (big if), then you'll want to be able to boot them without fastboot. That's where the 'fastboot flash:raw' command comes in. It takes a kernel/ramdisk, builds an android boot.img out of them, and flashes it to the device. From then on, the device will boot that kernel and ramdisk by default.
So, in theory this could work. The biggest potential stumbling block is whether X is going to natively support the graphics chip. If it doesn't, you may be stuck using the basic framebuffer driver, or maybe that won't even work at all. ...or you could just settle for the chroot method and be done with it
Good luck. I'm very interested to hear whether this works. I'm probably not going to try it myself since I like Android enough that I want to keep it around. I also can't walk you through this in finer detail because of external limits on my time, but I'd be happy to answer theoretical questions and specific technical questions, so long as you're willing to do the legwork of reading manpages and such I hope this works out for you!
Oh, one thing just occurred to me: skip the part in the installer about installing grub. It's not going to work on this device and may cause problems. You'll take care of the bootloader part yourself with the fastboot flash:raw command.
Oh, I see there's already some decent progress in this thread. Also it looks like I totally missed the -c option in fastboot that lets you pass kernel command-line arguments... that'll definitely be a time-saver. Given what I see over in that thread, it looks like we may actually get a reasonable native linux on our TF701t. Not sure how far the OP has gotten on things like mouse/keyboard input, though.
I have to say, I'm pretty excited! It'd be super cool to be able to dual-boot native linux and android on this tablet. Best of both worlds.
lexelby said:
How much work do you want to put into this? There are two options, the easy route that you probably will consider imperfect, and the much more complicated route that I'm not certain will work. I'll do my best to explain both.
The method I use is to install a linux distro (in my case, ubuntu) inside a chroot. There are several apps on the android market to help you set this up. The one I used sets up an Xvnc server, so you can view your linux desktop by using an android VNC viewer -- but it's just connecting locally, not going over the network.
This works nicely out of the box, but it's slow, partly because it's using the VNC protocol and partly because there's no 2d hardware acceleration. I tinkered with my setup and installed XSDL, a native android X server with hardware acceleration. I had to modify the linux startup script to skip starting Xvnc and instead connect to XSDL (which is on :0.0 like a normal X server).
This works great and is fairly fast. For me, this is a good compromise between a full-fledged linux laptop and the convenience of android apps written specifically for a multitouch screen. I generally do most of my stuff in Android, but I can drop into my Ubuntu desktop whenever I need more power.
The really big downside is that it's hard to prevent Android's low-memory killer from sacrificing XSDL when I haven't used it for awhile. I've mucked about with various solutions involving oom_score_adj and such, and that helps, but android still ends up killing my X server sometimes.
So, that's the easy method. For the more complicated method, I'm just theorizing, and this stuff may not work. You're going to need to either already have somewhat deep linux knowledge or be willing to learn Here goes.
In this post, I described how I managed to boot my tf701t after the internal memory card died a horrible death. The important bit here is that I learned how to boot any initrd/kernel combination using fastboot, and how to roll that combination into a boot.img so that the tablet always boots it. This is what you'll need to do both for the installation and for future boots into your Linux install.
First off, choose your Linux distro. I don't think you'll be able to use Mint, since, as someone pointed out above, there's no ARM build of Mint. However, there is an ARM build of Debian and Mint has the "debian edition", so maybe there is an ARM version. It may be, though, that the Mint folks only built their special stuff (Cinnamon/mate/whatever) for x86 platforms. I'd recommend Ubuntu as a compromise since I know it runs on the tf701t.
For the initial installation, put the contents of the install ISO onto an SD card -- just copying your bootable USB drive over should work. Now for the tricky bit: you'll need to pull the kernel and initrd ("ramdisk", "initial ramdisk" -- usually initrd-<something>.gz) off of the usb drive and into a working directory on a Linux laptop or desktop (let's call it the "host"). You might get away with just fastbooting this kernel/ramdisk directly. Install the fastboot package for your distro (Ubuntu has one, anyway). Connect up your tablet, put it in fastboot mode (I think that's done by booting with volume up and down held) and do 'fastboot boot <your kernel> <your ramdisk>'.
This will boot the kernel and load up the initrd, which is a tiny little linux filesystem stored in memory. The kernel runs a program called init inside the ramdisk and init takes over and boots into the actual installer. The question in my mind is how it goes about finding the ISO contents. If it searches by filesystem UUID, and there's a good chance that it does, then it will find your the ISO contents on the SD card just fine and the installer will start up.
If not, well, things will get a lot more complicated. Normally what one would do in a case like this would be to pass kernel command-line arguments (you do this in the SYSLINUX bootloader for distros like Ubuntu) telling it where to find the installation media. We can't do that because fastboot doesn't let you pass command-line arguments. Instead, you'd need to extract the initrd on the Host machine, modify the init script in some way to tell it where to find the installation media (probably /dev/block/mmcblk1p1), and then repackage it. I went into somewhat shallow detail on how to do the extract/repackage parts of this, but this is where either prior linux knowledge or a willingness to do some research comes in. Hints: gunzip the initrd, then use the cpio tool to extract it.
Okay, so let's say that you get the installer booting. The next big question is whether it's going to work at all. In theory the graphics chip inside the tf701t is supported by linux, but in practice, maybe it's only supported by a kernel module that Samsung built. Maybe you'd need to substitute the stock kernel. The next question is whether X has a module that will work with the graphics chip. But maybe even if it doesn't you can use a text-mode installer. That would at least let you get a system installed that you could then hack on to try to get X running.
So, let's say you do get linux installed (probably onto the internal SD card, /dev/block/mmcblk0). Now you want to boot it. You'll need to look into the installed system and steal its kernel and ramdisk, and get them onto the Host machine. Or maybe you could just extract them from the debian packages, since I'm not sure how you'd get things off of that internal SD at this stage. As a hint, these may well NOT be the same kernel/initrd as in the installer.
Once you've got the kernel/ramdisk, you can try to boot into them with fastboot. If that works (big if), then you'll want to be able to boot them without fastboot. That's where the 'fastboot flash:raw' command comes in. It takes a kernel/ramdisk, builds an android boot.img out of them, and flashes it to the device. From then on, the device will boot that kernel and ramdisk by default.
So, in theory this could work. The biggest potential stumbling block is whether X is going to natively support the graphics chip. If it doesn't, you may be stuck using the basic framebuffer driver, or maybe that won't even work at all. ...or you could just settle for the chroot method and be done with it
Good luck. I'm very interested to hear whether this works. I'm probably not going to try it myself since I like Android enough that I want to keep it around. I also can't walk you through this in finer detail because of external limits on my time, but I'd be happy to answer theoretical questions and specific technical questions, so long as you're willing to do the legwork of reading manpages and such I hope this works out for you!
Oh, one thing just occurred to me: skip the part in the installer about installing grub. It's not going to work on this device and may cause problems. You'll take care of the bootloader part yourself with the fastboot flash:raw command.
Click to expand...
Click to collapse
Very stubborn
Sorry I didn't respond sooner as I was away with family for Christmas.
Thank you for the guide, it was extremely helpful. I am still working on getting the device ready so I'll update as I progress.
Thanks again
Was wondering if it's easy to root or unlock the bootloader on the new chromecast with google tv
Sent from my A0001 using Tapatalk
We should wait for a custom recovery first. But you might loose all the DRM keys when the recovery partition is flashed. So choose wisely.
The 4gb storage is putting me off from buying it, if it was possible to root it to use apps2sd (or link2sd) to install entire apps on external storage, it would be a good upgrade to my fire tv stick 4k (vulkan support for emulators, slightly more powerful processor and better gpu drivers, as well as gapps installed from the start)
dictorclef said:
The 4gb storage is putting me off from buying it, if it was possible to root it to use apps2sd (or link2sd) to install entire apps on external storage, it would be a good upgrade to my fire tv stick 4k (vulkan support for emulators, slightly more powerful processor and better gpu drivers, as well as gapps installed from the start)
Click to expand...
Click to collapse
Isn't installing on external media a built in option? And forcing it for all apps in in the developer options.
xnamkcor said:
Isn't installing on external media a built in option? And forcing it for all apps in in the developer options.
Click to expand...
Click to collapse
Yeah you are right! This works without Problems.. you only need an USB C Hub with SD support.. look here: https://forum.xda-developers.com/android-tv/chromecast/chromecast-google-tv-ethernet-usb-hub-t4176725
I use an USB C Hub with Gigabit Ethernet and 128GB SD Card. It works nice!
airwolf1544 said:
Yeah you are right! This works without Problems.. you only need an USB C Hub with SD support.. look here: https://forum.xda-developers.com/an...hromecast-google-tv-ethernet-usb-hub-t4176725
I use an USB C Hub with Gigabit Ethernet and 128GB SD Card. It works nice!
Click to expand...
Click to collapse
How did you get the SD card working? I put in a 64GB in mine, but wasn't working until I discovered that the CCwGTV only supports FAT32 which has a max volume size of 32GB. I even tried creating two volumes of 32, but in the end the only thing that worked was just using 32GB of the 64GB as a single FAT32 volume.
EsotericCleric said:
How did you get the SD card working? I put in a 64GB in mine, but wasn't working until I discovered that the CCwGTV only supports FAT32 which has a max volume size of 32GB. I even tried creating two volumes of 32, but in the end the only thing that worked was just using 32GB of the 64GB as a single FAT32 volume.
Click to expand...
Click to collapse
I've succeeded to format large USB sticks (64GB) on FAT32 with Rufus portable (free software). SD card is working only in an USB stick adapter on my hub.
Hi,
Did anyone succeed to write files on a second USB stick?
I have the first USB stick formatted to extend the storage, and a second one as an external USB storage.
The second stick can be read or write on a PC, can also be (only) read on Chromecast with Google TV, but cannot write on it on chromecast. It's a write permission restriction there.
There is an ADB solution or similar?
Thanks,
Any sign of being able to root the Chromecast with Google TV yet?
@Twotoneeddy It sounds like we have to wait for TWRP to be ported to support Android11, once that is done then you can have full Recovery functionality and Root (unless someone wants to port fastbootd like what we did in OP8T). Atm A10 just got support recently from the TWRP Team (https://twrp.me/site/update/2020/12/31/twrp-3.5.0-released.html).
**Edit**
Didn't realize device was A10, figured due to release time frame that it would have been released w/A11.
But the basics still stand, there is much more work to be done to get root (we can argue chicken or egg all we want but it doesn't change the end answer just the how you got to the answer).
card13 said:
@Twotoneeddy It sounds like we have to wait for TWRP to be ported to support Android11, once that is done then you can have full Recovery functionality and Root (unless someone wants to port fastbootd like what we did in OP8T). Atm A10 just got support recently from the TWRP Team (https://twrp.me/site/update/2020/12/31/twrp-3.5.0-released.html).
Click to expand...
Click to collapse
Dude, you're putting the cart before the horse. If you don't have root or equivalent*, you can't boot a twrp, assuming you even wanted to.
Technically, you need the ability to boot an unsigned boot/recovery image, which includes the ability to feed that unsigned image into the device. If you can do that, then take the original boot image, install magisk on it, feed it in, and tell it to boot it. There's your root, no twrp required.
EDIT:
card13 said:
**Edit**
Didn't realize device was A10, figured due to release time frame that it would have been released w/A11.
But the basics still stand, there is much more work to be done to get root (we can argue chicken or egg all we want but it doesn't change the end answer just the how you got to the answer).
Click to expand...
Click to collapse
This isn't a chicken and egg problem AT ALL. twrp is just a custom recovery image. Without already having root or equivalent, there is NO WAY TO RUN IT.
Let me give you a simple example of the process as it works on a pixel phone;
1) Developer options --> OEM unlocking
2) adb reboot-bootloader
3) fastboot flashing unlock
4) fastboot [boot|flash boot] boot-magisk.img
* where boot-magisk.img is the boot.img found in the factory package, after being modified by magisk.
Steps 1-3 are the barrier for this device. twrp won't help you with them because you need to COMPLETE STEP 3 before you can install or boot twrp, and by the time you've completed STEP 3, you've already achieved the goal.
There are 2 ways to get there;
1) figure out how to accomplish steps 1-3.
2) figure out a privilege escalation exploit, either through Android, or through recovery, or whatever else you can come up with.
Here is a very simple question that could help start this process off; IS THERE ANY WAY TO BOOT INTO FASTBOOT?
Delete
has anyone tried to boot off sd card? possibly running emuelec?
The real reason to root this thing has to be to bring support for HD audio passthrough.
Apparently the Amlogic S905D3G used to have HD audio passthrough on older firmware. If someone could figure out how to reenable it it would be the perfect streamer.
You can find twrp builds for the S905 but they are for older versions of android
blaze2051 said:
has anyone tried to boot off sd card?
Click to expand...
Click to collapse
wanna know if you found the answer.
What's the answer
Stricted and I just wrote a bootloader unlock exploit - for those of you with compatible units, enjoy: https://www.xda-developers.com/chromecast-with-google-tv-bootloader-unlock-exploit/
npjohnson said:
Stricted and I just wrote a bootloader unlock exploit - for those of you with compatible units, enjoy: https://www.xda-developers.com/chromecast-with-google-tv-bootloader-unlock-exploit/
Click to expand...
Click to collapse
Not to necromorph an old thread, but I was curious to know by chance if it would be possible to apply your root method onto a Chromecast with Google TV that has been automatically updated to Android 12 even though it was manufacture 12/2020? After the update, some functionality I was used to that was present before the update occurred has been neutered and the OS sound effects are ruined and there's noticeable crackling/pop. Now I'm actively searching for a way to root my device so I can downgrade to either Android 11 or Android 10.
urbanman2004 said:
Not to necromorph an old thread, but I was curious to know by chance if it would be possible to apply your root method onto a Chromecast with Google TV that has been automatically updated to Android 12 even though it was manufacture 12/2020? After the update, some functionality I was used to that was present before the update occurred has been neutered and the OS sound effects are ruined and there's noticeable crackling/pop. Now I'm actively searching for a way to root my device so I can downgrade to either Android 11 or Android 10.
Click to expand...
Click to collapse
Nope. Locked up tight.
I thought I would register on this forum and thank the contributors. Thanks!
I spent 3 days reading dozens of posts on how to convert my old Lumia 521 Windows 8.1 phone (aka Fame) to Android 7.1 Nougat using Lineage 14.1 OS distribution. Sam's 33 minute how-to video was very helpful.
I had no difficulty with the Windows Phone Internals hacking software to unlock my bootloader. When running the LK installer in Fastboot, it was mostly successful, except for the part where the filesystems are formatted (cache, data, and system).
As a result, when I ADB sideloaded Lineage 14.1 OS (after installing drivers for ADB to work on my Windows 10 PC), it wasn't fully successful. Upon Android system startup, I got a message that decryption was unsuccessful, after a login password step.
After trying several things, I discovered another XDA post saying that if this happens, use the Format feature in the TWRP recovery tool. This finally unencrypted the filesystem and formatted successfully. I then went back to ADB sideload and reflashed the Lineage 14.1 OS successfully.
On my phone, the following work: WiFi, internet browsing, email, file management, clock features, microSD card mounting, FM radio, MP3 music playback, headphones, autorotate, photo viewing, and power management.
What doesn't work (as expected): Camera, SIM card support, voice calls, and text messaging.
I haven't tested Bluetooth yet, but it's supposed to work, as well. I used a microSD card to transfer 1 GB of music files and a few photos over to the internal filesystem.
The Lineage 14.1 OS is normally very stable. When I installed F-Droid app, the Update Repository feature uses enough resources to crash just before completion. But I can access F-Droid website with the browser and download apps just fine.
It's great to be able to repurpose my old Lumia phone and have some fun with it. Thanks again to all of the contributors who put in countless hours on developing all of the firmware hacks and ROM.
Back in the late 1990s and early 2000s, I used to dabble in Linux OS installs on some desktop PCs. I remember how time consuming that was, with many iterations needed to compile an OS kernel that handled all of the rudimentary OS features. So, this little phone repurposing project was a small reminder of those good old days!