chroot clarification - Other TouchPad Development

My understanding is that you don't so much "instal ubuntu" as provide the libraries and support programs required to run linux prgrams on the linux system that boots under androids dalvik environment and that its slow because you have to us VNC for your console. That brings us to the idea of simply using an android x server. I am curious why such an animal does not exist.

Related

Double Rooting - Webtop and the Atrix

From a development and user standpoint I am of course interested acquiring root for the android side of things but my main interest and focus on gaining the ability to modify and enhance the webtop image that provides the "full feature" capability for Firefox. So in a sense there is a goal for Double Root on Atrix. Rooting first the android side and then rooting the webtop Linux instance.
I am guessing from the looks of it that webtop is based on Ubuntu Light. It is also likely run in a VM otherwise the phone instance of android (Dalvik) and the Webtop could not run simultaneously. Given that the platform is probably something to the effect of:
Linux File System -----> Dalvik VM ------> Android Runtime
Linux File System -----> Some other VM? -------> Ubuntu Light
I am running under some assumptions (not having an Atrix till next week ):
* The "Some other VM" is not Dalvik since I don't think as an App VM.
So some of the questions I seek to answer right away are:
What VM is running (presumed) Ubuntu light
Does that VM have security around the disk image (singed)
Is the (Webtop disk image) encrypted/signed
What is needed to get root access on the Webtop side.
The best way to get root on the Webtop side is to go after the file system. I am guessing that will be signed but it MUST be writable at some level to save state.
Just a bunch of musings. I am looking forward to getting my atrix so I can start answering some questions.
I think getting root to one or the other will make it VERY easy to root ther other.
I for one hope it is ubuntu lite, or something debian based. Hopefully make it really easy to port over a full distro.
being able to boot into a full linux distro would be the cats meow!
i have full expectations of being able to do this within a month or two ;-)
Do you guys think it would be possible in the coming weeks/months to be able to boot into a full linux distro on the Atrix itself - without the laptop dock?? that would be ultimate awesomeness right there!
jgc121 said:
Do you guys think it would be possible in the coming weeks/months to be able to boot into a full linux distro on the Atrix itself - without the laptop dock?? that would be ultimate awesomeness right there!
Click to expand...
Click to collapse
well the nexus one and nexus s and dell streak and motorola Droid (OG) could run ubuntu so I hope the atrix will.
emoose said:
Linux File System -----> Dalvik VM ------> Android Runtime
Linux File System -----> Some other VM? -------> Ubuntu Light
I am running under some assumptions (not having an Atrix till next week ):
Click to expand...
Click to collapse
It's also possible that they have a Linux variant running on bare-metal, without a VM. I have seen some architectures in the embedded world that allow each CPU core to work together as a typical dual-core system, OR to boot a different OS kernel on each core.
The latter case would be the most interesting in terms of getting the most out of Linux on the Atrix, assuming the second OS can be rooted. This could (speaking with almost no knowledge of Android itself), also be another angle of attack/defeat though if that means the webtop linux kernel also needs to be signed...
Then again, a VM does make more sense in terms of the near-instant boot time of the WebTop mode.
I can't wait to see the "double root... oh my god... what does it mean???" Youtube video come out in a few weeks =)
If I can get a command prompt and root access on the Webtop instance I will sound just like the Double rainbow guy.
Things I believe to be true right now.
WebtopSession app initiates then session when you plug in HDMI. This is no different than any other peripheral launch.
WebtopSession app (speculating based on other posts) checks you connection type and provisioning. If you don't have a tethering plan it doesn't allow you ton continue. If you are on wifi it allows you to continue.
If you start off on WiFi and then change network state to mobile radio (and no tethering plan) will it discontinue the session?
The WebtopSession App doesn't look like it does anything other than manage the initiation of the Linux (Webtop) session.
There is nothing in the dumps that looks like it could remotely be a disk file which makes me think that there is a partition that is different that the normal android partitions. I would love to see a partition map of a rooted phone.
jgc121 said:
Do you guys think it would be possible in the coming weeks/months to be able to boot into a full linux distro on the Atrix itself - without the laptop dock?? that would be ultimate awesomeness right there!
Click to expand...
Click to collapse
im also wondering this!
edit: Erm. Whoops. A little bit of research and it turns out Motorola has left the code in for when they test the OS in "goldfish-qemu", an Android emulator. Sorry ><
It's got to be QEMU. In the retail firmware dump in /etc/init.goldfish.sh:
Code:
# call 'qemu-props' to set system properties from the emulator.
#
/system/bin/qemu-props
So what I'm thinking after parsing the information I've got...
... WEBTOP is simply a QEMU (ARM version?) instance running off of some unknown image/partition on flash that outputs to HDMI with some hackery to support local media [mounted in the host OS, Android] and local control and USB keyboard/mouse input, along with special extensions to allow for use of the Android/host OS instance within the VM.
labsONE said:
edit: Erm. Whoops. A little bit of research and it turns out Motorola has left the code in for when they test the OS in "goldfish-qemu", an Android emulator. Sorry ><
It's got to be QEMU. In the retail firmware dump in /etc/init.goldfish.sh:
Code:
# call 'qemu-props' to set system properties from the emulator.
#
/system/bin/qemu-props
So what I'm thinking after parsing the information I've got...
... WEBTOP is simply a QEMU (ARM version?) instance running off of some unknown image/partition on flash that outputs to HDMI with some hackery to support local media [mounted in the host OS, Android] and local control and USB keyboard/mouse input, along with special extensions to allow for use of the Android/host OS instance within the VM.
Click to expand...
Click to collapse
So then you are saying it could be possible to do something like this:
https://help.ubuntu.com/community/WindowsXPUnderQemuHowTo
jgc121 said:
Do you guys think it would be possible in the coming weeks/months to be able to boot into a full linux distro on the Atrix itself - without the laptop dock?? that would be ultimate awesomeness right there!
Click to expand...
Click to collapse
Running the webtop or a full distro without any docks will be just plain awesome...
emoose said:
If I can get a command prompt and root access on the Webtop instance I will sound just like the Double rainbow guy.
Click to expand...
Click to collapse
Oh maaan. Double root all the way What does it mean???
In all seriousness, the Atrix is certainly the most interesting phone from a developers standpoint, but I'm sitting and watching for a bit as I want to see how much of a problem the signed bootloader becomes first.
So does the Signed Bootloader rule out the Double root ? or changes to the Webtop APP/Module ?
hrishi2das said:
So does the Signed Bootloader rule out the Double root ? or changes to the Webtop APP/Module ?
Click to expand...
Click to collapse
It depends. Signed bootloader refers to the fact that the phone boots only if certain partitions match the Moto signatures.
The question is, where does the Webtop mode boot from, and is any part of *that* boot process signed?
I don't know why you guys think it has to be running in a VM. It's more likely they have just install Xorg and Firefox on Android and run them, with X displaying on the HDMI.
Exactly the same as the ubuntu-on-android hacks, but instead of using VNC to view X, you just display it on HDMI.
The phone view is an X11 app which communicates with the Android system server to mirror the display.
I seriously doubt they are using QEMU or anything like that.
Bah! Edited post since my last one was way off.
Did some looking and it looks like qemu in this instance is related to running some proc emulator for android development sdk support.
There this is a bunch of stuff out if you google: android goldfish
Its related to ARM targets for the sdk and in this instance probably not webtop.
I'd still really like to see the output of:
adb shell
cat /proc/mtd
Timmmmmm said:
I don't know why you guys think it has to be running in a VM. It's more likely they have just install Xorg and Firefox on Android and run them, with X displaying on the HDMI.
Exactly the same as the ubuntu-on-android hacks, but instead of using VNC to view X, you just display it on HDMI.
The phone view is an X11 app which communicates with the Android system server to mirror the display.
I seriously doubt they are using QEMU or anything like that.
Click to expand...
Click to collapse
Agree. But from the DG's / dump could not find more interesting info except the WebtopSession.apk. I guess webtop stuff live in another patition which is actived when webtop session starting.
Could anyone who has a rooted Atrix dump the phone while webtop on?
sexydroid said:
Agree. But from the DG's / dump could not find more interesting info except the WebtopSession.apk. I guess webtop stuff live in another patition which is actived when webtop session starting.
Could anyone who has a rooted Atrix dump the phone while webtop on?
Click to expand...
Click to collapse
I don't have the webtop device. What about while the phone is plugged into the TV? If it'd help any just give me the steps and I'll do it.
Yes if you plug your phone into the tv it will be able to access webtop.

