Meego Wiki
Views
From MeeGo wiki
(Difference between revisions)
Jump to: navigation, search
(Dell Streak)
(Dell Streak)
Line 84: Line 84:
Streak Kernel Release from Dell - http://opensource.dell.com/releases/streak/
Streak Kernel Release from Dell - http://opensource.dell.com/releases/streak/
-
I am using msm-2.6.35 kernel tree from CodeAurora with ported needed changes and drivers from Dell's release - http://gitorious.org/streak/kernel
+
I am using msm-2.6.35 kernel tree from CodeAurora with changes and drivers ported from Dell's release - http://gitorious.org/streak/kernel
[[File:Initrd.cpio.gz‎]] - INITial RamDisk booting Linux from /dev/mmcblk1p2
[[File:Initrd.cpio.gz‎]] - INITial RamDisk booting Linux from /dev/mmcblk1p2

Revision as of 11:31, 7 October 2010

This area is under construction

Contents

MSM/QSD hardware adaptation

Nexus3.jpg Meego-handset-nexusone-portrait.jpg

This page was inspired by this link http://www.android-devs.com/?p=152 which has instructions to run Debian natively on the Google Nexus One handset. With a number of vendors shipping kernel source with MSM/QSD hardware this gives the possibility of running MeeGo on these platforms. As usual open drivers will be key to success.

This port is not a work in progress and not meant for end user installation. The following details are for MSM/QSD porting effort and no end user images are available.

See details of how to start developing for your device here, http://android.modaco.com/category/363/device-specific/

vgrade / mitsutaka

Nexus One

Initial Port

basic msm_fb with mesa

The picture above was taken with the 18.09.10 daily trunk handset UX, mesa packages added to provide swrast-DRI, ELG and GLESv2. Kernel is a stock google 2.6.32 msm kernel. Touch is working but needs rotating.

sudo ./fastboot -c 'root=/dev/mmcblk0p1 rw rootfs=ext3 init=/sbin/init rootwait noinitrd' boot zImage

WARNING : First boot can take up to 5 mins, second boot should be around 75 seconds

WARNING : UI is not hardware accelerated so don't expect the full user experience

libEGL and libGLESv2

As we know vanilla X and software GLES works but we need hardware libEGL and libGLESv2 for better performance.

I pulled libEGL.so, libGLESv2.so and libGLESv1_CM.so from my Nexus /system/lib along with the supporting /system/lib/egl files lib***_adreno200.so as the system/lib files are just stubs into the lib/egl files.

After booting .xsession_errors reported liblog.so not found when loading mcompositor. pulled that from Nexus.

libcutils.so was not found next then 'libc.so ELF version does not match current version' was reported. The libc.so in /usr/lib was a pointer to /lib so I just copied the /lib file to /usr/lib.

Now libutils.so and libz.so were not found and were pulled from the nexus.

Now here is the kicker, 'undefined Symbol __sF' in libc.

This is because the Android libs I pulled have been built with Bionic libc and I cannot use that as that would break the rest of MeeGo.

So the question is can we arrange for bionic and glibc to coexist or is this the end of the road?

After talking to a few guys on xda I think this avenue is closed - unless you know better. http://forum.xda-developers.com/showthread.php?t=764255&page=6

UPDATE : http://www.imxdev.org/wiki/index.php?title=All_Boards_3D_Graphics, it seems the mx51 has the same GPU

code Aurora x86-video-msm

userspace driver - https://www.codeaurora.org/contribute/projects/xwinp/ compiled for MeeGo Current - http://download.obs.maemo.org/home:/smoku/MeeGo_current/armv7l/xorg-x11-drv-msm-1.1.0-1.1.armv7l.rpm

kernel driver - https://www.codeaurora.org/gitweb/quic/la/?p=kernel/msm.git;a=tree;f=drivers/gpu/msm;h=dcacc55d835348f71454784c0e32b819424af4be;hb=refs/heads/android-msm-2.6.32

