This area is under construction
Contents |
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
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
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
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
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)
From smoku on #meego-arm
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
Using a modified version of the N900 Acceptance Image.
http://www.youtube.com/watch?v=GtnfHNjcdzg
-Termana
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
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