Text based boot screen like in Linux - Motorola Droid 4

Hi there,
i was looking to get my droid 4 to display what it is doing while booting up, similar to a linux server without any GUI boot screen. I'm currently using CM12.1 if that matters.
Does anyone know how i could achieve that?
I'm glad for any input on this topic

Hi there,
luckily for you Chainfire developer has already kind of fulfilled what you are after.
It's called LiveBoot and you can it from the playstore at:
https://play.google.com/store/apps/details?id=eu.chainfire.liveboot&hl=en
From the playstore:
LiveBoot is a boot animation that shows you logcat and dmesg outputs on-screen as they happen. ......
So granted it won't show up full details like for example the daemons being started on Linux but it's a step in that direction
Personally I'm using it on my Droid 4 on CM11 and on other devices like Samsung Tab and I love it
Dominique

Related

[DEV] Ubuntu on Nexus S (natively)

Ok, so following on from the MeeGo thread, I have Ubuntu booting on the Nexus S using the same method and same kernel.
The Ubuntu image used is the HD2 Ubuntu image (v 0.3), loaded from a file on the internal memory (again, no flashing required - you can thank me later).
The touchscreen isn't yet working, but that's my kernel at fault. Will fix that with the MeeGo stuff.
If you want to try this yourself, first grab yourself a copy of Ubuntu for HD2, and take just the rootfs.ext2 file and drag it to your Nexus S (put it in a folder called 'ubuntu' - lowercase is important!).
Then use fastboot to boot the following image (or flash it to recovery partition if you're daring and know how dangerous that can be):
http://dl.dropbox.com/u/8657343/bootUbuntu.img
You will need to do one minor edit once the device is booted; you will see the screen output is very weird; ADB push the following file to /etc/X11/xorg.conf, and then reboot Ubuntu:
http://dl.dropbox.com/u/8657343/xorg.conf
If you're in any way interested, please click the thanks button! Otherwise, enjoy!
nice!
the next thing we'll need after getting the touch screen working
is to have a calling app daemon, and make sure internet works on both 3G and WiFi
nice, look same at Ubuntu Netbook Edition
What about Galaxy S?
Njcki said:
What about Galaxy S?
Click to expand...
Click to collapse
In theory the same stuff should work; I don't have a Galaxy S to test on or I'd try it. I don't know anything about the Galaxy S' bootloader, or how much the kernel would differ (I'm guessing not at all, since this is a stock Samsung kernel from the Android kernel source)
I did an article on my site http://www.android-ita.com/dev-port-di-ubuntu-sul-nexus-s/
Maybe some italian devs, will help you
Thanks for this, gonna have a play now
Why is it dangerous to flash the boot image to recovery? Isn't fastboot lower level than recovery, or have I got that wrong?
nice, thanks. trying this as soon as my wife gets off my phone.
Oh my god.. You are awesome good sir. Will give it a run when touch is up and running!
I'd love it to be run from Android....i dont want it natively, just to test it...booting for example from an android app
I would love to know if this will work on Epic 4G. I'm going to give it a shot to see what happens.
Great job
Could you give us the sources of your kernel ? Is it patched ?
Tyruiop said:
Great job
Could you give us the sources of your kernel ? Is it patched ?
Click to expand...
Click to collapse
There are no changes to the kernel at all so far. I changed the config file to enable VTs, that's it.
Ok, thank you, I'll try to build one myself
can this method be used to install android 2.3 on a phone running android 2.1,
especilly in the case when upgrading is difficult because of kernel and locked bootloader (like motorola devices) ? excuse me if it is a silly question, i'm not a coder.
would it be possible to make an app that re-boots into fastboot and runs the fastboot command. since we dont always have a comp available to run fasboot which makes this useless if your not at home, or have a laptop (in which case you dont need ubuntu on a phone)
works on Nexus One right now ?
--> ok I'm trying
It blocks on X screen of my nexus one.. before the classic bootanimation.zip
Someone have any idea about that ?
Ok, so I've got wifi working . Here is my solution. A little bit crappy but... hey... it's a start ! Also, I tried compiling the kernel with the module built in and it wont boot, and I don't know why ?
Howto get wifi :
1) Boot Ubuntu following stroughtonsmith indications
2) Download http://tyruiop.org/~tyruiop/wifi_nexuss_ubuntu.tar.bz2
3) push the vendor directory at the root. The path must remain (/vendor/firmware etc...) and the bcm4329.ko file wherever you want.
4) reboot under ubuntu
5) *optional, only if ifconfig -a doesn't show eth0* type insmod /path/to/bcm4329.ko
6) Type "ifconfig -a". An eth0 interface should appear. It's wireless. You can configure it with wpa_supplicant without a problem .
Uhm.. with Nexus One, Ubuntu blocks on X SCREEN (before the classic bootanimation).. Maybe something that I do is wrong ?
- Download HD2 Ubuntu
- mkdir ubuntu/
- put in ubuntu/ the fs on the archive I downloader
- put ubuntu/ in the SDCARD
- adb reboot bootloader
- fastboot boot bootUbuntu.img
Is it correct ?

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

