![]() |
[Development - see post #1] Fremantle in a chroot (Run N900 applications on the N9)
I was just successful in running Wordpress from maemo-extras on the N950 using a chroot Maemo 5 PR1.3 rootfs image. As I am not allowed to post the image here I will post instructions shortly, but for now you have a teaser video.
DISCLAIMER: I don't know what works, maybe the first app that came to my mind (WordPress) luckily worked and nothing else does. Also the virtual keyboard doesn't work so for the N9 you'll need a bluetooth keyboard. http://www.youtube.com/watch?v=ZIlD7NsO1QI&feature=plcp More applications do work partially (e.g. gnumeric) but I have to run hildon desktop first. Anyone got any idea how to run hildon-desktop in xephyr? I checked how it is being done in scratchbox but there are a lot of sb-only functions in that script file. EDIT: Tutorial on post #14 Status Due to the chroot using the Harmattan dbus, and the fact that Maemo relies heavily on dbus to work I think it's futile to try to make hildon-desktop work from within the chroot. Another fact is that after trying to initialize hildon-desktop through scratchbox's init script, weird things happen to the N950 like loss of vibration, and weird lighting patterns on the hwkb. Thus I stopped work on the chroot and shifted to making hildon-desktop work natively in harmattan. This would allow us to run a native h-d in Xephyr and run applications from within the chroot on the h-d outside. In the future, we could possibly create an inverse MeeCoLay, without need for a chroot and thus without need for open mode. Another possible experiment would be to change the default window manager of harmattan from mcompositor to hildon-desktop. Now I have trouble compiling clutter, see post #61 Post history: EDIT2: Current status is described at post #17. Please read and comment if you know something about the blocker issue at post #19 Help needed Code:
ERROR:PipDate.c:569:pip_date_to_string_format: assertion failed: (pip_date_is_valid((date)) It would be even better if we didn't have to start the whole hildon desktop but only the notification/menu bar. The actual problem is that apps now run without a menu Thanks to matan, this problem is now solved, and matchbox-window-manager starts successfully (I can see desktop widgets, and applications with the menu bar). We still cannot start hildon-desktop however, and I suppose that the problem lies with dbus (probably session) bus. The question is this Does the chroot use the parent OS dbus or does it start it's own? Please note that hildon desktop does not throw any errors, it just displays a black screen. Screenshots will be posted soon @post #55. Another, unrelated, question is how to get rid of the bottom toolbar in harmattan windows. List of relevant threads, wikis etc for reference |
Re: Fremantle in a chroot (Run N900 applications on the N9)
Sorry for stupid comment, but this is first thing that came to my mind :D http://cdn.memegenerator.net/instanc...x/22258558.jpg
It's great idea to try to run that :) You inspired me to try running Diablo inside Fremantle (just for fun ;) ) |
Re: Fremantle in a chroot (Run N900 applications on the N9)
ROTFL!
10chars |
Re: Fremantle in a chroot (Run N900 applications on the N9)
Ohhhh, this is awesome work.
I know it's not going to happen but one can dream of running MicroB on the n9. :D |
Re: Fremantle in a chroot (Run N900 applications on the N9)
Quote:
|
Re: Fremantle in a chroot (Run N900 applications on the N9)
@qwazix
nice job i like it even i dont have N9 :) |
Re: Fremantle in a chroot (Run N900 applications on the N9)
For virtual keyboard, there is xmind by javispedro
|
Re: Fremantle in a chroot (Run N900 applications on the N9)
no, this is something i really LIKE
when we can get full tut? haaa? and where to get rootfs?:D damn, this's great :D |
Re: Fremantle in a chroot (Run N900 applications on the N9)
@ qwazix Give us the tutorials cant wait to get into the awesomeness :-D
|
Re: Fremantle in a chroot (Run N900 applications on the N9)
There are so many N900 programs I would like to run on the N9...
|
Re: Fremantle in a chroot (Run N900 applications on the N9)
|
Re: Fremantle in a chroot (Run N900 applications on the N9)
NICE work :) How To + DL links please :D
|
Re: Fremantle in a chroot (Run N900 applications on the N9)
No tutorial yet?
(cant wait to test some maemo5 apps :) ) |
Re: Fremantle in a chroot (Run N900 applications on the N9)
Tutorial Time :)
First things first. 1. The N900 rootfs is not redistributable, so the only thing I can do is write how to obtain it (if you have a N900). 2. You need a linux box for this procedure, either virtual or real. It is possible that those steps that require linux could be done on a N900 with kernel-power but this is not certain 3. These are early stages, I've got many problems to solve, hopefully with some help from the community this project can be made usable day to day 4. Requires open mode, I don't know if inception can be used alternatively How to get fremantle image. Create a working directory N900root Go here http://tablets-dev.nokia.com/nokia_N900.php, enter your IMEI and download RX-51_2009SE_20.2010.36-2_PR_COMBINED_MR0_ARM.bin (latest global N900 firmware) michaelmhk says that if you haven't got a N900 you can download the firmware from NaviFirm Go here http://tablets-dev.nokia.com/maemo-d...-downloads.php and download maemo_flasher-3.5_2.5.2.2.tar.gz, or maemo_flasher-3.5_2.5.2.2_i386.deb if you have 32bit ubuntu/debian. Install the flasher or extract the binary from the tar.gz in your working directory Unpack the .bin file you just downloaded Code:
flasher-3.5 -u -F RX-51_2009SE_20.2010.36-2_PR_COMBINED_MR0_ARM.bin Code:
./flasher-3.5 -u -F RX-51_2009SE_20.2010.36-2_PR_COMBINED_MR0_ARM.bin Using a root prompt (sudo su) execute the following commands to mount the rootfs file to your system. Some commands are there just for checking if you've done well (cat and ls commands should produce similar output). You may need to create /mnt/n900 directory Code:
# modprobe mtdblock Now you have a maemo rootfs mounted on /mnt/n900. Let's create an image of that node. This website has a very nice explanation of what's happening http://www.debuntu.org/how-to-create...rtition-s-file We need to execute (change the working dir and the size to one of your liking, bigger than 800mb) Code:
dd if=/dev/zero of=/path/to/N900root/rootfs.img bs=1M count=1024 Code:
cp /mnt/n900/* /tmp/maemoroot/ Code:
umount /tmp/maemoroot Now we have to use qole's scripts to get the chroot up and running (http://talk.maemo.org/showthread.php?t=82114) Download the scripts http://qole.org/files/harmattan/HarmChom.tgz as well as coderus' sudo http://talk.maemo.org/attachment.php...9&d=1332087322 and install sudo. Code:
AEGIS_FIXED_ORIGIN=com.nokia.maemo dpkg -i sudo_1.6.8p12-4osso28\+0m6_armel.deb Code:
passwd user Code:
### Automatically added by update-sudoers start ### You should be ready to go, launch a user terminal and Code:
sudo qchroot MyDocs/rootfs.img /.debian Code:
BusyBox v1.10.2 (Debian 3:1.10.2.legal-1osso30+0m5) built-in shell (ash) Code:
apt-get update Experiments You can also install gnumeric and run it, but it misses the menu bar, and it doesn't run with a maemo5 theme. It segfaults if you try to run-standalone it. If you do Code:
/etc/rc1.d/K20hildon-desktop start #and maybe something else, I tried various rc files I suppose we need a fully running hildon-desktop to see the menu, but we are missing xephyr. One solution is to use xephyr from another chroot running debian. Another thought that if is true it would allow this project to take off is this: What do we need to run hildon applications in harmattan? Of course drivers, firmware and other blobs are not needed, neither the stock fremantle applications. Hildon-desktop is open and most of the other libs. So theoretically we could create a stripped fremantle image that could be redistributable. Please anybody who can help with this task speak up. Thanks to all testers for the corrections |
Re: Fremantle in a chroot (Run N900 applications on the N9)
http://forum-images.hardware.fr/images/perso/wark0.gif
http://forum-images.hardware.fr/imag...so/dr_doak.gif [Edit] Quote:
Any way to backup all settings (and apps) from an incepted N9, then reflash it into open mode, and restore everything? :o |
Re: Fremantle in a chroot (Run N900 applications on the N9)
Quote:
I'll test it now and show the results. (ubiattach didn't work on my ubuntu 8.0 :p installing newest ubuntu now) |
Re: Fremantle in a chroot (Run N900 applications on the N9)
1 Attachment(s)
Thanks! I played a little bit more with this trying to get hildon-desktop to run in Xephyr without success. I managed though to get applications to run in Xephyr, and I also managed to start most of the Maemo services, so maybe more applications can work now (although mypaint which previously segfaulted now does not find it's python dependencies, which is not a good sign)
I managed to start services using a script from scratchbox modified a little for use on-device, but it stops halfway, with some dbus errors about com.nokia.clockd I am attaching the script for reference EDIT: I forgot to document how I ran Xephyr. I followed qole's instructions to run harmchom (debian chroot) and after chrooting to debian I ran Code:
Xephyr :2 -br -screen 800x480x16 -fullscreen -dpi 96 Code:
export DISPLAY=:2 |
Re: Fremantle in a chroot (Run N900 applications on the N9)
Quote:
About your com.nokia.clockd errors, quick search came up with: https://garage.maemo.org/pipermail/e...st/000864.html - although there are com.nokia.clockd related errors, hildon-desktop starts there (as far as i understand). By the way, see how they run it: Code:
cd "/" && /bin/sh -c "DISPLAY=\"10.10.206.15:2\" af-sb-init.sh start" |
Re: Fremantle in a chroot (Run N900 applications on the N9)
Doesn't seem to work with other parameters either. When I tried on the desktop, it does the same thing as on the device, but as I could watch the Xephyr window while the system was starting, I realized that hildon-desktop flashed on-screen before dying. The message just before it dies reads as:
Code:
ERROR:PipDate.c:569:pip_date_to_string_format: assertion failed: (pip_date_is_valid((date)) |
Re: Fremantle in a chroot (Run N900 applications on the N9)
It asks me for a password when I try to run
sudo qchroot MyDocs/rootfs.img /.debian rootme isn't working. what is the default password? :p edit: using opensh should also work :) Edit 2: Couldn't get it to run, output: Code:
Mounting... |
Re: Fremantle in a chroot (Run N900 applications on the N9)
Default password is rootme
If you don't want to get the fs warning rename your file to rootfs.img.ext2 and that will go away but anyway it shouldn't be a problem. The modprobe not found smells like it tries to modprobe as user. Doublecheck that you run qchroot as root or with sudo. |
Re: Fremantle in a chroot (Run N900 applications on the N9)
Quote:
|
Re: Fremantle in a chroot (Run N900 applications on the N9)
Sure you haven't changed it? Default password for devel-su is definitely rootme.
|
Re: Fremantle in a chroot (Run N900 applications on the N9)
Quote:
if I go into regular devel-su, the "rootme" password just works fine. but when I try to run sudo with user mode, the same password doesnt work |
Re: Fremantle in a chroot (Run N900 applications on the N9)
Ok now I got it. Sudo shouldn't ask for password though. Check that you have the real sudo (coderus' .deb) and not the fake sudo of qole (if you accidentally replaced /bin/sudo from qole's archive that might be a problem)
EDIT: I can confirm the same error when using devel-su instead of sudo. Try reinstalling sudo from the .deb |
Re: Fremantle in a chroot (Run N900 applications on the N9)
Quote:
Maybe you gave the wrong link? |
Re: Fremantle in a chroot (Run N900 applications on the N9)
No there is no other sudo for harmattan around. The link is http://talk.maemo.org/attachment.php...9&d=1332087322
My /etc/sudoers file looks like this Code:
### Automatically added by update-sudoers start ### |
Re: Fremantle in a chroot (Run N900 applications on the N9)
Quote:
Code:
### Automatically added by update-sudoers start ### Edit: yes, editing that file did the job! Although now I've got the same problem like before: Code:
~ $ sudo qchroot MyDocs/rootfs.img /.debian |
Re: Fremantle in a chroot (Run N900 applications on the N9)
That NOPASSWD: should get rid of the password prompt.
I remember now adding a NOPASSWD somewhere but I did a gazillion changes in various conf files since yesterday (at work we just set up a new ubuntu LAMP server) and couldn't pinpoint it. Must be this one. Check it out and i'll add it to the tutorial. |
Re: Fremantle in a chroot (Run N900 applications on the N9)
This one seems like something a reboot will solve
|
Re: Fremantle in a chroot (Run N900 applications on the N9)
Quote:
Edit: I created a directory .debian on the root. Do I have to symlink to somewhere? if so, how and where to? |
Re: Fremantle in a chroot (Run N900 applications on the N9)
No there is no need to symlink anything, the script just mounts the image to that directory. Try
Code:
sudo modprobe ext2 This is my qchroot output Code:
~ $ sudo qchroot MyDocs/m5root.img /.fremantle/ |
Re: Fremantle in a chroot (Run N900 applications on the N9)
Quote:
But since I've created the .debian directory in the root, this is the output: Code:
~ $ sudo qchroot MyDocs/rootfs.img /.debian |
Re: Fremantle in a chroot (Run N900 applications on the N9)
It's passed 2AM here, I've got to go. Goodnight and good luck for now, I'll check back the thread tomorrow.
EDIT: It seems you are in, albeit with some errors... try installing something in the chroot (nano?) |
Re: Fremantle in a chroot (Run N900 applications on the N9)
Quote:
Just 1 last question just before you leave: Did you set up the maemo repos? Because mine doesnt pick WordPress :p |
Re: Fremantle in a chroot (Run N900 applications on the N9)
No, extras should be enabled by default in PR1.3 I just ran
apt-get update apt-get install wordpress (all lowercase for apt-get, CamelCase for running the binary -- WordPress) |
Re: Fremantle in a chroot (Run N900 applications on the N9)
Quote:
Seems like it's getting late here aswell (-1hour from your side) how ever, nano (maemo5) works! :) |
Re: Fremantle in a chroot (Run N900 applications on the N9)
Quote:
- /usr/bin/clockd - /etc/init.d/clockd - /etc/clockd/* - /etc/osso-af-init/* from N900 to N9 and seeing what could happen? :P please note that /etc/init.d/clockd may need some tuning - it uses dsmetool which in Fremntle is present as /usr/sbin/dsmetool, afaik it is also present in Harmattan, but I don't know whether path is the same. I found some info about how to read clockd values from dbus: http://www.developer.nokia.com/Commu...ANGED-using-Qt and possible cause for clockd errors: https://bugs.maemo.org/show_bug.cgi?id=4573 I hope it can help you somehow. edit: for reading clockd messages from dbus, in case you want to know exact message service/path/interface, here is official documentation: http://maemo.org/api_refs/5.0/5.0-fi...ibtime_8h.html edit 2: if it still complains about date format... what if you try to remove clock and clock applet before running desktop? ;) |
Re: Fremantle in a chroot (Run N900 applications on the N9)
is there a way to create a rootfs from nokia's firmwares ?
|
Re: Fremantle in a chroot (Run N900 applications on the N9)
@RzrSee post #14
@Misiak thanks for the tips. I'll give it a try probably this evening. |
All times are GMT. The time now is 20:13. |
vBulletin® Version 3.8.8