maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Alternatives (https://talk.maemo.org/forumdisplay.php?f=36)
-   -   [Android] Another Android port: NITdroid (https://talk.maemo.org/showthread.php?t=25410)

solca 2008-12-06 14:56

[Android] Another Android port: NITdroid
 
NITdroid is a port of the Android operating system to NIT devices, currently it is a work in progress.

NITdroid is the product of collaboration here in itT forums and at #nitdroid IRC channel.

Short story: I didn't know about the other port when I start experimenting and bugging ppl at IRC, here it is the result, there's a lot to do yet, please if you feel motivated learn to use ADB and help with the debugging ;)

Latest release is: 0.4.3.

(Google Code project)
(Track the progress)
(Report NITdroid problems in this thread or new threads in the Android sub-forum)
(Chat or lurk at #NITdroid on freenode)

Bundyo 2008-12-06 17:05

Re: Another Android port: NITdroid
 
I was just wandering what to fill my N800's new 32GB with... ;)

eliagp 2008-12-06 17:06

Re: Another Android port: NITdroid
 
Neat, now the G1 is out, we can expect a lot of apps.

Bundyo 2008-12-06 17:12

Re: Another Android port: NITdroid
 
@Solca: You have a typo - You probably meant that the latest kernel is 2.6.28 :)

Bundyo 2008-12-06 17:35

Re: Another Android port: NITdroid
 
Just to make it clear - i guess Maemo is not working with this kernel? :)

qwerty12 2008-12-06 17:38

Re: Another Android port: NITdroid
 
Quote:

Originally Posted by Bundyo (Post 247355)
Just to make it clear - i guess Maemo is not working with this kernel? :)

It boots directly from memory card rather than going to initfs which boots Maemo.

DeeJay_XB 2008-12-06 17:38

Re: Another Android port: NITdroid
 
AndroNIT sounds way better :P

meizirkki 2008-12-06 17:54

Re: Another Android port: NITdroid
 
Solca: i have this information:
_____

# netcfg
lo UP 127.0.0.1 255.0.0.0 0x00000049
wmaster0 DOWN 0.0.0.0 0.0.0.0 0x00001002
wlan0 DOWN 0.0.0.0 0.0.0.0 0x00001002
# netcfg wlan0 up
action 'up' failed (No such file or directory)
_____

About keymap:

if android loads all .kl files in /system/usr/keylayout/
there are duplicate entries.

Bundyo 2008-12-06 17:56

Re: Another Android port: NITdroid
 
@qwerty12: Can i change the partition to boot from?

qwerty12 2008-12-06 18:07

Re: Another Android port: NITdroid
 
Quote:

Originally Posted by Bundyo (Post 247362)
@qwerty12: Can i change the partition to boot from?

I have no idea :/

All I know is that the line is hardcoded in the kernel cmdline.

But if it's switched to the initfs, then I have a feeling that a load of 2.6.21 modules will be loaded and the old closed source wifi driver will attempt to load. I don't know if that would mess up things.

meizirkki 2008-12-06 21:02

Re: Another Android port: NITdroid
 
I made a video about NITdroid :)

http://video.google.com/videoplay?do...47315953961035

As you can see it works pretty fast ;)

It looks cool how it crashes at the end of the video :D

JustNick 2008-12-06 23:02

Re: Another Android port: NITdroid
 
Quote:

Originally Posted by solca (Post 247312)
In the sad news today (specially to qwerty12) commits c65c733e1af5eac5681233309fed38538c9e06d2 and f8990697cd8cbdc90812ca871f1b48028aa4c06d to master OMAP tree removes some N800 drivers which (maybe) will make harder a port with newer kernels.

These are really sad news indeed :(

Great work with NITdroid though ;)

solca 2008-12-07 04:23

Re: Another Android port: NITdroid
 
Quote:

Originally Posted by Bundyo (Post 247355)
Just to make it clear - i guess Maemo is not working with this kernel? :)

In my tests Maemo works with this kernel but newer wifi driver (stlc45xx) although it works if you set it manually, is not used by the Maemo applets which is sad, on the other hand the old proprietary driver is not ported (AFAICS) to 2.6.28 so if you boot this kernel with Maemo you lose WiFi unless you manually (iwconfig, wpa_supplicant) set it up if using the newer driver.

solca 2008-12-07 04:27

Re: Another Android port: NITdroid
 
Quote:

Originally Posted by Bundyo (Post 247362)
@qwerty12: Can i change the partition to boot from?

