PDA

View Full Version : debian jessie image for N900


caveman
2014-05-28, 20:28
I prepared a card image of debian jessie to try on the N900. I am posting the torrent here for those willing to have some fun with it :-)

This is a minimal image, and not meant to be production-ready, but I find it worth a look.

The image is to be flashed to a 2Gb+ micro SD card:

xzcat jessie.dd.xz > /dev/sdX
where sdX is your device. This will destroy the contents on the card!

The image uses upstream linux 3.12 kernel from

git://gitorious.org/linux-n900/linux-n900.git
with branch

v3.12-rc5-n900
Check http://elinux.org for the current kernel status.

To boot, Pali's u-boot is required. Use the following file in /etc/bootmenu.d

ITEM_NAME="debian jessie @ SD"
ITEM_KERNEL="uImage"
ITEM_INITRD="uInitrd"
ITEM_DEVICE="${EXT_CARD}p1"
ITEM_FSTYPE="vfat"
ITEM_OMAPATAG="1"
ITEM_CMDLINE="root=/dev/mmcblk0p2 rootwait vram=12M console=tty0 quiet"

Then run u-boot-update-bootmenu and if all goes well, you can reboot and choose debian at the menu.

It boots to the console and there is only the root user. The password is rootme

By executing startx you can start enlightenment. Choosing the mobile profile gives a nice touch friendly interface.

You can load the n900 keyboard tweaks from the Arch Linux thread with
loadkeys /usr/share/keymaps/rx51_us.map
In that thread there is even a map of the keyboard http://talk.maemo.org/showpost.php?p=1327160&postcount=205

To quickly connect to wifi, use the following:

wpa_supplicant -B -i interface -c <(wpa_passphrase MYSSID passphrase)
dhclient wlan0 &

When you are satisfied, you may proceed to network configuration in /etc/network/interfaces or using the network manager of choice.

I am thankful to the authors of all the pieces that have been used here to make this possible!

Have fun ;-)

thread hilights:
* for keyboard led, see post 53
* for battery info, see post 54
* to chroot into maemo, see post 57
* to set keyboard under X, see post 58
* kernel 3.16.0-rc1 on post 99; instructions on post 98

Boemien
2014-05-28, 21:16
Thanks for your efforts and your work. I'm going to have more informations about debian jessie and test this image. I will post my feedbacks or problems! :D

wicket
2014-05-28, 22:22
Thanks. I've been working on something similar. I plan to release some helper scripts very soon that will make it easy for anyone to bootstrap and customise their own Debian Jessie system with a recent kernel. I hope that eventually Debian will be a real alternative to Maemo. I'll be sure to check out your image to see what you've done and if there's anything useful I can use in my scripts.

nokiabot
2014-05-29, 03:42
Some screenshots will do great :)

Estel
2014-05-29, 06:29
I hope that eventually Debian will be a real alternative to Maemo.

I appreciate your work and like your optimism, so not mean to discourage at all... But as history of such efforts have shown, I'm afraid that, if we add up all the bits to have Maemo-comparable battery usage in Debian-like system (thus, implementing power-saving features and rules) - not to mention such "fancy" things like phone functionality - we will end up with something like Mer. Realizing, that we've re-created work that others did already, years ago.

One of the Mer developers just told me, once (in another "Debian-as-alternative-to-Maemo" thread), that it starts with patch to ignore screen input when locked. Then, it proceeds to actually shutting down touchpad (which eats lotta hell of power, if compared to really idle standby), not only ignoring it. Then you add... And, after months of work what started as mainstream any-distro on N900/whatever device, becomes a patched together frankenstein, or, at best, a Mer clone.

/Estel

wicket
2014-05-29, 07:18
I appreciate your work and like your optimism, so not mean to discourage at all... But as history of such efforts have shown, I'm afraid that, if we add up all the bits to have Maemo-comparable battery usage in Debian-like system (thus, implementing power-saving features and rules) - not to mention such "fancy" things like phone functionality - we will end up with something like Mer. Realizing, that we've re-created work that others did already, years ago.

One of the Mer developers just told me, once (in another "Debian-as-alternative-to-Maemo" thread), that it starts with patch to ignore screen input when locked. Then, it proceeds to actually shutting down touchpad (which eats lotta hell of power, if compared to really idle standby), not only ignoring it. Then you add... And, after months of work what started as mainstream any-distro on N900/whatever device, becomes a patched together frankenstein, or, at best, a Mer clone.

/Estel
If I wanted Mer I would be using and contributing to Nemo. Whilst I appreciate the work that the Mer team have put into their project, I'm afraid it's not an acceptable solution for my usage. The beauty of Debian is that it's very modular and components can easily be swapped out with an "apt-get install". Try running an init system other than systemd on Mer. It can be done but not without porting effort and even so, I doubt it they would accept it as part of their project as they intentionally have a very specific base system. Mer is also plagued by being business-focused which means they stick to outdated GPLv2 packages to allow vendors to Tivoise their products. Not to mention the array of software that Debian has accumulated over the years which you will never see in Mer.

I realise there will be many patches involved to achieve the power saving performance of Maemo but I don't see why it has to be a Frankenstein. Focusing on a specific Debian release means that it will be far less of a Frankenstein than the Etch+Lenny+Squeeze monster we like to refer to as Fremantle.

The Debian effort will be far from a Mer clone. We may have to recreate a lot of the work that others have done in Mer but it will be worthwhile in the end in order have a mobile operating system that excels where Mer and Maemo don't.

AapoRantalainen
2014-05-29, 11:59
Seeders? Or direct download link?
--------
How you did this image? How about adding user-account, autostarting X, and keymap (things mentioned on first post)? I know it will still not be production-ready, but little closer.

I see lot of potential of this (more than my latest attempt to seriously update Fremantle: http://talk.maemo.org/showthread.php?t=91709).

--------
Can I use repartitioned internal flash instead of card? (No spare cards on hands.)
--------

Android_808
2014-05-29, 14:11
Does qt5 work with touch and hw keyboard? If so I could be really interested here.

Aapo: Maybe you could try building hildon or qildon using this image. See how much fremantle stuff can be shoe-horned into jessie as opposed to trying to shove jessie into fremantle.

As its targeting a specific debian release, why not make it its own release instead of trying to keep 100% compatible with fremantle. We now have mce and bme replacements. Replacement apps in qt4 should be easy to port to qt5. microbe was based off sailfish-browser, so that can easily be changed to qt5. FMG, Pail and co. have been working on upstream kernel.

Maybe even swap in connman.

Estel
2014-05-29, 18:35
If I wanted Mer I would be using and contributing to Nemo. Whilst I appreciate the work that the Mer team have put into their project, I'm afraid it's not an acceptable solution for my usage. The beauty of Debian is that it's very modular and components can easily be swapped out with an "apt-get install".

Incidentally, it's my situation, as well ;) I just lost hope for a N900'ized Debian long time ago, amongst ashesh of plentora of projects that were left unfinished, due to overhelming amount of work needed, and to few hands willing (or able, skill-wise) to do the job.

Anyway, if it would ever happen, I would be very, very glad. Count me in for any testing, or anything else that I'm not short on knowledge, for :)

/Estel

szopin
2014-05-29, 19:40
Would also be interested in booting/testing from internal, mmc currently in use in Jolla. (and count me in if you need testers or other low skilled helpers)

taixzo
2014-05-29, 19:43
Is there a way to set up u-boot without flashing? I have a broken USB port and thus can't flash a new kernel.

misiak
2014-05-29, 21:03
Is there a way to set up u-boot without flashing? I have a broken USB port and thus can't flash a new kernel.

You can install it from the debs provided by pali (I'm not sure they are in any repo... I think so, but you should ask in u-boot thread to be sure). Then the phone flashes itself (the u-boot package flashes the kernel booting part of memory with u-boot and attached kernel). USB is not needed to flash u-boot.

elros34
2014-05-29, 21:25
Thanks. I've been working on something similar. I plan to release some helper scripts very soon that will make it easy for anyone to bootstrap and customise their own Debian Jessie system with a recent kernel.
That would be cool. Check this ubuntu installer (http://bazaar.launchpad.net/~xintx-ua/ubuntu-n900/unstable/files) maybe it will speed up your progress :)

sulu
2014-05-29, 21:40
Seeders? Or direct download link?Same here.
If I get the image I can provide a quite stable though slow seed.

Boemien
2014-05-30, 00:09
Would also be interested in booting/testing from internal, mmc currently in use in Jolla. (and count me in if you need testers or other low skilled helpers)

Oh please, it's been a long time that we didn't have a project like this about the N900, please, please, don't break my joy with Jolla / Sailfish stuff!!!! :D ;)

:p

caveman
2014-05-30, 11:05
I'll be sure to check out your image to see what you've done and if there's anything useful I can use in my scripts.

My script is really simple, as it is just a debootstrap on steroids :-) There are lots of info in the ubuntu and arch threads. I have another post on another debian thread that outlines the steps.

The most important tweaks are the keyboard configuration, X calibration and choice of packages.

Of course, the devil is in the details, so to make a script to create a really tweaked system ready for use requires a lot of work.

caveman
2014-05-30, 11:06
Some screenshots will do great :)

Just added ;-)

caveman
2014-05-30, 11:22
Seeders? Or direct download link?

I will look into it, but I don't have a suitable system available.

How you did this image? How about adding user-account, autostarting X, and keymap (things mentioned on first post)? I know it will still not be production-ready, but little closer.


For the image creation, see
http://talk.maemo.org/showpost.php?p=1354642&postcount=14
and
https://wiki.debian.org/n900-wheezy-armhf

Regarding the lack of configuration, that was intentional, so as to make clear that this is not a end-user image. Nonetheless:
* to add a user account user, adduser <username> and add the user to goups audio, video, netdev and plugdev
* to have X autostart, apt-get install a display manager such as slim
* the keymap is configured, but a loadkeys is required to load the arch-thread version of the keymap, which I like a lot but is non-standard. This can easily be automated by placing the command in /etc/rc.local.


