Meego Wiki
From MeeGo wiki
(Difference between revisions)
Jump to: navigation, search
(Joggler Image based on kernel-adaptation-intel-automotive and new MeeGo packaged EMGD Driver)
(QMLViewer)
 
(35 intermediate revisions not shown)
Line 1: Line 1:
 +
= N950 =
 +
 +
I pitched for a N950 device from the Community Device Program to comtinue platform development work for MeeGo Handset CE and to help progress the push to a Wayland stack for 1.3.  I was luck enough to be chosen for a device (thanks Quim, Texrat, Nokia).  I will keep this page updated with what I'm up to with the device.  You can always find me on #meego and #meego-arm.
 +
 +
== Twimgo Build ==
 +
 +
As the capability to flash CE to the device is waiting for some bootloader code I have spent sometime at the app level.  I've not used QtCreator before so this was the ideal opportunity to see if I could port an application to the device.  I downloaded Qtcreator which included the MeeGo 1.2 Harmattan targets and configured the tool to talk to the SDK application on the device.
 +
 +
I chose Twimgo (Twitter client) as my donor project as the stock N950 is lacking in this area and is also Qt/QML based.
 +
 +
I downloaded the source and in no time at all had built and deployed to the device.
 +
 +
[[File:twingo.jpg]]
 +
 +
The N950 should be getting its fair share of apps if this experience is anything to go by and also gives a good indication of the power of the write once deploy many Qt/QML toolset
 +
 +
== Harmattan OBS ==
 +
 +
I've now added this to OBS at
 +
 +
https://build.pub.meego.com/project/show?project=home%3Avgrade%3Atwingo
 +
 +
Repo here
 +
 +
http://repo.pub.meego.com/home:/vgrade:/twingo/Harmattan/armel/
 +
 +
WARNING : While the Qt creator version did deploy to the device correctly I'm having dependency issues with the OBS version.
 +
= Joggler Image based on kernel-adaptation-intel-automotive and new MeeGo packaged EMGD Driver=
= Joggler Image based on kernel-adaptation-intel-automotive and new MeeGo packaged EMGD Driver=
-
[[File:joggler-emgd.jpg|800px]]
+
[[File:joggler-emgd.jpg|1024px]]
-
== Prepare OBS Package ==
+
== Full Image Download ==
-
download source rpm from http://download.meego.com/live/devel:/kernel/Trunk/i586/kernel-adaptation-intel-automotive-2.6.35.10-12.4.i586.rpm
+
http://bug10738.openaos.org/
 +
 
 +
TODO - 05-02-11
 +
 
 +
* wifi - needs driver enabling in kernel
 +
* wired ethernet - needs driver enabling in kernel
 +
* sound - needs patches from http://joggler.exotica.org.uk/source/kernel/split/
 +
 +
vgrade
 +
 
 +
== Prepare OBS Package ==
 +
download source rpm from http://download.meego.com/live/devel:/kernel/Trunk/src/ eg: http://download.meego.com/live/devel:/kernel/Trunk/src/kernel-adaptation-intel-automotive-2.6.35.10-21.2.src.rpm
Talk to lbt on #meego-dev, #meego for a login to public obs
Talk to lbt on #meego-dev, #meego for a login to public obs
Line 21: Line 60:
  osc commit
  osc commit
-
set to built against Meego:current:Core/standard using gui
+
set to build against Meego:current:Core/standard using gui
trigger build
trigger build
Line 56: Line 95:
  sudo mic-image-creator --run-mode=0 --cache=../mycachedir --format=loop  --release=daily --compress-disk-image=none --config=meego-netbook-ia32-1.1.80.14.20110111.8.ks
  sudo mic-image-creator --run-mode=0 --cache=../mycachedir --format=loop  --release=daily --compress-disk-image=none --config=meego-netbook-ia32-1.1.80.14.20110111.8.ks
 +
 +
 +
emgd bin is now here as well, http://repo.meego.com/MeeGo/builds/1.1.80/daily/non-oss/repos/ia32/packages/i586/emgd-bin-1812-1.1.i586.rpm, TODO update .ks
== Mount Loopback ==
== Mount Loopback ==
Line 183: Line 225:
* ASUS t91 - Amyako
* ASUS t91 - Amyako
* ASUS t91mt - Yigal
* ASUS t91mt - Yigal
 +