No, you can't unless you recompile the kernel or you kexec another kernel. On the other side I could easily recompile a new kernel if you want to experiment with it so it boots thru initfs partition on flash (as normal maemo do).

qole 2008-12-07 04:51

Re: Another Android port: NITdroid
 
Quote:

Originally Posted by solca (Post 247312)
In the sad news today (specially to qwerty12) commits c65c733e1af5eac5681233309fed38538c9e06d2 and f8990697cd8cbdc90812ca871f1b48028aa4c06d to master OMAP tree removes some N800 drivers which (maybe) will make harder a port with newer kernels.

Quote:

REMOVE OMAP LEGACY CODE: Delete old tsc2301-mixer.c
...
REMOVE OMAP LEGACY CODE: Delete old unused touchscreen drivers
...
LEGACY? <gets all red in the face and roars,> LEGACY?!?

Maybe there's a mistake here? Are you sure these are required N800 drivers? The tsc2301-core is staying; perhaps they're doing the audio mixing differently now?

How dare they declare my beloved N800s LEGACY!? They're only two years old! OK, the N800 has been discontinued, and two years is a long time in this market, but come on, guys!

Bundyo 2008-12-07 09:40

Re: Another Android port: NITdroid
 
And unused touchscreen drivers... I'm using them in this moment thank you very much... :D

qwerty12 2008-12-07 09:42

Re: Another Android port: NITdroid
 
Quote:

Originally Posted by qole (Post 247470)
LEGACY? <gets all red in the face and roars,> LEGACY?!?

Maybe there's a mistake here? Are you sure these are required N800 drivers? The tsc2301-core is staying; perhaps they're doing the audio mixing differently now?

How dare they declare my beloved N800s LEGACY!? They're only two years old! OK, the N800 has been discontinued, and two years is a long time in this market, but come on, guys!

Those touch screen drivers aren't used for N800, I'm sure of it. I checked those drivers and found no 2301 references in it. Even the driver from 2.6.21, ts2301_something.c tells the xserver that the touchscreen is a tsc2301. I don't think we are so lucky regarding sound however...

meizirkki 2008-12-07 11:25

Re: Another Android port: NITdroid
 
Any ideas why wlan0 says No such file or directory?

solca 2008-12-08 09:00

Re: Another Android port: NITdroid
 
Quote:

Originally Posted by meizirkki (Post 247505)
Any ideas why wlan0 says No such file or directory?

I have updated kernel and nitdroid filesystem which should correct many problems, too I disabled double buffering for now as I don't think the LCD controller (hardware/driver ?) can cope with very fast page flipping which was the crashing cause.

It seems that I would need to learn how to implement double buffering using fb planes as the XV for Xomap to eliminate the flickering.

pycage 2008-12-08 09:28

Re: Another Android port: NITdroid
 
I couldn't get it to boot.
The doc says it boots from mmcblk0p3 (why p3?) so I used fdisk to partition the internal card and formatted the 3rd partition with ext3 and extracted the filesystem there (as root).
Still, all I get is the penguin logo (N800) or no reaction at all (N810).
The N810 is still on Chinook, the N800 on latest Diablo; is the Diablo bootloader needed for booting this kernel, because my N810 shows no reaction after flashing the kernel?

solca 2008-12-08 09:57

Re: Another Android port: NITdroid
 
Quote:

Originally Posted by pycage (Post 247744)
I couldn't get it to boot.
The doc says it boots from mmcblk0p3 (why p3?) so I used fdisk to partition the internal card and formatted the 3rd partition with ext3 and extracted the filesystem there (as root).

Thats good, but you should try the latest version. On why partition 3, because you must tell the kernel where the rootfs is and that information is hardcoded when it is compiled. AFAIK it can't changed unless via bootloader or via the kexec mechanism, but honestly I have not played with the R&D rootfs flag and that can be a solution.

mmcblk0p3 seems good to me but is completely arbitrarily, hopefully the new boot selector will take care of that limitation.

Quote:

Still, all I get is the penguin logo (N800) or no reaction at all (N810).
The N810 is still on Chinook, the N800 on latest Diablo; is the Diablo bootloader needed for booting this kernel, because my N810 shows no reaction after flashing the kernel?
I have not been here too long to know many details about bootloaders, but I remember I read somewhere that Diablo increase the kernel partition to 2MB from 1.5MB, this kernel is a little larger so maybe is being truncated on Chinook and that can be the problem.

mrp 2008-12-08 10:55

Re: Another Android port: NITdroid
 
