[Porting] ANDROID on LG Ks20 - Android Software Development

Hello everyone,
I'm starting this 3d to support a porting "project" for the LG Ks20. Now I own an HTC Sapphire and I'm really happy with it, thanks to Google Android OS...and it would be so nice to have it running in our phone: it has a quit good hardware specs to run it, and I know it runs well on HTC ELF (Yes, the ELF, not only the Vogue ), wich specs are worse than Ks20's, so why don't give a try?
About a year ago, in Kaiser Android developing thread, I found that someone (spocky ) was able to run Vogue's android kernel on Ks20, than i tried it and just stop there... just curious. Then, in theese days, I reconsider this project and I began to investigate...As far as I know there's a lot of porting project on msm7200-based devices, and ks20 hardware is very closer to other phones...so I think we have some chances!
This is the situation:
- Lg Ks20 can run earlier (0.8 ver) vogue kernel and Niki's kernel with Haret, but only within RamDisk...so reading images files from SD doesn't work as Haret doesn't recognize it. This is the 1st big issue, as we can't load and run the last bigger 1.0,1.1,1.5 android rootfs'images directly into RAM...
- Touch screen doesn't work
- Usb network doesnt' work, so you can't login trough ssh so there's no input options after the kernel is loaded; you can try to boot Angstrom distro on Ks20: it works, but without input method you can't even login
Basically you cant' do anything for now, just boot the image and try running 1 or 2 applications...but this is a good start, and it means that it could be done! We have a bootable kernel, an LCD working and you can see Android graphical interface on the ks20.
now the first thing is to have a complete list of Lgks20 GPIOs. This can be done using HARET. I try to get the list using a Haret version that recognize msm7200 as msm7500 (they're pretty similar), and I obtain these results:
Code:
HARET#1 watch gpios 10
Beginning memory tracing.
Watching GPIOS(00): Addr 92b00800(@a9200800)
Watching GPIOS(01): Addr 92a00c00(@a9300c00)
Watching GPIOS(02): Addr 92b00804(@a9200804)
Watching GPIOS(03): Addr 92b00808(@a9200808)
Watching GPIOS(04): Addr 92b0080c(@a920080c)
Watching GPIOS(05): Addr 92b00834(@a9200834)
Watching GPIOS(06): Addr 92a00c20(@a9300c20)
Watching GPIOS(07): Addr 92b00838(@a9200838)
Watching GPIOS(08): Addr 92b0083c(@a920083c)
Watching GPIOS(09): Addr 92b00840(@a9200840)
Watching GPIOS(10): Addr 92b00810(@a9200810)
Watching GPIOS(11): Addr 92a00c08(@a9300c08)
Watching GPIOS(12): Addr 92b00814(@a9200814)
Watching GPIOS(13): Addr 92b00818(@a9200818)
Watching GPIOS(14): Addr 92b0081c(@a920081c)
000.000 GPIOS 92b00800=0
000.000 GPIOS 92a00c00=1f0005d
000.000 GPIOS 92b00804=4000
000.000 GPIOS 92b00808=12200
000.000 GPIOS 92b0080c=0
000.000 GPIOS 92b00834=0
000.000 GPIOS 92a00c20=1f00050
000.000 GPIOS 92b00838=1f04008
000.000 GPIOS 92b0083c=3c1a208
000.000 GPIOS 92b00840=0
000.000 GPIOS 92b00810=f
000.000 GPIOS 92a00c08=fc0c2
000.000 GPIOS 92b00814=1feff09
000.000 GPIOS 92b00818=423660d
000.000 GPIOS 92b0081c=0
....
[B]007.466 GPIOS 92a00c20(213)=1d00050
007.606 GPIOS 92a00c20(213)=1f00050[/B]
So, when I press the Joypad Down, for example, it shows me the last 2 values, and so on...
My questions:
- Now, why there are only 14 GPIOs available while on Ks20 service manual are more than 90?
- is GPIO(00) a list of GPIOs 0 to 15 maybe? ...GPIO(01) 16-31 etc?
- According to Ks20 service manual The Joypad correspond to GPIOs 33 to 40...So what's 213 ?
- Why aren't there GPIOs changes when I touch the touchscreen (but yes, can get irqs trought "wirq" command )
- Maybe I have to re-compile haret forcing it recognize the msm7200 , or Ks20 MTYPE? If so, how to do it?
The next goal is to get SD and usb net interface working
Thanks to all people that will help me...
(To try it , unzip the attachment in the link below to your sd card in one folder, then run Haret and tap "Run"; maybe you have to press some buttons during boot to get it loading...don't know the why...)
Useful links:
http://mikechannon.net/PDF Manuals/LG/LG KS20 Service Manual ENG_1123_1.0.pdf - a lot of useful infos, expetially for Qualcomm msm7200 CPU
http://www.megaupload.com/?d=LBNQVSP8 - Android 0.8 Bootkit; basically the same of HTC Nike

nice work!!!!~..
guess seeing HTC sense working on ks20 won't be long...
keep up the good work

Wow cool!
I'll start immediately some work on my LG KS20!!!!
tent:wq

tentator said:
Wow cool!
I'll start immediately some work on my LG KS20!!!!
tent:wq
Click to expand...
Click to collapse
can you figure out how to modify the keypad definition using GPIOs infos provided by Haret and why it gaves me theese values instead of 1 or 0?

gregnapola said:
Hello everyone,
(To try it , unzip the attachment in the link below to your sd card in one folder, then run Haret and tap "Run"; maybe you have to press some buttons during boot to get it loading...don't know the why...)
http://www.megaupload.com/?d=PJ8DGFT8 - Android 0.8 Bootkit; basically the same of HTC Nike
Click to expand...
Click to collapse
Actually that zip should be uncompressed in the root (/) of the SD to work.. not in a folder..
But a part from that, the problem is that on mine I just get a linux boot screen till keyboard detection and then nothing.. after some seconds it just reboots in winmobile again..
so definitely it seems somehow worried about keyboard..
tent:wq

tentator said:
Actually that zip should be uncompressed in the root (/) of the SD to work.. not in a folder..
But a part from that, the problem is that on mine I just get a linux boot screen till keyboard detection and then nothing.. after some seconds it just reboots in winmobile again..
so definitely it seems somehow worried about keyboard..
tent:wq
Click to expand...
Click to collapse
It will have to be uncompressed in the root of SD; since we've not a rootfs to point to yet, uncompressing it to a folder or to the root doesn't matter for now (I'Ve just booted it within 2 subfolders and there's no problem).
Anyway, try to boot it kepping the jog up pressed; I can always boot ti with no probs

Hi,
I guess you already know this site: http://www.androidonhtc.com/start. But just for all the other...

..uhm.. strange.. even by pressing the jog upwards during haret and boot I still get like the linux boot image staing there for some second and then th KS20 rebooting again into windows mobile...
when should I press it upwards? and what should it do?
btw, shouldnt there be something like system.img (or system.gz) in the image??
tent:wq
@Joline: well, but there is no support for KS20 in that site, right?

tentator said:
..uhm.. strange.. even by pressing the jog upwards during haret and boot I still get like the linux boot image staing there for some second and then th KS20 rebooting again into windows mobile...
when should I press it upwards? and what should it do?
Click to expand...
Click to collapse
You shouldn't "keep" the jog pressed, you have to press it alternately
btw, shouldnt there be something like system.img (or system.gz) in the image??
Click to expand...
Click to collapse
As I wrote in the 1st post:
- Lg Ks20 can run earlier (0.8 ver) vogue kernel and Niki's kernel with Haret, but only within RamDisk...so reading images files from SD doesn't work as Haret doesn't recognize it. This is the 1st big issue, as we can't load and run the last bigger 1.0,1.1,1.5 android rootfs'images directly into RAM...
Now, the 0.8 filesystem image is enough small to be loaded entirely into the RAM so initrd and the rootfs are "packed" into one file; since the Android images became larger, it was necessary to separate initrd from rootfs (packed in system.img or system.gz), but without working SD card driver the kernel, once loaded, cannot mount the partition in which the filesystem is.

Joline said:
Hi,
I guess you already know this site: http://www.androidonhtc.com/start. But just for all the other...
Click to expand...
Click to collapse
Yes...I'm learning a loooooot of thing from that site...anyway , thank you

gregnapola said:
You shouldn't "keep" the jog pressed, you have to press it alternately
As I wrote in the 1st post:
- Lg Ks20 can run earlier (0.8 ver) vogue kernel and Niki's kernel with Haret, but only within RamDisk...so reading images files from SD doesn't work as Haret doesn't recognize it. This is the 1st big issue, as we can't load and run the last bigger 1.0,1.1,1.5 android rootfs'images directly into RAM...
Now, the 0.8 filesystem image is enough small to be loaded entirely into the RAM so initrd and the rootfs are "packed" into one file; since the Android images became larger, it was necessary to separate initrd from rootfs (packed in system.img or system.gz), but without working SD card driver the kernel, once loaded, cannot mount the partition in which the filesystem is.
Click to expand...
Click to collapse
Sorry man, but still no success in booting that image, even by pressing up in different moments and repeatingly.. where can I find the lates source for 0.8 vogue? If you proviede a link I'd like to try to recompile the kernel myself and retry.. and in the video you posted in the other thread I noticed that you're also using a different HARET version, right? maybe it's that?
since we have the same phone it sounds strange that it doesn't boot on mine..
tent:wq

tentator said:
Sorry man, but still no success in booting that image, even by pressing up in different moments and repeatingly.. where can I find the lates source for 0.8 vogue? If you proviede a link I'd like to try to recompile the kernel myself and retry.. and in the video you posted in the other thread I noticed that you're also using a different HARET version, right? maybe it's that?
since we have the same phone it sounds strange that it doesn't boot on mine..
tent:wq
Click to expand...
Click to collapse
I'm sorry!!!! Maybe I uploaded the wrong files from my PC...I've TONS of kernel and images ... now I'm uploading them from the folder in my phone, look at the 1st post when it's done . Haret is good though... sorry again

same thing for me didn't start on mine
please tell us how to do step by step

karim_31 said:
same thing for me didn't start on mine
please tell us how to do step by step
Click to expand...
Click to collapse
Now it should works... Let me know...

gregnapola said:
I'm sorry!!!! Maybe I uploaded the wrong files from my PC...I've TONS of kernel and images ... now I'm uploading them from the folder in my phone, look at the 1st post when it's done . Haret is good though... sorry again
Click to expand...
Click to collapse
Ok, something changed now at least.. I downloaded this new one and I can get to the supercar-like red bar weaving on the screen, but then shortly after seeing for a short moment the android desktop it again reboots spontaneously.. what's it sort of watchdog? Uhm... Maybe there some button trick that I did not get correctly?
Well but anyway if there is something to be compiled I'd also like to try that way..
tent:wq
PS: karim, do you notice the same?
PS2: I also noticed that the initrd image is a .zip file.. does it mean I need to decompress it first? Because looking at the header of it it does not seem zipped archive......

tentator said:
Ok, something changed now at least.. I downloaded this new one and I can get to the supercar-like red bar weaving on the screen, but then shortly after seeing for a short moment the android desktop it again reboots spontaneously.. what's it sort of watchdog? Uhm... Maybe there some button trick that I did not get correctly?
Click to expand...
Click to collapse
Maybe mine is "Magic" ...seriously, my ks20 restarts only if I don't press anything, otherwise it stays on even for a day...Actually you can only open google maps app with this keymap
Well but anyway if there is something to be compiled I'd also like to try that way..
tent:wq
PS: karim, do you notice the same?
PS2: I also noticed that the initrd image is a .zip file.. does it mean I need to decompress it first? Because looking at the header of it it does not seem zipped archive......
Click to expand...
Click to collapse
http://forum.xda-developers.com/showthread.php?t=441999
here you can find what you're looking for; the initrd extension doesnt matter, it's a gzipped file but it's mounted as disk image. If you unzip it's about 32 MB large and you can't use it with older Haret version because of memory limit (from haret changelogs)

ok.. so then I definitely do something wrong with that joypad up key..
Could you give me some detailed hint on exactly when you press/release and how many times that key and what is on the screen when I need to do it (ok this sounds really silly altrough!! )
tonight I'm goint to try to recompile from git if there is a 0.8 three.. and I'll see what happens with that..
tent:wq

Ok, two quick updates:
1) I was able to boot your android image by pressing the up joggle something like 5 times each 1-2 seconds while booting.. then I could move around the main menu for like 10 seconds and then it rebooted again anyway.. ok I definitely think ther's something with the keys or some watchdog biting..... uhm... (any reports from other users here?)
2) I wasn't able to compile by yesterday since the git repository had some problems and I was not able to clone from git the .config for vogue part in the build, will try later again..
tent:wq

It works! I managed to successfully boot up Android. Unfortunately, I couldn't do much. Here a clip of the boot-up process.
http://www.youtube.com/watch?v=pmH8H4wvTcE

d3thstalker said:
It works! I managed to successfully boot up Android. Unfortunately, I couldn't do much. Here a clip of the boot-up process.
http://www.youtube.com/watch?v=pmH8H4wvTcE
Click to expand...
Click to collapse
Yes, it works....but....please....I'm looking for the nswer in the firts pages. At least for the keymap I need to understand how GPIOs are organized to edit board-vogue-keypad.c or even de default *keypad.c file and map them correctly at least

Related

Linwizard

FYI...
Looks like some progress has been made. I was just browsing around and curious as to whether anybody was still working on porting Linux to the Wizard. Sure enough some activity started end of last year and you can actually run a very limited version of linux from inside of wm. Here is the link, http://sourceforge.net/projects/linwizard/ I wish I had the skills to participate but I will be following their progress. Maybe I can be a help finding bugs.
cool i wish i could help in that project also but since i cant i can only volunteer my wizard as a lab rat
**double post sorry**
It's really basic at this point. no touch screen. no screen rotation. I've run it on mine. Follow the readme, expand the zip to a folder, then expand the initrd.bz2 into the same folder. copy that folder to your SD and run the .exe from inside wm.
I can't wait. I have a spare wizard and I'll definately be hacking away on that one.
hi guys!
i also tryed to get linwizard working on my htc qtek 9100 (wizard)
and really, it works! =]
i took the gizard package:
http://tinderbox.x86.dev.gentoo.org/embedded/linwizard/gizard-20080602.tar.bz2
a gentoo distri
just login in with the the user root (no password) and type the command "startx"
now the X server and the window manager starts.
also the touchscreen is working!
btw:
if you connect your ppc with your computer (usb) you can connect to the the device over telnet (not ssh - you have to set the ip on your computer first)
i'm running it with haret 0.5.1
and my config looks like this:
Code:
set MTYPE 1229
set KERNEL "zImage"
set INITRD "initrd"
set CMDLINE "root=/dev/ram0 ramdisk_size=20504 init=/linuxrc panic=30 video=omapfb:accel console=tty0"
bootlinux
all the files in the gizard package are stored in the root directory of my storage card!
greets hades00
[sorry for my english - i am from austria =)]
Well im downloading it now lets see what this sucker can do. Thanks for the heads up!
How do u know the touchscreen is working???
Hades,
i did what u said till the startx.. now i have 'Login' window with a ~$ prompt and clock like thing on the upper left hand corner. after this what ?? where are the apps? and my touchscreen does not work. i just have tht 2 windows and i cannot move them around or anything ... I am totally a noob in Linux. i had to ask my friend for even the ls command.
If u get time can u please help me out...
** I take all that back.. i had the wrong image file in the folder ... the things that does not work for me right now is
1. i cannot set the date and time
2. cannot change the theme through 'look and feel'
The mileage calculator is somthing.
as you can see, this version is just the alpha version of linwizard/gizard ... the problem is that all the software have to be compiled for the arm (omap850) processor architecture ... this can take a while, but when we have a look to the xanadux project, it works!
for example, for the gsm-modul, they took the same driver as the artemis has!
yesterday i read a little bit about the wifi-driver for the wizard, it's the TCS3500 and it's precompilerd for the mips-architecture (the openwrt project is using the same - [vlynq])
Now, it's the problem to cross-compiler the sourcecode to the arm-architecture
it's a hard work, but i think they will get it working
for me, i want to have a look to the python workaround and write some nice, small, useful programs
greets hades00
[sorry for my english - i am from austria =) - i only wite/speak broken english]
Personally, I don't think this would be worth it for me until you get the power button/power management working and GSM completely working.
But if I had a choice between windows and linux, and both would let me still have a functional phone (mustn't forget that this is the primary purpose of getting the device), you'd bet I'd go with linux in a heartbeat.
good job
i works fine on my HTC WIZARD 100, from Vodafone (VPA II compact)
Excellent work hades Wishing you all the best of luck on ur project of writing apps for this ( and waiting in anticipation to see what they are so far this is looking preety intresting)
docnas said:
Excellent work hades Wishing you all the best of luck on ur project of writing apps for this ( and waiting in anticipation to see what they are so far this is looking preety intresting)
Click to expand...
Click to collapse
thank you!
I will inform you when an application is finished
Getting past the "clock like thing". help needed
NEWBEE-desi said:
Hades,
i did what u said till the startx.. now i have 'Login' window with a ~$ prompt and clock like thing on the upper left hand corner. after this what ?? where are the apps? and my touchscreen does not work. i just have tht 2 windows and i cannot move them around or anything ... I am totally a noob in Linux. i had to ask my friend for even the ls command.
If u get time can u please help me out...
** I take all that back.. i had the wrong image file in the folder ... the things that does not work for me right now is
1. i cannot set the date and time
2. cannot change the theme through 'look and feel'
The mileage calculator is somthing.
Click to expand...
Click to collapse
Please how do I get pass "the clock like thing" on my Wizard mini s?
Any instructions kindly taken.
Cheers
hades00 said:
hi guys!
i also tryed to get linwizard working on my htc qtek 9100 (wizard)
and really, it works! =]
i took the gizard package:
http://tinderbox.x86.dev.gentoo.org/embedded/linwizard/gizard-20080602.tar.bz2
a gentoo distri
just login in with the the user root (no password) and type the command "startx"
now the X server and the window manager starts.
also the touchscreen is working!
btw:
if you connect your ppc with your computer (usb) you can connect to the the device over telnet (not ssh - you have to set the ip on your computer first)
i'm running it with haret 0.5.1
and my config looks like this:
Code:
set MTYPE 1229
set KERNEL "zImage"
set INITRD "initrd"
set CMDLINE "root=/dev/ram0 ramdisk_size=20504 init=/linuxrc panic=30 video=omapfb:accel console=tty0"
bootlinux
all the files in the gizard package are stored in the root directory of my storage card!
greets hades00
[sorry for my english - i am from austria =)]
Click to expand...
Click to collapse
I did as instructed, but it's time
linwizard Login: startx
Password:
=> Login incorrect
I have not been able to Login. Please only way to overcome dum??
@sieu_sury the login name should be root and password is blank after you login suceesfuly then type in startx for it to work.
docnas said:
@sieu_sury the login name should be root and password is blank after you login suceesfuly then type in startx for it to work.
Click to expand...
Click to collapse
have to be setting / owner named then he does here to get the original does not?
what are password and login?
Dont reed
even i doesnt have a wizard saw that "root" loggin and no password dont ype anything...
Am I right?????
Boot from SD?
You know, I've been thinking... I seem to remember that you can flash these things from the SD. If that's true, wouldn't that mean that somehow the device can be booted from the SD? I don't know that much about the flashing business. I do it all the time from ActiveSync, but with other peoples roms. It seems to me that if we could do that and not affect the WM OS that would kill a lot of the overhead.
Gizard
I just extracted the Gizard folder onto my SD card. I softreset the phone into WM6.1. Put my phone in flight mode. Used Task Manager 2 and killed any unnecessary apps. Then I ran haret straight from the SD. Once it boots, login with root and no password. Run "startx" and you got the linwizard desktop. Worked Great! Really wasn't slow at all. There isn't a whole lot there yet but so far so good!

