User:Rlinfati

Rodrigo Linfati

Contents

Repositories

n8x0.install

[catalogues]
catalogues = extras; extras-devel

[extras]
name = Maemo.org Extras
uri = http://repository.maemo.org/extras/
components = free non-free

[extras-devel]
name = Maemo.org Extras-Devel
uri = http://repository.maemo.org/extras-devel/
components = free non-free

n900.install

[catalogues]
catalogues = extras; extras-testing; extras-devel

[extras]
name = Maemo.org Extras
uri = http://repository.maemo.org/extras/
components = free non-free

[extras-testing]
name = Maemo.org Extras-testing
uri = http://repository.maemo.org/extras-testing/
components = free non-free

[extras-devel]
name = Maemo.org Extras-Devel
uri = http://repository.maemo.org/extras-devel/
components = free non-free

sdk sources.list

deb http://repository.maemo.org/ fremantle/sdk free non-free
deb-src http://repository.maemo.org/ fremantle/sdk free non-free
deb http://repository.maemo.org/ fremantle/tools free non-free
deb-src http://repository.maemo.org/ fremantle/tools free non-free
deb http://repository.maemo.org/extras fremantle free non-free
deb-src http://repository.maemo.org/extras fremantle free non-free
deb http://repository.maemo.org/extras-testing fremantle free non-free
deb-src http://repository.maemo.org/extras-testing fremantle free non-free
deb http://repository.maemo.org/extras-devel fremantle free non-free
deb-src http://repository.maemo.org/extras-devel fremantle free non-free
deb http://repository.maemo.org/ fremantle/1234567890 nokia-binaries

n8x0 stuff

Rotate Screen

see: Rotation
apt-get install advanced-backlight osso-software-version-rx34-unlocked
dpkg -i kernel-diablo-flasher_*.deb xserver-xomap_*.deb

Bootmenu

see: Booting_from_a_flash_card and Advanced_booting
download : initfs_flasher.tgz from fanoush initfs
Note: use GNU tar with --numeric-owner

bootmenu.conf

MENU_TIMEOUT=3
USB_IP=192.168.2.15

MENU_MIN=1

MENU_1_NAME="Internal flash"
MENU_1_ID="flash"

MENU_2_NAME="Internal, p2, MER"
MENU_2_ID="mer"
MENU_2_DEVICE="${INT_CARD}p2"
MENU_2_MODULES="mbcache ext2 jbd ext3"
MENU_2_FSTYPE="ext3"
MENU_2_FSOPTIONS="noatime,ro"
MENU_2_LINUXRC="linuxrc"
[ -d "/sys/block/${INT_CARD}/${MENU_2_DEVICE}" ] || MENU_2_NAME="(${MENU_2_NAME}) N/A"

MENU_3_NAME="Internal, p3, DIABLO"
MENU_3_ID="diablo"
MENU_3_DEVICE="${INT_CARD}p3"
MENU_3_MODULES="mbcache ext2 jbd ext3"
MENU_3_FSTYPE="ext3"
MENU_3_FSOPTIONS="noatime"
[ -d "/sys/block/${INT_CARD}/${MENU_3_DEVICE}" ] || MENU_3_NAME="(${MENU_3_NAME}) N/A"

MENU_4_NAME="Internal, p4, MER TEST"
MENU_4_ID="test"
MENU_4_DEVICE="${INT_CARD}p2"
MENU_4_MODULES="mbcache ext2 jbd ext3"
MENU_4_FSTYPE="ext3"
MENU_4_FSOPTIONS="noatime,ro"
MENU_4_LINUXRC="linuxrc"
[ -d "/sys/block/${INT_CARD}/${MENU_4_DEVICE}" ] || MENU_4_NAME="(${MENU_4_NAME}) N/A"

MENU_5_NAME="Power off (when not on charger)"
MENU_5_ID="off"

MENU_MAX=5

n900 stuff

tools

  1. GPS: location-test-gui

USB Network and Internet

see: USB_networking and N900_USB_networking

/etc/network/interfaces on device

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
auto usb0
iface usb0 inet static
        address 192.168.2.15
        netmask 255.255.255.0
        gateway 192.168.2.14
        pre-up route del default	