Just had this email in from Jordan Crouse at code Auroroa when I asked if the drivers above were the best to use on the Nexus :(

You have the correct X driver and kernel driver.   That should give you some limited blit acceleration on on the Nexus One for 2D rendering.
Unfortunately, the parts you really need are the proprietary 3D drivers, and those are not available anywhere.  Without those, you'll be stuck
with software 3D for the long haul.  Sorry.
Jordan

Such a shame (vgrade)

Dell Streak

From smoku on #meego-arm

Streak2.jpg

Streak Kernel Release from Dell - http://opensource.dell.com/releases/streak/

I am using msm-2.6.35 kernel tree from CodeAurora with changes and drivers ported from Dell's release - http://gitorious.org/streak/kernel

File:Initrd.cpio.gz - INITial RamDisk booting Linux from /dev/mmcblk1p2

To create boot.img using this image use mkbootimg binary from Android Froyo Google tree:

 ./mkbootimg --kernel $KERNELIMAGE --ramdisk initrd.cpio.gz --base 0x20000000 -o boot.img

MSM framebuffer driver is not working with X.Org fbdev driver. MSM X.Org driver reports more success, but crashes - http://pastebin.com/GauEvvm8

HTC Desire

Using a modified version of the N900 Acceptance Image.

  • Charging works (and the charging symbol moves), Battery Status doesn't show though when the charger is out.
  • adbd works

http://www.youtube.com/watch?v=GtnfHNjcdzg

-Termana

HTCDesire-Initial.jpg

GPRS

Note: This procedure should work for all MSM and QSD based devices, HOWEVER I have only tested it on the Desire - Termana

The Desire's modem can be communicated with through two dev nodes - /dev/smd0 and /dev/qmi0. /dev/smd0 is the main part and communicates using AT commands plus additional proprietary non-standard Qualcomm AT commands. /dev/qmi0 is the second part and it communicates using a proprietary Qualcomm protocol.

I'm not completely sure if proprietary AT commands need to be sent to initialize the modem, but I don't think so - you should be able to send standard AT commands to get it to start. Once you have it initialized you can start a GPRS session like so:

echo -e "AT+CGDCONT=1,\"IP\",\"APNHERE\",\"\",0,0\r" > /dev/smd0 echo -e 'ATD*99***1#\r' > /dev/smd0 echo -n 'up:APNHERE "" ""' > /dev/qmi0

Check in dmesg to make sure everything went successful. And then run:

dhcpcd rmnet0

(making sure you have dhcpcd installed)

I'll be looking at weather this works with ofono, since at the moment ofono can recognize the modem, but I'm not sure weather it can turn it on etc. - BUT ofono doesn't have GPRS support for it in-built.

You can also use FSO2 (freesmartphone.org)'s fsogsmd daemon. It is a bit buggy and you have to kill it a few times, but once it is actually working you can do this:

dbus-send --system --print-reply --dest=org.freesmartphone.ogsmd /org/freesmartphone/GSM/Device org.freesmartphone.GSM.Device.SetFunctionality full true ""

dbus-send --system --print-reply --dest=org.freesmartphone.ogsmd /org/freesmartphone/GSM/Device org.freesmartphone.GSM.PDP.SetCredentials APNHERE "" ""

dbus-send --system --print-reply --dest=org.freesmartphone.ogsmd /org/freesmartphone/GSM/Device org.freesmartphone.GSM.PDP.ActivateContext

dhcpcd rmnet0

Collaboration spaces

  • #meego-arm on irc.freenode.net, this channel is for development effort not a support channel
  • #htc-linux on irc freenode

Assets in hardware adaptation

https://www.codeaurora.org/contribute/projects/xwinp/

http://htc-linux.org/wiki/index.php?title=Msm_Serial

http://htc-linux.org/wiki/index.php?title=Main_Page

http://android.modaco.com/content/t-mobile-pulse-pulse-modaco-com/318064/using-rs232-on-the-pulse/

http://www.imxdev.org/wiki/index.php?title=All_Boards_3D_Graphics

http://gitorious.org/linux-on-qualcomm-s-msm

Team members

  • Martin Brook / vgrade
  • Mitsutaka Amano / mitsutaka
  • Tomasz Sterna / smoku
  • Bradley Smith / Termana
  • your name here
Personal tools