User:Jebba

(Quicky & Dirty building .deb from scratch: foo!)
(Undo revision 43821 by 49.201.160.205 (Talk))
 
(80 intermediate revisions not shown)
Line 1: Line 1:
-
----
 
-
 
-
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 
-
 
-
<CENTER>'''''The build server is ok!'''''</CENTER>
 
-
 
-
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 
-
 
-
----
 
-
 
-
Looks ok at the moment, and *fast*
 
-
 
-
Currently I can't upload anything, it just stalls. My last few jobs have all croaked for reasons related to the build system. GAR.
 
-
 
-
It really sucks when you have a free weekend to work on this and no one watches the infrastructure. Even if you manage to get something built when the server is running OK, trying to get it promoted or see it's page at [http://maemo.org/packages http://maemo.org/packages] is painful (if you're logged in--which you have to be if you want to do anything).
 
-
 
-
No one at Nokia/Maemo announces anywhere that I can see that they are aware of an outage or that there is a planned outage. I just checked maemo-devel mailing list (again) to see if there is any mention. Does anyone even know it is down???! This is some pretty lame system administration if they don't even know their server is out. If they do know, they should post somewhere at least that "we're aware of it and working on it."
 
-
 
-
I don't know what else to do, except suggest you vote for this bug. Perhaps they will put more people on the job:
 
-
 
-
* [https://bugs.maemo.org/show_bug.cgi?id=5818 We Need Servers]
 
-
 
-
 
-
Ah, apparently there are some Nokia admins that (obscurely) post here:
 
-
[http://www.qaiku.com/channels/show/maemork/ qaiku #maemork]
 
-
 
-
Update: server back online after 15 or so hours of outage. No updates anywhere I can see about why it went down. (But down again, at least partly)
 
-
 
-
----
 
-
 
-
 
* Name: Jeff Moe
* Name: Jeff Moe
Line 36: Line 5:
* Nick: jebba, jebbajeb, jebba900, etc...
* Nick: jebba, jebbajeb, jebba900, etc...
-
* [http://jebba.blagblagblag.org Long Neglected Blog...]
+
 
 +
I have stopped development on Meego/Maemo, so these pages are getting quickly dated. Ciao!
 +
 
* [http://maemo.org/profile/view/jebba/ Maemo profile]
* [http://maemo.org/profile/view/jebba/ Maemo profile]
Line 42: Line 13:
* [https://bugs.maemo.org/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&long_desc_type=substring&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&emailassigned_to1=1&emailreporter1=1&emailqa_contact1=1&emailcc1=1&emaillongdesc1=1&emailtype1=exact&email1=moe%40blagblagblag.org&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Bug+Number&field0-0-0=noop&type0-0-0=noop&value0-0-0= "My" bugs]
* [https://bugs.maemo.org/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&long_desc_type=substring&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&emailassigned_to1=1&emailreporter1=1&emailqa_contact1=1&emailcc1=1&emaillongdesc1=1&emailtype1=exact&email1=moe%40blagblagblag.org&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Bug+Number&field0-0-0=noop&type0-0-0=noop&value0-0-0= "My" bugs]
-
[[Image:Nokia-jebba.jpg|thumb|left|alt=My old nokia|My old Nokia phone, replaced by N900]]
+
[[Image:Jebba-oldfone.jpg|left|thumb|alt=My old nokia|My old Nokia phone, replaced by N900. Makes a nice background :)]]
-
Usually I dot my laptop with READMEs in various ~/devel/ subdirs, but in this case I decided to write up some notes here. These are mostly for my own reference, but perhaps they will be of use to you.
+
* Usually I dot my laptop with READMEs in various ~/devel/ subdirs, but in this case I decided to write up some notes here. These are mostly for my own reference, but perhaps they will be of use to you.
 +
* Feel free to take any of these pages and copy them over to the main wiki namespace (here or in any other wiki, for that matter).
-
=Debrick=
+
=Package Building HOWTO=
-
==Debrick without reflashing!==
+
The [[User:Jebba/Package Building HOWTO|Package Building HOWTO]] now has its own page. :)
-
I have found a way to "de-brick" a device that does not require reflashing.
+
-
 
+
-
If your device is booting up and hung with the second dot lit, like:
+
-
 
+
-
*  (*)  *  *  *
+
-
 
+
-
this may solve your problem.
+
-
 
+
-
1) Get the proprietary (gah!) Nokia firmware flashing program.
+
-
 
+
-
2) Power off your phone.
+
-
 
+
-
3) Hold down "u" on your fone and plug the USB cable into your phone and your GNU/Linux laptop. This will put it in the same mode as you need when you are flashing it.
+
-
 
+
-
4) Run this command as root (or preface with "sudo"). It will only take a second or two.
+
-
 
+
-
./flasher-3.5 --enable-rd-mode
+
-
 
+
-
5) Unplug cables and your system will reboot (or poweroff).
+
-
 
+
-
6) Boot up your system, it is now in R&D mode. :)  It will (possibly?) prompt you to enter time/data again.
+
-
 
+
-
7) Now that everything is fine, power off the system normally again. DO NOT LEAVE YOUR SYSTEM IN R&D MODE, as it eats babies.
+
-
 
+
-
8) With your phone powered off hold down "u" on the phone, and plug in the USB cables to the phone and your GNU/Linux laptop.
+
-
 
+
-
9) Run this command as root (or preface with "sudo"). It will only take a second or two.
+
-
 
+
-
./flasher-3.5 --disable-rd-mode
+
-
 
+
-
10) Unplug cables and your system will reboot (or poweroff).
+
-
 
+
-
11) Boot up your system, it is now recovered and NO DATA LOSS! Yippeee.
+
-
 
+
-
 