* ASUS t91mt - ver - 1.2.0 installer crashes after user creation.  X crashes with signal 9 when the mouse pointer is moved at this point.
* Nokia Booklet 3g - Armika - 'I got it working now on the Nokia Booklet with the 3rd .ks. UI is snappy, responsive and looking really good' http://www.youtube.com/watch?v=6ix6Ux8NqYU
* Nokia Booklet 3g - Armika - 'I got it working now on the Nokia Booklet with the 3rd .ks. UI is snappy, responsive and looking really good' http://www.youtube.com/watch?v=6ix6Ux8NqYU
* VAIO P - With new Xorg for non EDID display - Patters
* VAIO P - With new Xorg for non EDID display - Patters
Line 202: Line 245:
Thanks goes to stskeeps for much help
Thanks goes to stskeeps for much help
 +
 +
= MeeGo Kernel Options =
 +
 +
During every port I have to get the right kernel options to suit MeeGo.  Here is a list, please add as required
 +
 +
* CONFIG_PARANIOD_ANDRIOD=n
 +
* CONFIG_DUMMY=n
 +
* CONFIG_AUTOFS4=y
 +
* CONFIG_DEVTMPFS=y
 +
* CONFIG_CGROUPS
 +
* CONFIG_SYSVIPC
 +
* CONFIG_IPV6=n
 +
* CONFIG_IPV6_SIT=n
 +
 +
= Raspberry Pi =
 +
 +
== Create Stock Debian Filesystem ==
 +
 +
mkdir PiStock
 +
cd PiStock
 +
wget http://dl.dropbox.com/u/5715485/debian-delivered.raw.bz2
 +
bunzip2 debian-delivered.raw.bz2
 +
sudo dd if=debian-delivered.raw of=/dev/<sdcard> bs=4M
 +
 +
== Test Stock Filesystem ==
 +
 +
Attach HDMI, USB kb, mouse, sdcard, power.
 +
Pi should boot to login prompt. User/Pass eupton/suse
 +
 +
== Build Stock Kernel ==
 +
 +
wget http://linux-kernel.uio.no/pub/linux/kernel/v2.6/linux-2.6.35.7.tar.bz2
 +
wget http://www.raspberrypi.org/kernel.zip
 +
bunzip2 linux-2.6.35.7.tar.bz2
 +
tar -xf linux-2.6.35.7.tar
 +
unzip kernel.zip
 +
gunzip raspberrypi.patch.gz
 +
patch -p0 -i raspberrypi.patch
 +
mv linux-2.6.35.7 linux
 +
cd linux
 +
cp -R ../DWC_otg/ .
 +
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- -j2 zImage
 +
cd ..
 +
cd tools
 +
python imagetool-uncompressed.py
 +
 +
Copy kernel.img to first partion of sdcard. Test Pi still boots.
 +
 +
== Create Mer Image ==
 +
 +
mkdir Pi
 +
cd Pi
 +
mkdir image-build
 +
cd image-build
 +
wget http://monster.tspre.org/~prjfetcher/mer/releases/0.20110920.1/kickstarts/mer-core-armv6l.ks
 +
edit kickstart to remove # from vfat partition line and set ext3 to match Pi commandline
 +
sudo mic-image-creator -f raw -t ../tmp/ -k ../cache/ -c mer-core-armv6l.ks -a armv6 --pkgmgr=yum
 +
cd meego-mer-core-armv6l-1.2.80.xxxxxxxx.xxx-raw/
 +
sudo dd if=meego-mer-core-armv6l-1.2.80.xxxxxxxx.xxxx-mmcblk0p.raw of=/dev/<sdcard> bs=4M
 +
 +
This creates two partitions on the sdcard the first to hold the kernel and GPU binary blob and bootloader and the second the Mer rootfile system
 +
 +
Copy the contents of the first partition on the stock sdcard to the first partition on the Mer sdcard
 +
 +
Test scard in Pi.  It should boot rootfs but give an error 'Failed to mount /dev: no such device'
 +
 +