I see lot of potential of this (more than my latest attempt to seriously update Fremantle: http://talk.maemo.org/showthread.php?t=91709).


I believe this has potential as well, but the lack of touch-enabled apps impair casual use, as opposed to dedicated use (where you can really use the stylus to pick a desktop app menu item).

Maybe a thumb-patched nemo kernel would even be used to run hildon in a chroot.


--------
Can I use repartitioned internal flash instead of card? (No spare cards on hands.)
--------

Yes, sure. My n900 has this installation on a 11Gb partition in the eMMC. The only required modification is to change /etc/fstab to use UUIDs and change the u-boot item file to point to the correct root device.

caveman
2014-05-30, 11:25
Maybe even swap in connman.

As a quick note, connman is in the image.

caveman
2014-05-30, 11:36
I will try to make this link available for a few days:
https://187.115.25.181/public/n900/jessie.dd.xz

szopin
2014-05-30, 18:33
I will try to make this link available for a few days:
https://187.115.25.181/public/n900/jessie.dd.xz

uploaded to dropbox:
https://db.tt/UvPwWoUm

AapoRantalainen
2014-05-30, 20:52
I didn't yet get this working. I have one major problem with booting and couple on details.

I have one ext2-partition for jessie on my internal card: /dev/mmcblk0p4

I downloaded and mounted jessie.dd on my computer and this is what I got:
fdisk -l jessie.dd
jessie.dd1 * 4096 253951 124928 c W95 FAT32 (LBA)
jessie.dd2 253952 3911679 1828864 83 Linux

sudo mount jessie.dd -o offset=$((4096 * 512)) partition1
sudo mount jessie.dd -o offset=$((253952 * 512)) partition2

I copied files to N900:/dev/mmcblk0p4. Files from partition1 (uImage,uInitrd,initrd.img-3.12.0-rc5+) under the /boot (on that 0p4 partition).

Then I installed u-boot (package name u-boot-flasher), do I need something more?

Then created item:
echo 'ITEM_NAME="debian jessie"
ITEM_KERNEL="/boot/uImage"
ITEM_INITRD="/boot/uInitrd"
ITEM_DEVICE="${INT_CARD}p4"
ITEM_FSTYPE="ext2"
ITEM_OMAPATAG="1"
ITEM_CMDLINE="root=/dev/mmcblk0p4 rootwait vram=12M console=tty0 quiet" ' > /etc/bootmenu.d/jessie.item

And run u-boot-update-bootmenu. (No errors).

Reboot with keyboard open and I can see penguin-menu, very same than on first post on U-boot thread http://talk.maemo.org/showthread.php?t=81613 (but version number is 2013.04). So where is my jessie-entry?

-----
I compiled kernel from v3.12-rc5-n900 branch (with your instructions: http://talk.maemo.org/showpost.php?p=1354642&postcount=14). And I got uImage generated with mkimage (help with u-boot -thread #1).

How will I generate initrd.img-3.12.0-rc5+ and uInitrd?

-------
I tried 'debootstrap jessie' on Maemo, but it won't work because dpkg is too old. At least libaudit is compressed with xz and it needs something like dpkg-0.8.13.1 (and maemo5 has 0.7.20.2maemo13.1). Do you get workaround for that?

I run 'debootstrap -foreign' on ubuntu computer and then planning to run 'debootstrap/debootstrap --second-stage' on N900, but chroot gives "too old kernel" or "Exec format error". Do you have workaround for that?

caveman
2014-05-30, 22:18
Then I installed u-boot (package name u-boot-flasher), do I need something more?


You need u-boot-tools, but it is probably in as a dep.


ITEM_CMDLINE="root=/dev/mmcblk0p4 rootwait vram=12M console=tty0 quiet" ' > /etc/bootmenu.d/jessie.item[/CODE]


This seems weird, but probably a typo.


Reboot with keyboard open and I can see penguin-menu, very same than on first post on U-boot thread http://talk.maemo.org/showthread.php?t=81613 (but version number is 2013.04). So where is my jessie-entry?


I am running the same u-boot version. If you don't see the jessie entry, there must be a problem in your u-boot config. Check the messages when you run u-boot-update-bootmenu and look for messages related to the jessie item file.

How will I generate initrd.img-3.12.0-rc5+ and uInitrd?

inside debian or in a chroot, you should configure your fstab and run

update-initramfs -k 3.12.0-rc5+ -c

This will build the initrd inside /boot. Then you run mkimage as described in https://elektranox.org/n900/kernel/uboot.html at the very end.


I tried 'debootstrap jessie' on Maemo, but it won't work because dpkg is too old. At least libaudit is compressed with xz and it needs something like dpkg-0.8.13.1 (and maemo5 has 0.7.20.2maemo13.1). Do you get workaround for that?


I installed on device debootstraping to wheezy, and then upgrading to jessie. This has one additional advantage, as chroot works, and you can chroot into debian to make things boot quickly. Once you upgrade to jessie, chroot says that kernel is too old.

So why not stay in wheezy? Because e17 with illume is available in jessie, and in my view this is the most touch friendly option we have atm.

That being said, I built the jessie image using another arm device. A rooted android phone or tablet with external card should do the job. I used a cubieboard. In the end, that's why I published the image, as there are several annoying details to overcome.

AapoRantalainen
2014-05-31, 17:14
Still uboot -problem:
(Yes, this is my first time to use u-boot)

1) I wrote jessie.dd to the SD-card. (with 'fdisk -l' I can verity this step worked)

2) installed u-boot-flasher which also installs u-boot-tools. (I also installed and then removed bootmenu, can it affect? )

3) Created file: /etc/bootmenu.d/10-jessie.item with content from post#1 (using ssh copy-paste -> no typos)

4) run u-boot-update-bootmenu, full log:
Adding bootmenu entry for: 'Maemo 5 with attached kernel 2.6.28-omap1 (Internal Nand)'

Configuration file: /etc/bootmenu.d/10-jessie.item
Adding bootmenu entry for: 'debian jessie @ SD'

Generating u-boot bootmenu script...

And it generates /home/user/MyDocs/bootmenu.scr, which is binary file, but I can see it contains also jessie-entry:
strings /home/user/MyDocs/bootmenu.scr
bootmenu
setenv bootmenu_0 'Maemo 5 with attached kernel 2.6.28-omap1 (Internal Nand)=run attachboot';setenv bootmenu_1 'debian jessie @ SD=setenv mmcnum 0;setenv mmcpart 1;setenv mmctype fat;setenv bootargs root=/dev/mmcblk0p2 rootwait vram=12M console=tty0 quiet;setenv setup_omap_atag 1;setenv mmckernfile /boot/uImage;setenv mmcinitrdfile /boot/uInitrd;setenv mmcscriptfile;run trymmckerninitrdboot;';setenv bootmenu_2;

Folder /home/user/MyDocs/bootmenu.img.d/ is empty. (I don't know how it should be, but it has same timestamp than bootmenu.scr)

5) reboot with keyboard open
-> uboot-menu without jessie-entry:

There are these five entries:
*Attached kernel
*Internal eMMC
*External SD Card
*U-boot boot order
*U-boot console


What I'm missing?


I found that maemo5 can't mount ext4 partition on jessie.dd. So could this be an issue? (even u-boot supports ext4).

elros34
2014-05-31, 18:28
Formating fat partition probably solve this issue. Check u-boot thread and similar problems: http://213.128.137.28/showpost.php?p=1335094&postcount=618

AapoRantalainen
2014-06-01, 07:15
Formating fat partition probably solve this issue. Check u-boot thread [...]

Indeed problem was ~corrupted MyDocs-partition. I had repartitioned internal card with backupmenu+gparted and there was something happened to the vfat-partition. Even Fremantle can read it, u-boot can't.

#backup MyDocs (if needed)
#cp -r MyDocs/ MyDocs_backup

root
umount /home/user/MyDocs
#if 'device is busy' use:
#lsof /home/user/MyDocs
#kill


mkfs.vfat /dev/mmcblk0p1

#reboot to remount, or
mount /dev/mmcblk0p1 /home/user/MyDocs -o rw,noauto,nodev,noexec,nosuid,noatime,nodiratime,u tf8,uid=29999,shortname=mixed,dmask=000,fmask=0133 ,rodir
exit
#roll backups back
#cp -a MyDocs_backup/. MyDocs
#You will get a lot of: "cannot preserve ownership of XXX #Operation not permitted" (because copying from ext to fat)


And then I got my entries visible on bootmenu.

AapoRantalainen
2014-06-01, 10:24
Next problem:

Now I have jessie on my bootmenu, but choosing it doesn't work.

(With ubuntu computer) I downloaded jessie.dd.xz and uncompressed it. Then attached SD-card and checked what device it is. Run:
sudo dd if=jessie.dd of=/dev/mmcblk0

(With N900)
Attached SD-card and booted keyboard closed. Checked that first partition of SD card got automounted "/dev/mmcblk1p1 on /media/mmc1" and it contains files "initrd.img-3.12.0-rc5+ uImage uInitrd".
Note: it is /dev/mmcblk1p1. Is this wrong? What I can do for it?

Second partition (/dev/mmcblk1p2) can't be mounted because it is ext4 (and default kernel doesn't support ext4, I think). Is this critical?

Booted keyboard open and selected jessie on bootmenu, but it ends:
mmc0 is current device
reading /boot/uInitrd
** Unable to read file /boot/uInitrd

Extra commands
...

How to proceed? If my external card goes to mmc1, what is mmc0 then? And how to fix it?

peterleinchen
2014-06-01, 11:24
Maybe just typo now?

In bootmenu.scr you wrote /boot/uImage and in above post just /uImage?
Double check that.

About mmcblk: in the bootmenu mmcnum0 is the SD card and mmcnum1 is eMMC device. In the config entries you should use ${EXT_CARD} to avoid confusion.

caveman
2014-06-01, 11:32
And how to fix it?


I suggest you install kp52 for two reasons: you will be able to validate your u-boot setup and it has support for ext4.

In a previous post you had an item file pointing to the emmc partition. Have you reverted that back to vfat on the sd?

sakrabojski
2014-06-01, 12:16
Hello Aapo, I had the same problem (** Unable to read file /boot/uInitrd) and it took me hours to see that uInitrd and other files wasn't in folder /boot.
So mkdir boot and then mv files in boot dir.

Hope this helps.:)

AapoRantalainen
2014-06-01, 12:53
In bootmenu.scr you wrote /boot/uImage and in above post just /uImage?
Double check that.

Thanks. Jessie.item on first post uses /boot/uImage, but uImage is on /uImage on the disk-image.
-> I got it running.

peterleinchen
2014-06-01, 13:21
Thanks.
-> I got it running.
You are welcome.
It was a pleasure to be able to help you.

AapoRantalainen
2014-06-01, 13:35
Next problem (I'm feeling newbie again):

I can't connect to wifi. I'm trying to connect open access point.

I thought that this will work:

iwconfig wlan0 essid ESSID
dhclient -v wlan0

But it doesn't get IP. Is there something blocking it. Dmesg contains "wlan0: deauthentication from XX: by local choise (reson=3)"
(connman or wpa_supplicant maybe?)

caveman
2014-06-01, 15:23
?)

Check that connman is not running and disable wifi power save. Have you checked that wifi fw has been loaded?

See http://www.aboutcher.co.uk/2012/07/linux-wifi-deauthenticated-reason-codes/

AapoRantalainen
2014-06-01, 19:02
Check that connman is not running and disable wifi power save. Have you checked that wifi fw has been loaded?


'ps -Af' showed pid of connman and I killed it.

I don't know how to disable wifi power save.
I can guess: 'iwconfig wlan0 txpower fixed', close enough?

wifi firmware log is somewhere on dmesg right? As I first tried without X, I didn't figure how to produce pipe or redirect output (| and >).

Should firmware get started automatically?

But somehow I get it connected and ssh running. Now I'm afraid to reboot device.

--------