Linux, Ubuntu ports etc for gt540

NEW START POST
This page will be for the topic of linux on the gt540 all distros that will support arm-v6 arm-v7 and armel as these will all work with the exemption of arm-v7 which will of course run with some lag.
So far we have ubuntu and debian running but want more variety is best.
Any helps with scripts speed improvements sharing set ups etc is highly appreciated this thread will be open and transperant in its knowledge.
As with the rest of xda i would like for this to be all about joining together to make something great
VERY SLIM DOWN EASY TUTORIAL TO GET YOU GOING
1. First up your on xda so please for the love of god tell me your device is already rooted and you have busybox??? if not very easy download z4root do a permanent root or temporary if your scared of warranty etc second download busybox installer from the android market and install. Mur4iks rom is most popular and supports loop devices not sure about other roms also have debugging turned on you need that for adb.
2. Make sure you have the android sdk windows drivers etc etc or if in ubuntu or linux make sure you have this file setup
/etc/udev/rules.d/99.android.rules
SUBSYSTEM=="usb",ATTRS{idVendor}=="1004",ATTRS{idProduct}=="61b4",MODE="0666"
3. Make sure adb recognizes your phone run
In windows adb devices
linux (sudo) ./adb devices (ubuntu can be fussy)
Any problems at this point consult the almighty google or android development page that has all information for trouble shooting adb and your device
4. Ok so here is where the phone begins and all the code and missing steps and going back etc etc
At this point a strongly suggest a coffee a cup of tea some music or a smoke if you do
5. Now we must download a version of linux that is compatible with our phone as mentioned above armel arm-v6 are preferred
Theres three ways we can do this
1. We can go to androlinux.com if we wish to have a easy to set up ubuntu system
2. We can download linux installer from adroid market and choose an appropriate distro
3. For the more tech savvy download direct and set up the whole base system to custom sizes run custom scripts on boot etc etc if a few people did this it
would however be great as we could have a multitude of gt540 linux flavours
6. There are alot of VNC Viewers out there im not gonna say what ones best as everyones opinion is different on this put simply type vnc in the market have a read look at some screenies and choose one thats right for you as we will need it later. Has to support tightvnc though.
7. The file we downloaded we have to move this unziped to the root of the sd card.
8. If using linux installer from market simply start installing we will catch up with you later on the vnc set up gui etc
9. Ok the file is happily in the sd card root (Yay) Now you need to open a terminal or command thingy in windows cmd.exe everyone sets up the sdk differently so pretty much in ubuntu or linux you need your file path then /platform-tools in windows the same cd into that file
10. Now we are inside that directory test adb so Ubuntu--- "sudo ./adb devices" Windows ---"adb devices"
It should come up with devices attatched 6437946238946 type thing congrats your sweet to go
11. Start adb shell Ubuntu---"sudo ./adb shell" Windows---"adb shell"
12. #su
13. #ls
14. #cd sdcard
15. #ls
16. At this point you should be able to see the name of the distro say ubuntu sooooo
17. #cd ubuntu
18. #sh ubuntu.sh
19.Warnings code blah blah blah
20. #bootubuntu
21. PEOPLE USING LINUX INSTALLER COME BACK
22. You will have something like this #linuxboot
23. If you now get [email protected]:/# or Linux-ARMEL:/# or similar yay we are now running a distro parallel to android in chroot which is awesome!!!!!
At this point feel proud because regardless to gui etc you have linux.
Worst comes to worst recompile kernel again with loop support for the people doing customs and check your code.
24. This is quite possibly the worst part and most time consuming #apt-get update that will take for ever
25. Once that finishes #apt-get install openssh-server once thats done type #passwd and set your passwords etc
26. And then #apt-get install tightvncserver
This will require xxx space and needs to do blah blah blah when given the option Y/n choose Y for all of these
27. Ok in ubuntu if it goes phyco #export LANG=en_US.UTF-8 that will get rid of germain and bring english back debian etc dont worry only seems to be ubuntu
28. LG GT540 came out 600mhz so on any system we want lxde or similar so #apt-get install lxde
29. Now personally i dont run lxde on startup because i like to tinker and i dont mind writting the code in terminal after i boot the system takes all of what five seconds but if you want it to run on start up
cat > /root/.vnc/xstartup
#!/bin/sh
xrdb $HOME/.Xresources
xsetroot -solid grey
icewm &
lxsession
Then hit Ctrl+D twice and enter to save the file.
30. Now for me after boot i do this
#export USER=root
#vncserver -geometry 1024x800
If your using above you only do this once for me i do it everytime
31. Run #ifconfig to get your ip addy etc
32. This is something i do just to make sure #swapon -s
33. Now the tightvnc server is ready to connect to your phone or computer. Just point to the IP address and use port number 5901 to connect.
THAT SHOULD BE IT ALL SET AND READY TO GO OF COURSE YOU CAN ADJUST HOW YOU LIKE AND DO AS YOU WISH
MANY THANKS TO ANDROLINUX.COM LINUX INSTALLER FROM ANDROID MARKET AND GOOGLE FOR MANY WEB PAGES I VIEWED
IF I USED ANYTHING YOU PIONEERED ITS ONLY SO I CAN SHARE WITH OTHERS AND TAKE THIS TO THE NEXT LEVEL
HAPPY MODDING TO ALL AND I HOPE WE CAN ALL WORK ON THIS AND HELP OUT.
how would you do it?
Ubuntu jaunty supports ARM-V6 Architecture
And all the smaller Linux systems supported Pentium 2 processors slash hardware
Pentium 2 processors started at around 300mhz with smaller caches and buses then our device
Android is based on Linux our cyanogen mod system is based on 2.6.29
So in essence we should be able to port several Ubuntu / Linux flavors to our device and run them through a virtual machine off the SD card using loop device and swap or as a dual boot by flashing the Ubuntu / Linux system to what we know at the moment as the recovery partition
any help we can get to do this is needed anyone and everyone
Sent from my GT540 using XDA App
Ubuntu 8.04 'Hardy heron' is compatible to
Anyone???
Sent from my GT540 using XDA App
Danzano said:
Ubuntu 8.04 'Hardy heron' is compatible to
Anyone???
Sent from my GT540 using XDA App
Click to expand...
Click to collapse
Once i get v2.1 working proberly and uploaded i might look into this
Sent from my GT540 using XDA Premium App
Sweet
Sent from my GT540 using XDA App
Biggest problem ATM is the arm 6 architecture I've downloaded natty and set up my build environment so starting to work on things now properly but regardless I know this project will take time and be frustrating
Sent from my GT540 using XDA App
why don't try debian?
I'm currently using rc1 eyecandy because I have a fetish for nice GUI s
I like what I've heard about debian but looking at screenies it just didn't look like my thing lol tbh it looked like a hollowed out version of Ubuntu
What's the benefits of debian if I did switch?
Sent from my GT540 using XDA App
already available to download for armel -> so i think it would be easier 4 you to port (i think there are no/not so big differences between armel & armv6).
btw debian is the father of ubuntu and their repositories/paths/commands are compatible.
smg72523889 said:
already available to download for armel -> so i think it would be easier 4 you to port (i think there are no/not so big differences between armel & armv6).
btw debian is the father of ubuntu and their repositories/paths/commands are compatible.
Click to expand...
Click to collapse
Repos are not compatible.
Ill look into armel tonight see what I gotta do
Sent from my GT540 using XDA App
Check this!
I got ubuntu with LXDE running. Gnome does work but takes too much memory and long time to load. LXDE is Light fast and Quicker at loading. Here is my video. But it is chrooted (running alongside android and off the sdcard)
Here is the Link
LG GT540 Running Ubuntu
That's why I'm working on x11 etc to see if the GUI. Could be full size yet fast and lighter on hardware less mem 2d no hardware acceleration etc
Sent from my GT540 using XDA App
Debian lenny armel working great its stable and useable with lxde still working on it but its the most promising so far
Sent from my GT540 using XDA App
hey guys this is debian lenny will post pics of ubuntu running same gui later
So far ubuntu seems slower than debian but im trying to get ubuntu to be abit quicker
also im going to start experimenting with triple boot as in adroid then debian lenny on recovery partition and ubuntu through chroot anyone that has any advice would be good also anyways to re compile these so they run quicker would be good to is there anyway to compress etc
oh also wifi etc etc is all working reads system etc etc so is good to use not some pointless project
my vnc server refuse to connect, can anyone help me??
now it's working but, it's all grey in 24bit color.
what is you color mode and resulotion
Danzano said:
hey guys this is debian lenny will post pics of ubuntu running same gui later
So far ubuntu seems slower than debian but im trying to get ubuntu to be abit quicker
also im going to start experimenting with triple boot as in adroid then debian lenny on recovery partition and ubuntu through chroot anyone that has any advice would be good also anyways to re compile these so they run quicker would be good to is there anyway to compress etc
oh also wifi etc etc is all working reads system etc etc so is good to use not some pointless project
Click to expand...
Click to collapse
maybe you could add a guide to the start post on how others can do this
Star post tut would b great nice job!
MY ANDROIDSKY
afpereira said:
my vnc server refuse to connect, can anyone help me??
now it's working but, it's all grey in 24bit color.
what is you color mode and resulotion
Click to expand...
Click to collapse
My vncserver is 24bit colour
Vncserver geometry is 1024x840
Dont know why but that resolution was best for me also if that doesnt work try 1024x800 or 860x480 etc youll find one best for you
Ill post a easy tutorial in start post today so everyone can have
Also im trying to place a linux boot.img on recovery partition but our phones mem wont hold system or data etc would it be possible to create a script where on boot it reads the sd same as hdd for pc ??
If this is possible we can have tri boot if we wanted or atleast dual
Sent from my GT540 using XDA App