This is due to the stock kernel not having options set to satisfy the systemd init process in Mer.  Next step build a custom kernel
 +
 +
== Mer Kernel ==
 +
 +
Edit stock kernel .config to match settings below.
 +
 +
* CONFIG_DUMMY=n
 +
* CONFIG_DEVTMPFS=y
 +
* CONFIG_CGROUPS=y
 +
* CONFIG_IPV6=n
 +
* CONFIG_IPV6_SIT=n
 +
 +
Accept defaults except
 +
 +
* Automount devtmpfs at /dev, after the kernel mounted the rootfs (DEVTMPFS_MOUNT) = y
 +
 +
Rebulid kernel
 +
 +
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- -j2 zImage
 +
cd ..
 +
cd tools
 +
python imagetool-uncompressed.py
 +
 +
Copy new kernel.img to the first partition on the Mer sdcard
 +
 +
Boot
 +
 +
== QMLViewer ==
 +
 +
This is booting to framebuffer at the moment, acceleration to come
 +
 +
http://www.youtube.com/embed/fouPJRLygNQ?hl

Latest revision as of 23:25, 22 September 2011

Contents

N950

I pitched for a N950 device from the Community Device Program to comtinue platform development work for MeeGo Handset CE and to help progress the push to a Wayland stack for 1.3. I was luck enough to be chosen for a device (thanks Quim, Texrat, Nokia). I will keep this page updated with what I'm up to with the device. You can always find me on #meego and #meego-arm.

Twimgo Build

As the capability to flash CE to the device is waiting for some bootloader code I have spent sometime at the app level. I've not used QtCreator before so this was the ideal opportunity to see if I could port an application to the device. I downloaded Qtcreator which included the MeeGo 1.2 Harmattan targets and configured the tool to talk to the SDK application on the device.

I chose Twimgo (Twitter client) as my donor project as the stock N950 is lacking in this area and is also Qt/QML based.

I downloaded the source and in no time at all had built and deployed to the device.

Twingo.jpg

The N950 should be getting its fair share of apps if this experience is anything to go by and also gives a good indication of the power of the write once deploy many Qt/QML toolset

Harmattan OBS

I've now added this to OBS at

https://build.pub.meego.com/project/show?project=home%3Avgrade%3Atwingo

Repo here

http://repo.pub.meego.com/home:/vgrade:/twingo/Harmattan/armel/

WARNING : While the Qt creator version did deploy to the device correctly I'm having dependency issues with the OBS version.

Joggler Image based on kernel-adaptation-intel-automotive and new MeeGo packaged EMGD Driver

Joggler-emgd.jpg

Full Image Download

http://bug10738.openaos.org/

TODO - 05-02-11

vgrade

Prepare OBS Package

download source rpm from http://download.meego.com/live/devel:/kernel/Trunk/src/ eg: http://download.meego.com/live/devel:/kernel/Trunk/src/kernel-adaptation-intel-automotive-2.6.35.10-21.2.src.rpm Talk to lbt on #meego-dev, #meego for a login to public obs

setup ~/.oscrc with correct urls, username and password. web interface https://build.pub.meego.com/ osc api interface https://api.pub.meego.com/

mkdir build-area
cd build-area
osc meta pkg -e home:<username> <package name>
osc co home:<username>/<package name>
cd home:<username>
cd <package name>
rpm2cpio *src.rpm|cpio -id
osc addremove
osc commit

set to build against Meego:current:Core/standard using gui

trigger build

This should get you some binary and a source package.

Prepare files to make Joggler Adaptation

rename files

config-adaptation-intel-automotive and kernel-adaptation-intel-automotive.spec to 
config-adaptation-joggler and kernel-adaptation-joggler.spec  

replace

'intel-automotive' with 'joggler' in Makefile.config and kernel-adaptation-joggler.spec
osc addremove
osc commit

we now should have joggler named binaries

Make .config Joggler specific

Using http://jogglerhacks.blogspot.com/2010/07/making-meego-kernel-package-for-joggler.html create new versions of config-adaptation-joggler and config-generic

TODO : This needs more research. Just nicked Stskeeps files for now.

rebuild

we now should have joggler specific kernel binaries

Create image