I'm so excited about this. I'm planning something like this:

Add to /etc/apt/sources.list
deb-src http://repository.maemo.org/ fremantle/sdk free
deb-src http://repository.maemo.org/ fremantle/tools free
free
deb-src http://repository.maemo.org/community-testing/ fremantle free

deb-src http://repository.maemo.org/extras-devel fremantle free


and then:
apt-get source libhildon1
dpkg-buildpackage
-> missing bunch of stuff
apt-get install .... (from jessie)
dpkg-buildpackage
fix-the-code

And then some other packages which 'are part of fremantle, but not yet (or anymore) in debian'.

I'm open for comments.
----
Another idea (which is not yet working): add your secret nokia-binaries-key to the /etc/apt/sources.list

deb http://repository.maemo.org/ fremantle/SECRET nokia-binaries

And then
apt-get install X
or
apt-get download X

where X is 'really useful but not yet liberated'-package from:
http://wiki.maemo.org/Fremantle_closed_packages

But apt-get update encounter error, because it is looking for

http://repository.maemo.org/dists/fremantle/SECRET/nokia-binaries/binary-armhf/Packages
but file on the server is
http://repository.maemo.org/dists/fremantle/SECRET/nokia-binaries/binary-armel/Packages
(verified with wget)

This armhf is not part of the deb-row, so is it resolved runtime, maybe by dpkg-architecture? So how to spoof it? (I haven't yet tested is there any possibility they could work at all)

misiak
2014-06-01, 20:19
I'm so excited about this. I'm planning something like this:

Add to /etc/apt/sources.list
deb-src http://repository.maemo.org/ fremantle/sdk free
deb-src http://repository.maemo.org/ fremantle/tools free
free
deb-src http://repository.maemo.org/community-testing/ fremantle free

deb-src http://repository.maemo.org/extras-devel fremantle free


and then:
apt-get source libhildon1
dpkg-buildpackage
-> missing bunch of stuff
apt-get install .... (from jessie)
dpkg-buildpackage
fix-the-code

And then some other packages which 'are part of fremantle, but not yet (or anymore) in debian'.

I'm open for comments.

I say: go for it :D

Another idea (which is not yet working): add your secret nokia-binaries-key to the /etc/apt/sources.list

deb http://repository.maemo.org/ fremantle/SECRET nokia-binaries

And then
apt-get install X
or
apt-get download X

where X is 'really useful but not yet liberated'-package from:
http://wiki.maemo.org/Fremantle_closed_packages

But apt-get update encounter error, because it is looking for

http://repository.maemo.org/dists/fremantle/SECRET/nokia-binaries/binary-armhf/Packages
but file on the server is
http://repository.maemo.org/dists/fremantle/SECRET/nokia-binaries/binary-armel/Packages
(verified with wget)

This armhf is not part of the deb-row, so is it resolved runtime, maybe by dpkg-architecture? So how to spoof it? (I haven't yet tested is there any possibility they could work at all)

According to this: http://unix.stackexchange.com/questions/60282/can-one-install-an-armel-ubuntu-package-on-armhf-ubuntu-system armel packages should work on armhf. See also https://wiki.debian.org/Multiarch/HOWTO - you should be able to install armel binaries using apt if you configure it properly ("dpkg --add-architecture armel" and later "apt-get update" should be enough I guess?)

caveman
2014-06-02, 11:58
I can guess: 'iwconfig wlan0 txpower fixed', close enough?

Close enough :-) iwconfig wlan0 power off should do it.

I didn't figure how to produce pipe or redirect output (| and >).


In the console, with the arch keymap, you can use shift+blue+\.


Should firmware get started automatically?


Yes it should.


I'm so excited about this. I'm planning something like this:


That is going to be *very* interesting :-)