Best terminal and other apps for Linux users

Last night I wanted to try out the ubuntu install on my Xoom and was looking around for a good terminal app and found Terminal IDE.
You don't need root to install it, but it includes many useful tools such as rsync, tmux (similar to gnu screen), ssh, git, java, vim, etc.
This looks like a great tool for those of you comfortable working at a linux console and want to extend their android tablet. This is also why I'm trying out the ubuntu install (see the thread in the developer section for NotAndBuntu 11.04 Beta5).
Anyone else have other suggestions for good terminal apps or other enhancements for Linux users?
Reserving this post to keep track of all the suggestions.
better terminal
rsync for Android

[Q] Installing Linux Mint 17 on tf701t?

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

What linux could I install on my Mi8?

What linux version could I install on my Mi8?
What method would be advisable?
In the past some people has installed Linux on their smartphones, but only some devices are compatible.
I would like to try Linux on my Mi8, it's powerful enough and that would let me use many advanced programs for science not available for Android.
Just use Linux Deploy(u need root rights). You can choose you district and install it. To access you would setup ssh in the settings. Then download a ssh client and connected to local host. All done
Nailyouh said:
Just use Linux Deploy(u need root rights). You can choose you district and install it. To access you would setup ssh in the settings. Then download a ssh client and connected to local host. All done
Click to expand...
Click to collapse
But I don't want to run linux virtualized on top of Android, I want to replace it completly.
There is also Ubuntu Touch.
Which one works better?
Well as Linux shares the kernel with android you have no performance lost when using Linux Deploy. Replacing the OS will not be possible.
(You can also try the integrated Framebuffer display...then you would have a linux desktop. Hook up a keyboard and a mouse and youre good to go)
Nailyouh said:
Well as Linux shares the kernel with android you have no performance lost when using Linux Deploy. Replacing the OS will not be possible.
(You can also try the integrated Framebuffer display...then you would have a linux desktop. Hook up a keyboard and a mouse and youre good to go)
Click to expand...
Click to collapse
In fact it doesn't replace the whole kernel, just a small part of it. And most things on Android are run on a Java Virtual Machine.
skanskan said:
In fact it doesn't replace the whole kernel, just a small part of it. And most things on Android are run on a Java Virtual Machine.
Click to expand...
Click to collapse
Do you have an example? Like a device where it is running like you described?

Categories

Resources