LunaCE on Pre3
Introduction
This page is dedicated to running the WOCE version of LunaSysMgr on a Pre3.
What Works
Touch Input
Power Button (Lock/Unlock, hold to power off doesn't work)
Volume Keys
Ringer Switch
Sound (plays notification noise instead of boot sound because it's missing, can't test further currently)
Launcher
Status Bar
System Menu
What Doesn't Work
Quicklaunch Apps (icons glow when tapped, do nothing)
App Launching (cards will appear, but solid white with no contents)
Voice Dial (no apps)
UI Layout isn't optimized for the resolution
Keyboard Input (Crash)
Screenshot with Opt+Sym+P (Crash, luna-send method works fine)
Just Type (Nothing Shows)
Gesture Area
Virtual Keyboard in Apps (Pops up looking all garbled, then crashes)
** (LunaSysMgr:3437): DEBUG: IME: Window got focus change in sysmgr com.palm.app.clock focused: 1, fieldtype: 0, fieldactions: 0x00 ** Message: void DisplayManager::setTouchpanelMode(bool): Setting hal touchpanel mode to 1 ** (LunaSysMgr:3437): DEBUG: System request to show the IME ** (LunaSysMgr:3437): DEBUG: bool SystemUiController::changeNegativeSpace(int, bool, bool): 423 ** (LunaSysMgr:3441): DEBUG: WindowedWebApp::onKeyboardShown if (window.Mojo && window.Mojo.keyboardShown) {window.Mojo.keyboardShown(true);} ** (LunaSysMgr:3437): DEBUG: Allowing touch-end event through ** (LunaSysMgr:3441): DEBUG: WEBKIT PERF: PAINT appid: \xc0\xc3, time: 892404 LunaSysMgr: symbol lookup error: LunaSysMgr: undefined symbol: _ZN4Palm7WebView24unmapCompositingTexturesEv ** (LunaSysMgr:3437): CRITICAL **: virtual void WebAppMgrProxy::onDisconnected() (181): WebAppMgrProxy was Disconnected!! ** (LunaSysMgr:3437): CRITICAL **: virtual void WebAppMgrProxy::onDisconnected() (185): Exiting Sysmgr...
MinimalUI (First Use Mode? Just hangs at the HP logo, presumably because apps don't launch.)
Disclaimer
Before continuing, be sure to understand that this version of LunaSysMgr is NOT usable in it's current state. It is here for the purpose of further development.
Instructions
Transfer the required libraries to the Pre3
Open a Terminal and cd into woce-build/rootfs/armv7/usr/lib/
Compress the libraries into a .tar file for easy transfer (-h to follow symbolic links, otherwise libaffinity.so breaks)
tar -chvf lunaLibs.tar libQt* libhal.so libaffinity.so libqpalm.so libpsc.so
Copy the files to the device
novacom put file:///usr/lib/lunaLibs.tar < lunaLibs.tar
Extract them
novaterm cd /usr/lib tar -xvf lunaLibs.tar rm lunaLibs.tar
Copy libqpalm to the Qt Libraries folder
cp ./libqpalm.so /usr/plugins/platforms
Link the new libraries
ldconfig -v
Close novaterm
exit
Transfer the required HAL modules to the Pre3
Open a Terminal and cd into woce-build/rootfs/armv7/lib/hal/modules
Compress the libraries into a .tar file for easy transfer
tar -cvf lunaHAL.tar ./*
Copy the files to the device
novacom put file:///lib/hal/modules/lunaHAL.tar < lunaHAL.tar
Extract them
novaterm cd /lib/hal/modules/ tar -xvf lunaHAL.tar rm lunaHAL.tar
Close novaterm
exit
Transfer the required Luna modules to the Pre3
cd into woce-build/rootfs/armv7/usr/lib/luna
Compress the libraries into a .tar file for easy transfer
tar -cvf lunaModules.tar ./*
Copy the files to the device
novacom put file:///usr/lib/luna/lunaModules.tar < lunaModules.tar
Extract them
novaterm cd /usr/lib/luna tar -xvf lunaModules.tar rm lunaModules.tar
Close novaterm
exit
Transfer the required resources to the Pre3
cd into woce-build/rootfs/armv7/usr/palm/sysmgr
Compress the resources into a .tar file for easy transfer
tar -cvf lunaRes.tar ./*
Copy the files to the device
novacom put file:///usr/palm/sysmgr/lunaRes.tar < lunaRes.tar
Extract them
novaterm cd /usr/palm/sysmgr tar -xvf lunaRes.tar rm lunaRes.tar
Close novaterm
exit
Prevent LunaSysMgr from crashing on startup
Option A: Clone a git repository
git clone git://github.com/ShiftyAxel/LunaSysMgr.git git checkout lsm-pre3
And to pull down the latest changes
git pull origin lsm-pre3
Option B: Download a patch
Download and apply the following patch to your own LSM sources:
cd /path/to/LunaSysMgr curl https://github.com/ShiftyAxel/LunaSysMgr/commit/87137d043beabc4e4c18f1c61ed2885b51e2a442.diff > lsm-pre3.diff patch -p1 < lsm-pre3.diff
Build and Run
Modify woce-build/support/cross-compile.mk, changing MACHINE=topaz to MACHINE=mantaray
Build LunaSysMgr, noting that the output will now be in the release-mantaray folder instead of release-topaz
Backup your old LunaSysMgr
novaterm stop LunaSysMgr mv /usr/bin/LunaSysMgr /usr/bin/LunaSysMgr.old exit
Upload the new LunaSysMgr
novacom put file:///usr/bin/LunaSysMgr < /path/to/compiled/LunaSysMgr
Run the new LunaSysMgr
novaterm LunaSysMgr