This armhf is not part of the deb-row, so is it resolved runtime, maybe by dpkg-architecture? So how to spoof it? (I haven't yet tested is there any possibility they could work at all)

There is a debian armel repo as well. So you should be able to

dpkg --add-architecture armel
dpkg --print-architecture
apt-get update
apt-get install <package>:armel


I suggest you configure apt preferences placing debian armel with higher priority than fremantle, so you can pull from upstream debian as many packages as possible.

sulu
2014-06-02, 12:54
I run 'debootstrap -foreign' on ubuntu computer and then planning to run 'debootstrap/debootstrap --second-stage' on N900, but chroot gives "too old kernel" or "Exec format error". Do you have workaround for that?Just in case this is still of interest:
Jessie's glibc has 2.6.32 hardcoded (i.e. not just a debian dependency) as a minimum requirement. So if you want to run a Jessie glibc on top of Maemo's 2.6.28 kernel you need to patch and recompile the glibc sources. [1]
The result apparently works but since I have done only very basic testing in Easy Debian I can't tell if there are any subtle problems I just didn't see.


[1] http://talk.maemo.org/showpost.php?p=1396789&postcount=3030

Android_808
2014-06-02, 13:16
I would stick with upstream n900 kernel. fmg pointed me to the patch for the driver which contains test instructions for using ofono. I would use that along with a replacement "phone" app to remove more of the closed apps.

AapoRantalainen
2014-06-03, 20:36
Now my wireless are connecting easily without tricks (iwconfig essid + dhclient), don't know what happened.

What is the preferred way to get same MAC-adddress on every boot?
-----------------------------
I also think that now is the moment to drop maemo's 2.x kernel.

Do we have gles-driver which work with new kernel?
What is the way (in the meantime) use software openGL? E.g. I tested glxgears from mesa-utils, I have installed libgl1-mesa-glx and glx-alternative-mesa, but no success:

Error: couldn't get an RGB, Double-buffered visual

and glxinfo


name of display: :0
Error: couldn't find RGB GLX visual or fbconfig
Error: couldn't find RGB GLX visual or fbconfig

-----------------------------

By the way: This is dmesg, just after boot http://paste.ubuntu.com/7581763/
There are couple of things I would like to point for somebody deep in kernel (even they are not show-stoppers yet):

row 105:
[ 4.440856] ------------[ cut here ]------------
[ 4.440917] WARNING: CPU: 0 PID: 1 at drivers/video/omap2/dss/dss.c:540 dss_set_clock_div+0x9c/0xcc()
[ 4.440917] clk rate mismatch: 86400000 != 172800000
[ 4.440948] Modules linked in:
[ 4.440979] CPU: 0 PID: 1 Comm: swapper Not tainted 3.12.0-rc5+ #2
[ 4.441040] [<c00124c0>] (unwind_backtrace+0x0/0xe0) from [<c0010a64>] (show_stack+0x10/0x14)
[ 4.441070] [<c0010a64>] (show_stack+0x10/0x14) from [<c0032024>] (warn_slowpath_common+0x64/0x84)
[ 4.441101] [<c0032024>] (warn_slowpath_common+0x64/0x84) from [<c00320c4>] (warn_slowpath_fmt+0x2c/0x3c)
[ 4.441131] [<c00320c4>] (warn_slowpath_fmt+0x2c/0x3c) from [<c01d7468>] (dss_set_clock_div+0x9c/0xcc)
[ 4.441162] [<c01d7468>] (dss_set_clock_div+0x9c/0xcc) from [<c0538460>] (omap_dsshw_probe+0x1e0/0x2f4)
[ 4.441192] [<c0538460>] (omap_dsshw_probe+0x1e0/0x2f4) from [<c0224bc8>] (platform_drv_probe+0x14/0x18)
[ 4.441223] [<c0224bc8>] (platform_drv_probe+0x14/0x18) from [<c0223ad0>] (driver_probe_device+0xac/0x1f8)
[ 4.441284] [<c0223ad0>] (driver_probe_device+0xac/0x1f8) from [<c0223c84>] (__driver_attach+0x68/0x8c)
[ 4.441314] [<c0223c84>] (__driver_attach+0x68/0x8c) from [<c02221f8>] (bus_for_each_dev+0x50/0x88)
[ 4.441345] [<c02221f8>] (bus_for_each_dev+0x50/0x88) from [<c0223230>] (bus_add_driver+0xcc/0x244)
[ 4.441375] [<c0223230>] (bus_add_driver+0xcc/0x244) from [<c02242e8>] (driver_register+0x9c/0xe0)
[ 4.441406] [<c02242e8>] (driver_register+0x9c/0xe0) from [<c0224e4c>] (platform_driver_probe+0x1c/0xb4)
[ 4.441436] [<c0224e4c>] (platform_driver_probe+0x1c/0xb4) from [<c05381ec>] (omap_dss_init+0x1c/0xb0)
[ 4.441436] [<c05381ec>] (omap_dss_init+0x1c/0xb0) from [<c00086f8>] (do_one_initcall+0x94/0x138)
[ 4.441497] [<c00086f8>] (do_one_initcall+0x94/0x138) from [<c0517b08>] (kernel_init_freeable+0xe4/0x1ac)
[ 4.441528] [<c0517b08>] (kernel_init_freeable+0xe4/0x1ac) from [<c037c668>] (kernel_init+0x8/0xe4)
[ 4.441558] [<c037c668>] (kernel_init+0x8/0xe4) from [<c000de38>] (ret_from_fork+0x14/0x3c)
[ 4.441619] ---[ end trace 8290e8a9c3e69da2 ]---

row 284:
[ 11.652435] hci_h4p hci_h4p: Valid bluetooth address not found, setting some random

row 295:
[ 12.606506] bq27x00-battery 2-0055: battery is not calibrated! ignoring capacity values


row 311:
[ 12.904876] ------------[ cut here ]------------
[ 12.905029] WARNING: CPU: 0 PID: 402 at drivers/media/v4l2-core/v4l2-dev.c:779 __video_register_device+0x44/0x1308 [videodev]()
[ 12.905059] Modules linked in: radio_bcm2048(+) lis3lv02d input_polldev et8ek8 smiaregs bq2415x_charger(+) leds_lp5523(+) omap3_isp(+) bq27x00_battery leds_lp55xx_common omap_iovmm v4l2_common videodev rtc_twl twl4030_wdt tsl2563 industrialio twl4030_vibra cfg80211 ff_memless media tsc2005 hci_h4p bluetooth isp1704_charger ext4 mbcache jbd2 smc91x mii
[ 12.907775] CPU: 0 PID: 402 Comm: modprobe Tainted: G W 3.12.0-rc5+ #2
[ 12.907836] [<c00124c0>] (unwind_backtrace+0x0/0xe0) from [<c0010a64>] (show_stack+0x10/0x14)
[ 12.907867] [<c0010a64>] (show_stack+0x10/0x14) from [<c0032024>] (warn_slowpath_common+0x64/0x84)
[ 12.907897] [<c0032024>] (warn_slowpath_common+0x64/0x84) from [<c003205c>] (warn_slowpath_null+0x18/0x1c)
[ 12.908020] [<c003205c>] (warn_slowpath_null+0x18/0x1c) from [<bf1ec5e0>] (__video_register_device+0x44/0x1308 [videodev])
[ 12.908172] [<bf1ec5e0>] (__video_register_device+0x44/0x1308 [videodev]) from [<bf27b6f8>] (bcm2048_i2c_driver_probe+0x118/0x354 [radio_bcm2048])
[ 12.908233] [<bf27b6f8>] (bcm2048_i2c_driver_probe+0x118/0x354 [radio_bcm2048]) from [<c028b5ac>] (i2c_device_probe+0x78/0xa0)
[ 12.909393] [<c028b5ac>] (i2c_device_probe+0x78/0xa0) from [<c0223ad0>] (driver_probe_device+0xac/0x1f8)
[ 12.909423] [<c0223ad0>] (driver_probe_device+0xac/0x1f8) from [<c0223c84>] (__driver_attach+0x68/0x8c)
[ 12.909454] [<c0223c84>] (__driver_attach+0x68/0x8c) from [<c02221f8>] (bus_for_each_dev+0x50/0x88)
[ 12.909484] [<c02221f8>] (bus_for_each_dev+0x50/0x88) from [<c0223230>] (bus_add_driver+0xcc/0x244)
[ 12.909515] [<c0223230>] (bus_add_driver+0xcc/0x244) from [<c02242e8>] (driver_register+0x9c/0xe0)
[ 12.909545] [<c02242e8>] (driver_register+0x9c/0xe0) from [<c028c5fc>] (i2c_register_driver+0x8c/0xb0)
[ 12.909576] [<c028c5fc>] (i2c_register_driver+0x8c/0xb0) from [<c00086f8>] (do_one_initcall+0x94/0x138)
[ 12.914184] [<c00086f8>] (do_one_initcall+0x94/0x138) from [<c007a8dc>] (load_module+0x1914/0x1bf4)
[ 12.914245] [<c007a8dc>] (load_module+0x1914/0x1bf4) from [<c007ad04>] (SyS_finit_module+0x5c/0x6c)
[ 12.914276] [<c007ad04>] (SyS_finit_module+0x5c/0x6c) from [<c000dda0>] (ret_fast_syscall+0x0/0x30)
[ 12.914306] ---[ end trace 8290e8a9c3e69da4 ]---


row 332:
[ 12.914367] bcm2048: probe of 3-0022 failed with error -5


Maybe they are known, but if there are some workarounds, and will they be fixed for next kernel? (Or is there already newer kernel working equally well?)

--------
I'm using 'user' -account, and I can startx and then over ssh start e.g. DISPLAY=:0 xterm

When I try startx over ssh, it doesn't work:
X: user not authorized to run the X server, aborting.
xinit: giving up
xinit: unable to connect to X server: Connection refused
xinit: server error

I think I soon need this (when libmatchbox2 takes turn).

caveman
2014-06-03, 23:08
What is the preferred way to get same MAC-adddress on every boot?

Configure in /etc/network/interfaces:

iface wlan0 inet dhcp
hwaddress address


Do we have gles-driver which work with new kernel?

Skry had one accelerated driver for the 3.5 kernel in the arch thread, but my experience with it was not stable, so I migrated to fbdev.


What is the way (in the meantime) use software openGL? E.g. I tested


I don't know :-(

row 284:
[ 11.652435] hci_h4p hci_h4p: Valid bluetooth address not found, setting some random


Check here for btaddr configuration: https://elektranox.org/n900/installation/hardware.html


row 295:
[ 12.606506] bq27x00-battery 2-0055: battery is not calibrated! ignoring capacity values


This reminds me that I have to check if battery charges on debian!

misiak
2014-06-04, 09:05
I'm using 'user' -account, and I can startx and then over ssh start e.g. DISPLAY=:0 xterm

When I try startx over ssh, it doesn't work:
X: user not authorized to run the X server, aborting.
xinit: giving up
xinit: unable to connect to X server: Connection refused
xinit: server error

I think I soon need this (when libmatchbox2 takes turn).

Did you try something like "DISPLAY=:0 startx" (or maybe even export the DISPLAY variable set to :0 before starting X)? I remember having similar problems on Raspberry Pi at some point with Raspbian (but either I changed something in config files permanently and don't remember or the newer version of Raspbian is configured differently, because I cannot reproduce it now).

edit: on my other machine (home server) I get similar output (unable to start X) unless I type on my home computer "ssh -X server_ip", but then it starts X remotely on the screen of my home computer. If I find a moment, I'll try debug that and give you more useful information, but just wanted to step in now and note that this may not be related to Debian/N900, but it might be either generic Debian problem (my server runs Debian) or generic Linux/X.org/ssh problem.

mouzg
2014-06-04, 12:58
I love it.But what about charging?is there any way to charge n900 while in jessie?

saponga
2014-06-04, 14:34
I love it.But what about charging?is there any way to charge n900 while in jessie?
I just tried to plug in charger but it seems that isn't charging because the led is continous yellow... not blinking. The device is a bit warmer than when running maemo. It has been 4 hours since i boot jessie but it stayed almost all that time on idle. Lets see how long time the bl-5j will last.

reinob
2014-06-04, 14:35
I love it.But what about charging?is there any way to charge n900 while in jessie?

kernel-power (by Pali) has in-kernel charging (and it works :)

Obviously, the kernel being used here is not kernel-power, but perhaps includes the necessary modules/patches to make it work. Can't check now, but the module was bq2415x_charger.

Somebody with debian running on the N900 could try: modprobe bq2415x_charger and see what happens.

reinob
2014-06-04, 14:38
I just tried to plug in charger but it seems that isn't charging because the led is continous yellow... not blinking. The device is a bit warmer than when running maemo. It has been 4 hours since i boot jessie but it stayed almost all that time on idle. Lets see how long time the bl-5j will last.

Hey, solid yellow IS the in-kernel charging. BME does the blinking, but we don't need BME :)
Please report if you can figure out whether the battery is charging or not.

My (short) experience with this is that the battery actually charges but much more slowly than normal, but that may have been due to a faulty USB port.

http://talk.maemo.org/showpost.php?p=1236436&postcount=484

saponga
2014-06-04, 15:17
Somebody with debian running on the N900 could try: modprobe bq2415x_charger and see what happens.
No output here...
lsmod |grep bq2415x_charger
returns:
bq2415x_charger 14125 0

Hey, solid yellow IS the in-kernel charging. BME does the blinking, but we don't need BME :)
Please report if you can figure out whether the battery is charging or not.

My (short) experience with this is that the battery actually charges but much more slowly than normal, but that may have been due to a faulty USB port.

http://talk.maemo.org/showpost.php?p=1236436&postcount=484
Thanks for the info :) Is there any way to check if its charging without boot maemo ?

mouzg
2014-06-04, 18:07
Im pretty sure it charges.I booted up jessie with two wires connected to my battery terminals.while voltage was 2.75 it went up to 2.85 when the charger connected (every time) and led solid yellow.I know its a little difference (100mv) but i think is enough for its voltage.

AapoRantalainen
2014-06-04, 18:11
My n900 have been running jessie on couple of last days all the time attached to the charger. Led is orange/yellow as stated earlier.

Now I booted it to the maemo and detached charger. Battery is fully charged.

wicket
2014-06-04, 19:49
I also have the same issue with the charging LED in my build. It definitely does charge and also the kernel seems to know when it's fully charged so it's unlikely that there's a risk overcharging our batteries. You can find battery info under /sys/class/power_supply/bq27200-0. I don't know if anyone else has experienced this but I get a kernel panic when I plug in the wall charger directly into the mains. Charging works fine however when connecting a USB cable to the USB port of my PC. I'm using freemangordon's 3.14-rc3 (https://gitorious.org/linux-n900/freemangordons-linux-n900/source/72c5ae7343c7131089fdec420f25f6114d07ead1:#) kernel by the way.

My main issues right now are that I've not yet got USB networking to work, the keyboard mapping doesn't work under E17 (even though it works fine on the console) but the most critical issue that I don't have a solution for something equivalent to Maemo's xprot (http://talk.maemo.org/showthread.php?t=91325) to prevent blowing up the speakers.

I'm hoping to create a Git repo for my scripts within the next few days once I've tidied up a few things and done a bit more testing.

sakrabojski
2014-06-04, 20:16
Hy

I have installed Xmonad on our little beast and it works suprisingly well, it is fast, stable, low on mem ...
only downside is pretty large ghc as dependency (cca 600 mb) and lack of n900 Alt_l aka Mod1 key,
so I assign it to volume key and it works well.


Is there a way to assign '$ xset dpms force off' to kb_lock?
I found workaround but doesn't involve kb_lock.

Does anyone got audio working?
I've tried alsamixer, but moc doesn't give any response. :(
Then I tried with jack, in moc you can see that song is at least playing but there is no sound.:confused:

saponga
2014-06-04, 21:48
What about that keyboard LEDs ?

sakrabojski
2014-06-05, 11:06
What about that keyboard LEDs ?

I've managed something with keyboard leds.

Here is a simple script:


#!/bin/sh

# there are different modes: run disabled load. I use run for ON and disabled for OFF
mode="run"

# 0-255
brightness="50"

echo $mode > /sys/class/i2c-adapter/i2c-2/2-0032/engine3_mode

echo $brightness > /sys/class/i2c-adapter/i2c-2/2-0032/leds/lp5523:kb1/brightness
echo $brightness > /sys/class/i2c-adapter/i2c-2/2-0032/leds/lp5523:kb2/brightness
echo $brightness > /sys/class/i2c-adapter/i2c-2/2-0032/leds/lp5523:kb3/brightness
echo $brightness > /sys/class/i2c-adapter/i2c-2/2-0032/leds/lp5523:kb4/brightness
echo $brightness > /sys/class/i2c-adapter/i2c-2/2-0032/leds/lp5523:kb5/brightness
echo $brightness > /sys/class/i2c-adapter/i2c-2/2-0032/leds/lp5523:kb6/brightness

Create two of those (with changed values), chmod it, put in path, add a line in visudo so you don't have to write password every time and enjoy typing in dark:cool:

Probably there is some more elegant way to achieve keyboard led on/off but...

sakrabojski
2014-06-05, 18:55
Script for voltage, capacity and temperature

#!/bin/sh


# status
stat=$(cat /sys/class/power_supply/bq27200-0/status)

# time
if grep Charging /sys/class/power_supply/bq27200-0/status > /dev/null
then
time=$(cat /sys/class/power_supply/bq27200-0/time_to_full_now)
else
time=$(cat /sys/class/power_supply/bq27200-0/time_to_empty_avg)
fi


# capacity
cfd=$(cat /sys/class/power_supply/bq27200-0/charge_full)
cn=$(cat /sys/class/power_supply/bq27200-0/charge_now)

# voltage
vmd=$(cat /sys/class/power_supply/rx51-battery/voltage_max_design)
vn=$(cat /sys/class/power_supply/bq27200-0/voltage_now)

# temp
temp=$(cat /sys/class/power_supply/bq27200-0/temp)

# out
echo status: $stat
if grep Charging /sys/class/power_supply/bq27200-0/status > /dev/null
then
echo $time | awk '{ printf ("time to full: %.2d:%.2d\n" , ($1/3600%24) , ($1/60%60)) }'
else
echo $time | awk '{ printf ("time to empty: %.2d:%.2d\n" , ($1/3600%24) , ($1/60%60)) }'
fi
echo $cn $cfd | awk '{ printf ("capacity: %.1f%%\n" , ($1/$2*100) ) }'
echo $vn $vmd | awk '{ printf ("voltage: %.1f%%\n" , ($1/$2*100) ) }'
echo $temp | awk '{ print "temp: " $1/10 "°C" }'

AapoRantalainen
2014-06-06, 04:53
I've managed something with keyboard leds.

Here is a simple script:
...

This works. But row:
echo 3 > /sys/class/i2c-adapter/i2c-2/2-0032/select_engine

gives error
lp5523x 2-0032: firmware request failed

sakrabojski
2014-06-06, 06:36
Thanks for pointing it out, I overlooked it.
It seems that when you set mode run in engine_mode it automatically set which engine is active in select_engine, so echo 3 > /sys/class/i2c-adapter/i2c-2/2-0032/select_engine is unnecessary.

I've edited batt_info and kbd_led script.
bat_info is now more verbose and kbd_led doesn't produce error.

caveman
2014-06-06, 12:44
Here follows how to mount maemo fs from inside debian (from http://talk.maemo.org/showpost.php?p=1291662&postcount=61).


apt-get install mtd-utils
modprobe ubifs
ubiattach /dev/ubi_ctrl -m 5
mount -t ubifs ubi0:rootfs /mnt
mount /dev/mmcblk0p2 /mnt/home/
mount /dev/mmcblk0p1 /mnt/home/user/MyDocs/


For a chroot shell:

for i in sys dev proc; do mount -o bind /$i /mnt/$i; done
chroot /mnt /bin/sh


When done, undo:

fuser -k -M -m /mnt/
for i in sys dev proc; do umount /mnt/$i; done
umount /mnt/home/user/MyDocs/
umount /mnt/home/
umount /mnt

caveman
2014-06-06, 13:29
For a proper keyboard on X, run the following:

setxkbmap -rules evdev -model nokiarx51 -option grp:ctrl_shift_toggle -layout us

Please post if you know how to properly configure this in e17.

AapoRantalainen
2014-06-06, 18:04
apt-get install mtd-utils
modprobe ubifs
ubiattach /dev/ubi_ctrl -m 5
mount -t ubifs ubi0:rootfs /mnt
mount /dev/mmcblk0p2 /mnt/home/
mount /dev/mmcblk0p1 /mnt/home/user/MyDocs/



I have some difference when booted to jessie from sd-card:
/dev/mmcblk0p2 on / type ext4 (rw,noatime,data=ordered)

And maemo's home is: /dev/mmcblk1p2
And maemo's vfat MyDocs is: /dev/mmcblk1p1

mouzg
2014-06-06, 18:39
For a proper keyboard on X, run the following:
[CODE]
setxkbmap -rules evdev -model nokiarx51 -option grp:ctrl_shift_toggle -layout us

Please post if you know how to properly configure this in e17.

First create the following file

nano /usr/share/applications/keybset.desktop

with the following

[Desktop Entry]
Name=Keybset
Comment=Sets the RX-51 keyboard layout
Exec=setxkbmap -rules evdev -model nokiarx51 -option grp:ctrl_shift_toggle -layout us
Icon=false
NoDisplay=false
Terminal=true
Type=Application
Categories=
StartupNotify=true


After that make it executable

chmod a+x /usr/share/applications/keybset.desktop


Then goto Settings panel>Extensions Tab > Modules > Settings Tab And activate Applications module.
After its activated in Settings panel,Apps tab find Startup applications and activate Keybset.Your done
The only problem is that left and right arrows dont work for me.

mouzg
2014-06-06, 23:40
Has anyone managed to get usb hostmode working?
I tried pausing udev and then

echo host > /sys/devices/platform/musb_omap2340/musb-hdrc.0.auto/mode

as mentioned in
http://http://wiki.maemo.org/USB_host_mode and it doesnt work.
I understand that musb_omap2340 is another driver but hostmode is implemented in it.

radiochickenwax
2014-06-07, 05:28
Do we have gles-driver which work with new kernel?
What is the way (in the meantime) use software openGL? E.g. I tested glxgears from mesa-utils, I have installed libgl1-mesa-glx and glx-alternative-mesa, but no success:



Instead of libgl1-mesa-glx try libgl1-mesa-swx11

AapoRantalainen
2014-06-07, 14:25
Instead of libgl1-mesa-glx try libgl1-mesa-swx11

Yijpee!
glxinfo
direct rendering: Yes
server glx version string: 1.4 Mesa 10.1.4
glxgears

226 frames in 5.0 seconds = 45.104 FPS
153 frames in 5.0 seconds = 30.489 FPS
First is with screen dimmed and second is when screen is showing.

clutter-0.8 (compiled from fremantle) examples works too.

-----
I decided (at this phase) to not install/use any closed-source package. I have now compiled packages from maemo5, debian-squeeze and cordia (github).

My first milestone is hildon-desktop. It needs many libhildon related packages (including clutter) to compile and then bunch of more to install (and maybe some more to run).

Cordia contains hildon stuff for gtk3. I'm not sure that gtk3 is better (in any measure) than gtk2, but critical point is that original hildon uses forked gtk2 (it contains some 1000 commits over six years period by Nokia), and I definitely want get rid of it, so upstream gtk3 sounds way to go. Problem is that cordia doesn't contain proper debianization so I might been compiling more packages than really needed.

Squeeze is used because it is only debian which contains some hildon-stuff.
---------------
I'm also pondering what packages we need to achieve system which 'looks and feels as Fremantle'. (I think this is my goal?)

E.g. libosso:
All maemo-compliant applications must use Libosso to respond coherently to system changes and signals, such as the battery low, pre-shutdown and state saving signals.

Android_808
2014-06-07, 15:52
Gtk3, as I stated elsewhere, has some changes which cater better for tablets so that should automatically drop some of the required changes. I'd really like to see Gtk3 and Qt5 as the main toolkits, or even just Qt5 if using a ported version of qildon.

I've been looking into required changes for hildon-components and they seem to be pretty straight forward. Replace declarative module with qml, rename included headers and so forth. Only big deal is if anything needs to use new scene graph from what I've read up on.
----
Have you had any luck with underlying components, if needed/worthwhile like bme, mce? Might simplify some of the scripts we've had posted so far.

sakrabojski
2014-06-08, 11:30
Has anyone managed to get usb hostmode working?
I tried pausing udev and then

echo host > /sys/devices/platform/musb_omap2340/musb-hdrc.0.auto/mode

as mentioned in
http://http://wiki.maemo.org/USB_host_mode and it doesnt work.
I understand that musb_omap2340 is another driver but hostmode is implemented in it.

Are you sure it's not a typo?
On my device there is only musb-omap2430

mouzg
2014-06-08, 21:24
Yeah you're right.It was a typo posted in here but in my machine i typed it right.

Boemien
2014-06-09, 17:18
Hi Guys,

I tried by all the ways but i can't boot to Jessie. I followed all the steps from post 1 but no success! Trying to xzcat the file takes me an hour, with weird thing in the terminal, but does nothing to the card.
So I used Win32DiskImager-0.9.5-install under windows, to copy the image to the memory card, then copied the files inside 0.fat to /boot folder in the card.

When updating the boot menu, everything goes well, but when it boots it says no emmc0 or something like that!!!

I'm desperate :o :( lol! Okay, not so desperate but i'm like :mad: then I start over and over. What do I do wrong? Is it a problem of Ext2/vfat format or something else???

caveman
2014-06-09, 18:35
Trying to xzcat the file takes me an hour, with weird thing in the terminal, but does nothing to the card.

Assuming you are on linux, use lsblk or cat /proc/partitions to identify the device name of your card. Then use this device name in the xzcat jessie.dd.xz. I hope this helps.

Boemien
2014-06-09, 18:44
thanks, i'm trying again under windows. If it goes bad, i'll try it under Ubuntu and post the results!!!

Edit: I put the SD card to the PC under Ubuntu, then i did

lsblk

the card is mmcblk0

so i did the zcat to /dev/mmcblk0

the weird symbols are showing in the terminal. I'll wait untill it finish!!

Boemien
2014-06-09, 19:21
Wow, i think that i missed something!!!

the first command i typed was

xzcat jessie.dd.xz /dev/mmcblk0

without the " > ".

now when I type

xzcat jessie.dd.xz > /dev/mmcblk0

the result is:

boemien@boemien-VPCEL23FD:~$ xzcat jessie.dd.xz > /dev/mmcblk0
bash: /dev/mmcblk0: Permission non accordée
boemien@boemien-VPCEL23FD:~$ sudo xzcat jessie.dd.xz > /dev/mmcblk0
bash: /dev/mmcblk0: Permission non accordée
boemien@boemien-VPCEL23FD:~$



same result with:

boemien@boemien-VPCEL23FD:~$ xzcat /home/boemien/Téléchargements/jessie.dd.xz > /dev/mmcblk0
bash: /dev/mmcblk0: Permission non accordée
boemien@boemien-VPCEL23FD:~$



:confused:

What is the right command?

PS: Permission non accordée means Permission Denied. :D

caveman
2014-06-09, 21:04
boemien@boemien-VPCEL23FD:~$ xzcat /home/boemien/Téléchargements/jessie.dd.xz > /dev/mmcblk0
bash: /dev/mmcblk0: Permission non accordée
boemien@boemien-VPCEL23FD:~$



:confused:

What is the right command?

PS: Permission non accordée means Permission Denied. :D

If under ubuntu, run sudo xzcat jessie.dd.xz > /dev/mmcblk0

Please be aware that this image is not ready for end-users ;-)

Boemien
2014-06-09, 21:27
If under ubuntu, run sudo xzcat jessie.dd.xz > /dev/mmcblk0


here is the result:

boemien@boemien-VPCEL23FD:~$ sudo xzcat /home/boemien/Téléchargements/jessie.dd.xz > /dev/mmcblk0
bash: /dev/mmcblk0: Permission non accordée



Please be aware that this image is not ready for end-users ;-)

Yeah, I know!!! :D

Boemien
2014-06-09, 21:31
it seems to work without the " > " but there is nothing on the card!!!!

# Note: nfsnobdy is 4294967294 on 64-bit platforms (-2)

wicket
2014-06-09, 21:58
Wow, i think that i missed something!!!

the first command i typed was

xzcat jessie.dd.xz /dev/mmcblk0

without the " > ".

now when I type

xzcat jessie.dd.xz > /dev/mmcblk0

the result is:

boemien@boemien-VPCEL23FD:~$ xzcat jessie.dd.xz > /dev/mmcblk0
bash: /dev/mmcblk0: Permission non accordée
boemien@boemien-VPCEL23FD:~$ sudo xzcat jessie.dd.xz > /dev/mmcblk0
bash: /dev/mmcblk0: Permission non accordée
boemien@boemien-VPCEL23FD:~$



same result with:

boemien@boemien-VPCEL23FD:~$ xzcat /home/boemien/Téléchargements/jessie.dd.xz > /dev/mmcblk0
bash: /dev/mmcblk0: Permission non accordée
boemien@boemien-VPCEL23FD:~$



:confused:

What is the right command?

PS: Permission non accordée means Permission Denied. :D

sudo doesn't work very well with console redirection. Any of the following should work:

$ sudo sh -c "xzcat jessie.dd.xz > /dev/mmcblk0"

$ sudo su
# xzcat jessie.dd.xz > /dev/mmcblk0

$ xzcat jessie.dd.xz | sudo dd of=/dev/mmcblk0 bs=1M


Note: If you're running this on a PC /dev/mmcblk0 is not likely to be the name of the SD card device node. You can find out what name has been assigned using dmesg or fdisk.

Boemien
2014-06-09, 22:35
Thanks.

Typing dmesg, i can see that the device is mmcblk0

I typed

boemien@boemien-VPCEL23FD:~$ sudo su
[sudo] password for boemien:
root@boemien-VPCEL23FD:/home/boemien# xzcat /home/boemien/Téléchargements/jessie.dd.xz > /dev/mmcblk0
root@boemien-VPCEL23FD:/home/boemien#


The files has been copied to the card. When i plug it, I see two partition on it : Boot and System.

I will follow the steps to update the bootmenu and see if it works.
Thanks in advance :-)

Boemien
2014-06-09, 22:45
Okay, everything seems to work. I have Unable to read file /boot/uIntrd **

I will try to copy them from first partition to boot folder on the second!!!

EDIT: Okay!! It seems to boot now. The solution was said here:

Hello Aapo, I had the same problem (** Unable to read file /boot/uInitrd) and it took me hours to see that uInitrd and other files wasn't in folder /boot.
So mkdir boot and then mv files in boot dir.

Hope this helps.:)

Thanks Guys for your help. I'M going to play a bit with!!!! :D

AapoRantalainen
2014-06-14, 17:31
cordia:
https://github.com/Cordia
The project's primary mission is that we make Hildon Desktop installable on MeeGo with all the goodies it has on Maemo.

Talk: (50pages about running hildon-desktop on meego) http://talk.maemo.org/showthread.php?t=56822

There are plenty of git-repositories and I managed to build hildon-desktop top of GTK3 (it had some gtk2 functions left but I dropped them).

I got it running, but it is not looking anything yet.

I'm planning to push source level instructions and deb-packages, but I will double check them first and maybe I want some real milestone achieved also.

Short summary of building-order and origin of sources:
M=maemo5 (apt-get source)
C=cordia (git)
J=jessie (apt-get source)
S=squeezie (dget)

cairo [J] (need tuning for dependencies, or it uninstall mesa-GL)

hildon-libs-l10n-public [M]
osso-system-lock-l10n-public [M]
hildon-fm-l10n-public [M]
hildon-icons [S]
hildon-theme-plankton [S] (deb is not installable, but copy directory to right place)

clutter [C] (against GL, not GLES)

libhildon-1 [C] (gtk3)

(do not use libosso-gnomevfs2-dev but libgnomevfs2-dev)

libdsme [M]
libiphb [MEEGO] (was liberated for harmattan)
libhildondesktop [C]

libmatchbox2 [C] (against clutter-0.8, not 1.0)

libhildonmime-dev [M]

libhildondesktop1 [C]

hildondesktop [C] (without maemo-launcher)

*
(It seems to me that) hildon-desktop acts as a window manager and Matchbox2 is statically compiled inside hildon-desktop.
-there are no matchbox -process running on maemo
-hildon-desktop should be very next to start after X


Starting:
On device, as root, start X (command is 'X', not startx)
And then over ssh, as user, run hildon-desktop

I'm not sure what is next package, maybe hildon-home?

Here is some selection of log when hildon-desktop is started:
** (hildon-desktop:2378): WARNING **: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files

** (./hildon-desktop:2378): CRITICAL **: SelectionColor: unknown color

(./hildon-desktop:2378): GLib-GObject-WARNING **: /build/glib2.0-ioZeJ5/glib2.0-2.40.0/./gobject/gsignal.c:2462: signal 'key-pressed-event' is invalid for instance '0x2d3138' of type 'HdLauncher'

** (./hildon-desktop:2378): WARNING **: Error loading cached background image /home/user/.backgrounds/background-1.pvr. Failed to open file '/home/user/.backgrounds/background-1.pvr': No such file or directory

** (./hildon-desktop:2378): WARNING **: hd_launcher_tile_set_icon_name: couldn't find icon tasklaunch_default_application

---------------
qildon:
https://gitorious.org/qildon
Qildon is a set of Qt Widgets to work together with Hildon Desktop without dependencies on Hildon or Gtk+


I tried to compile it (gtk2-dev not-installed) but compile aborted because of missing gtk2. a) I failed to configure it correctly OR b) it is depending on GTK.