any way this could work on 770?

meizirkki 2008-12-08 14:20

Re: Another Android port: NITdroid
 
pycage:

Did you untar the rootf with jxvf or -jxvf, for me only -jxvf was able to untar booting system.
My n810 never boots to android if ext-card is inserted, so try removing it.
Don't worry about bootloaders, solcas kernel overrides them.

@Solca:

My tablet still turns itself off automatically, maybe it poweroffs because of the automatical search for wifi networks? btw, with latest rootfs and kernel, it is still unable to scan for wifis, userspace crashes and robot splash comes up... logcat

chyang 2008-12-08 16:33

Re: Another Android port: NITdroid
 
is there some approach that one can binary editing the zImage to change the root? I would like too keep original system untuched. Or can some one do a favor to provide the external minisd option(recompile the kerne).Thanks.

Benson 2008-12-08 17:20

Re: Another Android port: NITdroid
 
Quote:

Originally Posted by chyang (Post 247824)
is there some approach that one can binary editing the zImage to change the root? I would like too keep original system untuched. Or can some one do a favor to provide the external minisd option(recompile the kerne).Thanks.

I think rdev may be what you want?

Bundyo 2008-12-08 17:52

Re: Another Android port: NITdroid
 
Quote:

Originally Posted by Benson (Post 247837)
I think rdev may be what you want?

Looks like that's i386 only if we believe the man page?

qole 2008-12-08 19:16

Re: Another Android port: NITdroid
 
So, is the new Maemo 5.0 kernel of any use to you Android porters? It is only 2.6.27, but it should have the WiFi stuff integrated into it.

Benson 2008-12-08 19:27

Re: Another Android port: NITdroid
 
Quote:

Originally Posted by Bundyo (Post 247857)
Looks like that's i386 only if we believe the man page?

Ummm... yeah. Good point. :o

OTOH, if it is hard-coded into the kernel, something similar (or manual equivalent with a hex-editor) should still be able to work... you'd just have to know how/where the default root device gets stored in the zimage.

Bundyo 2008-12-08 20:51

Re: Another Android port: NITdroid
 
Quote:

Originally Posted by Benson (Post 247888)
Ummm... yeah. Good point. :o

OTOH, if it is hard-coded into the kernel, something similar (or manual equivalent with a hex-editor) should still be able to work... you'd just have to know how/where the default root device gets stored in the zimage.

If it is not compressed and the same number of letters as the other one (in our case yes), then it should be fairly easy to change... AFAIR the kernel image is compressed though.

Bundyo 2008-12-08 21:13

Re: Another Android port: NITdroid
 
Quote:

Originally Posted by Benson (Post 247888)
Ummm... yeah. Good point. :o

OTOH, if it is hard-coded into the kernel, something similar (or manual equivalent with a hex-editor) should still be able to work... you'd just have to know how/where the default root device gets stored in the zimage.

Just checked - there's rdev in Diablo and Fremantle SDKs (including ARMEL). :)

Then again, it wants a real device in /dev to change it...

jakemaheu 2008-12-08 21:15

Re: Another Android port: NITdroid
 
So, I've read the website-- Can someone give me a quick startup guide?

I know how to flash an image (I did the V2 Android already)-- but the ext3 filesystem thing confuses me.

--Jake

solca 2008-12-08 21:18

Re: Another Android port: NITdroid
 
Quote:

Originally Posted by mrp (Post 247757)
any way this could work on 770?

If you are willing to help yes, firstly I would generate a debugging kernel for N770 with console output to screen so you can tell me where it ends. plz tell me when you are ready?

b-man 2008-12-09 00:50

Re: Another Android port: NITdroid
 
Quote:

Originally Posted by jakemaheu (Post 247925)
So, I've read the website-- Can someone give me a quick startup guide?

I know how to flash an image (I did the V2 Android already)-- but the ext3 filesystem thing confuses me.

--Jake

Here's how you can easily partition/format your memory card on your device.

First, make shure you have e2fsprogs installed and do the following as root:

Code:

fsdisk -uM /dev/mmcblk0
Assuming you want a 356MB partition for user-space, and the rest of your memory card for Android, enter the following in the displayed order

Code:

356,C
,,
,,L
,,

Then reboot, this will make a fat32 filesystem on the first partition for some user-space (mmcblk0p1), a empty partition on mmcblk0p2, a linux83 filesystem on the third partition (mmcblk0p3), and a empty partition on mmcblk0p4.