Using kickstart here http://pastebin.com/UHPiCuzd

sudo mic-image-creator --run-mode=0 --cache=../mycachedir --format=loop  --release=daily --compress-disk-image=none --config=meego-netbook-ia32-1.1.80.14.20110111.8.ks


emgd bin is now here as well, http://repo.meego.com/MeeGo/builds/1.1.80/daily/non-oss/repos/ia32/packages/i586/emgd-bin-1812-1.1.i586.rpm, TODO update .ks

Mount Loopback

sudo mount -o loop <image name>.img /mnt

Create a Stick

With a 4Gb memory stick create a 50Mb FAT16 partition and the rest as a EXT2 partition

Write to ext3 partition on a Jogger stick the contents of /mnt

sudo rsync -aHx /mnt/* <stick ext partition> . Get beers in.

Write the contents of joggler-fat-partition.tqz to fat16 partition - http://dl.dropbox.com/u/5715485/joggler-fat-partition.tgz - fixup grub.cfg to point to new kernel

Booting

Put in Joggler and boot.

edit out the time setting lines in /usr/share/system-config-date/scdMainwindow.py

The screen will then blank. Don't panic

Use Alt+F1 to get a login prompt

User: meego Pw: meego - you may need to use Alt+F1 again

su Pw: meego
telinit 3 - to stop uxlaunch
vi /etc/X11/xinit/Xclients
replace
if [ -x /usr/bin/twm ] ; then
  exec /usr/bin/twm 
fi 
with
if [ -x /usr/bin/mutter ] ; then
 exec /usr/bin/mutter
fi
startx - should bring up UX - close clock and xterm
TODO - work out why uxlaunch does not bring up X, sound, wifi, ethernet

edit /etc/rc.local and add in the following lines at the end (using your mac address)

/sbin/ifconfig eth0 hw ether 00:00:de:ad:be:ef
/sbin/ifconfig eth0 up

reboot, and eth0 should be working using dhcp

Thanks to Stskeeps and all at jogglerwiki - Standing on the shoulders of giants as usual


superseded information below


Meego on O2 Joggler

http://www.jogglerwiki.info/index.php?title=MeeGo

Meego on GMA500 Based Laptops

After getting MeeGo up on my Poulsbo based O2 Joggler

I have prepared a kickstart file for Poulsbo/GMA500 based netbooks.

If you have one of these netbooks and can spare the time I would be interested in the results.

You can catch me vgrade on #meego.

emgd-netbook.ks

After a couple of reports of this nearly working I have edited the ks to a later version of the core and netbook repos

emgd-netbook-2.ks

sudo mic-image-creator  --cache=mycachedir --format=liveusb --config=<filename>.ks --run-mode=0

Find below a kickstart which allows the UX to come up - thanks to amyako for the tips the generic Xorg

emgd-netbook-3.ks

to get X server up and running you need to do these steps after booting

Alt + F1
login: meego pass: meego
su pass: meego
telinit 3
Alt + F1
vi /etc/X11/xinit/Xclients 
replace
if [ -x /usr/bin/twm ] ; then
 exec /usr/bin/twm
fi 
with
if [ -x /usr/bin/mutter ] ; then
 exec /usr/bin/mutter
fi 
startx

See this thread for latest info http://forum.meego.com/showthread.php?t=989

If you have success please post a video and also let me know what netbook you are running.

The source code for the kernel pulled in here can be found here http://vgrade.co.uk/kernel-2.6.33.3-20.1.src.rpm

Report your progress

Please add your name and devices to the list below, photos and video welcome

  • Archos A9 - BuBU - Realtime bring up here - File:Archos A9 instructions.txt - http://www.openaos.org/
  • ASUS t91 - Amyako
  • ASUS t91mt - Yigal
  • ASUS t91mt - ver - 1.2.0 installer crashes after user creation. X crashes with signal 9 when the mouse pointer is moved at this point.
  • Nokia Booklet 3g - Armika - 'I got it working now on the Nokia Booklet with the 3rd .ks. UI is snappy, responsive and looking really good' http://www.youtube.com/watch?v=6ix6Ux8NqYU
  • VAIO P - With new Xorg for non EDID display - Patters
  • Fujitsu Lifebook U820 - newbie1

GMA500 Future on Meego

The EMGD drivers were pulled from repo.meego.com so the kickstart files above will no longer work.

Below is a extract from #meego IRC log where I ask Arjan Van De Ven (MeeGo Chief Architect) about the future of GMA500 on MeeGo.

http://mg.pov.lt/meego-irclog/%23meego.2010-08-17.log.html#t2010-08-17T22:59:44

Further to this Intel have released an official EMGD driver set with MeeGo support. see http://edc.intel.com/Software/Downloads/EMGD/#download

When I get chance I will update the kickstart files.

vgrade

Thanks goes to stskeeps for much help

MeeGo Kernel Options

During every port I have to get the right kernel options to suit MeeGo. Here is a list, please add as required

  • CONFIG_PARANIOD_ANDRIOD=n
  • CONFIG_DUMMY=n
  • CONFIG_AUTOFS4=y
  • CONFIG_DEVTMPFS=y
  • CONFIG_CGROUPS
  • CONFIG_SYSVIPC
  • CONFIG_IPV6=n
  • CONFIG_IPV6_SIT=n

Raspberry Pi

Create Stock Debian Filesystem

mkdir PiStock
cd PiStock
wget http://dl.dropbox.com/u/5715485/debian-delivered.raw.bz2
bunzip2 debian-delivered.raw.bz2
sudo dd if=debian-delivered.raw of=/dev/<sdcard> bs=4M

Test Stock Filesystem

Attach HDMI, USB kb, mouse, sdcard, power. Pi should boot to login prompt. User/Pass eupton/suse

Build Stock Kernel

wget http://linux-kernel.uio.no/pub/linux/kernel/v2.6/linux-2.6.35.7.tar.bz2
wget http://www.raspberrypi.org/kernel.zip
bunzip2 linux-2.6.35.7.tar.bz2
tar -xf linux-2.6.35.7.tar
unzip kernel.zip
gunzip raspberrypi.patch.gz
patch -p0 -i raspberrypi.patch
mv linux-2.6.35.7 linux
cd linux
cp -R ../DWC_otg/ .
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- -j2 zImage
cd ..
cd tools
python imagetool-uncompressed.py 

Copy kernel.img to first partion of sdcard. Test Pi still boots.

Create Mer Image

mkdir Pi
cd Pi
mkdir image-build
cd image-build
wget http://monster.tspre.org/~prjfetcher/mer/releases/0.20110920.1/kickstarts/mer-core-armv6l.ks
edit kickstart to remove # from vfat partition line and set ext3 to match Pi commandline
sudo mic-image-creator -f raw -t ../tmp/ -k ../cache/ -c mer-core-armv6l.ks -a armv6 --pkgmgr=yum
cd meego-mer-core-armv6l-1.2.80.xxxxxxxx.xxx-raw/
sudo dd if=meego-mer-core-armv6l-1.2.80.xxxxxxxx.xxxx-mmcblk0p.raw of=/dev/<sdcard> bs=4M

This creates two partitions on the sdcard the first to hold the kernel and GPU binary blob and bootloader and the second the Mer rootfile system

Copy the contents of the first partition on the stock sdcard to the first partition on the Mer sdcard

Test scard in Pi. It should boot rootfs but give an error 'Failed to mount /dev: no such device'

This is due to the stock kernel not having options set to satisfy the systemd init process in Mer. Next step build a custom kernel

Mer Kernel

Edit stock kernel .config to match settings below.

  • CONFIG_DUMMY=n
  • CONFIG_DEVTMPFS=y
  • CONFIG_CGROUPS=y
  • CONFIG_IPV6=n
  • CONFIG_IPV6_SIT=n

Accept defaults except

  • Automount devtmpfs at /dev, after the kernel mounted the rootfs (DEVTMPFS_MOUNT) = y

Rebulid kernel

make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- -j2 zImage
cd ..
cd tools
python imagetool-uncompressed.py

Copy new kernel.img to the first partition on the Mer sdcard

Boot

QMLViewer

This is booting to framebuffer at the moment, acceleration to come

http://www.youtube.com/embed/fouPJRLygNQ?hl

Personal tools