I'm waiting more info about this until I continue. (Is somebody ever got this compiled and running on any system? How ready it is?)
---------------
bme:
Closed source on fremantle, liberated for harmattan. Sources:
bme-rx-51 https://gitorious.org/rx51-bme-replacement/bme-rx-51
hald-addon-bme https://gitorious.org/rx51-bme-replacement/hald-addon-bme
libbmeipc0 https://gitorious.org/rx51-bme-replacement/libbmeipc

And some more: https://gitorious.org/rx51-bme-replacement

These depends on libhal, which is not anymore on jessie. Maybe version from squeeze is better than wheezy or fremantle.Got it build, but not yet tested installation.
---------------
mce:
From harmattan.

I quickly check that is has some tough dependency (I don't yet know where to get)
osso-systemui-modechange-dev
libdevlock-dev
osso-systemui-devlock-dev
osso-systemui-splashscreen-dev
libcal-dev (binary version from this can be installed from NOKIA-binaries)

It also needs hald-addon-bme-dev (from meego), not yet tested.

Android_808
2014-06-14, 22:43
great news aapo but i have a couple of questions.

is hal really necessary though? if we (maemo5) are only using it to automount hotplugged devices, udev+udisks would be sufficient. to use old software maybe but are you risking recreating the whole fork/cross version situation we have already.

bme/mce: are those links the same as the replacements were using/got available on maemo5? i thought ours were RE'd.

misiak
2014-06-14, 22:51
great news aapo but i have a couple of questions.

is hal really necessary though? if we (maemo5) are only using it to automount hotplugged devices, udev+udisks would be sufficient. to use old software maybe but are you risking recreating the whole fork/cross version situation we have already.

Really? I thought it was used for more stuff... Is it really only used for automounting hotplugged devices? If so, this looks like a massive overkill...

bme/mce: are those links the same as the replacements were using/got available on maemo5? i thought ours were RE'd.

One of the links Aapo wrote (bme-rx-51 one) is the replacement availabe on Maemo5 via cssu(-devel?). AFAIK the replacement was heavily based on the Harmattan open-source version, but you are right that some parts indeed had to be reverse engineered (however, unless my memories are wrong, these were only some parts of it, not the whole bme/mce...).

EDIT:
I quickly check that is has some tough dependency (I don't yet know where to get)
osso-systemui-modechange-dev
libdevlock-dev
osso-systemui-devlock-dev
osso-systemui-splashscreen-dev
libcal-dev (binary version from this can be installed from NOKIA-binaries)

I'm not sure about the other ones, but I think dropping osso-systemui-splashscreen-dev as a dependency should be safe... The package osso-systemui-splashscreen only displays Nokia logo when phone is shutting down :D (see file /etc/event.replace.d/osso-systemui-splashscreen - it starts splash display on stopping of dbus or dbus-actdead services) Even if the /usr/lib/systemui/libystemuiplugin_splashscreen.so file in that package needs to provide some functionality, my guess is it should be safe to make a dummy .so file which does nothing (but again, this is software we're talking, so some dumb design flaw may have caused this file to do something important...).

EDIT2:
By the way, Aapo, have you read this thread: http://talk.maemo.org/showthread.php?t=82641 ? I don't want to sound like a douche telling you what to do, but it could be a nice idea to drop all the unneded packages at first stages of your project and not spend too much time on trying to get them working (this is just an idea to consider).

EDIT3:
I have used this link a million times, but maybe I will post it once again, maybe it will be usefull (a.d. your note about using libclutter in specific version): http://linuxtesting.org/compatibility/Maemo_5.0_to_MeeGo_1.2_Harmattan/arm/abi_compat_report.html - it can help detecting which versions of software can be easily used in newer versions (e.g. from Jessie). See e.g. list of possible incompatibilities with newer versions of libc, libexif, libexempi, libglib... libncurses - funny thing is this one is supposed to be in the same version in Fremantle and Harmattan, but they are incompatible somehow... Also, when some libraries reach 1.x state, they sometimes change name in debian (e.g. ssl 0.9.8 is "libssl" and 1.0 is "libssl1" - this is the example that came to my head instantly when you wrote about clutter). I remember seeing (I think on the same server) a comparison of base-system packages compatibility between different version of Debian... that could also be useful here (so you could compare compatibility and then make a decision from which source you would like to build packages for this Jessie-based Maemo).

Android_808
2014-06-15, 07:22
hal: may do more on maemo, i used it as an example really. my laptop doesn't have it, just relies on udisks, upower, rfkill and so on.

clutter: does using gl instead of gles make much difference in terms of performance? if we can build against a newer version even better.

finally, does anyone have instructions for setting up a build environment for this via vbox or scratchbox?

AapoRantalainen
2014-06-15, 11:52
is hal really necessary though? if we (maemo5) are only using it to automount hotplugged devices, udev+udisks would be sufficient. to use old software maybe but are you risking recreating the whole fork/cross version situation we have already.

This is indeed something I want to avoid. I don't yet know how much hal is even used. One package just needed hal-dev, and I tested can I produce hal-dev.deb. (Yes, I can). It might be better to not use hal, but udev.



clutter: does using gl instead of gles make much difference in terms of performance? if we can build against a newer version even better.

I haven't had tried to get gles-driver working, thus I have seen rumours it could be possible. Software GL seems to be fast enough at least for testing (30 fps on glxgears). If clutter is later recompiled with gles-flavour, it can just be swapped in use (no modifications, no recompilation for other packages).


finally, does anyone have instructions for setting up a build environment for this via vbox or scratchbox?
This would be handy. Now I'm compiling everything on device, building one deb could take 15-40 minutes.

AapoRantalainen
2014-06-15, 12:40
I was wrong.

I was wrong how close I was to get something interesting visible to the screen.
I was wrong how slow software GL is.
Here is the first screencast: Debian Jessie on N900 running Hildon-desktop: http://youtu.be/erf_Dr16Pdo


*Backgrond images must be in .pvr format (I don't know why), I took some from PowerVR/GraphicsSDK.
*Changing desktop to another seems to work (because background image changes)
*Pink thing is "hd_launcher_tile_set_icon_name: couldn't find icon tasklaunch_default_application", but clicking it shows application menu, which can be cancelled or it can start application (Don't know will it scroll if there are more icons, probably yes)
*Dash-board (=all running windows) can be achieved with pink thing or with ctrl+backspace.
*Screenshot is disabled currently on code-level.

misiak
2014-06-15, 12:56
I was wrong how slow software GL is.

Indeed quite slow... However, I remember that in the past I've hit an issue that some GLES code was much much slower due to some messup with window compositing... I cannot give you any direct links now, I'm sorry :( Closest that I found is this post by javispedro: http://talk.maemo.org/showpost.php?p=576020&postcount=7 which seems to also mention clutter, gles, images, etc (maybe that's also the cause of need for backgronds in pvr format? maybe the gles renderer in clutter changes them internally to pvr format as our gpu may only support that, while the gl renderer doesn't do anything to textures as desktop gpus generally tend to support more formats etc?). I think javispedro could help you a lot with getting to know the whole graphics system, I consider him a guru of this stuff in Fremantle.

Here is the first screencast: Debian Jessie on N900 running Hildon-desktop: http://youtu.be/erf_Dr16Pdo

It is really amazing achievement, man! :)

edit: qwazix in this thread http://talk.maemo.org/showthread.php?t=84987 also had some fights with clutter and other libs, maybe you could ask him about his advices and what he found during reviews of code.

Android_808
2014-06-15, 13:16
great progress. i can't even imagine building xulrunner/gecko on device.

i don't see why i can't build an i686 virtual box image using jessie and install debians cross compile tools. my new pc is nearly done, just waiting on a 4790k at the moment, then i'll have a go.

Android_808
2014-06-15, 15:16
if you do investigate gles, be aware that gles headers on maemo are missing definition of glchar. just discovered that trying sdl-2.0.3

wicket
2014-06-15, 16:22
finally, does anyone have instructions for setting up a build environment for this via vbox or scratchbox?

This would be handy. Now I'm compiling everything on device, building one deb could take 15-40 minutes.
I'm not sure if this works with caveman's image but I can chroot straight into my images on my PC, qemu runs automatically (I'm building my images using qemu-debootstrap).

Sorry for the delay in releasing my scripts. I'm almost done testing but IRL stuff keeps getting in the way.

AapoRantalainen
2014-06-15, 17:40
if you do investigate gles, be aware that gles headers on maemo are missing definition of glchar. just discovered that trying sdl-2.0.3

I don't have any ideas how I could use GLES.


I have nokia-binaries -repository in /etc/apt/sources and downloaded packages with aptitude

aptitude download opengles-sgx-img-common:armel libgles2-sgx-img-dev:armel libgles2-sgx-img:armel

ar x libgles2-sgx-img_0.20100611.6+0m5_armel.deb
tar xvf data.tar.gz

file ./usr/lib/libGLESv2.so
./usr/lib/libGLESv2.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, stripped

ldd ./usr/lib/libGLESv2.so
not a dynamic executable


Does this mean I need armel libc6 (additionally to armhf libc6) to even plan to use these libraries? And if there some kernel-modules involved, how they could be handled?

misiak
2014-06-15, 18:00
I don't have any ideas how I could use GLES.


I have nokia-binaries -repository in /etc/apt/sources and downloaded packages with aptitude

aptitude download opengles-sgx-img-common:armel libgles2-sgx-img-dev:armel libgles2-sgx-img:armel

ar x libgles2-sgx-img_0.20100611.6+0m5_armel.deb
tar xvf data.tar.gz

file ./usr/lib/libGLESv2.so
./usr/lib/libGLESv2.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, stripped

ldd ./usr/lib/libGLESv2.so
not a dynamic executable


Does this mean I need armel libc6 (additionally to armhf libc6) to even plan to use these libraries? And if there some kernel-modules involved, how they could be handled?

Do you have gcc-multilib package installed? Quick search on stack overflow suggested that this might help to ldd. I don't think having armel libc6 is necessary, but I'm not an expert sadly.

Android_808
2014-06-15, 18:49
why not grab meege ce version? it was armhf iirc

edit: mer files:

http://repo.merproject.org/obs/nemo:/devel:/hw:/ti:/omap3:/n9xx-common/latest_armv7hl/armv7hl/
http://repo.merproject.org/obs/nemo:/devel:/hw:/ti:/omap3:/n900/

theres even a version for wayland

freemangordon
2014-06-15, 20:15
Guys, I didn't get which kernel is used (and I am too lazy right now to re-read the whole thread), but I can provide patches for or push to github 3.15-rc7 with working SGX driver that comes with omap1 kernel. No idea which userland drivers it will work with (besides those from fremantle).

http://talk.maemo.org/showpost.php?p=1427621&postcount=115

AapoRantalainen
2014-06-15, 20:41
why not grab meege ce version? it was armhf iirc

edit: mer files:

http://repo.merproject.org/obs/nemo:/devel:/hw:/ti:/omap3:/n9xx-common/latest_armv7hl/armv7hl/
http://repo.merproject.org/obs/nemo:/devel:/hw:/ti:/omap3:/n900/


I got it little bit further, tested simple.c from: http://talk.maemo.org/showthread.php?t=37356
I think I need better minimal test-case.

wget http://repo.merproject.org/obs/nemo:/devel:/hw:/ti:/omap3:/n9xx-common/latest_armv7hl/armv7hl/ti-omap3-sgx-1.4.268.5-12.1.Nemo.Adaptation.N9xx.armv7hl.rpm
rpm2cpio ti-omap3-sgx-1.4.268.5-12.1.Nemo.Adaptation.N9xx.armv7hl.rpm | cpio --extract --make-directories

wget http://repo.merproject.org/obs/nemo:/devel:/hw:/ti:/omap3:/n9xx-common/latest_armv7hl/armv7hl/ti-omap3-sgx-libGLESv2-devel-1.4.268.5-12.1.Nemo.Adaptation.N9xx.armv7hl.rpm
rpm2cpio ti-omap3-sgx-libGLESv2-devel-1.4.268.5-12.1.Nemo.Adaptation.N9xx.armv7hl.rpm | cpio --extract --make-directories

wget http://repo.merproject.org/obs/nemo:/devel:/hw:/ti:/omap3:/n9xx-common/latest_armv7hl/armv7hl/ti-omap3-sgx-libEGL-devel-1.4.268.5-12.1.Nemo.Adaptation.N9xx.armv7hl.rpm
rpm2cpio ti-omap3-sgx-libEGL-devel-1.4.268.5-12.1.Nemo.Adaptation.N9xx.armv7hl.rpm | cpio --extract --make-directories

wget http://repo.merproject.org/obs/nemo:/devel:/hw:/ti:/omap3:/n9xx-common/latest_armv7hl/armv7hl/ti-omap3-sgx-devel-1.4.268.5-12.1.Nemo.Adaptation.N9xx.armv7hl.rpm
rpm2cpio ti-omap3-sgx-devel-1.4.268.5-12.1.Nemo.Adaptation.N9xx.armv7hl.rpm | cpio --extract --make-directories

cd usr/lib
ln -s libGLESv2_r125.so libGLESv2.so
ln -s libIMGegl_r125.so libIMGegl.so
ln -s libGLES_CM_r125.so libGLES_CM.so
ln -s libsrv_um_r125.so libsrv_um.so
ln -s libglslcompiler_r125.so libglslcompiler.so
ln -s libOpenVG_r125.so libOpenVG.so
ln -s libOpenVGU_r125.so libOpenVGU.so
ln -s libpvr2d_r125.so libpvr2d.so
ln -s libPVRScopeServices_r125.so libPVRScopeServices.so
cd ../..

LD_LIBRARY_PATH=usr/lib g++ -fpermissive -lX11 -lEGL -lGLESv2 simple.c -o simple -Iusr/include -Lusr/lib

Got it compiled.

Running:
DISPLAY=:0 LD_LIBRARY_PATH=usr/lib ./simple
X Error of failed request: BadAtom (invalid Atom parameter)
Major opcode of failed request: 18 (X_ChangeProperty)
Atom id in failed request: 0x0
Serial number of failed request: 11
Current serial number in output stream: 12


------
I can provide patches for or push to github 3.15-rc7 with working SGX driver that comes with omap1 kernel. No idea which userland drivers it will work with (besides those from fremantle).

http://talk.maemo.org/showpost.php?p=1427621&postcount=115

This thread is about Linux n900 3.12.0-rc5+ #2 PREEMPT Tue May 27 15:19:59 BRT 2014 armv7l GNU/Linux, but I think newer is better :) (I have read what is not working with it)

caveman
2014-06-16, 11:20
I'm not sure if this works with caveman's image but I can chroot straight into my images on my PC, qemu runs automatically (I'm building my images using qemu-debootstrap).

I believe that you can install qemu-system-arm/qemu-user-static, copy the static binary into the arm filesystem's /usr/bin/, and then chroot into it on a x86 system. Performance will not be great, and it has been a year since I last used this setup, but it shoul work :-)

caveman
2014-06-16, 11:32
Guys, I didn't get which kernel is used (and I am too lazy right now to re-read the whole thread), but I can provide patches for or push to github 3.15-rc7 with working SGX driver that comes with omap1 kernel. No idea which userland drivers it will work with (besides those from fremantle).

As you are bringing this up, I have a couple of questions:
* I would like to build this kernel and give it a try, but could not clone the repo. Do I need to register to clone it?
* in the jessie setup with the 3.12 kernel, I have horrible battery life. Is there a kernel config or patchset that may improve this matter?

Regarding the SGX drivers, it would be great if we could build weston (http://wayland.freedesktop.org/raspberrypi.html) on the N900, and maybe try maynard (http://blog.barisione.org/2014-04/maynard/). With the right drivers this should yield good performance. However, I must say that I lack knowledge in this respect. So here goes the question: with the driver setup we have at hand, is it feasible to get weston to run?

In http://www.collabora.com/projects/graphics/ there is even mention of it running on powervr.

taixzo
2014-06-16, 15:11
Someone has built Nemo with basic Wayland support (http://talk.maemo.org/showthread.php?t=91277) for the N900. Perhaps this would be somewhere to look?

wicket
2014-06-16, 16:54
* I would like to build this kernel and give it a try, but could not clone the repo. Do I need to register to clone it?

You don't need to register. Pali's tagged 3.16-rc1 just a few hours ago. To clone it run the following:


$ git clone git://gitorious.org/linux-n900/linux-n900.git
$ git checkout v3.16-rc1-n900

freemangordon
2014-06-17, 05:31
You don't need to register. Pali's tagged 3.16-rc1 just a few hours ago. To clone it run the following:


$ git clone git://gitorious.org/linux-n900/linux-n900.git
$ git checkout v3.16-rc1-n900


I didn't try what Pali pushed yesterday so dunno if it even boots. He was very busy lately, so we somehow "split" and I was working on my own trees.

Anyway, I will push 3.16-rc1 that boots with DT and has SGX and cmt-speech drivers as soon as I find some free time to clean up my tree.

caveman
2014-06-17, 10:48
You don't need to register. Pali's tagged 3.16-rc1 just a few hours ago. To clone it run the following:


$ git clone git://gitorious.org/linux-n900/linux-n900.git
$ git checkout v3.16-rc1-n900


Thanks for the hint. I will give it a try. The image was build with 3.12 and there are plenty new stuff since I last checked.

The one I could not clone was this one: https://gitorious.org/linux-n900/freemangordons-linux-n900

freemangordon
2014-06-17, 16:23
Thanks for the hint. I will give it a try. The image was build with 3.12 and there are plenty new stuff since I last checked.

The one I could not clone was this one: https://gitorious.org/linux-n900/freemangordons-linux-n900

try this one git://gitorious.org/linux-n900/freemangordons-linux-n900.git branch v3.16-rc1-n900

to build it follow the instructions on http://elinux.org/N900#DT_Kernel_Compilation

I tested it with qemu, it boots, should boot on the device as well.

EDIT:
for building, you need to use rx51_defconfig, it has all the needed stuff enabled

caveman
2014-06-18, 17:23
try this one git://gitorious.org/linux-n900/freemangordons-linux-n900.git branch v3.16-rc1-n900

to build it follow the instructions on http://elinux.org/N900#DT_Kernel_Compilation

I tested it with qemu, it boots, should boot on the device as well.

EDIT:
for building, you need to use rx51_defconfig, it has all the needed stuff enabled

@fmg It does boot :-)
Linux n900 3.16.0-rc1+ #2 PREEMPT Wed Jun 18 13:29:27 BRT 2014 armv7l

I had to disable CONFIG_SYSFS_DEPRECATED, otherwise kernel loads but boot fails.

For those willing to live on the bleeding edge here follows uImage/uInitrd and modules suitable to be used on the jessie image: https://187.115.25.181/public/n900/3.16-rc1.tgz

freemangordon
2014-06-18, 17:35
@fmg It does boot :-)
Linux n900 3.16.0-rc1+ #2 PREEMPT Wed Jun 18 13:29:27 BRT 2014 armv7l

I had to disable CONFIG_SYSFS_DEPRECATED, otherwise kernel loads but boot fails.

For those willing to live on the bleeding edge here follows uImage/uInitrd and modules suitable to be used on the jessie image: https://187.115.25.181/public/n900/3.16-rc1.tgz

What about SGX driver, are you able to load it and start X ? I guess you'll need userspace from Meego

caveman
2014-06-18, 19:11
What about SGX driver, are you able to load it and start X ? I guess you'll need userspace from Meego

In fact I have not tried this yet. However I was able to start weston on the n900:

apt-get install weston glx-alternative-mesa libgl1-mesa-swx11

but using the fbdev backend:

root@n900:~# cat .config/weston.ini
[keyboard]
keymap_layout=us

[launcher]
icon=/usr/share/icons/gnome/24x24/apps/utilities-terminal.png
path=/usr/bin/weston-terminal

[launcher]
icon=/usr/share/icons/hicolor/24x24/apps/firefox.png
path=/usr/bin/iceweasel

[output]

[core]
modules=desktop-shell.so
backend=fbdev-backend.so

Very crude but works :-)

Could someone comment on userland tools that we can use with the kernel SGX driver?

misiak
2014-06-18, 20:27
Could someone comment on userland tools that we can use with the kernel SGX driver?

I'm not sure how are you supposed to get it (I don't know what packages are those things in), but you would have to:
1. load kernel drivers
2. start "powervr" service (search the arch tread - http://talk.maemo.org/showthread.php?t=81892 - for details, they must be somewhere there... or ping Skry directly maybe... and about where to get them from - I guess one of MeeGo packages for N900 has them, I had some links back in the days, but wiki.meego.com seems dead, so I cannot give you anything more, sorry:()
3. I guess you should change the "fbdev-*" stuff in some config files to some other value (however I'm not sure about that).

misiak
2014-06-22, 20:16
Just stepping in to post this: http://upstream-tracker.org/ maybe it can be helpful in recompiling maemo stuff against jessie libs ;) Credit goes to Pali at http://talk.maemo.org/showpost.php?p=1430604&postcount=25 for reminding me of this website.

Android_808
2014-06-22, 21:52
I'm not sure how are you supposed to get it (I don't know what packages are those things in), but you would have to:
1. load kernel drivers
2. start "powervr" service (search the arch tread - http://talk.maemo.org/showthread.php?t=81892 - for details, they must be somewhere there... or ping Skry directly maybe... and about where to get them from - I guess one of MeeGo packages for N900 has them, I had some links back in the days, but wiki.meego.com seems dead, so I cannot give you anything more, sorry:()
3. I guess you should change the "fbdev-*" stuff in some config files to some other value (however I'm not sure about that).

https://github.com/nagaozen/ti-omap3-sgx-bin

I posted Mer links for packages the other day, should be pretty interchangeable.

TomJ
2014-06-23, 19:44
Is it possible to map a key or key combination to call up the power button menu?

misiak
2014-06-23, 19:56
Is it possible to map a key or key combination to call up the power button menu?

You mean maemo power button menu? I think you would need to compile it and run the deamon first... ;p

TomJ
2014-06-23, 20:08
You mean maemo power button menu? I think you would need to compile it and run the deamon first... ;p

Ack, too many windows, wrong thread! mea maxima culpa.

wicket
2014-06-24, 00:01
For anyone wanting to activate the power button functionality in Debian, install acpi-support-base (which will also install acpid). This will set the default behaviour to shut down the OS. You can then edit /etc/acpi/events/powerbtn-acpi-support if you want to change the behaviour so that it does something else.

Android_808
2014-07-04, 11:43
any update on your scripts wicket?

wicket
2014-07-04, 14:28
any update on your scripts wicket?
I must apologise once again for not yet delivering. I've been extremely busy the last 3 weeks taking a course (I've not even been able to watch nearly as many World Cup matches as I would've liked!). I should have some free time next week though that I will use to integrate freemangordon's latest kernel and finish off testing.


PM me if you want an early preview. ;)




I never managed to get that free time and won't have any for at least a couple of weeks. :(

Android_808
2014-07-04, 16:17
No rush, I won't be able to take a look until next week at the earliest as I'm on holiday this week. Finished building my new pc (for now), scratchbox is moved over from old one ready to go. Want to build maemo qt5 and port qt-hildon-components so I can work on a qt5 port of my microb replacement.

Android_808
2014-07-19, 15:39
I've set up an image in my existing vbox image using the instructions from http://blog.night-shade.org.uk/2013/12/building-a-pure-debian-armhf-rootfs/ replacing wheezy with jessie, as far as (but not including) the serial console step.

Before I start building a kernel, does anyone have latest one built and packaged?

wicket
2014-09-15, 04:43
What about SGX driver, are you able to load it and start X ? I guess you'll need userspace from Meego

I've been trying to get the SGX driver working using the userspace from Nemo (https://github.com/nemomobile/ti-omap3-sgx) but have not had a lot of success.

The pvrsrvkm and omaplfp kernel modules are loaded but the userspace driver initialisation script is failing the test on this line (https://github.com/nemomobile/ti-omap3-sgx/blob/master/usr/sbin/pvrsrvinit#L67) because /proc/pvr/version does not exist (the /proc/pvr directory does exist but it's empty). This leads me to believe that there's something not quite right with the PVR driver. I had a quick look at the related patch (https://gitorious.org/linux-n900/freemangordons-linux-n900/commit/452fd34bc8c424301d1bd100344de6d8cf1a8e63) but was unable to deduce what might be causing the problem.

Any ideas?

Android_808
2014-09-15, 13:49
drivers/gpu/pvr/module.c: 229
Makes a call to CreateProcEntries(), which in turn creates the /proc/pvr folder. WIthout testing, I would guess the fault is in the if block @ drivers/gpu/pvr/proc.c: 167

I'm leaning towards file->owner = THIS_MODULE; being the problem as it was removed in 2.6.30 http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=99b76233803beab302123d243eea9e41149804f3. I have also found another version of the driver based on cedartrail that has this line in an if block for older kernel versions (https://github.com/thomas001/cdv/blob/master/pvr/services4/srvkm/env/linux/proc.c#L477)

If not, you could try building debug version to enable PVR_DPF definition to see what proc entry is failing?

Android_808
2014-09-18, 12:59
Did that help at all?

I'm still looking over prospects for UI and updated maemo-like interfaces (mce, libdsme, mafw etc) to see what ones are worth keeping.

marmistrz
2014-09-18, 15:22
Due to hardware damage, I can do only 1 keypress in u-boot. Is it possible to boot the Jessie only once:
a) from N900 itself (maybe using the flasher as in the device)
b) from a Linux box?

wicket
2014-09-18, 16:57
Did that help at all?

I'm still looking over prospects for UI and updated maemo-like interfaces (mce, libdsme, mafw etc) to see what ones are worth keeping.

Very useful information but unfortunately I haven't yet done anything with it. I decided it would be better to get my scripts ready first (http://talk.maemo.org/showthread.php?p=1439585) in their current form before something else comes up that might limit my available time to work on them.

wicket
2014-09-18, 17:04
Due to hardware damage, I can do only 1 keypress in u-boot. Is it possible to boot the Jessie only once:
a) from N900 itself (maybe using the flasher as in the device)
b) from a Linux box?

You could alter the boot order so that Jessie is the first boot entry. That way you only need to press the "enter" key. Make sure the default option (set by symlink) is set to Maemo so that if you wait for U-Boot to time out it will still boot to Maemo.

marmistrz
2014-09-28, 13:49
And would booting without u-boot be possible (e.g. one time boot using the flasher)?

OT: wicket: please elaborate "It doesn't seem so expensive when you put it into perspective." from your signature ;)

wicket
2014-09-28, 18:53
And would booting without u-boot be possible (e.g. one time boot using the flasher)?
It should be possible, although I have no experience with that. I think you would be better off to configure U-Boot as I suggested above.

OT: wicket: please elaborate "It doesn't seem so expensive when you put it into perspective." from your signature ;)
Well the Neo900 is very expensive when you compare the specs to a similarly priced phone but that's not its main selling point. I'm most attracted to the freedom and privacy features. Like a PC, there is no de facto OS, you are free to install or port whatever OS you like. There are no LTE modems with open firmware (modified open firmware would be illegal in most if not all countries). This raises serious privacy concerns such as NSA spying, etc. The Neo900 solution to this problem is to sandbox and monitor the modem. So what I mean in my signature is that with other phones, you don't really own them as you have little control over what they do and don't know if you are being spied on. I see the the Neo900 as a small price to pay for freedom and privacy.

Dongle Fongle
2015-09-04, 09:30
Is anyone able to please seed the file from the first post? Thanks