After you reboot, make shure that your internal memory card is not mounted and do the following to format your memory card so Android has a proper filesystem to run on.

Code:

umount /dev/mmcblk0
mkdosfs /dev/mmcblk0p1
mkfs.ext3 /dev/mmcblk0p3

Then mount your /dev/mmcblk0p3 device to /opt, untar your Android OS to /opt, umount /opt, and flash your kernel, enjoy! :D

Thesandlord 2008-12-09 01:52

Re: Another Android port: NITdroid
 
Hey, just wanted to say that it works on my N810. Hopefully the tearing problem will be solved.

Apps work for the most part, lots of random crashes, but system seems beta quality stable. Even the OpenGL apps work, which is kinda amazing.

For the most part, it is much smoother than Meamo, although a bit more annoying (No full screen button, no close button, etc).

Two questions:

How does WiFi work? I can't add a network without a crash

If I flash a Maemo kernel, such as the rotation one, will I get everything back, or will I have to reflash?

I can't wait for a 100% release!

b-man 2008-12-09 02:30

Re: Another Android port: NITdroid
 
Wow, OpenGL works!?!?, that is amazing!

Wifi drivers work, but some people are reporting that for some odd reason, Android has a hard time "bringing up" network services at boot time.

Also about your kernel question, if you use a linux desktop, you shuld be able to flash the kernel without effecting maemo. However, if you use Windows, you might need to reflash.

solca 2008-12-09 03:08

Re: Another Android port: NITdroid
 
Quote:

Originally Posted by qole (Post 247884)
So, is the new Maemo 5.0 kernel of any use to you Android porters? It is only 2.6.27, but it should have the WiFi stuff integrated into it.

qole, looking into this, Maemo 5 kernel does have impressive support for RX-51 hardware, including Free/Open Source wireless drivers (wl12xx) which is neat! but it doesn't have much of value for N8x0 that is not already in the OMAP tree.

It failed to compile for a N810 target too, hopefully Nokia will fix this.

Thesandlord 2008-12-09 03:08

Re: Another Android port: NITdroid
 
Ok, after playing around for a while, I have found a few "problems." Hopefully this will help some people.

Kernel Version: 2.6.28-rc7-omap1
Build number: nit-eng 1.0 TC3 eng.solca.20081208.021935 test-keys

The time does not work, it just stays stuck at what it was at boot.
Crashes after about 5 minutes, no matter what.
Calculator and Notepad don't work, while pictures, music, API demo, settings, browser, contacts, dialer do work. Not sure about the other apps.

solca 2008-12-09 03:14

Re: Another Android port: NITdroid
 
It seems after serious debugging I find the WiFi problem, it seems the stlc45xx driver is returning bogus signal levels for some APs to the Android WiFi service which crashes and restarts the whole environment.

I have reported this to the stlc45xx mailing list so it gets fixed there and in the meantime I'll code a fix for this bug in Android too.

tmlind 2008-12-09 04:16

Re: Another Android port: NITdroid
 
Quote:

Originally Posted by qole (Post 247470)
LEGACY? <gets all red in the face and roars,> LEGACY?!?

Maybe there's a mistake here? Are you sure these are required N800 drivers? The tsc2301-core is staying; perhaps they're doing the audio mixing differently now?

How dare they declare my beloved N800s LEGACY!? They're only two years old! OK, the N800 has been discontinued, and two years is a long time in this market, but come on, guys!

Heh :) Well we're trying to move all the driver development to the
proper driver mailing lists instead of carrying them in the
linux-omap tree. If the drivers just sit in the linux-omap tree,
they won't go anywhere and won't get properly reviewed either.
That's why they're called "legacy", not because they are too old.

The goal is to make things usable with the mainline kernel. For
audio, there's a way better framework already called ASoC.

Somebody just needs to write the N800 driver for it. N810 already
works with ASoC! See sound/soc/omap in your kernel tree.

Regards,

Tony

chyang 2008-12-09 15:17

Re: Another Android port: NITdroid
 
hi, just curious to know which miniSD is /dev/mmcblk0p3?
It seems that I only copied the root file system to the external SD card, and it works now. So it seems that /dev/mmcblk0 be the external minisd? Or does the kernel has the capability to try different miniSDs?

NITdroid is far better in functionality and usability! the clock is working, the gui is pretty fast! The stability is the only thing needs to be improved. Every time i tried to enable the wifi, it restarts the GUI. And I observed frequent reboot after some time idle.


All times are GMT. The time now is 12:53.

vBulletin® Version 3.8.8