LINUX BOOTS at OPAL! Thanks to linwizard project!

Hi there,
I got Linux to boot at OPAL via linwizard project. Here are steps needed to get it work.
1) download image from:
http://tinderbox.x86.dev.gentoo.org/embedded/linwizard/gizard-20080602.tar.bz2
2) copy content of file to the microSD card
3) edit default txt and replace init=/linuxrc with init=/bin/sh
4) run haret and let it boot.
After a while you'll get to shell. No graphics.
Now you can attach microusb cable and connect it with your linux laptop (I recommend ubuntu)
and you will get usb0 interfece to start up.
Which IP to use to connect with OPAL I still must investigate.
Well ip connectivity now works:
ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf>
Notas:/# ifconfig usb0 up 192.168.2.200 netmask 255.255.255.0
Listik:/usr/src/linux-2.6.27/Documentation# ping 192.168.2.202
PING 192.168.2.202 (192.168.2.202) 56(84) bytes of data.
64 bytes from 192.168.2.202: icmp_seq=1 ttl=64 time=2.95 ms
64 bytes from 192.168.2.202: icmp_seq=2 ttl=64 time=1.72 ms
And how to do it:
prolong "set CMDLINE" line with
ip=192.168.2.202:192.168.2.200:192.168.2.200pal:usb0
But in this image there doesn't seem to be any telnet/ssh server running. I will try cook image with ssh server support later
Download error
Were not able to re-upload
404 file not found error!!
http://tinderbox.x86.dev.gentoo.org/embedded/linwizard/
and open latest gizard-<date>.tar.bz2
or that I suppose.
The latest link should be http://tinderbox.x86.dev.gentoo.org/embedded/linwizard/gizard-20090703.tar.bz2
does this mean any chance of android working? anyone tried?
Hey,
I'm a new Opal user and I'm interested in getting *nix running on my device. I still haven't had the chance to mess around with this stuff but I'm excited to see this thread.
I was looking into the possibility of running Android on the Opal and it seems the closest thing is this thread bout running it on the Herald (it uses the same processor as the Opal).
I don't any experience in Linux porting so I thought I'd share this, in case anyone else is interested. And at the same time, I'll try to see if I can get something working based on what has been/is being done for other devices.
Sorry for the long post.
Hey Folks,
Any progress on getting Android on Opal? I am eagerly waiting to load one.
Kindly let me know, if this version of Linux when loaded, gives the UI.
Cheers'
Vijay
cijoml said:
Hi there
I got Linux to boot at OPAL via linwizard project. Here are steps needed to get it work.
1) download image from:
http://tinderbox.x86.dev.gentoo.org/embedded/linwizard/gizard-20080602.tar.bz2
2) copy content of file to the microSD card
3) edit default txt and replace init=/linuxrc with init=/bin/sh
4) run haret and let it boot.
After a while you'll get to shell. No graphics.
Now you can attach microusb cable and connect it with your linux laptop (I recommend ubuntu)
and you will get usb0 interfece to start up.
Which IP to use to connect with OPAL I still must investigate.
Click to expand...
Click to collapse
Android can boot on Opal
I have some good news, Android can boot on the Opal. This is just a proof of concept as it's missing tons of drivers and is completely useless.
Touchscreen and all keys except for the volume control (and obviously the reset button) are not working. So you basically can't do anything when you run it.
What I tried is the same as what's written in this thread about running Android on Gene. They're using the build made for the Herald/Wing (just as I was proposing in my last post) with customized initramfs and kernel.
You'll find all the necessary details in that thread. However, there's a newer build than the one mentioned there it's wing-linux-0.4pre2.cab. And the suitable kernel for that build is supposed to be the pre2 posted in this post but it didn't work on my Opal so I tried the older Gene kernel and it worked. The main difference between the two is bluetooth support, and that's obviously is of no use for us.
This doesn't effect the Windows rom, nor does it requires any special partitioning. Still it's best to have everything backed up before launching it, just in case.
This is the official site for the wing/herald build:
http://wing-linux.sf.net/
This thread on their forums about the Gene port will probably be of use to us:
http://sourceforge.net/apps/phpbb/wing-linux/viewtopic.php?f=4&t=4
I'm reading about the next steps but as I said before, I don't have any previous experience or knowledge about this type of things. If someone can give me hand, I would be more than grateful. At any rate, once I have better understanding of the concept I'll contact the people behind the Wing and the Gene ports.
P.S: If you do try to run this, keep in mind that this will take lots of time, specially for the first launch. And when you get an error saying something like "android sh: can't access tty" just ignore it and keep waiting. After a while you'll have a flashing "android" on the screen, and after some more waiting you'll reach the main screen.
Is this just THE BEGINNING
Sooper Stuff..!! So is this just THE BEGINNING??
How do we port the drivers and other required information in the build?
Cheers'
Vijay
www.msigeek.com
A Lil' help
I'm going through the Gene port thread here and on the Wing-linux sourceforge forums but I'm still a bit overwhelmed.
I would appreciate any help as I'm completely new to porting. I have some programming and linux knowledge but never attempted this type of things.
Click to expand...
Click to collapse
So am I.
Hmmm...
Right. Lets do it the way I did it.
1. Get the touchscreen working. Through HaRET, you must have got the GPIO interrupt whenever you pressed the touchscreen. You must have got two numbers corresponding to each press - a smaller number and a bigger number. The smaller number is the GPIO, and the larger number is, well, lets say a special GPIO value for the same pin.
Now checkout the Gene branch through git.
Goto /wing-linux/kernel/arch/arm/mach-omap1/board-htcherald.c
Scroll down to a block of code where you'll see the touchscreen code. Enter the smaller number in the .dav_gpio statement, and the IRQ number in the OMAP_GPIO_IRQ() statement below.
2. Follow the Kernel build instructions on the development section of the wing-linux wiki (the two make commands)
Copy the zImage into the linux folder on your SD card
Boot into wing-linux. The touchscreen should start working.
3. Now, hopefully, after the touchscreen's working, You would essentially just require two more buttons - the home button and the back button for minimum functionality. Everything else can be worked on by the touchscreen.
Then follow the instructions on the wing-linux forum (Page 2) to get the KEY(row,col) values of the keys on your handset. Hopefully you should get atleast a couple. Note down the corresponding keys and their KEY(r,c) values output.
4. Fire up board-htcherald.c again and goto the place where you have the KEY(r,c,KEY_blah) thing and replace the codes as per your obtained KEY(r,c,KEY_blah) values (The Home button is the one commented as Left Button)
5. That's all I can help you with as of now. I'm also figuring out a stable way of getting the DPad and the center select key to work, but It'll take some time.
Thanks kshaurya!
(This guy right here is the one who fixed the kernel for Gene, I asked him for some pointers).
I don't want to take my device apart just yet (I usually do my best not take to dismantle anything that I haven't owned for at least 3 months unless absolutely necessary) and I couldn't find a place that states what touchscreen it uses. I'm just hoping that it's the same a tsc2046 as well. [Is there anyone without a warranty and/or willing to check for us?]
I'm gonna double check the values I got from the touchscreen as for some reason I seem to have to IRQ values, probably forgot to get rid of some spamming irq. And, at the same time, I'm currently setting up a VM as a building environment, my main boot is Intrepid 64 and there's no 'psyco' package for 64 machines.
If anyone else have some experience and wants to try this, refer to: http://www.handhelds.org/moin/moin.cgi/HaRET_20Documentation (using haret to get the GPIO and IRQ values needed).
And to:
http://sourceforge.net/apps/trac/wing-linux/wiki/Development (acquiring the source code from Wing Linux and how to build it).
And a quick question for anyone that tried booting Android on the Opal, what screen did you get when Android finally finished booting?
I don't want to take my device apart just yet
Click to expand...
Click to collapse
Huh? where did that come from? Wing Linux will not touch your WM.
I seem to have to IRQ values
Click to expand...
Click to collapse
Do you mean two? Well, that's exactly what you should get. Even if it's just one, enter that value in the code.
my main boot is Intrepid 64 and there's no 'psyco' package for 64 machines
Click to expand...
Click to collapse
Oh no. dont tell me that you are building the entire thing. all you need to do is build the KERNEL! Please! Don't go into building the whole thing from scratch. Use the make ARCH ARM commands given on that page.
kshaurya said:
Huh? where did that come from? Wing Linux will not touch your WM.
Click to expand...
Click to collapse
I mean to check the screen, in case it turned out to be different that what you have.
kshaurya said:
Do you mean two? Well, that's exactly what you should get. Even if it's just one, enter that value in the code.
Click to expand...
Click to collapse
Yeah, stupid typo.
I noticed now that one of them appears when I keep the screen 'touched' for a bit longer.
kshaurya said:
Oh no. dont tell me that you are building the entire thing. all you need to do is build the KERNEL! Please! Don't go into building the whole thing from scratch. Use the make ARCH ARM commands given on that page.
Click to expand...
Click to collapse
I'm not gonna build the complete thing. Seems like I got too exited and failed to notice that building the kernel only requires a cross-compile toolchain, te rest is for compiling the whole thing.
I'm not THIS stupid usually . Honestly!
Thanks again!
I'm not THIS stupid usually . Honestly!
Click to expand...
Click to collapse
Its pretty normal
Weird.
I've only changed the two touchscreen values and built the kenrel. It finished without any error but now it won't boot.
It gets stuck, even before the space allocation part, with this error: "sh: can't access tty; job control turned off". And then it displays a prompt.
I'll try modifying an older build, I'm pulling them from the repos at the moment.
After all, the pre2 kernel from Gene didn't boot on my device (although it got stuck later on).
Try doing a clean install - Remove the linux folder and try again.
Also, make sure that you're not forgetting to checkout the Gene branch.
Code:
git checkout Gene
Is your default.txt modified? And have you downloaded the modified initramfs.cpio?
check in the Gene forums for that.
Already tried the clean install, no dice. The default.txt is untouched and I'm using the modified intramfs. What happened this time is different from what happens using the original one, it's not asking me to specify the partition size but instead it's waiting for a command. I could probably ssh via usb but I have no clue how that might help.
And I've already checked out the Gene branch from the beginning.
I've tried compiling the kernel for pre1 (after changing the screen values) from SVN and it did boot (both using the cabs for pre1 and pre2) but no touch screen yet. All in all, I'm guessing that there's too much hardware difference here.
And the button for lowering volumes didn't work either, it seems like whatever you changed for getting it to work on Gene is the same as what we need here, but I'll think about that later.
I only have two ideas left:
- Trying to go back to a more stable build (with lesser features and lesser possibilities for errors). Maybe 0.3.
- Trying to create some kind of hybrid kernel using this alongside the HTC Vogue build as it probably has closer hardware to the Opal (obviously, I'm talking about everything beside the MSM7500 400MHz processor that it has). I'm hoping it won't get to this cause I'm definitely under qualified for that at the time being.
What happened this time is different from what happens using the original one, it's not asking me to specify the partition size but instead it's waiting for a command.
Click to expand...
Click to collapse
Could you post a screenshot?
I've tried compiling the kernel for pre1 (after changing the screen values)
Click to expand...
Click to collapse
I'm assuming you mean the touchscreen values? Try interchanging and see.
Trying to go back to a more stable build
Click to expand...
Click to collapse
I wouldn't recommend that. Defeats the whole purpose.
Why don't you try getting in touch with darkstar?
kshaurya said:
Could you post a screenshot?
Click to expand...
Click to collapse
A friend borrowed my digital camera, I tried my laptop's webcam but the text it too blurry. Couldn't fix it using gimp either. So here's exactly what's showing on the screen:
Code:
mdir: Cannot creat directory `/mnt' : File exists
modprbe: could not parse modules.dep
initramfs: Creating device nodes:
initramfs: Loading /initrd.d/10-initfs.sh module
initramfs: Loading /initrd.d/30-wingboot.sh module
Selected:
ROOT_DEVICE=/dev/
CMDLINE=debug quiet psplash=false loglevel=7 init=/sbin/init console=tty0 video=omapfb:accel fbcon=rotate:3 4 root=/dev/
initramfs: Loading /initrd.d/80-loopboot.sh module
initramfs: Loading /initrd.d/85-blockboot.sh module
booting from: /dev/
mount: Mounting /dev/ on /mnt failed: Invalid argument
Unable to mount rootfs device
sh: can't access tty; job control turned off
/ $
And after the prompt, on the same line, there's a flashing '_' waiting for input.
Using the original zImage (from the pre2 cab) it's right around here that the screen clears and the Wing Linux installation script kicks in.
kshaurya said:
I'm assuming you mean the touchscreen values? Try interchanging and see.
Click to expand...
Click to collapse
Will try that next.
kshaurya said:
I wouldn't recommend that. Defeats the whole purpose.
Click to expand...
Click to collapse
I meant it as just a temporary test to till the cause of the incompatibility is figured out. With less things that could go wrong, it'll be easier to locate the ones that are going wrong.
kshaurya said:
Why don't you try getting in touch with darkstar?
Click to expand...
Click to collapse
You're right. I should post a thread on the project's forums asking for his help.

[Android] AOSP 2.0.1 Proof-of-Concept Build. Assistance appreciated.

Tonight I managed to get my first Android build, 2.0.1, compiled myself from AOSP, up and running on the Vogue from NAND.
I made some small changes, most notably, updating the build.prop to adjust the DPI to 120 and adding the libhtcgeneric_ril.so library, as well as adding the necessary (or.. is it necessary?) build.prop entry to get the radio functioning.
I proudly present my first Android build.
NOTE: This is purely for testing/evaluation purposes.
Working:
Radio
Data
Screen resolution is accurate
Not Working:
Audio
Power Functionality (buttons do not wake the phone?)
GPS
Anyone up for pointing out what I need to do differently to get the non-working aspects functioning? Any tips on optimization? Clues to setup and take full advantage of build.prop?
Additionally, do we have a central repository of Vogue (or MSM7k) drivers that've been ported as source, ready to be compiled for different versions?
There's probably a lot missing here that I'm not even considering.. so please feel free to make any comments, give any advice, or point me towards any documentation.
All help is appreciated. Thanks!
I think this is the repo you're looking for:
http://androidhtc.git.sourceforge.net/git/gitweb-index.cgi
It contains Audio & GPS drivers, among other things. Can you wake the phone over adb shell with the command echo "wake" > /sys/android_power/request_state ? I'm also interested in getting an AOSP build running from source, I'd like to get the camera working for Eclair.
EDIT: Also, in the zenulator's eclair mod, the /system/etc/keychars directory contains these files:
Code:
htcvogue-ts.kcm.bin
qwerty2.kcm.bin
qwerty.kcm.bin
sapphire-keypad.kcm.bin
trout-keypad.kcm.bin
trout-keypad-qwertz.kcm.bin
trout-keypad-v2.kcm.bin
trout-keypad-v3.kcm.bin
tuttle2.kcm.bin
vogue-ts.kcm.bin
Perhaps that vogue binary is needed? That's my shot in the dark.
Those files are just for the keymapping, nothing more..
polyrhythmic said:
I think this is the repo you're looking for:
http://androidhtc.git.sourceforge.net/git/gitweb-index.cgi
It contains Audio & GPS drivers, among other things. Can you wake the phone over adb shell with the command echo "wake" > /sys/android_power/request_state ? I'm also interested in getting an AOSP build running from source, I'd like to get the camera working for Eclair.
EDIT: Also, in the zenulator's eclair mod, the /system/etc/keychars directory contains these files:
Code:
htcvogue-ts.kcm.bin
qwerty2.kcm.bin
qwerty.kcm.bin
sapphire-keypad.kcm.bin
trout-keypad.kcm.bin
trout-keypad-qwertz.kcm.bin
trout-keypad-v2.kcm.bin
trout-keypad-v3.kcm.bin
tuttle2.kcm.bin
vogue-ts.kcm.bin
Perhaps that vogue binary is needed? That's my shot in the dark.
Click to expand...
Click to collapse
What's responsible (or handles) power management, then?
And why are there so many keymapping files? According to AOSP, Android will default to qwerty.kl, and certainly with the Vogue being as simple as it is, a single qwerty.kl set up for the Vogue would be sufficient.
So what gives? Or are these files all leftover as this was "ported", and they existed to support previous devices, etc.?
first off great job. this is exactly how i started out by building my own builds from source and then taking apart others to see what fits together. if i have time this weeked i'll have a look at it.
There are an awful lot of moving parts in power management in Android (and any OS, really) - there's the kernel's power subsystem which controls deep sleep / suspend, and which Android attaches a "wakelock" system to, each radio lib (Bluetooth, WiFi, phone) has power management (which hooks up to kernel interfaces), there's the panel driver which controls brightness, etc.
I think the keymapping files are just there so that no matter which one the framework looks for, it always finds one, speeding things up - rather than having to try to find each one and failing down until it finds its eventual failsafe qwerty, it loads the Vogue one straight away.
Awesome man, way to go!
Can you throw in links for rootfs/zimage, I will try later today on my wife's phone.
Thanks sshark, I would, but I've been tweaking that image continuously and at it's current state, it's broken.
Here are the major hurdles I'm facing right now:
How do I determine which drivers are and are not necessary in a build? If we use an AOSP build, or someone else's port, obviously we don't want audio drivers from the Nexus One or generic Goldfish sensors from AOSP, so how can we know what we need to be able to keep images clean?
Along the same vein, how does one incorporate drivers accordingly, such as audio?
Is power management really a dark art right now? Plemen's AOSP build is fantastic, but I typically have to push the power button four times to get the OS to wake up, whereas a 2.1 build I just played with on the Vogue would power up right away on one click. What gives?
When compiling images using genext2fs, does 80000 vs 160000 matter, NAND vs HaRET booting? What's the maximum?
Lastly, I've recently tried unsquashing others images, making changes, and then trying to re-ext2 them, mount them, and squash them. However, when I do this, my images no longer boot fully on my Vogue--instead they'll get as far as the boot animation, it'll run for a bit, and then the boot animation will pause for a second or two, and restart. This happens endlessly. Is this a problem with my process, be it ext2, sqsh (sqsh version, perhaps?) anyone have an idea?
Shidell said:
Thanks sshark, I would, but I've been tweaking that image continuously and at it's current state, it's broken.
Here are the major hurdles I'm facing right now:
How do I determine which drivers are and are not necessary in a build? If we use an AOSP build, or someone else's port, obviously we don't want audio drivers from the Nexus One or generic Goldfish sensors from AOSP, so how can we know what we need to be able to keep images clean?
Along the same vein, how does one incorporate drivers accordingly, such as audio?
Is power management really a dark art right now? Plemen's AOSP build is fantastic, but I typically have to push the power button four times to get the OS to wake up, whereas a 2.1 build I just played with on the Vogue would power up right away on one click. What gives?
When compiling images using genext2fs, does 80000 vs 160000 matter, NAND vs HaRET booting? What's the maximum?
Lastly, I've recently tried unsquashing others images, making changes, and then trying to re-ext2 them, mount them, and squash them. However, when I do this, my images no longer boot fully on my Vogue--instead they'll get as far as the boot animation, it'll run for a bit, and then the boot animation will pause for a second or two, and restart. This happens endlessly. Is this a problem with my process, be it ext2, sqsh (sqsh version, perhaps?) anyone have an idea?
Click to expand...
Click to collapse
i cant answer all of those questions, with that said ill tackle the last two
4. when using genext2fs to compile builds it doesnt matter what the -b count is we just use
Code:
genext2fs -d ./system -b [B]180000[/B] -a system.ext2
to make sure we could fit a ~180 mb system so if your system folder is ~120mb(uncompressed), using -b 125000 should work.
5. make sure you arent using squashfs-tools 4.0 because it isnt supported in our kernel version. so use 3.3 or 3.1 .
5b. when you see the boot logo looping, that means the build has crashed and like i said to you before i strongly recommend you setup adb on you box so you can run logcat to see what the phone is actually doing and to debug what went wrong and why it is looping
Thanks Jamezelle. So NAND users need to make sure it's -b 90000 (or less), as NAND only supports 90 mb. max, correct?
Shidell said:
Thanks Jamezelle. So NAND users need to make sure it's -b 90000 (or less), as NAND only supports 90 mb. max, correct?
Click to expand...
Click to collapse
right i would keep it around 88 to be safe.
I'm trying to get ADB to work (using ubuntu 9.10) and I've followed the instructions here, including restarting udev, but even still when I try to start adb, I get "command not found" in terminal.
Any ideas on what I'm missing?
EDIT: I'm missing a ./. I'm really starting to wish I could do this natively in Windows.. geeze.
Shidell said:
I'm trying to get ADB to work (using ubuntu 9.10) and I've followed the instructions here, including restarting udev, but even still when I try to start adb, I get "command not found" in terminal.
Any ideas on what I'm missing?
EDIT: I'm missing a ./. I'm really starting to wish I could do this natively in Windows.. geeze.
Click to expand...
Click to collapse
did you make sure you added the path to adb in .bashrc
# On Linux, edit your ~/.bash_profile or ~/.bashrc file. Look for a line that sets the PATH environment variable and add the full path to the tools/ directory to it. If you don't see a line setting the path, you can add one:
Code:
export PATH=${PATH}:<your_sdk_dir>/tools
Click to expand...
Click to collapse
that should clear up the "Command not found" issue
jamezelle said:
did you make sure you added the path to adb in .bashrc
that should clear up the "Command not found" issue
Click to expand...
Click to collapse
Yep, that was the issue. It needs to be there, or launched as ./, I presume.
Thanks much for your help tonight, Jamezelle.. I'm happy to report that I'm steadily making progress for a working release.
Shidell said:
Yep, that was the issue. It needs to be there, or launched as ./, I presume.
Thanks much for your help tonight, Jamezelle.. I'm happy to report that I'm steadily making progress for a working release.
Click to expand...
Click to collapse
thats great to hear, also thanks for your additions to the libgps.so! its nice to still see some android enthusiasm in this community

HTC Dream/G1 Dual/Tri Boot

Hi I am currently running debian on my phone using the method outlines here
http://www.myhangoutonline.com/2009/11/22/install-linux-on-your-g1/
Ive gotta say it quite slow and the method of installation is strange.
Here is a video of someone dual booting NATIVE debian on a G1. Read descrip in video for more info.
http://www.youtube.com/watch?v=tX1BOGl8Fnw
I would really want an option where you boot into recovery (Holding Home) and there is a menu where you can choose to boot into a normal recovery (Amon_Ra's) and the other options would let you choose between what OS you want to boot into like Gnome,OpenMoko,Debian. A normal boot would take you back to android.
Speeking of OpenMoko
there is a tut here
http://wiki.openmoko.org/wiki/OpenMoko_on_HTC-Dream
and i was wonderin weather anyone had tried this because it seems very interesting and would make it possible to bood gnome,debian etc
any opinions are highly appreciated
let me know what you think.
i dunno if im allowed to but bump
donut = 1.6 right?
yes
cupcake = 1.5
donut = 1.6
eclair = 2.0/2.1
Hi!
I've got OpenMoko dual-booting natively on my G1.
When I first looked into the problem, I saw that:
1) OpenMoko option involved boot flashing that would disable booting into Android.
2) Debian option had no ready-to-use rootfs. You had to bring on the usbnet and install debian packages through netinstall. But Debian was able to dual boot, thanks to FukTheRegister's excellent recovery image.
I surely needed something in the middle
I had contacted the OpenMoko port developer, leviathan (a nice guy btw). He's doing some great job of hacking the forked Android kernel to work on HTC Dream together with some other guys. He told me that he was continuing his work on OpenMoko for HTC Dream and that made me want to try it instead of Debian. By the way, FukTheRegister's Debian and Ubuntu ports are based on leviathan's OpenMoko kernel.
What I did to install and dual-boot OpenMoko was:
1) I partitioned my microSD card into three partitions: FAT, ext3, ext3
2) I extracted the OpenMoko rootfs to the third partition (ext3)
3) I made myself a recovery image that would consist of the most recent OpenMoko kernel from gitorious AND FukTheRegister's ramdisk (I just glued them together and threw away some modules to make it fit into 5Mb - maximum for recovery partition images)
4) I copied the recent kernel modules to /lib/modules/ on the 3rd partition of the sd card
5) I copied my recovery image to the sd card and flashed it with flash_image recovery /sdcard/openmoko-recovery-partition3.img right on the phone (under root).
After that I was able to boot OpenMoko with holding HOME + END during the bootup or Android (holding nothing).
See http://vaskas.ru/om-g1/ for all the relevant files.
If you want to try it yourself:
- repeat stage 1) after me
- take the openmoko-rootfs-20091128.tar.gz and repeat stage 2) after me
- copy the openmoko-modules-20100128.tar.gz to /lib/modules/ on the 3rd partition and extract it there
- take the openmoko-recovery-partition3.img and repeat stage 5) after me
P.S. I am not 100% sure that it's going to work for you, because I experimented a lot. It's pretty likely to work though.
hi again vaskas!
thx for work. Tried your setup, it worked for me.
Now it would be nice to have a recovery with an option to boot the second ext3.
Openmoko on Dream ----> nice!
Seems to get a usb connection:
http://wiki.openmoko.org/wiki/Usb_networking
Is a ssh/dropbear server already running on boot?
vaskas thx so much for the huge leap forward ecept im a little confused. so when i hold home + power using ur method it will boot into openmoko, butif i boot normally it wouild go into android, but what if i wanted to boot into normal recovery like amon_ra's?
if i boot into android normally and then run quickboot app and select recovery will it boot opoenmoko or amon_ra's recovery. also with your method does keeping apps on the first ext3 still work? while the second ext3 is for openmoko?
also when making second ext3 partition what size should i make it?
p.s this is sooooooo sick with open moko the possibilities are endless aswell as for people who prefer they can turn openmoko into debian and some time in the future android
so future = openmoko installed instead of android and then being able to boot debian/android or stay in openmoko environment.
also if it's not to much trouble vaskas can u please make a vid and put on you tube or here thx in advance andthx for ur hard work
olvap377 said:
vaskas thx so much for the huge leap forward ecept im a little confused. so when i hold home + power using ur method it will boot into openmoko, butif i boot normally it wouild go into android, but what if i wanted to boot into normal recovery like amon_ra's?
Click to expand...
Click to collapse
No, normal recovery won't be there, since my image replaces it. As far as I know, it's the only way to dual-boot now. If you wish to use your normal recovery image (amon_ra's or cyanogen's), just flash it with flash_image recovery my.img. When you're done with it, flash it back to openmoko's.
olvap377 said:
if i boot into android normally and then run quickboot app and select recovery will it boot opoenmoko or amon_ra's recovery. also with your method does keeping apps on the first ext3 still work? while the second ext3 is for openmoko?
also when making second ext3 partition what size should i make it?
Click to expand...
Click to collapse
I haven't tried quickboot yet.
Yes, Apps2SD still works perfectly with the first of ext3 partitions. I suggest that you make the second one at least 700Mb in size. I've got 500Mb taken by OpenMoko, for instance.
olvap377 said:
also if it's not to much trouble vaskas can u please make a vid and put on you tube or here thx in advance andthx for ur hard work
Click to expand...
Click to collapse
Well, you shouldn't really thank me since I only built a recovery image It's the kernel and ramdisk hackers who rock.
I'll make a vid when I have some free time, but I really suggest that you try it yourself
scheich said:
hi again vaskas!
thx for work. Tried your setup, it worked for me.
Now it would be nice to have a recovery with an option to boot the second ext3.
Openmoko on Dream ----> nice!
Seems to get a usb connection:
http://wiki.openmoko.org/wiki/Usb_networking
Is a ssh/dropbear server already running on boot?
Click to expand...
Click to collapse
FukTheRegister's ramdisk has such an option. I can try to make such a recovery if you need it.
Yes, dropbear is started automatically.
I'd love to see a solid and stable distro that would provide all the things that Android doesn't have, with:
- A compact desktop environment, supposedly e17 or LXDE
- Midori or Google Chrome
- Pidgin
- Sylpheed or Claws for GPG-secured e-mail
- MPlayer or VLC
- FBReader
- evince
- AbiWord
- Gnumeric
- Conky
- Gpodder for podcasts
- Some music player like Sonata
- Cron, sshd, gcc, scripting languages like Python and Ruby
- Zhone for making calls, texting, storing the address book
See, I'm not advocating touch-oriented software. I think we still need touch-capable apps for calling, texting and the address book. The others can be easily manipulated with the trackball and keyboard on G1.
That's what we should aim for IMHO: http://wiki.openmoko.org/wiki/Image:Debian_lxde_zhone.png
OpenMoko project has all this stuff. And that's really awesome. The question is if such an OS should be based on Angstrom (like OpenMoko SHR) or Debian (see http://wiki.openmoko.org/wiki/Debian). My preference is Debian since I'm a long-time Debian/Ubuntu user.
i prefer debian too and i will try this when i get home
i'm sorry for my really dumb question.
but how can i copy something from windows (7) to a ext2 partition?
and if you are creating those partitions, do both ext2 have to be primary or
one primary and one secondary?
thx in advance
lolmensch said:
i'm sorry for my really dumb question.
but how can i copy something from windows (7) to a ext2 partition?
and if you are creating those partitions, do both ext2 have to be primary or
one primary and one secondary?
thx in advance
Click to expand...
Click to collapse
They both have to be primary. I also recommend you to upgrade them to ext3 which is more stable thanks to journaling.
As far as I know, it's not possible to write to extX partitions from Windows. You can copy the files you need to the FAT partition and move them within the phone using Astro or other file manager.
You can mount the second ext3 partition from Terminal Emulator in Android like this:
$ su
# cd /sdcard
# mkdir SD2
# mount /dev/block/mmcblk0p3 /sdcard/SD2
Then it will be accessible from Astro in /sdcard/SD2.
i followed all the steps correctly but it just gets stuch at boot screen if i try to boot into recovery
any advice
maybe this has something to do with the fact that i have ebi1 phone?
pls help i really want this
EDIT:
wow im dumb i figured it out if u look at my sig ull see the way my partitions are setup
i followed all ur steps except each time i changed instructions from p3 to p4 becasue i also have a linux swap so when i installed this recovery it tried to boot from part3 which is my swap and obviously didn;t work
so vaskas can u please for everyone who has a linux swap release another recovery except that boots from part4?
Have also a swap as the fourth partition.. That doesn't matter, I think. Its only important, that the second ext3 is the third partition.
Heres my partition table:
fdisk -l /dev/mmcblk0
Code:
Disk /dev/mmcblk0: 1977 MB, 1977614336 bytes
255 heads, 63 sectors/track, 240 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000ac1bc
Device Boot Start End Blocks Id System
/dev/mmcblk0p1 1 64 514048+ b W95 FAT32
/dev/mmcblk0p2 65 131 538177+ 83 Linux
/dev/mmcblk0p3 132 223 738990 83 Linux
/dev/mmcblk0p4 224 240 136552+ 82 Linux swap / Solaris
olvap377 said:
i followed all the steps correctly but it just gets stuch at boot screen if i try to boot into recovery
any advice
maybe this has something to do with the fact that i have ebi1 phone?
pls help i really want this
EDIT:
wow im dumb i figured it out if u look at my sig ull see the way my partitions are setup
i followed all ur steps except each time i changed instructions from p3 to p4 becasue i also have a linux swap so when i installed this recovery it tried to boot from part3 which is my swap and obviously didn;t work
so vaskas can u please for everyone who has a linux swap release another recovery except that boots from part4?
Click to expand...
Click to collapse
Ok, try http://vaskas.ru/om-g1/openmoko-recovery-partition4.img - it should work.
I'll try to make a multiple-choice one soon.
thx alot il try when i get home from school
EDIT: still dosent work just freezes at boot screen
plzzzz help any advice
olvap377 said:
thx alot il try when i get home from school
EDIT: still dosent work just freezes at boot screen
plzzzz help any advice
Click to expand...
Click to collapse
Do you mean you're stuck into the "G1" screen? If so, it's a recovery/kernel problem, not really connected with partitioning and stuff. I'm not sure if this openmoko kernel supports EBI1/32A, may be it's the problem
Well I have a dream which is 32b but with ebi1 radio I think this is the problem because amon_ra has a special recovery just for rogers dreams meaning something is different between them
If u could compare amon's rogers to normal recovery and find the differences could u chabge yours to make the latest part 4 file ebi1 compatible?
olvap377 said:
Well I have a dream which is 32b but with ebi1 radio I think this is the problem because amon_ra has a special recovery just for rogers dreams meaning something is different between them
If u could compare amon's rogers to normal recovery and find the differences could u chabge yours to make the latest part 4 file ebi1 compatible?
Click to expand...
Click to collapse
Frankly speaking, I don't think I'm going to have much time for this Since my radio is different, I won't be able to test it properly too.
Actually, I hope that more people join the thread so that we'll be able to solve much more problems together. I wonder where the guys from "Installing Debian on G1" are gone, I saw 2-3 people really interested in native Linux there.
Can you still rename the thread? If so, what do you think about appending something like " - Native OpenMoko and Debian" to it?
EDIT: compared Amon_Ra's recoveries in hex editor, they seem quite different

[PRJ][17.09.11] Android/Linux on TG01 development, new stuff in git

Edit: WARNING! If you do not follow the below instruction, your post WILL be deleted, not moved. Thank you for your cooperation. ~TheRomMistress
bally3 said:
Appreciate your enthusiasm, but can you move the conversations about userspace (builds) to the Discussions thread please, as this thread should be primarily for the KERNEL development only.
Appreciate your understanding,
Click to expand...
Click to collapse
Hi!
I have now a TG01 too, and started to develop some Linux stuff for it.
The branch for it is in our htcleo repository.
http://gitorious.org/linux-on-wince-htc/linux_on_wince_htc/commits/linux-on-tg01
I did already a bit reasearch and put some new stuff in the htc linux wiki. I will update it if I found something new.
http://www.htc-linux.org/wiki/index.php?title=Tg01
17.09.11 Edit10 and last:
Hi!
I pushed my last changes. There some new stuff in repo now like:
- Powerbutton support
- Fixes for Power/USB
- Panel Code
- Notifications
- Usb cable pull/push did not crash device anymore
and much other.
I'm closing this project for me because I've no time to work on it.
One Info, the problems with the GUI after boot are ril related. The biggest work is RIL. It looks like you have to write (or find) a RPC based RIL lib.
have fun!
Markinus
Edit9:
Calls works now. But the mic not.
Battery works, a simple cable detection driver too. Problem, you cannot in the moment pull or push the cable in/out. If you do it the devices will crash after ca. 15 sec.
Build updated.
Edit8:
Audio and vibration works.
!Important: Run clrcad.exe in wince bevor you run haret and boot linux!
Edit7:
The Volume and Camera Buttons are now supported.
Edit6:
Added touchscreen buttons
Added first Test Build! Extract to sd and run haret! Look to Post 2.
Edit5:
Touchscreen is working now. I had to recalculate the calibration values. Later we have to look to better calib values, maybe a calib app for users.
Edit4:
We have now a official mach id 3197. This have to be changed in the default.txt for haret.
Edit3:
So some new stuff is checked in:
- panelfile with basic support for mdp and lcdc
- sd card works
- usb works
- rpc, pcom, works
Status: the device is booting now android till the unlock screen in the GUI, but without touchscreen ...
Edit2:
Branch is in our Leo repo:
http://gitorious.org/linux-on-wince-htc/linux_on_wince_htc/commits/linux-on-tg01
The basic stuff is now in. Is booting. I didn't find a device ID for tsunagi, so I had to create one.
status: kernel is booting and android starting. We need to write much new stuff to get all hardware working.
default.txt:
set mtype 3197
set ramaddr 0x11800000
set ramsize 0x0e800000
set initrd_offset 0x00a00000
set KERNEL zImage
set initrd initrd.gz
set cmdline ""
boot
We need to research much stuff. And all this needs much time. So don't ask for dates
!!!IMPORTANT: USE ALL STUFF AT YOUR OWN RISK!!!
!You can break your device!
Markinus
First Test Build:
Look to top whats working.
Second testbuild:
http://www.multiupload.com/WQN1Q1SJ0E
http://www.multiupload.com/P0B04IK8S0
Have fun on test!
!!!IMPORTANT: USE ALL STUFF AT YOUR OWN RISK!!!
!You can break your device!
hi markinus! i'm glad to see another dev involved to port android on TG01! a new hope for our phone! yesterday i've thinked to sell it.. but now i've a new hope.. and can't wait for some news, good luck.. and if you need help.. just ask..
just a question.. what means "kernel is booting" status? sorry for my english
can you post a link to the kernel your using?
Good to see things moving here.
Hope that the TG01 community will get a workin' kernel
They're worth it.
Ok. I'm going to try this one but after I finish with my homework.
I'm downloading it now.
Wait for news.........
Nice thread, I hope to have good news ..
Last News...
After I download the file I had some problems. It gave me errors when I try to make arch=arm tsunagi_defconfig. Error was like a privet file and you don't have access. So I copy all the files on new directory and then I was able to do make arch=...... defconfig. Then I compiled it with success.
Then I make all changes in default.txt and it run then restart. But this time I think it's problem from some APP. What it say but I wasn't able to see it. It was to fast.
I need some help to set debug haret.
Current default.txt in haret/debug/ is: pwf tg01-ramconsole.txt 0x1FFC0000 0x40000
If some one can help me how to change it that's go be perfect.
Sorry about my English I'm still learning.
Markinus said:
Hi!
I have now a TG01 too, and will start to develop some Linux stuff on it.
I will create a new branch for it in our htcleo repository because some things we can use for both. If I have something what you could try, I will post it here.
I did already a bit reasearch and put some new stuff in the htc linux wiki. I will update it if I found something new.
We need to research much stuff. And all this needs much time. So don't ask for dates
Edit2:
Branch is in our Leo repo:
http://gitorious.org/linux-on-wince-htc/linux_on_wince_htc/commits/linux-on-tg01
The basic stuff is now in. Is booting. I didn't find a device ID for tsunagi, so I had to create one.
status: kernel is booting, it means we go through the basic hardware init. I fixed the memory layout.
default.txt:
set mtype 1100001
set ramaddr 0x11800000
set ramsize 0x0e800000
set initrd_offset 0x00a00000
set KERNEL zImage
set initrd initrd.gz
set cmdline ""
boot
Markinus
Click to expand...
Click to collapse
That's great job what have you done. It's amazing. I thing kernel is booting now but I am not sure. With me is still restarting.
If I can help with something just tell me. I'm not professional but may be I can do something.
I was thinking about board configuration and all other configs.. but I didn't know how to do it. So
Thanks for your job.
For those who want to try himself.
1st. Download from Markinus posts his repository it's on the right side on the page http://gitorious.org/linux-on-wince-htc/linux_on_wince_htc/commits/linux-on-tg01
2nd. Unzip it in a folder that you have created before. How to unzip it?
Go to Applications -> Accessories->Terminal
In Terminal tap: cd name of your new folder, ( example: cd myAndroid )
then you have myAndroid$
Now you tap : tar xvzf directory where you have download Markinus repository. (example: tar xvzf /home/downloads/linux-on-wince-htc-linux_on_wince-htc-linux-on-tg01.tar.gz.gz)
You will see how the file is unziped.
3rd. You will see in your folder that there is a new folder named (linux-on-wince-htc-linux_on_wince-htc-on-tg01 or something like that). If you see like a small lock in the front of this folder then do this. Create a new folder put the name you want. Then cut everything from the folder linux--on-wince-htc...........etc. and past it in your new folder.
(example what I did it was easy just in my folder myAndroid I create a folder kernel_1 and I paste everything inside.
4th Now wen we have not everything but may be a part of. Is time to download toolchan (compiler) and some libraries.
in your Terminal tap : apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev.
thats for the libraries.
and this one for tollchains or cross tools or ... what you want call it.
http://www.codesourcery.com/sgpp/lite/arm/portal/release858
download it and install it. in the same folder as repository (example myAndroid/cross_tools)
Thanks to Endrix with his tutorial help me a lot.
5th.Now enter in your kernel_1 folder or whatever you called it and tap: make ARCH=arm tsunagi_defconfig
6th When finish writing to configuration. tap: make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-
enter
If you have done everything without errors then you will see how linux is building your kernel.
7th When finish building go to (exaple myAndroid/kernel_1/ARCH/arm/boot/ ) ther is your kernel Image and zImage you can use both if you want. :O)
Thanks Markinus and Endrix.
EDIT: I've only got windows at work... Can someone please upload a compiled kernel so I can try it on my TG01 so I can give feedback?
Awesome, seriously well done guys!!!
I've not had time to help like I had hoped, so simply well done to those involved so far
).
Glad to hear it finally arrived Markinus
Good to have you on board too. With regard to a compiled kernel, everyone please allow Markinus some to time to get things working before we start asking for kernels to check.
Just so that people understand, kernel booting doesnt mean kernel loading a android gui environment, so theres still nothing to see. What Markinus means by that is he can see that the hardware is being initialised and the things that should be happening when a kernel boots are happening.
Good to see things moving again though
bigandrea said:
Hopes for Windows 7 Phone?
Click to expand...
Click to collapse
This is an Linux/Android thread. You should ask the question in the appropriate thread.
Bally, I knew it wasn't ready per se, I just wanted to try and contribute by testing to see if they got the output they expected on multiple phones as I don't have the time to help with development as I expected to
One thing ttt bothers me, TG01 has a low amount of ram (or at least i think so) for winmo most roms get just 100 or so.. Running opera and some music on the backgorund may be enought to get things messsy.
Will android spend more or less in comparissom?
thanks
Kalas_22 said:
One thing ttt bothers me, TG01 has a low amount of ram (or at least i think so) for winmo most roms get just 100 or so.. Running opera and some music on the backgorund may be enought to get things messsy.
Will android spend more or less in comparissom?
thanks
Click to expand...
Click to collapse
i also worried about this too. but most android devices have 256 ram or so. and android is more effiecient with ram management than windows mobile. we also have badly optimised toshiba dlls. when running android, it shuts down windows mobile, and opens android os, so both os dont run in the background, thus saving ram. also i wonder after we manage to get functional android roms, we get skinned versions, such as HTC Sense! what do you guys think+
There you have one compiled kernel..
Is ready to execute. Just extract it to your sd card in your phone and that is all. Then run haret.
This one is from Endrix file I just replaced the Image file and set the new default text. There is a zImage as well and you cant try it if you want.
bojan6 said:
There you have one compiled kernel..
Is ready to execute. Just extract it to your sd card in your phone and that is all. Then run haret.
This one is from Endrix file I just replaced the Image file and set the new default text. There is a zImage as well and you cant try it if you want.
Click to expand...
Click to collapse
dont have a tg01 to hand at mo.. can anyone post up the output please?
Scougar said:
Bally, I knew it wasn't ready per se, I just wanted to try and contribute by testing to see if they got the output they expected on multiple phones as I don't have the time to help with development as I expected to
Click to expand...
Click to collapse
I stand corrected.
Markinus HAS got to the gui...wow!
we need a touch screen driver now.. good work...very impressive!
bally3 said:
I stand corrected.
Markinus HAS got to the gui...wow!
we need a touch screen driver now.. good work...very impressive!
Click to expand...
Click to collapse
im sorry but does this mean, we have a functional bootable androidrom??

Resources