N810
时间:2009-03-21 来源:oldstorm
HomePage: maemo.org
Repository: http://repository.maemo.org/extras
Borwser based on Mizilla: http://browser.garage.maemo.org/
Document:
http://maemo.org/development/documentation/
Full Toturial:
http://maemo.org/development/documentation/tutorials/
D-Bus
http://maemo.org/maemo_training_material/maemo4.x/html/maemo_Platform_Development/index.html
Setup development environment
http://www.natisbad.org/N810/index.html
maemo tools download
http://tuomas.kulve.fi/debian/pool/bora/maemo/
Work as super user
fakeroot <command>
eg:
fakeroot apt-get install libcairo2-dev
Switch between modes armel and 386
sb-conf select CHINOOK_ARME
sb-conf select CHINOOK_X86
or
sb-menu
then select in virsual mode. The development mode must be identical to the run-time mode.
1)
Error message:
$ /scratchbox/login
Welcome to Scratchbox, the cross-compilation toolkit!
Use 'sb-menu' to change your compilation target.
See /scratchbox/doc/ for documentation.
Inconsistency detected by ld.so: rtld.c: 1192: dl_main: Assertion `(void *) ph->p_vaddr == _rtld_local._dl_sysinfo_dso' failed!
Inconsistency detected by ld.so: rtld.c: 1192: dl_main: Assertion `(void *) ph->p_vaddr == _rtld_local._dl_sysinfo_dso' failed!
Inconsistency detected by ld.so: rtld.c: 1192: dl_main: Assertion `(void *) ph->p_vaddr == _rtld_local._dl_sysinfo_dso' failed!
Solution:
# echo 0 > /proc/sys/vm/vdso_enabled
2),
Error Message:
mmap:permission denied
Solution:
# echo 4096 > /proc/sys/vm/mmap_min_addr
Startup application automatically on boot time:
insert following lines
if [ -x xxx ]; then
exec xxx &
fi
into /etc/osso-af-init/real-af-base-application (before ";; stop)");
2),
Error:
N810 can't be mounted to host automatically once it is connected via USB cable.
Solution:
1) mknod /dev/sdb b 8 16
mknod /dev/sdb1 b 8 17
2) udevadm trigger
3) mount /dev/sdb1 /mnt
desktop icon
gtk-update-icon-cache -f /usr/share/icons/hicolor
maemo-select-menu-location xxx.desktop
Run gtk+ application
run-standalone.sh <app>
Introduction Document
CS632 INTRODUCTION NOKIA N810
http://kernel.kaist.ac.kr/~jinsoo/course/cs632/slides/N810intro_project1.pdf
n810 notification:
2. 注册/签署事件设置回调函数参数。
3. 依据事件类型,可以从LibOSSO注销回调函数。
osso_hw_set_event_cb/osso_hw_unset_event_cb
系统时间和现场事件
osso_locale_change_set_notification_cb/osso_time_set_notification_cb osso_time_set/osso_locale_set
Grap screen shots tools
osso-screenshot-tool
http://tuomas.kulve.fi/debian/pool/bora/maemo/o/
http://repository.maemo.org/pool/scirocco/free/source/o/osso-screenshot-tool/
Repository: http://repository.maemo.org/extras
Borwser based on Mizilla: http://browser.garage.maemo.org/
Document:
http://maemo.org/development/documentation/
Full Toturial:
http://maemo.org/development/documentation/tutorials/
D-Bus
http://maemo.org/maemo_training_material/maemo4.x/html/maemo_Platform_Development/index.html
Setup development environment
http://www.natisbad.org/N810/index.html
maemo tools download
http://tuomas.kulve.fi/debian/pool/bora/maemo/
Work as super user
fakeroot <command>
eg:
fakeroot apt-get install libcairo2-dev
Switch between modes armel and 386
sb-conf select CHINOOK_ARME
sb-conf select CHINOOK_X86
or
sb-menu
then select in virsual mode. The development mode must be identical to the run-time mode.
Browser based on Mozilla
HomePage: http://browser.garage.maemo.org/
Docs: http://browser.garage.maemo.org/docs
1 Browser extensions
Development: http://browser.garage.maemo.org/docs/extension_development_howto.html
2 XPCOM Components develop
a) Build MicroB engine to get Browser SDK
b) Create XPCOM components source code and make file as that described on
http://www.iosart.com/firefox/xpcom/ and
http://guohuan.blogspot.com/2008/04/using-gecko-19-to-build-xpcom.html
c) Copy .xpt and .so to /usr/lib/microb-engine/components
d) rm /home/usr/.mozilla/microb/xpti.dat
e) rm /home/usr/.mozilla/microb/compreg.dat
f) touch /home/user/.mozilla/microb/.auto.reg
g) restart browser twice
3 How to Build MicroB-engin
Reference:
http://www.mail-archive.com/[email protected]/msg12314.html
http://browser.garage.maemo.org/docs/build_howto.html
1) install libidl (libidl0 & libidl-dev)
a) svn co https://garage.maemo.org/svn/browser/mozilla/trunk/libidl libidl
b) cd libidl
c) dpkg-buildpackage -rfakeroot -uc -us -tc | tee libidl-build.log
d) cd ..
e) fakeroot dpkg -i libidl0*.deb
f) fakeroot dpkg -i libidl-dev*.deb
If you get problems with building libidl, because you lack flex then read this bug report:
http://bugzilla.scratchbox.org/bugzilla/show_bug.cgi?id=310
2) install libcairo2-dev
fakeroot apt-get install libcairo2-dev
3) install bc
fakeroot dpkg -i bc-package-name.deb
Comments: I don't kown where to find bc-package-name.deb, maybe it is from ftp://ftp.gnu.org/gnu/bc/, what I did just as following:
a) download bc-1.06.tar.gz from ftp://ftp.gnu.org/gnu/bc/
b) tar xvfz bc-1.06.tar.gz
c) cd bc-1.06
d) ./configure
e) make
f) make install
4) install sharutils
fakeroot apt-get install sharutils
5) Build and install microb-engine
There are two ways to build microb-engine
The first way:
a) svn co https://garage.maemo.org/svn/browser/mozilla/trunk/microb-engine microb-engine
This will take several minutes, please wait in patient.
b) cd microb-engine/microb-engine
c) ADD_OPTIONS="--enable-oji" DEB_BUILD_OPTIONS="parallel svgport syscairo"
d) dpkg-buildpackage -d -rfakeroot -uc -us -tc | tee ../microb-engine-build.log
After building, all midiate files will be removed, and several debain packages are located in up-level directory
e) cd ..
f) fakeroot dpkg -i *.deb
The second way:
a) svn co https://garage.maemo.org/svn/browser/mozilla/trunk/microb-engine microb-engine
This will take several minutes, please wait in patient.
b) cd microb-engine/microb-engine
c) fakeroot apt-get build-dep microb-engine
d) fakeroot dpkg-buildpackage -d -us -uc -nc
After building, the mozilla source files are located in mozilla/built-tree, and generated results files (tools, libs, and headers) are located in diectory debian;
but no any debian package is generated.
4 XPCOM Component Trouble ShootTrouble Shooting
1) Copy component files (XXX.so and XXX.xpt) from PC to device via command 'scp', after installed, the compontent can't work.
Solution: Don't copy component files via 'scp'; you need mount n810 to PC as USB memory card, then copy component files to mounted memory card.
5 Export Environment to browser
1) Export environment variable in /etc/init.d/tablet-browser-daemon, or /etc/osso-af-init/af-defines.sh (the later is loaded in the former)
2) Reboot device or execute '/etc/init.d/tablet-browser-daemon stop', wait for several seconds, then execute '/etc/init.d/tablet-browser-daemon sart'
1)
Error message:
$ /scratchbox/login
Welcome to Scratchbox, the cross-compilation toolkit!
Use 'sb-menu' to change your compilation target.
See /scratchbox/doc/ for documentation.
Inconsistency detected by ld.so: rtld.c: 1192: dl_main: Assertion `(void *) ph->p_vaddr == _rtld_local._dl_sysinfo_dso' failed!
Inconsistency detected by ld.so: rtld.c: 1192: dl_main: Assertion `(void *) ph->p_vaddr == _rtld_local._dl_sysinfo_dso' failed!
Inconsistency detected by ld.so: rtld.c: 1192: dl_main: Assertion `(void *) ph->p_vaddr == _rtld_local._dl_sysinfo_dso' failed!
Solution:
# echo 0 > /proc/sys/vm/vdso_enabled
2),
Error Message:
mmap:permission denied
Solution:
# echo 4096 > /proc/sys/vm/mmap_min_addr
Startup application automatically on boot time:
insert following lines
if [ -x xxx ]; then
exec xxx &
fi
into /etc/osso-af-init/real-af-base-application (before ";; stop)");
2),
Error:
N810 can't be mounted to host automatically once it is connected via USB cable.
Solution:
1) mknod /dev/sdb b 8 16
mknod /dev/sdb1 b 8 17
2) udevadm trigger
3) mount /dev/sdb1 /mnt
desktop icon
gtk-update-icon-cache -f /usr/share/icons/hicolor
maemo-select-menu-location xxx.desktop
Run gtk+ application
run-standalone.sh <app>
Introduction Document
CS632 INTRODUCTION NOKIA N810
http://kernel.kaist.ac.kr/~jinsoo/course/cs632/slides/N810intro_project1.pdf
n810 notification:
一般来说,LibOSSO通过3个步骤可以接受和操作事件:
1. 通过LibOSSO文件原因实现必须的事件操作回调函数。2. 注册/签署事件设置回调函数参数。
3. 依据事件类型,可以从LibOSSO注销回调函数。
硬件事件 D-Bus从硬件或系统底层传送事件或信号
- 设备模式改变:该设备模式被改变(例如从电源模式进入电池模式)。
- 关机事件:设备或系统将被关闭。
- 低内存事件:设备或系统的内存不足。
- 停止事件:通报应用程序减少活动,通常在显示器关闭时不公开传送。
- 保存用户数据事件:提示应用程序保存数据。(详见自动保存)。
osso_hw_set_event_cb/osso_hw_unset_event_cb
系统时间和现场事件
osso_locale_change_set_notification_cb/osso_time_set_notification_cb osso_time_set/osso_locale_set
Grap screen shots tools
osso-screenshot-tool
http://tuomas.kulve.fi/debian/pool/bora/maemo/o/
http://repository.maemo.org/pool/scirocco/free/source/o/osso-screenshot-tool/
相关阅读 更多 +
排行榜 更多 +