+
-
More info
+
-
-----------
+
-
Photos of what the hang looks like using a kernel that has the framebuffer console enabled:
+
-
[http://www.freemoe.org/users/jebba/MALF/]
+
-
 
+
-
 
+
-
Some bugs, maybe related:
+
-
[https://bugs.maemo.org/show_bug.cgi?id=5450]
+
-
[https://bugs.maemo.org/show_bug.cgi?id=6350]
+
-
 
+
-
 
+
-
If you found this post helpful, please vote for this bug:
+
-
[https://bugs.maemo.org/show_bug.cgi?id=7019]
+
-
 
+
-
 
+
-
==Too mucha programmaz==
+
-
I bricked my N900 (December 3rd) by adding the extras-testing + extras-devel repos and then installing lots of applications. I hit 100% on / (root filesystem) and on reboot the system hung at the "dots" part, ala:
+
-
 
+
-
  * (*) * * *
+
-
 
+
-
I had filled up to 100% a number of times before and rebooting the phone had '''cleared''' up space (e.g. 100% full before reboot, 96% full after reboot). This is likely because 5% or so is reserved for root. Anyway, the most recent time it didn't come back alive...
+
-
 
+
-
===Gah, bricked again===
+
-
I was "participating" in the "[http://talk.maemo.org/showthread.php?p=414650 Bug] [[Bugsquad#Bugdays|day]]", when someone suggested installing gettext to look at translations. I installed this, but got up to 99% full. I then did an `apt-get clean` to empty the cache and this dropped me to 98% full. I've often booted gnulinux boxes with 99% (or even 100%) full, so I figured 98% was fine. I wanted to reboot because often when you reboot the N900, you get space freed, due to the icon cache being liberated. Anyway, on reboot, I got a brick exactly as described above with the second dot more lit than the others (which I have seen reported by others):
+
-
 
+
-
  * (*) * * *
+
-
 
+
-
This time I have my handy kernel with a console, so I can actually see WTF is going on. [http://www.freemoe.org/users/jebba/MALF/ The images here show some details]. In sum, things booted up and the root filesystem check went fine. Then it got an error right after "Freeing Init memory 152K" like this:
+
-
 
+
-
getbootstate: Unexpected reset count 50 exceeds maximum (51)
+
-
getbootstate: Entering state 'MALF'.
+
-
getbootstate: Houston, we have a problem, powering off...
+
-
 
+
-
The /sbin/getbootstate program is in the package "getbootstate". But look at this and hold back the tears:
+
-
 
+
-
[sbox-FREMANTLE_ARMEL: ~/getbootstate] > apt-get source getbootstate
+
-
Reading package lists... Done
+
-
Building dependency tree... Done
+
-
E: Unable to find a source package for getbootstate
+
-
 
+
-
The getbootstate package appears to be closed source. :( That pretty much ends the debugging and my bug day. Gah.
+
-
 
+
-
==Flashing N900 with 0xFFFF==
+
-
Many parts of the N900 are Free Software, but lamentably, many parts are still closed proprietary shit. Nokia's maemo_flasher program is an example of a closed application that Nokia makes for use with the N900. I understand why some parts of their suite are still closed (e.g. pre-ofono GSM stack), but why the flasher has to be closed I have no idea. Gar.
+
-
 
+
-
Thankfully, there is [http://www.nopcode.org/0xFFFF/ The 0pen Free Fiasco Firmware Flasher], which is designed for flashing Nokia tablets and is [http://www.gnu.org/philosophy/free-sw.html Free Software] (GPLv3). Unfortunately, 0xFFFF doesn't work with the N900. There is [http://www.mail-archive.com/0xffff@lists.nopcode.org/msg00072.html some progress to support the device]. You can grab the most recent code from the mercurial repository thusly:
+
-
hg clone http://hg.youterm.com/0xFFFF
+
-
 
+
-
I sent the author of 0xFFFF the output of my crash. Hopefully it will soon be a usable tool for flashing the N900. I built RPMs for Fedora 12 x86_64 running the latest mercurial code--the ones in the Fedora repo aren't even the lastest tarball release (0.3.9 vs. 0.4.0).
+
-
 
+
-
===0xFFFF for Fedora===
+
-
* NOTE: recently I checked out the code via Mercurial and saw that the 0xFFFF developer has added much more N900 specific code, but I haven't tried it yet.
+
-
 
+
-
* UPDATE: I have built the latest and greatest code of 0xFFFF from today and made a Fedora 12 package. You can grab it here:
+
-
 
+
-
Binary:
+
-
* [http://www.freemoe.org/users/jebba/fedora/12/x86_64/0xFFFF-0.4.0-0jebba.fc12.x86_64.rpm 0xFFFF-0.4.0-0jebba.fc12.x86_64.rpm]
+
-
 
+
-
Source:
+
-
* [http://www.freemoe.org/users/jebba/fedora/12/SRPMS/0xFFFF-0.4.0-0jebba.fc12.src.rpm 0xFFFF-0.4.0-0jebba.fc12.src.rpm]
+
-
 
+
-
* The 0xFFFF GUI uses [http://code.google.com/p/gtkaml/ gtkamlc]. This is not packaged in Fedora. I built it, but compiling the GUI is still barfing.
+
-
 
+
-
==Flashing with Nokia's Proprietary maemo_flasher==
+
-
I [http://wiki.blagblagblag.org/Roadmap now] have ONE non-free program installed on my computer  :(  It's the only way I know how to debrick the phone.
+
-
 
+
-
See also: [[Updating_the_firmware | Updating tablet firmware]] on this wiki.
+
-
 
+
-
* To get the most recent image from Nokia, go here: http://tablets-dev.nokia.com/nokia_N900.php
+
-
* Enter product ID inside the phone (without "/"s)
+
-
* Grab RX-51_2009SE_1.2009.42-11_PR_COMBINED_MR0_ARM.bin or whatever is current.
+
-
* To get the proprietary stinking pile of poo, go here: http://tablets-dev.nokia.com/maemo-dev-env-downloads.php
+
-
* Grab maemo_flasher-3.5_2.5.2.2.tar.gz or most recent.
+
-
* In Fedora 12 x86_64 I had to install some i686 libraries since my system is 64-bit. So:
+
-
yum -y install glibc.i686 libusb.i686
+
-
* Untar the files....
+
-
* Power off phone and unplug USB.
+
-
* Hold down "u" on N900 keyboard and plug in USB cable between computer and N900. A USB icon will appear in the upper right corner--you can let go of "u" on the keyboard at this point.
+
-
* Run this as root:
+
-
./flasher-3.5 -F ~/devel/maemo/FLASH/RX-51_2009SE_1.2009.42-11_PR_COMBINED_MR0_ARM.bin -f -R
+
-
* Done.
+
-
 
+
-
===Info from flasher===
+
-
sudo ./flasher-3.5 --query-rd-mode
+
-
flasher v2.5.2 (Oct 21 2009)
+
-
+
-
USB device found found at bus 002, device address 008.
+
-
Found device RX-51, hardware revision 2101
+
-
NOLO version 1.4.13
+
-
Version of 'sw-release': RX-51_2009SE_1.2009.42-11_PR_MR0
+
-
The device is in production mode
+
-
 
+
-
===Unpacking flash image===
+
-
 
+
-
$ mkdir RX-51_2009SE_1.2009.42-11_PR_COMBINED_MR0_ARM-UNPACKED
+
-
+
-
$ cd RX-51_2009SE_1.2009.42-11_PR_COMBINED_MR0_ARM-UNPACKED/
+
-
+
-
$ sudo flasher-3.5 -u -F ../RX-51_2009SE_1.2009.42-11_PR_COMBINED_MR0_ARM.bin
+
-
 
+
-
=Setup=
+
-
Now that the device is debricked, I can use the thing again and "all" my data is there, but the repository setup is back to default and the applications I want are gone, amongst other things. To re-setup:
+
-
 
+
-
 
+
-
==ssh server & keys==
+
-
* Enable [[Extras]] [http://repository.maemo.org/ repository]: tap, tap, tap...
+
-
* Install openssh client/server package
+
-
* Install rootsh package
+
-
* Set up keys and such for easy access (my device hostname is burger):
+
-
* On laptop, ssh into the sucker:
+
-
ssh root@burger
+
-
* As root on N900, ssh to localhost as a quick/dirty way to setup /root/.ssh:
+
-
ssh localhost
+
-
* On laptop, copy over ssh key and log back in:
+
-
scp -p ~/.ssh/id_rsa.pub root@burger:.ssh/authorized_keys
+
-
ssh root@burger
+
-
*To allow ssh access for user "user", the passwd file needs to be edited.
+
-
vi /etc/passwd
+
-
* Change
+
-
user:!:
+
-
to
+
-
user:*:
+
-
* Set a password for user "user" (I couldn't ssh in without doing this, but someone on IRC said it wasn't necessary):
+
-
passwd user
+
-
* Switch user to "user" and blow out the old known_hosts (or at least edit it) to remove the now bogus "localhost" entry:
+
-
su - user
+
-
rm .ssh/known_hosts
+
-
* Quick/dirty way to set up /home/user/.ssh:
+
-
ssh localhost
+
-
* Then GTFO:
+
-
exit
+
-
exit
+
-
* This should work happily
+
-
ssh user@burger
+
-
 
+
-
==Packages==
+
-
===Set up Repositories===
+
-
* Configure the repositories to set up things I like:
+
-
# vi /etc/apt/sources.list.d/hildon-application-manager.list
+
-
+
-
deb https://downloads.maemo.nokia.com/fremantle/apps/ ./
+
-
deb https://downloads.maemo.nokia.com/fremantle/mr0 ./
+
-
deb http://repository.maemo.org/extras/ fremantle free non-free
+
-
deb http://repository.maemo.org/extras-testing/ fremantle free
+
-
deb http://repository.maemo.org/extras-devel/ fremantle free
+
-
deb http://repository.maemo.org fremantle/tools free
+
-
+
-
apt-get update
+
-
 
+
-
Apparently the above gets blown out if you run the hildon application manager, so the repos need to be added via tap tap tap.
+
-
 
+
-
===Install Needed Packages===
+
-
apt-get install x11vnc
+
-
apt-get clean && sync
+
-
 
+
-
Mas y mas y mas
+
-
 
+
-
apt-get install vim bash htop ogg-support less file strace
+
-
apt-get clean && sync
+
-
 
+
-
Perhaps
+
-
 
+
-
apt-get install python-dbus python-gobject sysklogd klogd
+
-
apt-get clean && sync
+
-
 
+
-
Mas y mas y mas y mas y mas. The really big list...
+
-
 
+
-
mkdir /home/user/MyDocs/.apt-archive-cache/archives/
+
-
mkdir -p /home/user/MyDocs/.apt-archive-cache/archives/partial
+
-
apt-get -o dir::cache=/home/user/MyDocs/.apt-archive-cache    etc...
+
-
 
+
-
 
+
-
account-plugin-idle
+
-
adblock-plus
+
-
anki
+
-
ankimaemi
+
-
ankiqt
+
-
attitude
+
-
canola2
+
-
canola2-lastfm-plugin
+
-
canola2-tuning-plugin
+
-
canola2-youtube-plugin
+
-
canola-thumbnailer
+
-
conboy
+
-
decoders-support
+
-
easy-deb-chroot
+
-
emerillon
+
-
espeak
+
-
fmradio
+
-
gcompris
+
-
gcompris-sound-en
+
-
gcompris-sound-es
+
-
gonvert
+
-
google-album-art-downloader
+
-
gpxview
+
-
horizon
+
-
kmplayer
+
-
leafpad
+
-
maemo-mancala
+
-
maemo-mapper
+
-
maemo-recorder
+
-
maemo-recorder
+
-
mancala
+
-
mbarcode
+
-
midori
+
-
miniature
+
-
mirror
+
-
mplayer
+
-
mtracker
+
-
mytube
+
-
pastebinit
+
-
pidgin
+
-
qik
+
-
raeddit
+
-
rapier
+
-
recorder
+
-
rsync
+
-
sib
+
-
supertux
+
-
tuxpaint
+
-
vncviewer
+
-
xchat
+
-
xournal
+
-
zbar
+
-
zoutube
+
-
 
+
-
==Configuration==
+
-
Here's some configuration settings that got lost on reflash. I'm not sure where they are stored, so they need to be re-setup via tap tap tap.  Note: if you do a backup on the device you may be able to then run restore which refreshes this, making the below unnecessary; untested.
+
-
 
+
-
The below are mostly stored in gconf under /system/osso/dsm/display, I believe these should be restored as per the back-up/restore application. - codeMonkey
+
-
 
+
-
===Display===
+
-
* Settings-->Display-->Backlight time-out: 2 minutes
+
-
* Settings-->Display-->Lock screen automatically: uncheck
+
-
* Settings-->Display-->Display stays lit when charging: check
+
-
 
+
-
===Text input===
+
-
* Settings-->Text input-->Word completion: uncheck
+
-
* Settings-->Text input-->Auto-capitalization: uncheck
+
-
* Settings-->Text input-->Insert space after word: uncheck
+
-
* Settings-->Text input-->2nd language: Español (América Latina)
+
-
* Settings-->Text input-->Use dual dictionaries: check
+
-
 
+
-
 
+
-
===Time Zone===
+
-
* Settings-->Date and time-->Time Zone: Buenos Aires (this is unfortunately wrong due to incompetence of Argentine government)
+
-
* Settings-->Date and time-->Update automatically: leave unchecked for now. When timezone data gets fixed, check it.
+
-
 
+
-
===Connectivity===
+
-
* Settings-->Connectivity-->Internet connections-->Search interval: 5 minutes
+
-
 
+
-
===General===
+
-
* Settings-->General-->Device lock-->Change lock code (default is 12345)
+
-
 
+
-
===Email Accounts===
+
-
* Region: Argentina
+
-
* Service Provider: Gmail -- I broke down and got a gmail acct :(
+
-
* Account title: Gmail
+
-
* Name: Jeff Moe
+
-
* User name: jebbasan
+
-
* Password: foo
+
-
 
+
-
==Misc==
+
-
echo ":syntax on" > ~/.vimrc
+
-
 
+
-
* Uh, where should this be put, if no bash? In ~/.profile for busybox.
+
-
export TERM=xterm-color
+
-
 
+
-
* To remove the overcute hands shaking at bootup (and therefore boot faster), edit /etc/hildon-welcome.d/default.conf thusly:
+
-
[hildon-welcome]
+
-
#filename=Hands-v32-h264.avi
+
-
You could also put in a different movie (playable by gstreamer), but a still image will not work.
+
=Kernel=
=Kernel=
-
Stock kernel:
+
The new [[User:Jebba/Kernel|kernel page]]
-
uname -a
+
-
Linux Nokia-N900-42-11 2.6.28-omap1 #1 PREEMPT Wed Oct 28 15:32:55 EET 2009 armv7l unknown
+
-
kernel, kernel-modules, kernel-flasher: 2.6.28-20094102.3+0m5
+
=Freemoe git=
 +
* [http://gitorious.org/freemoe freemoe git repo at gitorious.org]
-
==Custom Kernel Modules==
+
git clone git://gitorious.org/freemoe/freemoe.git
-
I have built a pile of kernel modules which should work with the stock N900 kernel. See here:
+
-
[http://www.freemoe.org/users/jebba/kernel/modules/ http://www.freemoe.org/users/jebba/kernel/modules/]
+
=SDK=
-
==Installing my custom kernel==
+
[[User:Jebba/SDK| The SDK page]].
-
Linux Nokia-N900-42-11 2.6.28-omap1-jebba5 #1 PREEMPT Mon Dec 14 00:54:55 MST 2009 armv7l unknown
+
 +
=Repositories=
-
I have built custom kernel packages closely based on the standard kernel that ships with the N900. Differences:
+
* [[User:Jebba/Repositories|Info about repositories]]
-
* FRAMEBUFFER_CONSOLE=y - This fantastic option means you can see console when the kernel boots up, so you see all the text you usually see when booting up a Linux kernel.
+
* [[User:Jebba/Etch]] - The Debian Etch rebuild.
-
* IKCONFIG, IKCONFIG_PROC=y - The kernel configuration is available in /proc. To grab it:
+
=Flashing=
-
zcat /proc/config.gz
+
-
* CONFIG_LOGO=y, CONFIG_LOGO_LINUX_CLUT224=y - Tux, the Linux penguin, at boot! :)
+
Separate [[User:Jebba/Flash| page about flashing]], for your perusal.
-
* The kernel name is 2.6.28-omap1-jebba5 so as to not confuse it with the stock kernel.
+
Note, the [[User:Jebba/Flash|flash]] page has the info about "debricking" easily.
-
You can install this kernel via my repo with apt-get (untested), or manually, which is recommended for now. Procedure (assuming you are running the kernel that ships with the device):
+
=Wifi Hotspot=
 +
How to set up your N900 as a [[User:Jebba/NAT|wifi hotspot]] to share it's connection with other computers. :)
-
* Make a backup of your current kernel's modules. That way if you want to revert, you can flash it via USB cable and the modules will be there. (You can also revert via dpkg, but this is just in case of "emergencies").
+
=Mer=
-
cp -a /lib/modules/2.6.28-omap1 /lib/modules/2.6.28-omap1.orig
+
-
* Grab my kernels with wget or whatever (check the dir for more recent versions too).
+
[[User:Jebba/Mer| Jebba Mer]]
-
wget \
+
-
http://www.freemoe.org/users/jebba/dists/unstable/main/binary-armel/kernel_2.6.28-20094102.3+0m10_armel.deb \
+
-
http://www.freemoe.org/users/jebba/dists/unstable/main/binary-armel/kernel-modules_2.6.28-20094102.3+0m10_armel.deb \
+
-
http://www.freemoe.org/users/jebba/dists/unstable/main/binary-armel/kernel-flasher_2.6.28-20094102.3+0m10_armel.deb
+
-
* Install the .debs with dpkg. Note the flasher has to be installed last. If you install them with dpkg all at once, dpkg will prioritize the flasher first, so it won't move the kernel into place. Point of no return:
+
=Fedora=
-
dpkg -i \
+
-
kernel_2.6.28-20094102.3+0m10_armel.deb \
+
-
kernel-modules_2.6.28-20094102.3+0m10_armel.deb
+
-
* Now install the flasher, which will automatically flash when installed:
+
[[User:Jebba/Fedora| Fedora 12 on Nokia N900]] (!!)
-
dpkg -i kernel-flasher_2.6.28-20094102.3+0m10_armel.deb
+
-
* Ok, so the kernel is there, but lets move the original stock modules back into place so you can flash the zImage via flasher-3.5 and USB cable should it be necessary. First we need to remove the mostly empty old dir, then copy the backup:
 
-
rm -rf /lib/modules/2.6.28-omap1
 
-
cp -a /lib/modules/2.6.28-omap1.orig /lib/modules/2.6.28-omap1
 
-
 
-
* Now just reboot, yee haw!
 
-
sudo reboot
 
-
 
-
* Enjoy. :)
 
-
 
-
==Flashing Kernel==
 
-
===Notes===
 
-
 
-
* The docs I can find about this all look pretty antiquated.
 
-
 
-
* The stock system runs with 62 kernel modules loaded, including things like ext3 and fat.
 
-
 
-
* The kernel debs that are installed are: kernel, kernel-flasher ("Linux kernel updater"), kernel-modules.
 
-
 
-
===See Also===
 
-
* [[Documentation/Maemo_5_Developer_Guide/Kernel_and_Debugging_Guide/Maemo_Kernel_Guide|Maemo Kernel Guide]]
 
-
 
-
* [[Compiling the kernel]] - "This is an article from the old midgard wiki that hasn't yet been fully updated for this wiki, please update it."
 
-
 
-
 
-
===Compile custom kernel===
 
-
I followed the procedure in the [[Documentation/Maemo_5_Developer_Guide/Kernel_and_Debugging_Guide/Maemo_Kernel_Guide|Maemo Kernel Guide]], without making changes. This gave me a bootable kernel. :)
 
-
 
-
sb-conf select FREMANTLE_ARMEL
 
-
 
-
sb-conf setup MaemoKernel \
 
-
-c cs2007q3-glibc2.5-arm7 \
 
-
-d qemu:perl:svn:apt-https -t /scratchbox/devkits/qemu/bin/qemu-arm-sb
 
-
 
-
sb-conf select MaemoKernel
 
-
 
-
sb-conf rs MaemoKernel \
 
-
/home/jebba/maemo-sdk-rootstrap_5.0_armel.tgz
 
-
 
-
# disable other stuff in apt sources.list
 
-
 
-
mkdir ~/maemo_kernel
 
-
 
-
sb-conf select MaemoKernel
 
-
fakeroot apt-get update
 
-
cd ~/maemo_kernel
 
-
apt-get source kernel
 
-
cd kernel-2.6.28
 
-
 
-
make EXTRAVERSION=-omap1 bzImage
 
-
ls -lh arch/arm/boot/zImage
 
-
 
-
# flash the thing
 
-
flasher-3.5 -f -k /scratchbox/users/jebba/home/jebba/\
 
-
maemo_kernel/kernel-2.6.28/arch/arm/boot/zImage
 
-
 
-
# wow, sure flashes fast, like in 1 second
 
-
 
-
 
-
To unbrick if something goes wrong, unpack the main N900 .bin flash image and flash with the kernel from there. See [[User:Jebba#Unpacking_flash_image|unpacking flash image]] section.
 
-
 
-
==Random kernel notes==
 
-
* "SmartReflex can perform continuous dynamic voltage scaling around the nominal operating point voltage according to silicon characteristics and operating conditions. Enabling SmartReflex reduces power consumption. Please note, that by default SmartReflex is only initialized. To enable the automatic voltage compensation for VDD1 and VDD2, user must write 1 to /sys/power/sr_vddX_autocomp, where X is 1 or 2.
 
-
~ $ cat  /sys/power/sr_vdd1_autocomp
 
-
0
 
-
~ $ cat  /sys/power/sr_vdd2_autocomp
 
-
0
 
-
 
-
 
-
* Enable framebuffer console so bootup messages can be seen.
 
-
 
-
* [http://news.gmane.org/gmane.linux.ports.arm.omap linux-omap mailing list archives]
 
=VNC=
=VNC=
-
[http://en.wikipedia.org/wiki/Virtual_Network_Computing VNC] allows you to view the screen of the N900 on your laptop so you can do things more easily that having to use the tiny little thing if you are working on it all day.
 
-
* Set up the [[Extras-testing]] repository
+
Over at [[User:Jebba/VNC]].
-
* Install x11vnc (I ''think'' it's in -testing).
+
-
* Set up a password for VNC on on the N900:
+
-
x11vnc -storepasswd
+
-
* Run this script on your laptop (my hostname is burger and my laptop's IP is 10.0.0.3):
+
-
 
+
-
ssh -n user@burger \
+
-
        "x11vnc \
+
-
        -usepw \
+
-
        -display :0 \
+
-
        -desktop burger \
+
-
        -allow 10.0.0.3 \
+
-
        -nolookup \
+
-
        -q \
+
-
        -bg \
+
-
        -o /home/user/vnc-log \
+
-
        "
+
-
* This works fine with tigervnc on Fedora 12.
+
-
 
+
-
* Running x11vnc with "-ssl" does not work--I think the problem there may be with tigervnc as x11vnc starts with it OK.
+
-
 
+
-
* I usually do VNC in an ssh tunnel--I don't know if this would create too much of a load on the N900 or not. Will test.
+
-
 
+
-
* VNC behaves differently whether the keyboard is slid out or not. Basically, you want the keyboard out.
+
=Backups=
=Backups=
-
Thankfully, pre-bricking, I had made a backup. There are a billion different ways to do this, but one quick way is good old rsync. This script backs up everything except the --excluded directories which are either things I don't want to back up (cities) or things you can't/shouldn't back up (/proc).
 
-
#!/bin/sh
+
See [[User:Jebba/Backups]]
-
+
-
rsync \
+
-
        -avv -ult --progress --stats \
+
-
        --rsh=ssh \
+
-
        --exclude /home/user/MyDocs/cities \
+
-
        --exclude /home/user/MyDocs/.sounds \
+
-
        --exclude /proc \
+
-
        --exclude /dev \
+
-
        --exclude /sys \
+
-
        --exclude /syspart \
+
-
        root@burger:/ \
+
-
        /home/jebba/BACKUPS/burger/
+
=Video=
=Video=
-
==Encoding Video==
 
-
I had some video which played way too slow on the N900, so I re-encoded with this pile of cruft:
 
-
 
-
#!/bin/sh
 
-
 
-
mencoder $1 -oac mp3lame -ovc lavc \
 
-
        -lavcopts vcodec=mpeg4:mbd=1:vbitrate=300 -vf scale=352:208 \
 
-
        -ffourcc DIVX -o $1-out.avi
 
-
Run thusly:
 
-
 
-
burger-encode ralf.mov
 
-
 
-
And it will give you "ralf-out.mov.avi"...Uh, I will have the output file get a reasonable name, of course... Works for now. This does ''not'' work on the N900 at the moment because the mencoder in the mplayer package is compiled without mp3lame support. Bah.
 
-
 
-
See also (where I got above from): [[Manual_video_encoding]].
 
-
 
-
Ok, here's a far better script than the above that I took and slightly modified to work with gpac instead of mp4creator.
 
-
 
-
#!/bin/bash
 
-
# n900-encode
 
-
# Encode videos for N900...
 
-
#
 
-
# On Fedora 12 (rpmfusion.org) needs packages:
 
-
# gpac, mplayer, mencoder, x264, faac
 
-
# Run thusly:
 
-
# n900-encode [in video] [out video] [options]
 
-
# Example:
 
-
# n900-encode cabezon.mp4 cabezon.avi
 
-
#
 
-
# Largely taken from:
 
-
# http://www.seiichiro0185.org/doku.php/n800:mp4encoding
 
-
 
-
_INFILE="$1"
 
-
_OUTFILE="$2"
 
-
_MPOPTS="$3"
 
-
 
-
identifySource()
 
-
{
 
-
  mplayer -identify -ao null -vo null -endpos 2 ${_MPOPTS} "${_INFILE}" | grep ID_ > /tmp/n800-encode.$$.ident
 
-
  FPS=$(cat /tmp/n800-encode.$$.ident | grep ID_VIDEO_FPS | uniq | cut -d '=' -f 2)
 
-
  ASPECT=$(cat /tmp/n800-encode.$$.ident | grep ID_VIDEO_ASPECT | tail -n 1 | cut -d '=' -f 2 | cut -d ' ' -f 2)
 
-
 
-
  WS=`expr $ASPECT \> 1.6 \& $ASPECT \< 1.9`
 
-
 
 
-
  if [[ `expr $ASPECT \> 2.0` -eq 1 ]]
 
-
  then
 
-
    WS=2
 
-
  fi
 
-
  case ${WS} in
 
-
    0) SCALE="320:240"
 
-
      echo "encoding for standard"
 
-
      ;;
 
-
    1) SCALE="400:224"
 
-
      echo "encoding for widescreen"
 
-
      ;;
 
-
    2) SCALE="400:192"
 
-
      echo "encoding for extra-widescreen"
 
-
      ;;
 
-
  esac
 
-
}
 
-
 
-
encode()
 
-
{
 
-
  x264 -o "$PWD/n800-encode.$$/video.264" "$PWD/n800-encode.$$/video.y4m" --threads 3 --no-cabac --bitrate 250 -A i4x4,p4x4,p8x8,b8x8 --level 1.2 >/dev/null 2>/dev/null &
 
-
  faac -b 96 --mpeg-vers 4 -o "$PWD/n800-encode.$$/audio.aac" "$PWD/n800-encode.$$/audio.wav" 2>/dev/null >/dev/null&
 
-
  sleep 1
 
-
  mplayer -vf scale=${SCALE},unsharp=c4x4:0.3:l5x5:0.5 -ao pcm:file="$PWD/n800-encode.$$/audio.wav" -vo yuv4mpeg:file="$PWD/n800-encode.$$/video.y4m" -ass -embeddedfonts -noframedrop ${_MPOPTS} "${_INFILE}"
 
-
  rm -f "${_OUTFILE}"
 
-
 
-
  MP4Box -new -add "$PWD/n800-encode.$$/video.264" -add "$PWD/n800-encode.$$/audio.aac" -fps ${FPS} "${_OUTFILE}"
 
-
}
 
-
 
-
prepareTemp()
 
-
{
 
-
  mkdir -p "$PWD/n800-encode.$$"
 
-
  mkfifo "$PWD/n800-encode.$$/video.y4m"
 
-
  mkfifo "$PWD/n800-encode.$$/audio.wav"
 
-
}
 
-
 
-
cleanupTemp()
 
-
{
 
-
  rm -Rf "$PWD/n800-encode.$$"
 
-
  rm -f /tmp/n800-encode.$$.ident
 
-
}
 
-
 
-
trap cleanupTemp SIGINT SIGTERM
 
-
 
-
identifySource
 
-
prepareTemp
 
-
encode
 
-
cleanupTemp
 
-
 
-
==mplayer==
 
-
Play video from main "good" back camera:
 
-
mplayer tv:// -tv device=/dev/video0
 
-
 
-
Play video from front camera (next to screen):
 
-
mplayer tv:// -tv device=/dev/video1
 
-
 
-
Note, the front camera looks absolutely terrible like there is far too much gain or something and has a huge band across the right side. I'm hoping this is just a kernel driver issue and it will contain less suck in the future.
 
-
 
-
More extensive scriptlet:
 
-
mplayer \
 
-
        -fs \
 
-
        -v \
 
-
        -nosound \
 
-
        -ao null \
 
-
        -nojoystick \
 
-
        -nolirc \
 
-
        -ontop \
 
-
        -framedrop \
 
-
        -stop-xscreensaver \
 
-
        -nocache \
 
-
        -noslices \
 
-
        -vo xv \
 
-
        -tv device=/dev/video0 \
 
-
        tv://
 
-
 
-
The -tv option can take many more options, like:
 
-
-tv brightness=50:contrast=50:hue=0:saturation=-0:gain=0:device=/dev/video0
+
More space for talking about [[User:Jebba/Video|video]] at the new page.
-
If your camera settings get weird (e.g. like everybody looks like a green monster), just quit mplayer, close the camera and re-open it. The default/stock program will reset it.
+
=Mirrors=
 +
I have shut down my mirrors.
-
===See also===
+
A [[User:Jebba/Mirror| mini-HOWTO set up mirroring maemo repository content]]
-
[http://talk.maemo.org/showthread.php?t=26288 use cam as desktop webcam with gstreamer]
+
=DBUS=
=DBUS=
-
This section is being merged to form a new, better, more powerful [[Phone_control|Phone control]] page. See also [https://garage.maemo.org/plugins/wiki/index.php?Tools&id=1106&type=g call forward] & [https://garage.maemo.org/plugins/wiki/index.php?Tools&id=1106&type=g CSD].
+
Now at [[User:Jebba/DBUS]].
-
Here's a number of dbus examples that can be run as simple shell scripts. When running them they should be run with `run-standalone.sh` in front of them to set up the environment correctly. Otherwise they may barf when run from cron, startup, install scripts, etc. They run fine when run as user "user" without `run-standalone.sh`. Example:
+
=Gripes=
-
run-standalone.sh dbus-send /foo bar 'boo'
+
-
===dbus-send-call===
+
I [[User:Jebba/Gripes| gripe over here now]].
-
dbus-send --system --dest=com.nokia.csd.Call --type=method_call --print-reply \
+
-
/com/nokia/csd/call com.nokia.csd.Call.CreateWith string:"$1" uint32:0
+
-
With this fantastic command you can make a fone call from the command line. Change $1 to whatever number you want, or if you put this in a shell script, run it and use the number you want to call as the option, ala:
 
-
dbus-send-call 15555551234
 
-
===dbus-send-call-start-ui===
+
=Freemoe=
-
dbus-send --print-reply --type=method_call --dest=com.nokia.HildonDesktop.AppMgr /com/nokia/HildonDesktop/AppMgr com.nokia.HildonDesktop.AppMgr.LaunchApplication string:'rtcom-call-ui'
+
I have a server co-located at [http://www.netdepot.com NetDepot] with a SDK installed. If you would like an account on there send me an email at moe@blagblagblag.org.
-
===dbus-send-tick===
+
* [[User:Jebba/Freemoe|Freemoe wiki]]
-
Vibrates like the "tick" when you tap or somethig.
+
-
dbus-send --print-reply --system --dest=com.nokia.mce /com/nokia/mce/request com.nokia.mce.request.req_vibrator_pattern_activate string:'PatternTouchscreen'
+
-
===dbus-send-vibrate===
+
* [http://www.freemoe.org/ Freemoe web server]
-
Vibrate the phone  :)
+
-
dbus-send --print-reply --system --dest=com.nokia.mce /com/nokia/mce/request  com.nokia.mce.request.req_vibrator_pattern_activate string:'PatternChatAndEmail' is a little bit longer
+
-
 
+
-
===dbus-send-deactivate-led===
+
-
Dunno if this works.
+
-
 
+
-
dbus-send --system --type=method_call --dest=com.nokia.mce /com/nokia/mce/request com.nokia.mce.request.req_led_pattern_deactivate string:PatternCommunicationChat
+
-
 
+
-
===dbus-send-disconnect-net===
+
-
dbus-send --system --dest=com.nokia.icd /com/nokia/icd_ui com.nokia.icd_ui.disconnect boolean:true
+
-
 
+
-
===dbus-send-email-new===
+
-
dbus-send --print-reply --type=method_call --dest=com.nokia.modest /com/nokia/modest com.nokia.modest.MailTo string:mailto:
+
-
 
+
-
===dbus-send-email-tx-rx===
+
-
Doesn't work
+
-
dbus-send --session --type=method_call --dest=com.nokia.osso_email /com/nokia/osso_email com.nokia.osso_email.send_and_receive
+
-
 
+
-
===dbus-send-get-imei===
+
-
dbus-send --system --print-reply --type=method_call --dest=com.nokia.phone.SIM /com/nokia/phone/SIM/security Phone.Sim.Security.get_imei
+
-
 
+
-
===dbus-send-google===
+
-
dbus-send --system --type=method_call --dest="com.nokia.osso_browser" --print-reply /com/nokia/osso_browser/request com.nokia.osso_browser.load_url string:"google.com"
+
-
 
+
-
===dbus-send-hello-world===
+
-
dbus-send --print-reply  \
+
-
--type=method_call --dest=org.freedesktop.Notifications  \
+
-
/org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteDialog  \
+
-
string:'Hello, world!' uint32:0 string:'NAO OK!'
+
-
 
+
-
===dbus-send-im-here===
+
-
dbus-send --type=method_call --print-reply --dest=org.freedesktop.Telepathy.MissionControl /org/freedesktop/Telepathy/MissionControl org.freedesktop.Telepathy.MissionControl.SetPresence uint32:2 string:"I'm here"
+
-
 
+
-
===dbus-send-lock===
+
-
dbus-send --print-reply --system --type=method_call --dest=com.nokia.system_ui /com/nokia/system_ui/request com.nokia.system_ui.request.devlock_open string:'com.nokia.mce' string:'/com/nokia/mce/request' string:'com.nokia.mce.request' string:'devlock_callback' uint32:'3'
+
-
 
+
-
===dbus-send-media-play===
+
-
dbus-send --print-reply --dest=com.nokia.mediaplayer /com/nokia/mediaplayer com.nokia.mediaplayer.mime_open string:"file:///$1"
+
-
 
+
-
===dbus-send-music-pause===
+
-
dbus-send --dest=com.nokia.osso_media_server /com/nokia/osso_media_server com.nokia.osso_media_server.music.pause
+
-
 
+
-
===dbus-send-notification===
+
-
Usage:
+
-
dbus-send-notification "foo bar boo bah bang"
+
-
 
+
-
dbus-send --print-reply  \
+
-
--type=method_call --dest=org.freedesktop.Notifications  \
+
-
/org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteDialog  \
+
-
string:"$1" uint32:0 string:'NAO OK!'
+
-
 
+
-
===dbus-send-pause-panucci===
+
-
dbus-send --type="method_call" --dest=org.panucci.panucciInterface /panucciInterface org.panucci.panucciInterface.playPause
+
-
 
+
-
===dbus-send-reboot===
+
-
dbus-send --system --type=method_call --dest="com.nokia.mce" --print-reply "/com/nokia/mce/request" com.nokia.mce.request.req_reboot
+
-
 
+
-
===dbus-send-regist-status===
+
-
dbus-send --system --print-reply --type=method_call --dest='com.nokia.phone.net' /com/nokia/phone/net Phone.Net.get_registration_status
+
-
 
+
-
===dbus-send-show_conn===
+
-
dbus-send --print-reply --system --dest=com.nokia.icd_ui /com/nokia/icd_ui com.nokia.icd_ui.show_conn_dlg boolean:true
+
-
 
+
-
===dbus-send-shutdown===
+
-
dbus-send --system --type=method_call --dest="com.nokia.mce" --print-reply "/com/nokia/mce/request" com.nokia.mce.request.req_shutdown
+
-
 
+
-
===dbus-send-speaker-off===
+
-
dbus-send --type=method_call --dest=com.nokia.osso_hp_ls_controller /com/nokia/osso_hp_ls_controller com.nokia.osso_hp_ls_controller.loudspeaker.force_ loudspeaker_off
+
-
 
+
-
===dbus-send-speaker-on===
+
-
dbus-send --type=method_call --dest=com.nokia.osso_hp_ls_controller /com/nokia/osso_hp_ls_controller com.nokia.osso_hp_ls_controller.loudspeaker.force_ loudspeaker_on
+
-
 
+
-
===dbus-send-task-switcher===
+
-
dbus-send --type=signal --session /com/nokia/hildon_desktop com.nokia.hildon_desktop.exit_app_view
+
-
 
+
-
===dbus-send-unlock===
+
-
dbus-send --system --type=method_call --dest=com.nokia.mce /com/nokia/mce/request com.nokia.mce.request.req_tklock_mode_change string:"unlocked"
+
-
 
+
-
===dbus-send-unlock2===
+
-
dbus-send --print-reply --system --type=method_call --dest=com.nokia.system_ui /com/nokia/system_ui/request com.nokia.system_ui.request.devlock_close string:'com.nokia.mce' string:'/com/nokia/mce/request' string:'com.nokia.mce.request' string:'devlock_callback' uint32:'0'
+
-
 
+
-
=Gripes=
+
-
* Not all Free Software....
+
-
* 256M of NAND is way too little if it is going to be the root filesystem (/). It is way to easy to fill up. I see that they need to do this for reflashing, but since on reflash all the applications in /opt get lost anyway, what good does it do to have them there? Seems they could have mounted /usr on the 32G, or even better just put /boot on NAND and in that case NAND could even be smaller. Seems very dumb to have 32G+ of space on the device, yet still fill up the rootfs! The vast majority of users are going to have ''no'' clue how to repartition (which I will do here shortly) and aren't going to be able to install many applications, which should be a great ''strength'' of this device since it can multitask so well and the repositories are going to blossom
+
-
* 4 rows of keys would have been a lifesaver.
+
-
* No | (pipe) or tab key
+
-
* The camera doesn't autofocus, or at least not when you need it to.
+
-
* When charging the phone and talking on it, the power cable is sticking out the top, not the bottom.
+
-
* No dictionary/translation program (!)
+
-
* Docs, info, contacts, etc. are spewed all over the place. For instance, try to find out info about Canola. Some on this wiki, some in garage, some at their site, etc. Where does one file a bug? I've been told to ignore garage and do most at *.maemo.org, but then they should ditch those parts at garage to make things cleaner.
+
-
* SDK pretty much assumes you are running 32-bit Debian or Ubuntu. It's not really cooperating nicely in a Debian Lenny install inside qemu.
+
=Bugs=
=Bugs=
-
==Bugs to file==
+
[[User:Jebba/Bugs|Bugs]] now has its own page.
-
===Broken===
+
-
 
+
-
* Per FSH:
+
-
ln -s /etc/opt /opt/etc
+
-
 
+
-
* After reflash, extra apps are still in /opt, but are "missing" since the symlinks from /usr/bin are gone.
+
-
** More steps needed - which exact apps, did you restore from Backup? --andre
+
-
 
+
-
* Saving preferences in xchat crashes.
+
-
** I can confirm this, but I don't know if the Maemo port of xchat  has a separate bugtracker in garage.maemo.org  --andre
+
-
 
+
-
* "Clear private data on exit" in Midori doesn't actually clear ~/.cache/midori/web (!). I spoke to packager ([http://maemo.org/profile/view/kalikiana/ kalikiana]) on IRC and he said he would look into it.
+
-
`rm  -rf ~/.cache/midori ; rm -rf ~/.config/midori`      Start midori.  Go to some website.  Click "Tools".  Click "Clear Private Data".    Check "Clear private data when quitting Midori"  (but DON'T click "Clear private data" button).  Tap blurry part at top to close private data window.  Exit Midori.  `ls -R ~/.cache/midori/web`  and see the .pngs or whatever.
+
-
 
+
-
* `less`, `vim` etc. don't see to like $TERM=rxvt-unicode. Using $TERM=xterm-color works fine. Probably not worth filing a bug...
+
-
** vi is available via default, but not vim. Feel free to file a bug report with exact steps. --andre
+
-
 
+
-
* lcuk: package liqcontrolpanel's summary is "short description". Package should be removed entirely.
+
-
 
+
-
* Image viewer: 1) rotate image 2) view thumbnail. Image doesn't get rotated in thumbnail in *some* cases.
+
-
 
+
-
* Maps viewer (OVI): The program is running ok in Spanish, but map data is in English (e.g. "South Pacific Ocean" "South America"). I first ran the program in English, but have subsequently set the system to Spanish.
+
-
 
+
-
===RFEs===
+
-
* Alarm clock should show ''current'' time, not time alarm was set for, or when you hit snooze, you can't see current time (and think it is alarm time!).
+
-
 
+
-
* Package manager can only install one package at a time (in contrast to how synaptic does it, for example).
+
-
** https://bugs.maemo.org/show_bug.cgi?id=601 . Feel free to vote. --andre
+
-
 
+
-
* In package manager you have to keep scrolling down to the package you want. You can't just hit "r" for example and have it scroll to "r" in the list of packages. This is actually pervasive throughout Maemo 5. It seems to only really do this in Contacts app.
+
-
** https://bugs.maemo.org/show_bug.cgi?id=5388 . Feel free to vote. --andre
+
-
 
+
-
* It totally sucks that if someone steals your phone, they pretty much own you. At least /home/user/MyDocs should be encrypted. Ideally this would be done with LUKS and decrypt at boot with a password. Perhaps [https://launchpad.net/ecryptfs encryptfs]
+
-
** https://bugs.maemo.org/show_bug.cgi?id=6030 is related for Mail storage - feel free to file a new enhancement request --andre
+
-
 
+
-
* In Contacts app, it always shows a SMS button for phone numbers, even if they are landlines.
+
-
** https://bugs.maemo.org/show_bug.cgi?id=6375 - probably WONTFIX for convenience reasons --andre
+
-
 
+
-
* Need a #maemo-devel channel too, as #maemo is noisy...
+
-
 
+
-
* xchat is totally not tweaked for maemo, such as scrolling...
+
-
 
+
-
* mplayer should use pulsebarfaudio by default, not alsa:
+
-
echo "ao = pulse" > ~/.mplayer/config
+
-
 
+
-
* Media Player doesn't thumbnail videos after they are taken with the N900 camera/video app. It didn't after closing and re-opening app, but I see they are now thumbnailed (post flashing). Anyway, it should do them "immediately".
+
-
 
+
-
* Lots of internationalization packages are taking up space needlessly. But if, for example, Swedish Calendar support is removed, it wants to remove the whole calendar. The i10n packages should be removable without removing the whole app.
+
-
 
+
-
* OGG support out-of-the-box. I mean, c'mon now...
+
-
** Political reasons - see https://bugs.maemo.org/show_bug.cgi?id=176 --andre
+
-
 
+
-
* App Manager should include $LICENSE in Description.
+
-
** Worth an enhancement request, explaining why you want this --andre
+
-
 
+
-
* qik.com doesn't work with gnash (I mailed them and they mailed back saying, uh, ya, sorry).
+
-
 
+
-
* Continual autofocus on camera (apparently hardware limitation??)
+
-
** Sounds like https://bugs.maemo.org/show_bug.cgi?id=5688 ? Fixed after 42-11 release. --andre
+
-
 
+
-
==Bugs of Note==
+
-
Here's a few [https://bugs.maemo.org/ bugs] of interest to [https://bugs.maemo.org/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=moe%40blagblagblag.org&emailtype1=exact&emailassigned_to1=1&emailreporter1=1 me]. Please [https://bugs.maemo.org/votes.cgi?action=show_user vote] for them. :)
+
-
 
+
-
===No Source Code===
+
-
* [https://bugs.maemo.org/show_bug.cgi?id=7019 Please release source code to getbootstate]
+
-
* [https://bugs.maemo.org/show_bug.cgi?id=6604 Provide source for libspeex, libspeexdsp]
+
-
 
+
-
===Builder===
+
-
* [https://bugs.maemo.org/show_bug.cgi?id=3354 Publishing packages to garage.maemo.org oftens results in "lost connection" and "permission denied" from scp]
+
-
 
+
-
* [https://bugs.maemo.org/show_bug.cgi?id=6723 Would be great if it would be possible to see build log of in-progress build]
+
-
 
+
-
* [https://bugs.maemo.org/show_bug.cgi?id=5818 We need servers]
+
-
 
+
-
===Argentina Time Zone===
+
-
* [https://bugs.maemo.org/show_bug.cgi?id=6481 Buenos Aires, Argentina time off by 1 hour]
+
-
* [https://bugs.maemo.org/show_bug.cgi?id=6534 Inital setup time zone: America Latina only lists cities in Mexico]
+
-
 
+
-
===Calendar/Tasks===
+
-
* [https://bugs.maemo.org/show_bug.cgi?id=6518 RFE: Show calendar when selecting dates in Tasks/Calendar]
+
-
* [https://bugs.maemo.org/show_bug.cgi?id=6505 Provide bi-daily/weekly/monthly recurrences]
+
-
* [https://bugs.maemo.org/show_bug.cgi?id=5955 Add option to select multiple days on weekly repeating events.]
+
-
* [https://bugs.maemo.org/show_bug.cgi?id=5954 Add relative day option for monthly repeating events (e.g. "1st Monday of month")]
+
-
* [https://bugs.maemo.org/show_bug.cgi?id=5296 Day picker shows no daynames - hard to enter recurrence for e.g. 5 days only]
+
-
 
+
-
===Chat & Call & SMS===
+
-
* [https://bugs.maemo.org/show_bug.cgi?id=5624 Zoom in/out in IM chat does not reflow contents] ("Carolina's bug")
+
-
* [https://bugs.maemo.org/show_bug.cgi?id=6548 Google Talk Video Chat crash & lack of interoperability]
+
-
 
+
-
 
+
-
===Contacts===
+
-
* [https://bugs.maemo.org/show_bug.cgi?id=5742 Contacts: Provide "Fax" field(s)]
+
-
* [https://bugs.maemo.org/show_bug.cgi?id=6083 Edit/Rename field names or being able to add remarks]
+
-
 
+
-
===Canola===
+
-
* [https://bugs.maemo.org/show_bug.cgi?id=6511 Canola last.fm plugin doesn't allow you to enter username/password]
+
-
 
+
-
===Desktop===
+
-
* [https://bugs.maemo.org/show_bug.cgi?id=6632 Background image does not show correct rotation]
+
-
 
+
-
===Mailing Lists===
+
-
* [https://bugs.maemo.org/show_bug.cgi?id=6565 maemo-announce should be used or shut down]
+
-
 
+
-
===diff/busybox===
+
-
* [https://bugs.maemo.org/show_bug.cgi?id=3032 missing diff utility (required by the GNU Coding Standards)]
+
-
 
+
-
===wiki===
+
-
* [https://bugs.maemo.org/show_bug.cgi?id=6569 clicking on wiki username *edits* their page instead of viewing it]
+
-
 
+
-
===lsb-core===
+
-
* [https://bugs.maemo.org/show_bug.cgi?id=6606 No getopts, called by init-functions (lsb-core)] - breaks `/etc/init.d/asterisk start` (asterisk 1.6)
+
-
 
+
-
===ringtones===
+
-
* [https://bugs.maemo.org/show_bug.cgi?id=5356 Assign a ring tone and ring volume on a per-contact level]
+
=My Packages=
=My Packages=
-
These are packages I have built and are available in the maemo repository, packages I've built and are in my repository or packages I'd like to see built.
 
-
==In Maemo Repository==
+
There is now a separate [[User:Jebba/Packages by Jebba|Packages by Jebba]] page.
-
===Burgerspace===
+
-
* Fantastic. Heh.
+
-
* Workz.
+
-
* [http://maemo.org/packages/view/burgerspace/ maemo packages page]
+
-
* [http://talk.maemo.org/showthread.php?t=37573 Talk discussion thread]
+
-
* [https://bugs.maemo.org/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&classification=Extras&product=BurgerSpace&long_desc_type=substring&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=&emailassigned_to1=1&emailtype1=substring&email1=&emailassigned_to2=1&emailreporter2=1&emailqa_contact2=1&emailcc2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0= Bugzilla]
+
-
* Built deps [http://maemo.org/packages/view/libflatzebra-0.1-2 libflatzebra] and [http://maemo.org/packages/view/libflatzebra-dev libflatzebra-dev]
+
-
* Is aligned left, not center.
+
-
* Press spacebar to begin.
+
-
* ctrl key for salt.
+
-
* Oli wants to throw salt with Z instead--update .desktop
+
-
* First package I figured out the Maemo way for desktop/installer icons and .desktop file for menus. Now that I see all that, this gonna be ez.
+
-
* gtk icon cache script in postinst.
+
-
* get some better larger icons.
+
-
* Need to get fullscreen mode, as too much is cropped.
+
-
* Waiting for bugzilla Product.
+
-
* Many N900 keyboards don't have up and down arrows without holding Fn! This seems like a huge FAIL to me, but need to work around it.
+
-
===Asterisk===
 
-
I have asterisk packages in extras-testing.
 
-
Connected to Asterisk 1.6.2.0-3 currently running on Nokia-N900-42-11 (pid = 1692)
+
=VoIP=
-
====Asterisk Packages in Maemo extras-testing====
+
See: [[User:Jebba/VoIP]].
-
* [http://maemo.org/packages/view/asterisk/ asterisk]
+
-
* [http://maemo.org/packages/view/asterisk-config/ asterisk-config]
+
-
* [http://maemo.org/packages/view/asterisk-dbg asterisk-dbg]
+
-
* [http://maemo.org/packages/view/asterisk-dev asterisk-dev]
+
-
* [http://maemo.org/packages/view/asterisk-doc asterisk-doc]
+
-
* [http://maemo.org/packages/view/asterisk-sounds-main asterisk-sounds-main]
+
-
====Asterisk Bugzilla====
+
=ofono=
-
* [https://bugs.maemo.org/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&classification=Extras&product=asterisk&long_desc_type=substring&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=&emailassigned_to1=1&emailtype1=substring&email1=&emailassigned_to2=1&emailreporter2=1&emailqa_contact2=1&emailcc2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0= asterisk bugzilla]
+
[[User:Jebba/Ofono]]
-
====Misc====
+
=Cryptsetup=
-
* [http://wiki.blagblagblag.org/BLASTERISK BLASTERISK] - ''fantastico''.
+
[[User:Jebba/Cryptsetup]] - HOWTO use crypto filesystem on N900.
 +
=Setup=
-
===diffmo!===
+
I have [[User:Jebba/Setup| move setup]] to its own page. A bit antiquated already!
-
ok, out of sheer frustration with [https://bugs.maemo.org/show_bug.cgi?id=3032 missing diff utility (required by the GNU Coding Standards)] I have packaged up "diffmo", which is diff, diff3, sdiff, and cmp, but renamed to diffmo, diff3mo, sdiffmo, and cmpmo. :)
+
-
 
+
-
* [http://maemo.org/packages/view/diffmo/ maemo packages page]
+
-
* [http://talk.maemo.org/showthread.php?t=37602 diffmo thread on talk]
+
-
* [https://bugs.maemo.org/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&classification=Extras&product=diffmo&long_desc_type=substring&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=&emailassigned_to1=1&emailtype1=substring&email1=&emailassigned_to2=1&emailreporter2=1&emailqa_contact2=1&emailcc2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0= Bugzilla]
+
-
 
+
-
* colordiff - would be nice too. I've built it, but it requires diff. May patch it up so it uses diffmo.
+
-
 
+
-
==Packages in My Repository==
+
-
I have set up a package repository. To use it you need to add my repo. In the application manager, add it thusly (I'm translating from Spanish, so the words may be slightly different.
+
-
 
+
-
* Catalog name:
+
-
jebba
+
-
* Web address:
+
-
http://www.freemoe.org/users/jebba
+
-
* Distribution
+
-
unstable
+
-
* Components
+
-
main
+
-
 
+
-
==Packages TODO==
+
-
Package these or get someone to do it.
+
-
 
+
-
 
+
-
===Dictionary / Translation ===
+
-
I'm really surprised there aren't a dozen of these.
+
-
 
+
-
* fantasdic - dictionary
+
-
 
+
-
* [http://babiloo-project.org/ Babiloo] - offline dictionary
+
-
 
+
-
 
+
-
===Wikipedia===
+
-
 
+
-
I have done an offline wikipedia reader for FREEEEE in the past, but it was only 2000 articles (though with images). Still way small.
+
-
 
+
-
* [http://www.reitwiessner.de/openmoko/evopedia.html evopedia looks rad] - Gah, uses squashfs which isn't in the n900 kernel (no suprise there), but also isn't in the 2.6.28 kernel. Which would mean patching it in to a kernel that has branched quite a ways from mainline. Which means pain. :(
+
-
 
+
-
===Misc===
+
-
 
+
-
* git - Poked at this for a bit based on git in Debian Sid and updated to the latest release, but they have so much other stuff going on in there, I'm just gonna start from scratch. It compiles and runs, but getting it all into a clean .deb is a mess right now. Also fails tests because there's no `expect` in repos yet.
+
-
 
+
-
* some video conferencing app (telepathy-gabble), jingle etc.
+
-
 
+
-
 
+
-
* [http://www.tangogps.org tangogps] - "an easy to use, fast and lightweight mapping application for use with or without GPS."
+
-
 
+
-
* Take a look at the various [http://wiki.openmoko.org/wiki/Applications OpenMoko (OpenSnot) applications]
+
-
 
+
-
* boa - lightweight webserver (cute). Using lighttpd, which seems to fit the bill already tho.
+
-
 
+
-
* lshw - wants PCI stuff, so maybe won't work very well anyway. It doesn't show too much on my Sharp Netwalker.
+
-
 
+
-
==See Also==
+
-
* [http://pkg-perl.alioth.debian.org/howto/quilt.html Quilt for Debian Maintainers]
+
-
* [[Documentation/Maemo_5_Developer_Guide/Packaging,_Deploying_and_Distributing#Sections| Valid Sections:]]
+
-
 
+
-
=SDK=
+
-
There are a couple different SDKs (at least) that can be used. I have the main/standard SDK up and running on Fedora 12 x86_64. It is based on Scratchbox 1. There is another SDK, Maemo SDK+, which is based on Scratchbox 2, but I don't have that working yet.
+
-
 
+
-
 
+
-
==Installing Maemo 5 SDK on Fedora 12 x86_64==
+
-
 
+
-
===Prepare host system===
+
-
Add "vdso32=0" to your kernel bootline so it looks something like this (I also have selinux disabled). Edit /boot/grub/grub.conf. You have to reboot for it to take effect.
+
-
kernel /vmlinuz-2.6.31.6-145.fc12.x86_64 ro root=/dev/sda2 selinux=0 quiet rhgb nompath nodmraid SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=la-latin1 vdso32=0
+
-
 
+
-
Install Xephyr
+
-
sudo yum -y install Xephyr
+
-
 
+
-
===Download and patch wizard===
+
-
Grab the wizard script.
+
-
wget http://repository.maemo.org/stable/5.0/maemo-sdk-install-wizard_5.0.py
+
-
chmod +x maemo-sdk-install-wizard_5.0.py
+
-
 
+
-
Apply this patch to maemo-sdk-install-wizard_5.0.py:
+
-
--- maemo-sdk-install-wizard_5.0.py.orig 2009-11-16 08:16:39.000000000 -0300
+
-
+++ maemo-sdk-install-wizard_5.0.py 2009-12-04 17:29:00.905719892 -0300
+
-
@@ -2308,7 +2308,7 @@
+
-
        tries = 2
+
-
        while (True):
+
-
            try:
+
-
-                exec_cmd(sb_installer_fn + opt)
+
-
+                exec_cmd(sb_installer_fn + opt + "-s " + SB_PATH)
+
-
            except:
+
-
                tries -= 1
+
-
                if tries:
+
-
@@ -2348,7 +2348,7 @@
+
-
+
-
+
-
        # do the installation thing
+
-
-        cmd = "%s -d -m %s" % (sdk_installer_fn, self.__sdk_inst_m_opt_arg)
+
-
+        cmd = "%s -d -m %s -s %s" % (sdk_installer_fn, self.__sdk_inst_m_opt_arg, SB_PATH)
+
-
+
-
        if self.__targets_exist:
+
-
            if self.__remove_targets:
+
-
 
+
-
===Run wizard, run===
+
-
Then start up the install wizard:
+
-
sudo ./maemo-sdk-install-wizard_5.0.py
+
-
 
+
-
In SDK install wizard GUI:
+
-
# Next
+
-
# Custom Installation, Commit
+
-
# Gar, Next
+
-
# Install anyway, Next
+
-
# User jebba, Next
+
-
# Install options, Next
+
-
# VDSO suport, I accept, Next  (though I did boot with vdso=32 ...)
+
-
# Development environment, Next
+
-
# Accept barf, Next (gah)
+
-
# It will then download everything and install. Perhaps a couple Nexts and it is done.
+
-
 
+
-
 
+
-
==="No dpkg" error===
+
-
If you get the following error, it is because your maemo-sdk-install-wizard_5.0.py script didn't get patched correctly, as above.
+
-
which: no dpkg in (/usr/bin:/bin)
+
-
dpkg tool in path... no
+
-
E: This script requires dpkg to install .deb files.
+
-
V [17:19:35 04.12.2009]: Installer execution failed
+
-
V [17:19:35 04.12.2009]: ----- Begin logging exception -----
+
-
Traceback (most recent call last):
+
-
  File "./maemo-sdk-install-wizard_5.0.py", line 2705, in run
+
-
    task( )
+
-
  File "./maemo-sdk-install-wizard_5.0.py", line 2318, in __taskInstallScratchbox
+
-
    raise Exception("Installer execution failed")
+
-
Exception: Installer execution failed
+
-
V [17:19:35 04.12.2009]: ----- End logging exception -----
+
-
V [17:19:35 04.12.2009]: Executor set exit status to (status_error)
+
-
 
+
-
 
+
-
See also:
+
-
* [[Documentation/Maemo_5_Final_SDK_Installation| SDK Installation]]
+
-
* [http://blog.gbraad.nl/2009/11/maemo-5-sdk-on-fedora-12.html Maemo 5 SDK on Fedora 12]
+
-
* [http://talk.maemo.org/showthread.php?p=410602 Maemo 5 SDK on Fedora] on Maemo talk.
+
-
 
+
-
==Running Maemo 5 SDK on Fedora 12 x86_64==
+
-
Now that the SDK is happily installed, you can run it.
+
-
 
+
-
===New Group sbox===
+
-
In the terminals where you will be running commands you need to run this to show up in the sbox group. Any subsequent times you log out and in you don't need to run it again (in other words, you just have to run this when you first set things up):
+
-
newgrp sbox
+
-
 
+
-
===Start Scratchbox & Xephyr & Login===
+
-
After installation scratchbox is "booted" up. Subsequently (e.g. after a reboot of your laptop) you will need to start it thusly:
+
-
sudo ~/devel/maemo/scratchbox/sbin/sbox_ctl start
+
-
 
+
-
 
+
-
Get Xephyr going, which is the X server. Note the Fedora 12 version doesn't have the "-kb" optioned mentioned in other docs.
+
-
Xephyr :2 -host-cursor -screen 800x480x16 -dpi 96 -ac
+
-
 
+
-
 
+
-
Log in to Scratchbox:
+
-
~/devel/maemo/scratchbox/login
+
-
 
+
-
This should give you a prompt like this:
+
-
[sbox-FREMANTLE_X86: ~] >
+
-
 
+
-
Then to launch the emulated GUI, run this at the above prompt:
+
-
af-sb-init.sh start
+
-
 
+
-
Then you should have the emulator up and running! :)
+
-
 
+
-
===Using SDK===
+
-
 
+
-
====Frequently Used Commands====
+
-
 
+
-
Build binary package:
+
-
cd foo-1.2.3
+
-
dpkg-buildpackage -rfakeroot -b -uc
+
-
 
+
-
Build source package:
+
-
cd foo-1.2.3
+
-
dpkg-buildpackage -rfakeroot
+
-
 
+
-
Switch to build for ARM:
+
-
sb-conf select FREMANTLE_ARMEL
+
-
 
+
-
Switch to build for x86:
+
-
sb-conf select FREMANTLE_X86
+
-
 
+
-
Kill off things running if it won't let you switch between ARM/x86:
+
-
sb-conf killall
+
-
 
+
-
Grab and start building a source package:
+
-
apt-get -b source foo
+
-
 
+
-
File that describes package being built:
+
-
vim foo-1.2.3/debian/control
+
-
 
+
-
File that has build rules (e.g. where ./configure is):
+
-
vim foo-1.2.3/debian/rules
+
-
 
+
-
File that lists patches to be used:
+
-
vim foo-1.2.3/debian/patches/series
+
-
 
+
-
 
+
-
 
+
-
====Source Repositories====
+
-
One of the "easiest" ways to get things built is to just check to see if it is in any of the Debian repositories and just pillage it from there. Grabbing it from an "old" repository and building it will be easiest because the dependencies are more likely to be the same. Grabbing it from the latest and greatest repository means you will get the most recent version of the package, but will probably have to go through and sort out more dependencies.
+
-
 
+
-
Note, you (or I) probably don't want to add the binary repositories to your build environment or you may cause some total chaos in your system. In this case, I am only adding the ''source'' repositories.
+
-
 
+
-
These are the source repos I added to /etc/apt/sources.list. Note that you have to do this within ''both'' architectures (x86/ARM) as they don't share the same sources.list.
+
-
 
+
-
# Etch
+
-
#deb-src http://ftp.ccc.uba.ar/pub/linux/debian/debian/ etch main contrib
+
-
+
-
# Etch Backports
+
-
#deb-src http://www.backports.org/debian etch-backports main contrib
+
-
+
-
# Stable Lenny
+
-
#deb-src http://ftp.ccc.uba.ar/pub/linux/debian/debian/ stable main contrib
+
-
#deb-src http://ftp.ccc.uba.ar/pub/linux/debian/debian/ lenny main contrib
+
-
+
-
# Testing Squeeze
+
-
#deb-src http://ftp.ccc.uba.ar/pub/linux/debian/debian/ testing main contrib
+
-
deb-src http://ftp.ccc.uba.ar/pub/linux/debian/debian/ squeeze main contrib
+
-
+
-
# Unstable sid
+
-
#deb-src http://ftp.ccc.uba.ar/pub/linux/debian/debian/ unstable main contrib
+
-
#deb-src http://ftp.ccc.uba.ar/pub/linux/debian/debian/ sid main contrib
+
-
 
+
-
Some of the same repos above are listed twice, just to help me keep straight all of [http://en.wikipedia.org/wiki/Debian#Release_history Debian's releases]. For example "sid" and "unstable" are the same thing. Explanation:
+
-
 
+
-
* Etch - This is what the SDK is based on. It was released in 2007. Version 4.0. ("oldstable").
+
-
 
+
-
* Etch Backports - These are packages which aren't in Etch, or at least not updated to the latest and greatest in Etch, but people "outside" of the Debian project maintain more recent packages. For example, they may have a more recent version of a web browser when Debian's Etch just backports patches to an ancient version.
+
-
 
+
-
* Lenny - This is the "stable" version of Debian. Version 5.0. Released February 2009.
+
-
 
+
-
* Squeeze - This is the "testing" version of Debian and when it is fully done will be the "stable" release and will be version 6.0.
+
-
 
+
-
* Sid - This version will ''never'' be stable nor "released" and is always on the bleeding edge. The latest, most recent packages are in this repository. This is like "rawhide" in Fedora and -current in OpenBSD.
+
-
 
+
-
====maemo-optify====
+
-
ANOTHER NOTE:  I'm not using maemo-optify anymore since VDVsx said it wasn't the real proper way... Now just doing --prefix=/opt and such...
+
-
 
+
-
QUICK NOTE (XXX FIX):
+
-
 
+
-
From: Marius Vollmer <marius.vollmer@nokia.com>
+
-
Jeff Moe <moe@blagblagblag.org> writes:
+
-
+
-
> I installed the maemo-optify 0.2 package from extras-devel but it is missing
+
-
> the  maemo-optify-buildpackage script. I see it in git.
+
-
+
-
Ahh, right.  The maemo-optify-buildpackage script is not used any
+
-
longer.  I have removed it from Git to reduce the confusion.
+
-
+
-
The real dpkg-buildpackage in the SDK has been modified directly to call
+
-
maemo-optify.
+
-
 
+
-
 
+
-
Tools to make using /opt convenient for Debian packages.
+
-
* [http://maemo.gitorious.org/maemo-af/maemo-optify/blobs/master/README maemo-optify README]
+
-
git clone git://gitorious.org/maemo-af/maemo-optify.git
+
-
 
+
-
Maemo-optify is available in the repos and you can apt-get it from within scratchbox, but the .deb is missing the maemo-optify-buildpackage script. I emailed the author to let him know. In the interim, grab it from git, and:
+
-
cp -p maemo-optify-buildpackage /usr/local/bin
+
-
 
+
-
To use it is super-simple, and worked for me without hassle with asterisk:
+
-
echo auto > asterisk-1.6.1.11/debian/optify
+
-
maemo-optify-buildpackage -rfakeroot -b -uc
+
-
maemo-optify-buildpackage -rfakeroot -S
+
-
 
+
-
 
+
-
Uh, I also want files of ''all'' sizes to be moved to /opt, not just ones above 2048 bytes. Asterisk has 600k of files still, since it has lots of sound files smaller than 2k. There is a forthcoming option to define this in debian/optify, but that feature isn't in place yet. So in the interim remove the maemo-optify packages (from both X86 and ARM), and use this "patch":
+
-
 
+
-
--- maemo-optify/maemo-optify 2009-12-04 21:30:51.770927951 -0300
+
-
+++ /usr/local/bin/maemo-optify 2009-12-06 17:39:22.000017316 -0300
+
-
@@ -127,7 +127,7 @@
+
-
        dbg "link, nope\n";
+
-
    } elsif (! ($entry eq "." || $entry =~ /^.\/usr/)) {
+
-
        dbg "not in /usr, nope\n";
+
-
-    } elsif ($size >= 2048) {
+
-
+    } elsif ($size >= 0) {
+
-
        if (!blacklisted ($entry)) {
+
-
            dbg "yes, saved $size bytes\n";
+
-
            $total_count += 1;
+
-
 
+
-
====Upload to extras-devel====
+
-
 
+
-
* [[Uploading_to_Extras-devel | Uploading to extras-devel]] - I got permission to upload to extras. Yee haw.
+
-
 
+
-
* [https://garage.maemo.org/builder/fremantle/ builder logs]
+
-
 
+
-
====Maemian====
+
-
Lint tool for Maemo packages. Gotta do no ssl verify to clone things from git.maemo.org
+
-
 
+
-
GIT_SSL_NO_VERIFY=0 git clone https://git.maemo.org/projects/maemian
+
-
 
+
-
====See also====
+
-
* [[Documentation/Maemo_5_Developer_Guide|Maemo 5 Developer Guide]]
+
-
 
+
-
* [https://garage.maemo.org/svn/maemoexamples/trunk/ Maemo Examples]
+
-
 
+
-
* [[Documentation/Maemo_5_Developer_Guide/Graphical_UI_Tutorial/Getting_started|Getting started UI Tutorial]] (legacy?)
+
-
 
+
-
* [https://maemo.org/forrest-images/pdf/maemo-policy.pdf Maemo Packaging Policy] - Still current?
+
-
 
+
-
* [http://maemo.org/development/sdks/maemo_5_api_documentation/ API docs]
+
-
 
+
-
* [http://www.forum.nokia.com/info/sw.nokia.com/id/eb8a68ba-6225-4d84-ba8f-a00e4a05ff6f/Hildon_2_2_UI_Style_Guide.html Hildon 2.2 UI Style Guide]
+
-
 
+
-
* [http://www.forum.nokia.com/info/sw.nokia.com/id/019c2b31-3777-49a0-9257-970d79580756/Hildon_2_2_Widget_UI_Specification.html | Hildon 2.2 Widget UI Specification]
+
-
 
+
-
 
+
-
===Configure Scratchbox environment===
+
-
Within scratchbox:
+
-
echo ":syntax on" > ~/.vimrc
+
-
echo ":set paste" >> ~/.vimrc
+
-
echo ":set nobackup" >> ~/.vimrc
+
-
echo "export TERM=xterm-color" >> ~/.bashrc
+
-
 
+
-
I still feel like a total noob sometimes in that I don't even know how to get my fkn Home/End keys to work in the scratchbox. heh. Hint anyone? :)
+
-
 
+
-
===SDK Errors===
+
-
If you get this:
+
-
ERROR: Scratchbox is not properly set up!
+
-
 
+
-
Run this:
+
-
sudo /scratchbox/sbin/sbox_ctl start
+
-
 
+
-
==SDK+==
+
-
This is the "alternative" SDK based on Scratchbox 2. I don't have it working yet on Fedora 12 x86_64. It complains and says it just works on i386 ARCH.
+
-
 
+
-
[http://maemo-sdk.garage.maemo.org/ Maemo SDK+] - Alternative SDK for Maemo based on [http://www.freedesktop.org/wiki/Software/sbox2 Scratchbox 2].
+
-
 
+
-
http://maemo-sdk.garage.maemo.org/maemo-sdk-installer.py
+
-
chmod +x maemo-sdk-installer.py
+
-
sudo ./maemo-sdk-installer.py install -g
+
-
 
+
-
Hmm. Well, this is crashing and burning on x86_64:
+
-
 
+
-
$ sudo ./maemo-sdk-installer.py install -g
+
-
Operating system's machine or word size (x86_64) is not supported.
+
-
These are supported: ['i386', 'i686']
+
-
System check failed!
+
-
 
+
-
 
+
-
Things possibly needed:
+
-
yum -y install redhat-lsb
+
-
 
+
-
===debootstrap===
+
-
Perhaps I should install this sucker in an etch chroot...
+
-
 
+
-
yum -y install debootstrap
+
-
debootstrap --arch=i386 etch /home/jebba/devel/etch-i386 http://ftp.ccc.uba.ar/pub/linux/debian/debian/
+
-
 
+
-
==Free Development Box==
+
-
I have set up a server for folks to use that don't have access to a /scratchbox, can't set one up, want a faster one, etc. If you would like access to it, drop me a note at moe@blagblagblag.org
+
-
 
+
-
===Website===
+
-
* [http://www.freemoe.org/ Free devel box]
+
-
 
+
-
The website has subdirs for users if they want to share the .debs they make. I have made mine a repository so packages can be grabbed with the Hildon Application Manager or apt-get.
+
-
 
+
-
====buildrepo====
+
-
This is my [http://www.freemoe.org/users/jebba/buildrepo buildrepo] script. I think I may change the repository setup so I have fremantle, harmattan, etc. sub-directories. It is not generating .diffs, which would make `apt-get update`s faster, but then again, it's a teeny repo right now so that probably doesn't matter. Tips welcome.
+
-
 
+
-
#!/bin/sh
+
-
+
-
# Binary Packages
+
-
dpkg-scanpackages dists/unstable/main/binary-armel /dev/null | gzip -9c > dists/unstable/main/binary-armel/Packages.gz
+
-
+
-
# Source Packages
+
-
dpkg-scansources dists/unstable/main/source /dev/null | gzip -9c > dists/unstable/main/source/Sources.gz
+
-
 
+
-
===QEMU===
+
-
The build server is running as a qemu guest. It is launched from the host thusly:
+
-
 
+
-
#!/bin/sh
+
-
+
-
/usr/local/bin/qemu-system-x86_64 \
+
-
        -drive \
+
-
        file=/kvm/flauta.qcow2,index=0,if=virtio,cache=writeback,boot=on \
+
-
-drive \
+
-
        file=/kvm/www-freemoe.qcow2,index=1,if=virtio,cache=writeback \
+
-
-drive \
+
-
        file=/kvm/scratchbox1.qcow2,index=2,if=virtio,cache=writeback \
+
-
        -cpu qemu32 \
+
-
        -m 2048 \
+
-
        -vnc :5 \
+
-
        -daemonize \
+
-
-enable-kvm \
+
-
-name flauta \
+
-
-net nic,vlan=0,model=virtio \
+
-
-net user,hostfwd=tcp:63.247.92.155:22-:22,hostfwd=tcp:63.247.92.155:80-:80 \
+
-
-smp 8 \
+
-
-runas jebba
+
-
 
+
-
* It is running the "current" QEMU git (d0be2513d5eefb47a83f9a303fe142dd8ef72848).
+
-
 
+
-
* Host kernel is custom 2.6.32.
+
-
 
+
-
* Guest is running Debian Lenny with stock Lenny kernel.
+
-
 
+
-
* The guest is running a custom 2.6.32 kernel now. A good sample .config optimized for qemu would be fantastic. Currently only seeing 883M (before seeing 2G) likely due to turning off 4G/4G which I turned off for speed per QEMU docs. Not sure if lots of memory will speed things up anyway--the filesystem will just get cached on the host.
+
-
 
+
-
* The guest panicked once (when building a kernel.deb for ARM running `dpkg-buildpackage -j8 -rfakeroot -b`...), hence the drive to run a more recent guest kernel.
+
-
 
+
-
==Quicky & Dirty building .deb from scratch==
+
-
Here's how to build a "standard" ./configuresque package for Maemo 5, using "foo" as an example. This is a command line application...
+
-
 
+
-
===Environment===
+
-
First set up your initial environment in the scratchbox to save future keystrokes. This only has to be set up once.
+
-
 
+
-
# log in to development/SDK server:
+
-
ssh -C flauta.freemoe.org
+
-
+
-
# Enter scratchbox
+
-
/scratchbox/login
+
-
+
-
# Set up your full name for debianization:
+
-
echo 'export DEBFULLNAME="Jeff Moe"' >> ~/.bashrc
+
-
+
-
# Set up email address for debianization:
+
-
  echo 'export DEBEMAIL="moe@blagblagblag.org"' >> ~/.bashrc
+
-
+
-
# Re-read bashrc to drag in above:
+
-
. ~/.bashrc
+
-
 
+
-
# Check that all looks cool:
+
-
echo $DEBEMAIL ; echo $DEBFULLNAME
+
-
 
+
-
===Package Setup===
+
-
Now do the actual creation of the package:
+
-
 
+
-
# Set up some dirs for workingspace:
+
-
mkdir -p ~/foo/freemoe
+
-
+
-
# go there
+
-
cd ~/foo/freemoe
+
-
+
-
# grab source from upstream
+
-
wget http://foo.googlecode.com/files/foo-1.2.3.tar.bz2
+
-
+
-
# Untar the source
+
-
tar jxf foo-1.2.3.tar.bz2
+
-
+
-
# Upstream doesn't have .gz in this case, \
+
-
# so re-tar because the version of debhelper in Maemo 5 doesn't support .bz2 (!)
+
-
tar zcf foo-1.2.3.tar.gz foo-1.2.3
+
-
+
-
# Enter source dir
+
-
cd foo-1.2.3
+
-
+
-
# Check WTF the LICENSE is
+
-
less COPYING
+
-
+
-
# Initial setup of package
+
-
dh_make --single \
+
-
  --copyright gpl \
+
-
  --file ../foo-1.2.3.tar.gz
+
-
+
-
# Set up for maemo-optification:
+
-
echo auto > debian/optify
+
-
 
+
-
===debian/control===
+
-
debian/control defines info about the package that is read in such places as the application installer.
+
-
 
+
-
* In the Description:, lines MUST be preceded by a space. Blank lines must have a space and then a period.
+
-
 
+
-
* Check this to find a [[Documentation/Maemo_5_Developer_Guide/Packaging%2C_Deploying_and_Distributing#Sections|valid Section:]]
+
-
 
+
-
* Figuring out Build-Depends: is currently left as an exercise for the reader. Hints:
+
-
fakeroot apt-get update
+
-
fakeroot apt-cache search bar
+
-
fakeroot apt-get install bar
+
-
 
+
-
Source: foo
+
-
Section: user/multimedia
+
-
Priority: extra
+
-
Maintainer: Jeff Moe <moe@blagblagblag.org>
+
-
Build-Depends: debhelper (>= 5), autotools-dev, maemo-optify
+
-
Standards-Version: 3.7.2
+
-
+
-
Package: foo
+
-
Architecture: any
+
-
Depends: ${shlibs:Depends}, ${misc:Depends}
+
-
Description: Foo does everything you want.
+
-
  Foo does everything. It is fantastic.
+
-
  .
+
-
  Be sure to explore all of Foo, especially the clone x-fade tool.
+
-
  .
+
-
  There is so much to Foo!
+
-
 
+
-
===debian/changelog===
+
-
Edit debian/changelog to read:
+
-
foo (1.2.3-1) unstable; urgency=low
+
-
+
-
  * Initial release for Maemo 5 (Nokia N900).
+
-
+
-
-- Jeff Moe <moe@blagblagblag.org>  Tue, 22 Dec 2009 17:00:02 -0300
+
-
 
+
-
Generate timestamp, ala (this seems silly way to do this, but hey):
+
-
$ cat /home/jebba/bin/datelog
+
-
#!/bin/sh
+
-
+
-
echo -n " -- Jeff Moe <moe@blagblagblag.org>  "
+
-
date "+%a, %d %b %Y %H:%M:%S %z"
+
-
 
+
-
=VoIP=
+
-
==SIP Configuration==
+
-
Right now, I can make calls out ok, but the other end can't hear me... It's almost certainly due to NAT and how SIP works. Here's my configuration with [http://www.ekiga.net/ Ekiga]:
+
-
 
+
-
[[Image:Sip-conf-1.png|thumb|alt=SIP Configuration 1|SIP Configuration 1]]
+
-
 
+
-
[[Image:Sip-conf-2.png|thumb|alt=SIP Configuration 2|SIP Configuration 2]]
+
-
 
+
-
[[Image:Sip-conf-3.png|thumb|alt=SIP Configuration 3|SIP Configuration 3]]
+
-
 
+
-
[[Image:Sip-conf-4.png|thumb|alt=SIP Configuration 4|SIP Configuration 4]]
+
=sbdmock=
=sbdmock=
-
Build tool
 
-
* Install on topo
+
My [[User:Jebba/Sbdmock|sbdmock page]].
-
* http://wiki.maemo.org/Building_packages_with_sbdmock
+
=Tweaklets=
-
* http://bifh.org/wiki/sbdmock
+
* [[User:Jebba/Tweaks|Simple changes that make everything better.]]
-
* http://github.com/kad/sbdmock
+
* [[User:Jebba/Keymap|Keymap]]
-
 
+
-
(05:44:08 PM) tbf: jebba: just make sure to always run the beast with "--debug" switch to see what breaks
+
=Random=
=Random=
-
Things to file/organize.
 
-
 
-
* [http://www.natisbad.org/N900/ FANTASIC page with lots & lots of info about the hardware and more] - A must see.
 
-
 
-
* [[Free_Maemo|Free Maemo]]
 
-
 
-
* [http://wiki.debian.org/Projects/DebSrc3.0 Debian packaging] - next generation, ala quilt etc.
 
-
 
-
* [http://www.debian.org/doc/maint-guide/ Debian New Maintainers' Guide]
 
-
 
-
* [http://mg.pov.lt/maemo-irclog/latest.log.html #maemo IRC logs] - [http://mg.pov.lt/maemo-devel-irclog/ #maemo-devel IRC logs]
 
-
 
-
* irc.freenode.net #maemo #canola
 
-
 
-
* [http://t0x.in/xchatsetvars.html xchat vars]
 
-
 
-
* [[Troubleshooting_boot_issues]]
 
-
 
-
* [[Booting_from_a_flash_card]]
 
-
 
-
* Under the battery there are two sets of gold "dots" on the motherboard. What are these for? JTAG? USB? Serial???
 
-
 
-
* SDK hung forever after download at: "Preconfiguring packages".
 
-
 
-
* Can Maemo be installed on Sharp Netwalker, since Ubuntu on that thing is a terrible dog by comparison?
 
-
 
-
* [http://davestechshop.net/sites/davestechshop.net/files/Nokia_N900_Rover_en-US_es-LAM.pdf PDF N900 doc] - [http://nds1.nokia.com/phones/files/guides/Nokia_N900_UG_en.pdf More recent PDF doc] (I think)
 
-
 
-
* People I /ignore in #maemo IRC (with pidgin plugin that doesn't seem to save the ignores...):
 
-
/ignore +pupnik_ +luke-jr_ +PaulFertser +Klowner_ +TommyBres
 
-
 
-
* lshal
 
-
 
-
* [http://lists.maemo.org/pipermail/maemo-developers/ Maemo developers mailing list]
 
-
 
-
* [https://garage.maemo.org/builder/fremantle/?C=M;O=D Packages uploaded to Builder]
 
-
 
-
* [https://garage.maemo.org/extras-assistant/index.php Extras Builder assistant] - Lists a few things in the queue
 
-
 
-
* [https://garage.maemo.org/pipermail/extras-cauldron-builds/ The extras-cauldron-builds Archives]
 
-
 
-
* [http://maemo.org/packages/repository/builds/fremantle_extras-devel_free_source/all/ Latest builds: extras-devel]
 
-
 
-
* [http://planet.maemo.org Maemo blog aggregation]
 
-
 
-
* [http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Architecture/Core_Domain] - Core domain architecture
 
-
 
-
* http://wiki.maemo.org/N900_Shortcuts_and_Gestures
 
-
 
-
* [http://wiki.ekiga.org/index.php/Fun_Numbers Numbers to test SIP]
 
-
 
-
* Turn on camera LEDs (e.g. for flashlight):
 
-
SpeedEvil: jebba: you open the camera file descriptor and send a ioctl(V4L2_TORCH_ON)
 
-
SpeedEvil: jebba: well, there may be a dbus thingy for it - there is no need though. mplayer could do it if it could control arbitrary v4l2 controls - but it can't
 
-
(07:39:24 PM) cehteh: SpeedEvil: V4L2_CID_INDICATOR_INTENSITY  ... the dim mode is supported in the driver
 
-
 
-
* http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Packaging%2C_Deploying_and_Distributing#Making_Application_Packages
 
-
 
-
* [http://www.bu3sch.de/joomla/index.php/nokia-n810-serial-console N810 Serial Console] - need one of these for the N900. Nokia doesn't document it though. :(
 
-
 
-
* Icons:
 
-
(05:13:43 PM) VDVsx: 48x48 for the app menu and 64x64 for the desktop shortcuts
 
-
 
-
* To make an icon to be put in debian/control (MUST be 48x48):
 
-
 
-
openssl base64 -in emacs-48x48.png | sed -e 's/^/ /' >> control
 
-
 
-
* Accelerometer:
 
-
(12:34:03 PM) DocScrutinizer51: jebba: (accel) it's a lis302. I'm sure on wiki.openmoko.org you find quite some details, and link to datasheet
 
-
 
-
* [http://blogs.igalia.com/berto/2009/12/17/remapping-the-n900-arrow-keys/ remap keys]
 
-
=Thanks!=
+
Punted over to [[User:Jebba/Random| the new Random page]].
-
Hope you enjoyed the show. Feel free to edit this page.
+

Latest revision as of 14:50, 1 May 2012

  • Name: Jeff Moe
  • Email: moe@blagblagblag.org
  • Nick: jebba, jebbajeb, jebba900, etc...


I have stopped development on Meego/Maemo, so these pages are getting quickly dated. Ciao!


My old nokia
My old Nokia phone, replaced by N900. Makes a nice background :)


  • Usually I dot my laptop with READMEs in various ~/devel/ subdirs, but in this case I decided to write up some notes here. These are mostly for my own reference, but perhaps they will be of use to you.
  • Feel free to take any of these pages and copy them over to the main wiki namespace (here or in any other wiki, for that matter).

Contents

[edit] Package Building HOWTO

The Package Building HOWTO now has its own page. :)

[edit] Kernel

The new kernel page

[edit] Freemoe git

git clone git://gitorious.org/freemoe/freemoe.git

[edit] SDK

The SDK page.

[edit] Repositories

[edit] Flashing

Separate page about flashing, for your perusal.

Note, the flash page has the info about "debricking" easily.

[edit] Wifi Hotspot

How to set up your N900 as a wifi hotspot to share it's connection with other computers. :)

[edit] Mer

Jebba Mer

[edit] Fedora

Fedora 12 on Nokia N900 (!!)


[edit] VNC

Over at User:Jebba/VNC.

[edit] Backups

See User:Jebba/Backups

[edit] Video

More space for talking about video at the new page.

[edit] Mirrors

I have shut down my mirrors.

A mini-HOWTO set up mirroring maemo repository content

[edit] DBUS

Now at User:Jebba/DBUS.

[edit] Gripes

I gripe over here now.


[edit] Freemoe

I have a server co-located at NetDepot with a SDK installed. If you would like an account on there send me an email at moe@blagblagblag.org.

[edit] Bugs

Bugs now has its own page.

[edit] My Packages

There is now a separate Packages by Jebba page.


[edit] VoIP

See: User:Jebba/VoIP.

[edit] ofono

User:Jebba/Ofono

[edit] Cryptsetup

User:Jebba/Cryptsetup - HOWTO use crypto filesystem on N900.

[edit] Setup

I have move setup to its own page. A bit antiquated already!

[edit] sbdmock

My sbdmock page.

[edit] Tweaklets

[edit] Random

Punted over to the new Random page.