/etc/network/interfaces on host

auto lo
iface lo inet loopback

auto usb0
iface usb0 inet static
  address 192.168.2.14
  netmask 255.255.255.0
  up   iptables -t nat -A POSTROUTING -s 192.168.2.15 -j MASQUERADE
  up   echo 1 > /proc/sys/net/ipv4/ip_forward
  down iptables -t nat -D POSTROUTING -s 192.168.2.15 -j MASQUERADE
  down echo 0 > /proc/sys/net/ipv4/ip_forward

Jave SE and Java ME

Download and untar/unzip

  1. microemulator-2.0.3.zip from microemu
  2. ejre-1_6_0_10-ea-b39-linux-armv6-vfp-eabi-min-eval-30_jul_2009.tar.gz from Sun JaveSE ARMv6 Headful

Makefile

clean:
	echo cleaning...

install:
	cp -r ejre1.6.0_10 $(DESTDIR)/opt/
	cp -r microemulator-2.0.3 $(DESTDIR)/opt/
	cp microemulator.desktop $(DESTDIR)/usr/share/applications/hildon/
	cp $(DESTDIR)/opt/microemulator-2.0.3/devices/microemu-device-resizable.jar $(DESTDIR)/home/user/.microemulator/
	cp config2.xml $(DESTDIR)/home/user/.microemulator/

microemulator.desktop

[Desktop Entry]
Encoding=UTF-8
Version=0.1
Type=Application
Name=MicroEmulator
Exec=/opt/ejre1.6.0_10/bin/java -jar /opt/microemulator-2.0.3/microemulator.jar
Icon=microemulator
X-HildonDesk-ShowInToolbar=true
X-Osso-Type=application/x-executable

config2.xml

<config>
	<files>
		<recentJadDirectory>/home/user/MyDocs/</recentJadDirectory>
	</files>
	<system-properties>
		<system-property VALUE="MIDP-2.0" NAME="microedition.profiles"/>
		<system-property VALUE="CLDC-1.0" NAME="microedition.configuration"/>
		<system-property VALUE="true" NAME="avetana.forceNativeLibrary"/>
	</system-properties>
	<devices>
		<device DEFAULT="true">
			<name>Resizable device</name>
			<filename>microemu-device-resizable.jar</filename>
			<descriptor>org/microemu/device/resizable/device.xml</descriptor>
			<rectangle>
				<x>0</x>
				<y>0</y>
				<width>800</width>
				<height>378</height>
			</rectangle>
		</device>
	</devices>
	<windows>
		<main ONSTART="true">
			<x>0</x>
			<y>0</y>
			<width>800</width>
			<height>480</height>
		</main>
	</windows>
</config>

debian/javame.postinst

first run as root... to start timebomb (aka trial period)
#!/bin/sh
/opt/ejre1.6.0_10/bin/java -version 2> /dev/null
chown -R user:users /home/user/.microemulator/
exit 0

QT Stuff

foobar.pro

TARGET       = foobar
HEADERS     += src/foobar.h
SOURCES     += src/main.cpp src/foobar.cpp
FORMS       += 

OBJECTS_DIR = build
MOC_DIR     = build
UI_DIR      = build
DESTDIR     = build

TEMPLATE    = app
QT          += # network
INCLUDEPATH +=
LIBS        +=
DEFINES     +=
CONFIG      += # link_pkgconfig
PKGCONFIG   += # glib-2.0
# exists(/usr/lib/liblocation.so) {
#     DEFINES += LIBLOCATION
#     message(liblocation found)
# }
install_app.commands = $(INSTALL_PROGRAM) $(TARGET) $(DESTDIR)/usr/bin/$(QMAKE_TARGET)
install_dsk.commands = $(INSTALL_FILE) data/$(QMAKE_TARGET).desktop $(DESTDIR)/usr/share/applications/hildon/$(QMAKE_TARGET).desktop
install_png.commands = $(INSTALL_FILE) data/$(QMAKE_TARGET)_64.png $(DESTDIR)/usr/share/pixmap/$(QMAKE_TARGET).png
install_p26.commands = $(INSTALL_FILE) data/$(QMAKE_TARGET)_26.png $(DESTDIR)/usr/share/icons/hicolor/26x26/apps/$(QMAKE_TARGET).png
install_p48.commands = $(INSTALL_FILE) data/$(QMAKE_TARGET)_48.png $(DESTDIR)/usr/share/icons/hicolor/48x48/apps/$(QMAKE_TARGET).png
install_p64.commands = $(INSTALL_FILE) data/$(QMAKE_TARGET)_64.png $(DESTDIR)/usr/share/icons/hicolor/64x64/apps/$(QMAKE_TARGET).png
install.depends = $(TARGET) install_app install_dsk install_png install_p26 install_p48 install_p64
QMAKE_EXTRA_TARGETS += install install_app install_dsk install_png install_p26 install_p48 install_p64

