The Mer Wiki now uses your Mer user account and password (create account on https://bugs.merproject.org/)


Adaptation/Touchpad

From Mer Wiki
< Adaptation(Difference between revisions)
Jump to: navigation, search
(HP Touchpad Device Adaptation for Mer)
(Kernel)
Line 18: Line 18:
  
 
To compile the kernel for the touchpad you should have an arm cross compiler environnement set up and use the following comamnds :
 
To compile the kernel for the touchpad you should have an arm cross compiler environnement set up and use the following comamnds :
   make tenderloing_meego_defconfig
+
   make tenderloin_meego_defconfig
 
   make CONFIG_NO_ERROR_ON_MISMATCH=y uImage
 
   make CONFIG_NO_ERROR_ON_MISMATCH=y uImage
  

Revision as of 11:09, 21 February 2012

Contents

HP Touchpad Device Adaptation for Mer

Booting

In order to boot Mer on the HP touchpad we create a new LVM under webos named /dev/store/meego and unpack one of armv7hl images in it.

Kernel

The WebOS kernel is a 2.6.35 with some patches. It's all available from palm here.

The default kernel configuration will boot Meego but won't get you very far as it's lacking some essential elements for systemd :

  • cgroupfs support
  • accept4 support
  • 'active' sysfs attribute for tty0 and console device

A kernel with all the patches applied is available here

To compile the kernel for the touchpad you should have an arm cross compiler environnement set up and use the following comamnds :

 make tenderloin_meego_defconfig
 make CONFIG_NO_ERROR_ON_MISMATCH=y uImage

Initramfs

In order to boot from an LVM volume we need an initramfs. I created a very basic one that just mounts the partition and then switches to it.

You can find the initramfs source here

Creating the boot image

The touchpad bootloader can directly boot an image if it's properly formatted. The image needs to be a multi-image uimage containing a kernel uimage and an initramfs uimage. To create such an image here are the steps :

  • Create a gzipped cpio initramfs image
 cd initramfs
 find . -print0 | cpio --null -ov --format=newc | gzip -9 > ../initramfs.cpio.gz
 cd ..
  • Create the uimage for the initramfs
 mkimage -A arm -O Linux -T ramdisk -n 'Meego boot initrd' -C none -e 0 -a 0 -d initramfs.cpio.gz initramfs.uImage
  • Combine both images into one uImage
 mkimage -A arm -O Linux -T multi -n 'Meego boot' -C none -e 0 -a 0 -d linux-2.6.35/arch/arm/boot/uImage:initramfs.uImage meego.uImage

Now you can boot this image using novacom (downloadable here) To boot using nvacom first shutdown the touchpad, then plug the usb cable to your computer and the touchpad while holding the volume up button. You should see the USB logo on the touchpad. Now you can issue the following command :

 novacom boot mem:// < meego.uImage
Personal tools