Booting Ubuntu on the O2X

I've spent some (much) time this week with trying to get ubuntu running on the optimus 2x. I have succeeded to boot and get the wifi, X11 and the touch screen sort-of working.
The ramdisk is completely replaced with a busybox executable, some symlinks to it and a shell script that mounts the necessary stuff (/dev/block/mmcblk1p2 as ext3), changes root directory and calls /sbin/init.
USING THE FOLLOWING WILL VOID ANY WARRANTY YOU MIGHT HAVE LEFT AND MIGHT ALSO BRICK YOUR PHONE!
Seriously, don't do this if you don't wish to risk the data on your phone.
I will be providing some demo images for people who don't have a build environment up and running. These images will not work particularly well, don't get your hopes up .
If you want to have a big linux installation (more than 3 GB) you can flash the images to the second partition on your external sd (obviously you have to create this yourself first). You can use the following boot image (which assumes that linux is on /dev/block/mmcblk1p2 with ext3:
https://ha.xxor.net/o2x/boot-20110813.img
I have also targzipped the modifications to the file system that were required to get stuff going here:
https://ha.xxor.net/o2x/o2x-20110813.tar.gz
This should be extracted directly to the root file system.
The kernel source code is up at https://github.com/ergoen/LG-Optimus-2x-linux-kernel
Things that have been done to get this to "work":
1. Boot partition
Apart from grabbing the busybox stuff from some nexus one boot image (I'm sorry whoever fixed it, I don't remember where I got it from ) the boot command line had to be modified a bit, changing stuff from the default usually ends up in a phone that won't boot, but I discovered that it's possible to append new arguments to the default ones. So the following have been appended:
console=tty0 root=/dev/mmcblk1p2 init=/sbin/init
The console=tty0 makes sure that you see stuff on the screen while ubuntu get's running. The last two are not necessary to boot, but ubuntu seem to like (need?) them (or at least the init=/sbin/init), since otherwise you never get to the login prompt on the screen.
2. The Ubuntu installation
To make it possible to communicate with the phone at all adbd was put into the /sbin/ folder and a symlink was created /system/ -> /. Also the "/sbin/adbd recovery &" command was added to rc.local to make it autostart.
2.1. Modules and wifi
We need the /lib/modules/2.6.32.9 directory. Most files inside that were generated using the "depmod" command, the exception is wireless.ko which was taken from android, the firmware and nvram files needed for the wifi chip to work were placed in the /lib/firmware/wl/ folder. To make the wifi module autoload with the proper firmware "wireless" was added to /etc/modules and the file /etc/modprobe.d/wireless.conf was created with the contents describing the location of the firmware and nvram.
To make the wifi autoconnect on boot the /etc/network/interfaces file was modified with the following contents:
auto wlan0
iface wlan0 inet dhcp
wpa-driver wext
wpa-conf /etc/wpa_supplicant.conf
(To make the wifi autoconnect to your wireless you need to run the command "wpa_passphrase networkname networkpassword > /etc/wpa_supplicant.conf using adb or chroot)
2.2. X11
Getting X up by running xinit produces a simple black screen on the phone. At first I thought the problem was that the refresh rate was set to 106 Hz, indeed changing it with xrandr and pushing a new mode got me a visible xterm on Kubuntu 11.04:
https://ha.xxor.net/o2x/xterm.jpg.
On Ubuntu 10.10 it even gave me a nice colored gdm screen:
https://ha.xxor.net/o2x/gdm.jpg
But the image I got there was static and wasn't being updated. Turns out the reason the screen was black earlier with the 106 Hz rate and the reason why the screen is now just showing an image is that the framebuffer device doesn't update the screen like it should..
By modifying the kernel source to redraw the screen every 50 ms (~20 Hz) it's possible to get a scren that works. This is an ugly hack in the tegra-fb driver though, so I'm open for suggestions on how to solve it in a better way!
2.3. Touchscreen
By default the only thing the touchscreen does is force the mouse up in the left corner, I think this is due to some multitouch thing. Some more kernel hacking (basically half-disabling multitouch) makes the touchscreen work.
Pictures:
https://ha.xxor.net/o2x/SAM_0671.jpg
https://ha.xxor.net/o2x/SAM_0672.jpg
Video:
http://vimeo.com/27662093
Thans to RaYmAn and lilstevie on #tegralinux for all their help this far!
3. Misc
(K)Ubuntu 11.04 uses a new version of libc which crashes with the current nvidia kernel (2.6.32.9) on this hardware (http://developer.nvidia.com/tegra/forum/errata-657451-tls-bit-20-cp15-c13-3), so I'm going back to Ubuntu 10.10 until someone ports a newer kernel to the Optimus 2x or this problem can be solved in another way.
edit 1: Ubuntu 10.10 with much more working X11 noted in section 2.2.1.
edit 2: X11 working even more, touchscreen works aswell!
edit 3: Landscape mode works with both X11 and the touchscreen now, getting ready for alpha 1!
Current status:
Working:
- adb (best way of controlling device currently)
- X11 (only framebuffer with hardcoded refresh rate of ~20Hz)
- landscape mode fixed! =D
- touchscreen (probably only single touch)
- wifi (only when running things from console, ubuntus network manager does not recognize it)
Not working:
- Basically everything else
Alpha 1:
EDIT: Seems that multiupload has screwed up and this link was going to some crap, anyway this is not relevant anymore
Username 'ubuntu', password 'ubuntuxda'. Don't use this if you don't know how to restore the boot partition! (Or else you won't be able to boot back into android!)
Experiments:
Tried disabling the CONFIG_TEGRA_ERRATA_657451 switch in the kernel to make newer linux versions boot. This might be a bad idea in the long run, but this far things are working better than with the switch enabled..
I tried Ubuntu via chroot method posted in other thread, but I'm a noob.. Can you please explain what is different about your ubuntu?? Does it boot without Android and doesn't need VNC stuff?
Yes, it boots instead of android when turning on the phone, but it doesn't work completely, so I mostly put it up here so that people could help test and fix/hack things.
You rock! Unfortunately I'm no dev, so can't help but hopefully others will, so we'll get a fully working linux on our phone, and maybe later even meego. Is there btw drivers for the gpu? Because hdmi, with usb host ofc, would be really useful!
Anyway, good job, really!
This looks great ergoen! I'm no dev either but I can't wait until it's available to everyone, I would love to have Ubuntu running on my O2x.
Best of luck!
gpu drivers are closed source, and the ones released by nvidia require a newer kernel (2.6.38), so thats not really possible yet.
Newer kernel will be necessary anyway though, since the crashes I'm getting seems to be due to a bug in tegra which gets worked around in 2.6.36. I'm not skilled enough to perform that port though. I will of course give it a try, but most likely I'll go for some older version of ubuntu and/or perhaps meego instead.
Håller med tidigare poster. Would be awesome with native Ubuntu and Meego on the phone... keep up the good work, can't wait to follow this development.
Sent from my Optimus 2X using XDA Premium App
ergoen said:
... I realized that it tried to run the screen at [email protected], which is hmm, wrong . So setting up a script at /etc/xprofile, which makes sure the refresh rate is 60Hz...
Click to expand...
Click to collapse
What would happen if you changed this to 72Hz instead? I saw that info when I was browsing System Information in some app. Im not a dev At. All. But tell me what you think it's probably a stupid question
Sent from my Optimus 2X using XDA Premium App
I can give it a try later, not that it would make any difference .
edit: 72 Hz also seems to work, cool, that's higher refresh rate than my computer screen...
ergoen said:
I've spent some (much) time this week with trying to get ubuntu running on the optimus 2x. I have succeeded to boot and get the wifi working, also X sort-of works (software fb). I have only slightly modified the kernel (built with CONFIG_SIGNALFD=y so that Meego wont complain in a related attempt to get that os booting). The ramdisk is completely replaced with a busybox executable, some symlinks to it and a shell script that mounts the necessary stuff (/dev/block/mmcblk1p2 as ext3), changes root directory and calls /sbin/init.
USING THE FOLLOWING WILL VOID ANY WARRANTY YOU MIGHT HAVE LEFT AND MIGHT ALSO BRICK YOUR PHONE!
Seriously, don't do this if you don't wish to risk the data on your phone.
I will not provide a complete root file system for two reasons:
1. It's pretty easy to make yourself, grab the omap3 kubuntu mobile image from the kubuntu site, or use rootstock from an ubuntu installation to build one yourself.
2. My upload sucks, and putting several hundred MB onto the interwebz would hurt me.
However, I have placed an image of my boot partition here (assumes you've got ubuntu on the second partition of the external memory card formatted with ext3):
https://ha.xxor.net/o2x/boot.img
I have also targzipeed the modifications to the file system that were required to get stuff going here:
https://ha.xxor.net/o2x/o2x.tar.gz
This should be extracted directly to the root file system you aquired earlier.
Things that have been done to get this to "work":
1. Boot partition
Apart from grabbing the busybox stuff from some nexus one boot image (I'm sorry whoever fixed it, I don't remember where I got it from ) the boot command line had to be modified a bit, changing stuff from the default usually ends up in a phone that won't boot, but I discovered that it's possible to append new arguments to the default ones. So the following have been appended:
console=tty0 root=/dev/mmcblk1p2 init=/sbin/init
The console=tty0 makes sure that you see stuff on the screen while ubuntu get's running. The last two are not necessary to boot, but ubuntu seem to like (need?) them (or at least the init=/sbin/init), since otherwise you never get to the login prompt on the screen.
2. The Ubuntu installation
To make it possible to communicate with the phone at all adbd was put into the /sbin/ folder and a symlink was created /system/ -> /. Also the "/sbin/adbdb recovery &" command was added to rc.local to make it autostart.
2.1. Modules and wifi
We need the /lib/modules/2.6.32.9 directory. Most files inside that were generated using the "depmod" command, the exception is wireless.ko which was taken from android, the firmware and nvram files needed for the wifi chip to work were placed in the /lib/firmware/wl/ folder. To make the wifi module autoload with the proper firmware "wireless" was added to /etc/modules and the file /etc/modprobe.d/wireless.conf was created with the contents describing the location of the firmware and nvram.
To make the wifi autoconnect on boot the /etc/network/interfaces file was modified with the following contents:
auto wlan0
iface wlan0 inet dhcp
wpa-driver wext
wpa-conf /etc/wpa_supplicant.conf
(To make the wifi autoconnect to your wireless you need to run the command "wpa_passphrase networkname networkpassword > /etc/wpa_supplicant.conf using adb or chroot)
2.2. X11
Getting X up by running xinit produces a simple black screen on the phone. After some troubleshooting and voodoo magic I realized that it tried to run the screen at [email protected], which is hmm, wrong . So setting up a script at /etc/xprofile, which makes sure the refresh rate is 60Hz, and running it after xinit gets you a xterm!!!
https://ha.xxor.net/o2x/xterm.jpg
Telling /etc/X11/xinit/xinitrc to run it makes sure that it gets set up properly by the startx script, unfortunately startx doesn't go through for me on kubuntu because of some weird error caused by a hardware problem in tegra: (http://developer.nvidia.com/tegra/forum/errata-657451-tls-bit-20-cp15-c13-3).
Unfortunately this (probably) means that either we'll have to stay with old versions of libc or get a newer kernel (2.6.36 contains fix). Old libc seems backwards, but porting a new kernel requires a bit more skill than I possess.
2.2.1. Ubuntu 10.10
Grabbed the image ubuntu-netbook-10.10-preinstalled-netbook-armel+omap.img.gz from http://cdimage.ubuntu.com/ubuntu-netbook/ports/releases/maverick/release/ . After first unpacking the tgz, then unpacking the raw disk image to partition images (with 7zip on windows) and then flashing the 1.img file to the second partition on my sdcard I managed to run a much more bug free ubuntu than before.
Ubuntu 10.10 (Maverick) uses an older version of som libraries that don't crash with the old o2x kernel.
This has lead to the following:
https://ha.xxor.net/o2x/gdm.jpg
Obviously touch screen isn't working properly (pressing it puts the pointer into the upper left corner :S) so can't get further than this currently.
3. Misc
avahi-daemon and cups seems to be crashing all the time and restarting, so removing them (apt-get purge if ubuntu/kubuntu) will make the boot much cleaner. Also I get lots of alignment trap kind of errors that shouldn't be there for different kinds of services, (due to tegra bug mentioned earlier).
edit 1: Ubuntu 10.10 with much more working X11 noted in section 2.2.1
Click to expand...
Click to collapse
Its good you got it to work.Saves me some work.I was gonna begin this project my self after the 19th when my exams end.Maybe i could help you.
ergoen said:
I can give it a try later, not that it would make any difference .
edit: 72 Hz also seems to work, cool, that's higher refresh rate than my computer screen...
Click to expand...
Click to collapse
Most computer screens usually support atleast 72hz also, it's just that it only works with d-sub, and sometimes only at a lower resolution.. It's possible to make special drivers to some screens to enable higher refresh rate through dvi also.
Anyway, it's good the screen on the phone refreshes at 72hz instead of 60 for android, but in linux I really don't see the benefit.. Doesn't hurt to have though. Btw, if we would stay on this kernel, can we use the drivers from android then? Shouldn't gpu also work? Or are the drivers limited and don't allow xorg for example? Sorry if it's stupid question, don't have that much knowledge how android works yet.
Update: X11 and touchscreen work on Ubuntu 10.10 Maverick with new kernel (just a few hacks )!
manasgirdhar: sure! Lot's of things to do new kernel is needed for anything newer than ubuntu 10.10, and even here things like sound etc (cpu scaling maybe too) don't work.
kruppin: actually i removed the xorg.conf now, the phone thinks its running at 106 Hz and it works. Unfortunately in practice it goes at more like 20 Hz because of the hack I made to enable the fbdev output in the kernel. Android doesn't use X11, so those drivers wont be of any use. (I will post the kernel modifications to github soon)
edit: kernel source up on https://github.com/ergoen/LG-Optimus-2x-linux-kernel
A List of Things working at 2nd Post would be nice.
So anybody could fast see Updates,...
Edit:
Have you tried some "cleaner" Linux like Debian?
Alpha 1 is up in the second post for anyone who wants to test it (don't ^^).
I have not tried debian no, I thought ubuntu would be the easiest to google errors and bugs for .
You are great! i was hopin' for this since I have mine. You should try to make usb(otg) work to get some devices going i will try to test it soon
That's amazing We have to test USB OTG function. If it works by default, I'll try this right now
It is possible to make a dual-boot: ubuntu and android?
I don't think usb otg works since I am basically using the android version of the kernel, I also won't be able to try since I don't have a cable... (will buy one sooner or later).
Dual boot probably works if you flash the boot.img onto the recovery partition instead of the boot partition (/dev/block/mmcblk0p7 instead of /dev/block/mmcblk0p5). I have not tried this though. That way regular booting would give android and booting while holding volume down would give ubuntu, only problem with this is that cwm will be gone and the only way to fix broken things would be to flash with nvflash.
well it is not a major deal if have cifs avail needs kernel support as well. Benee mentioned (might) some otg support, mayb u could ask.
also, you might give E17 a try, it is butter-fast, and has a touch module for keyboard (letter zooming.!..) LINK
this can be compiled on a lot of hw, and gives good response with fbdev non-accel drivers also.
and most linux apps work on it fine. ofc until we have 2d/3d accel and might try compiz/fusion as well
LINK
Great job ergoen!
I've worked on exactly the same some weeks ago but i never accomplished it. because i stuck creating a working ramdisk. Which toolchain do you use?
MfG

[FEELER] LinuxonAndroid ROM?

Hello all!
I am thinking about working on a ROM that includes a Debian/Ubuntu installed baked right into it!
The install would have the same functionality as the Core images I have created (i.e no GUI etc) and would be part of the ROM (not 100% how I will carry this out but im thinking installing it into the data partition).
The idea would then be everything would be preinstalled! including the terminal app, a custom launcher app and the vnc app (if you choose to install a GUI!) having it preinstalled and not in a image file would mean the size limitation would only be the size of the space which is why im not sure where it would be installed yet.
This ROM would be based off CM9 and would include extra features to improve the useablity of the linux install.
If this was to get a good response then I would like expand this to other devices but as the note is all I myself have you would be the first to try!
So the question is would you all be interested in such a rom? Please answer the poll and if you have any ideas or input reply to the thread
Ubuntu and Android
I would love it for sure.:laugh:
This is what i had in mind:
-Create a custom boot loader that gives a choice to boot android or Ubuntu at start up.
press sound down during boot to load Ubuntu or touchscreen menu for example.
-Create/Edit a kernel to work with Ubuntu and Android.
Try not to just make it "work" try also making it battery friendly like Franco Kernel
You could also make the boot loader switch kernels between android and Ubuntu options during boot.
if Android use ...
if Ubuntu use...
-let both operating systems see a partition and create 2 hidden partitions in the root.
One for android, one for Ubuntu.
By making them share one partition you can do thinks like adding phone contacts to Ubuntu and creating bridges in between.
-Make an android and Ubuntu app.
The Android app should be built in the shutdown menu where it asks if you want to reboot, hot reboot or restart, it should add the option: "Restart in Ubuntu".
The Ubuntu app should do the same and should be built in the Ubuntu shutdown menu.
There should also be an Ubuntu app that can read the phone's Contacts in Ubuntu and send or receive text messages and call.
If you could do all this and create a great Ubuntu, Android Rom and Kernel...
Man, you're the king, i know you will.
This sounds awesome, I'd certainly be interested and would also be happy to beta test if needed.
Sent from my GT-N7000 using xda app-developers app

Categories

Resources