debian/rules

#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.

# Uncomment this to turn on verbose mode.
export DH_VERBOSE=1

APPNAME := foobar

configure: configure-stamp
configure-stamp:
	dh_testdir
	-qmake
	-/opt/qt4-maemo5/bin/qmake-qt4
	touch configure-stamp

build: build-stamp
build-stamp: configure-stamp  
	dh_testdir
	$(MAKE)
	touch build-stamp 

clean: 
	dh_testdir
	dh_testroot
	rm -f build-stamp configure-stamp
	-$(MAKE) clean
	dh_clean 

install: build
	dh_testdir
	dh_testroot
	dh_clean -k 
	dh_installdirs
	$(MAKE) DESTDIR=$(CURDIR)/debian/$(APPNAME) install

binary-indep: build install
binary-arch: build install
	dh_testdir
	dh_testroot
	dh_installchangelogs 
	dh_installdocs
	dh_installexamples
	dh_install
	dh_installmenu
	dh_installdebconf	
	dh_installlogrotate
	dh_installemacsen
	dh_installpam
	dh_installmime
	dh_python
	dh_installinit
	dh_installcron
	dh_installinfo
	dh_installman
	dh_link
	dh_strip
	dh_compress
	dh_fixperms
	dh_perl
	dh_makeshlibs
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol
	dh_md5sums
	dh_builddeb

binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install configure

debian/control - N8x0 - libqt4

QT modeles tested: network and webkit
Source: foobar
Section: user/foobar
Priority: optional
Maintainer: GiveName FamilyName <user@domain.ttl>
Build-Depends: debhelper (>= 5), libqt4-dev 
Standards-Version: 3.7.2
Homepage: http://foobar.domain.ttl/

Package: foobar
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: sort description foobar
 very long description foobar
XB-Maemo-Display-Name: beautiful foobar name

debian/control - N900 - libqt4

QT modeles tested: network and webkit
Important: include libqt4-phonon, libsqlite3-0 in Build-Depends and Depends
Source: foobar
Section: user/foobar
Priority: optional
Maintainer: GiveName FamilyName <user@domain.ttl>
Build-Depends: debhelper (>= 5), libqt4-dev, libqt4-phonon, libsqlite3-0
Standards-Version: 3.7.2
Homepage: http://foobar.domain.ttl/
XSBC-Bugtracker: url or email
 
Package: foobar
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, libqt4-phonon, libsqlite3-0
Description: sort description foobar
 very long description foobar
XB-Maemo-Display-Name: beautiful foobar name
XB-Maemo-Icon-26: 
 iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAABGdBTUEAALGP

debian/control - N900 - libqt4-maemo5

QT modeles tested: network and webkit
Important: include libgconf2-dev in Build-Depends
Source: foobar
Section: user/foobar
Priority: optional
Maintainer: GiveName FamilyName <user@domain.ttl>
Build-Depends: debhelper (>= 5), libqt4-maemo5-dev, libgconf2-dev
Standards-Version: 3.7.2
Homepage: http://foobar.domain.ttl/
XSBC-Bugtracker: url or email

Package: foobar
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: sort description foobar
 very long description foobar
XB-Maemo-Display-Name: beautiful foobar name
XB-Maemo-Icon-26: 
 iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAABGdBTUEAALGP