Meego Wiki
Views
From MeeGo wiki
< ARM(Difference between revisions)
Jump to: navigation, search
(Advent Vega)
 
Line 65: Line 65:
install mic2 (meego-image-creator)
install mic2 (meego-image-creator)
my command line:
my command line:
-
sudo mic-image-creator --config=meego-vega.ks --arch=armv7hl --format=raw --logfile=mic-test-tablet-1.2.0.log --run-mode=1
+
sudo mic-image-creator --config=meego-vega.ks --arch=armv7hl --format=raw --logfile=mic-test-tablet-1.2.0.log --run-mode=1
--run-mode=1 is needed if running on Ubuntu.
--run-mode=1 is needed if running on Ubuntu.
This should make a disc image that ends in "-mmcblk0p.raw"
This should make a disc image that ends in "-mmcblk0p.raw"
dd this to your sd card, e.g.:
dd this to your sd card, e.g.:
-
sudo dd bs=4096 if=meego-vega-mmcblk0p.raw of=/dev/sdb
+
sudo dd bs=4096 if=meego-vega-mmcblk0p.raw of=/dev/sdb
untar the kernel modules and ar6000 fw to the root of your sd card.
untar the kernel modules and ar6000 fw to the root of your sd card.
I use fastboot (http://dl.dropbox.com/u/15005030/fastboot_nvidia_linux.zip) with the following commandline:
I use fastboot (http://dl.dropbox.com/u/15005030/fastboot_nvidia_linux.zip) with the following commandline:
-
fastboot -i 0x955 -c "root=/dev/mmcblk0p2 rootdelay=15 noinitrd video=tegrafb rw mem=512M@0M vmalloc=192M udev.log-priority=debug udev.children-max=1 usbcore.old_scheme_first=1 mtdparts=tegra_nand:2048K@6784K(misc),5120K@9344K(recovery),8192K@14976K(boot),155008K@23680K(system),32768K@179200K(cache),4096K@212480K(staging),306688K@217088K(userdata)" boot zImage hardcoded-initrd-noinit.gz
+
fastboot -i 0x955 -c "root=/dev/mmcblk0p2 rootdelay=15 noinitrd video=tegrafb rw mem=512M@0M vmalloc=192M udev.log-priority=debug udev.children-max=1 usbcore.old_scheme_first=1 mtdparts=tegra_nand:2048K@6784K(misc),5120K@9344K(recovery),8192K@14976K(boot),155008K@23680K(system),32768K@179200K(cache),4096K@212480K(staging),306688K@217088K(userdata)" boot zImage hardcoded-initrd-noinit.gz
It should boot up to the UI and you should be able to plug in a mouse and/or keyboard. The first boot can take ages and be pretty slow. OpenGL is in software currently, so that's also not great either. If it fails to boot up, use zImage-fbcon which will output debug info to the framebuffer (X will not start with framebuffer console).
It should boot up to the UI and you should be able to plug in a mouse and/or keyboard. The first boot can take ages and be pretty slow. OpenGL is in software currently, so that's also not great either. If it fails to boot up, use zImage-fbcon which will output debug info to the framebuffer (X will not start with framebuffer console).

Latest revision as of 13:43, 3 November 2011

This area is under construction - This page is for shared development purposes nothing is guaranteed to work

Contents

Tegra 2 hardware adaptation

This page was created to document the port of MeeGo to Tegra 2.

This port is a work in progress and not meant for end user installation. The following details are for Tegra 2 porting effort.

This port has been enabled by the outstanding contribution of Stskeeps/Sage and others in progressing the ARM hardfp build.


Compulabs Trimslice

Irad at compulabs kindly sent me a Trimslice Pro to bring up MeeGo on, if your interested please contact me, you can find me on #meego and #meego-arm. vgrade

IMG 7929.JPG]

Using this kernel https://gitorious.org/~rmorell/trimslice-kernel/trimslice-kernel-nvidia-fixes/trees/master

TODO

  • Create kickstart with later meego-ux build - DONE
  • Get hardfp drivers from nVidia - DONE
  • update to later kernels with PM - DONE
  • try to get compulabs to seed more devices - DONE

Report on the port can be found here

http://www.meegoexperts.com/2011/07/nvidia-meego-battle-ground/


Advent Vega

  • Kernel 2.6.36 .config , git link
  • Kickstart Link
  • Image Link
  • Video Link

Initial Bring Up

[Older stuff from vgrade]

Kernel source is available here https://github.com/martinbrook/android_kernel_advent_vega

Filesystem image and kickstart http://bug10738.openaos.org/images/tegra2/

[Newer stuff from mingwandroid]

Kernel source (2.6.36.3, forked from rebel1's VegaComb kernel with ejtagle's host_usb fixes applied) is available here https://github.com/mingwandroid/kernel_2.6.36_nvidia_base_meego (branch nv-11.2.13-m-host-usb), config is in configs/config-meego (or at http://dl.dropbox.com/u/17108768/config-meego)

Pre-built kernels (http://dl.dropbox.com/u/17108768/zImage, http://dl.dropbox.com/u/17108768/zImage-fbcon)

Kernel modules: http://dl.dropbox.com/u/17108768/meego-2.6.36.3-modules.bz2

ar6000 firmware: http://dl.dropbox.com/u/17108768/meego-ar6000-fw.bz2

Initrd: http://dl.dropbox.com/u/17108768/hardcoded-initrd-noinit.gz

Kickstart file to generate newer filesystem image: http://dl.dropbox.com/u/17108768/meego-vega.ks

Here's some instructions if anyone's interested in playing around (won't mess with your VegaComb partitions, except boot of course, unless you're already fastbooting).

install mic2 (meego-image-creator) my command line:

sudo mic-image-creator --config=meego-vega.ks --arch=armv7hl --format=raw --logfile=mic-test-tablet-1.2.0.log --run-mode=1

--run-mode=1 is needed if running on Ubuntu. This should make a disc image that ends in "-mmcblk0p.raw" dd this to your sd card, e.g.:

sudo dd bs=4096 if=meego-vega-mmcblk0p.raw of=/dev/sdb

untar the kernel modules and ar6000 fw to the root of your sd card. I use fastboot (http://dl.dropbox.com/u/15005030/fastboot_nvidia_linux.zip) with the following commandline:

fastboot -i 0x955 -c "root=/dev/mmcblk0p2 rootdelay=15 noinitrd video=tegrafb rw mem=512M@0M vmalloc=192M udev.log-priority=debug udev.children-max=1 usbcore.old_scheme_first=1 mtdparts=tegra_nand:2048K@6784K(misc),5120K@9344K(recovery),8192K@14976K(boot),155008K@23680K(system),32768K@179200K(cache),4096K@212480K(staging),306688K@217088K(userdata)" boot zImage hardcoded-initrd-noinit.gz

It should boot up to the UI and you should be able to plug in a mouse and/or keyboard. The first boot can take ages and be pretty slow. OpenGL is in software currently, so that's also not great either. If it fails to boot up, use zImage-fbcon which will output debug info to the framebuffer (X will not start with framebuffer console).

You can ssh in as well, however I couldn't get the settings program to launch (or find how to launch wifi config) so if you can't figure this out either you force a connection by adding (and changing) the following to sdcard/etc/rc.d/rc.local

SSID=MYSSID PSWD=MYPSWD STATIC_IP=SOMEIP DEF_GATEWAY=MYGATEWAY echo "ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=wheel" > /tmp/wpa_supplicant.conf wpa_passphrase $SSID $PSWD >> /tmp/wpa_supplicant.conf cp /tmp/wpa_supplicant.conf /var/log/wpa_supplicant.conf-copy sleep 10 ip link set wlan0 up sleep 10 wpa_supplicant -B -Dnl80211,wext -dd -i wlan0 -c /tmp/wpa_supplicant.conf > /var/log/wpa_supplicant.log 2>&1 sleep 5 if [ "$STATIC_IP" = "" ] ; then dhcpcd wlan0 > /var/log/dhcp-wlan0.log else ifconfig wlan0 $STATIC_IP fi sleep 5 route add default gw $DEF_GATEWAY wlan0

I wanted to use a more up to date MeeGo snapshot but for some reason (likely because I use Ubuntu instead of Fedora), mic2 refused to fetch all of the required packages.

Advent Vega Accelerated GFX with nVidia Hardfp Drivers

Now we have a 2.6.36 kernel working on Vega we need to try the Trimslice hardfp drivers on the Vega.

TODO

  • Fix cursor not being displayed (an attempt is made in the new kickstart but it's not working.
  • Stop the touchscreen spamming the logs.

Nice to have

  • Bring up uboot to allow vegecomb MeeGo dual boot (or make a simple? fake init program that will launch MeeGo kernel on HW button hold).

Viewsonic G Tablet

Entering Nvidia APX Mode

Accessing the Nvidia Recovery Mode can be accomplished by holding the - volume key and pressing power. No output will be visible but the device will show up in lsusb (on Linux) and nvflash will function.

http://forum.xda-developers.com/archive/index.php/t-827384.html

You will need the bootloader found on the tegratab wiki as the stock one found in the Nvidia package will cause strange behavior and transfer failures:

http://wiki.tegratab.com/index.php/Clockwork_Recovery

Malata ZPad

Installation Photos:

Meego running on Malata ZPad


Collaboration spaces

  • #meego-arm on irc.freenode.net, this channel is for development effort not a support channel
  • #TegraLinux on irc freenode

Assets in hardware adaptation

http://tegradeveloper.nvidia.com/tegra/

http://developer.download.nvidia.com/tegra/docs/linux_for_tegra_quickstart_20101029_10.9.3.pdf

http://developer.download.nvidia.com/tegra/files/linux_for_tegra_os_pack_rel_20101029_10.9.3.run.tar.gz

http://tosh-ac100.wetpaint.com/page/Alternative+OS

http://forum.xda-developers.com/showthread.php?t=894960

http://android.modaco.com/topic/330834-advent-vega-kernel-source-code-now-available (VegaComb kernel hacking discussion thread)

ARM/hardfp

Team members

  • Martin Brook / vgrade
  • Hashiq Nazir / MeeGoExperts
  • Ray Donnelly / mingwandroid
  • your name / irc nick

Old Stuff

Building a MeeGo hardfp Image

These are just my lab notes I took while building the hardfp image and rely on repos on the meego OBS not on repo.meego so things are not guaranteed to work when those change or are removed. I guess hardfp repos will be on repo.meego in future.

http://download.meego.com/live/devel:/hardfp:/base/standard/armv7hl/
http://download.meego.com/live/devel:/hardfp:/testrun/standard/armv7hl/
mic 0.24.1 from git
http://bugs.meego.com/show_bug.cgi?id=11467
http://www.mail-archive.com/meego-dev@meego.com/msg06350.html --force-overwrite, bug fix for ubuntu 10.04
sudo mic-image-creator --run-mode=0 --cache=../mycachedir --format=loop  --release=daily --compress-disk-image=none --config=meego-handset-armv7hl-tegra-1.1.80.13.20110105.1.ks --arch=armv7hl - http://wordpress.pastebin.com/phdwDJZ9
sudo mount -o loop meego-handset-armv7hl-tegra-daily.img /mnt
sudo rsync -aHx mnt/* /media/xxx
http://pastebin.com/TqKWx455

Alternative raw image recommended by Stskeeps

kickstart - http://wordpress.pastebin.com/MVfQjyek
sudo mic-image-creator --run-mode=0 --cache=../mycachedir --format=raw  --release=daily --compress-disk-image=none --config=meego-handset-armv7hl-tegra.ks --arch=armv7hl
sudo dd bs=4096 if=meego-handset-armv7hl-tegra-daily-mmcblk3p.raw of=/dev/sdb


Advent Vega Android Libs

There are no symlinked files here as in a normal linux lib dir

vega@vega-desktop:/media/sf_unixfolder/android-system$ chmod a+x ~/bin/unyaffs
vega@vega-desktop:/media/sf_unixfolder/android-system$ ~/bin/unyaffs system.img 
end of image
vega@vega-desktop:/media/sf_unixfolder/android-system$ ls
app  bin  build.prop  etc  fonts  framework  lib  media  system.img  usr  xbin
vega@vega-desktop:/media/sf_unixfolder/android-system$ cd lib
vega@vega-desktop:/media/sf_unixfolder/android-system/lib$ ls
bluez-plugin                 libc_malloc_debug_leak.so  libicui18n.so             libnvidia_graphics_jni.so  libnvrm_graphics.so             libpagemap.so                       libsystem_server.so
dfs_cfg.so                   libc_malloc_debug_qemu.so  libicuuc.so               libnvmm_audio.so           libnvrm.so                      libpixelflinger.so                  libsysutils.so
dfs_log.so                   libcrypto.so               libiprouteutil.so         libnvmm_camera.so          libnvsm.so                      libpvnvomx.so                       libterm.so
dfs_monitor.so               libc.so                    libjnigraphics.so         libnvmm_contentpipe.so     libnvtestio.so                  libreference-cdma-sms.so            libthread_db.so
dfs_stress.so                libctest.so                libjni_latinime.so        libnvmm_image.so           libnvtestresults.so             libreference-ril.so                 libttspico.so
egl                          libcutils.so               libjni_pinyinime.so       libnvmm_manager.so         libnvwinsys.so                  libril.so                           libttssynthproxy.so
gles2_sanity.so              libdbus.so                 libjpeg.so                libnvmm_misc.so            libnvwsi.so                     librs_jni.so                        libui.so
gles2_simplespin.so          libdiskconfig.so           liblog.so                 libnvmm_parser.so          libomx_aacdec_sharedlibrary.so  libRS.so                            libutils.so
hw                           libdl.so                   libmbm-ril.so             libnvmm_service.so         libomx_amrdec_sharedlibrary.so  libskiagl.so                        libvorbisidec.so
invoke_mock_media_player.so  libdrm1_jni.so             libmedia_jni.so           libnvmm.so                 libomx_amrenc_sharedlibrary.so  libskia.so                          libwbxml_jni.so
liba2dp.so                   libdrm1.so                 libmediaplayerservice.so  libnvmm_tracklist.so       libomx_avcdec_sharedlibrary.so  libsonivox.so                       libwebcore.so
libacc.so                    libdvm.so                  libmedia.so               libnvmm_utils.so           libomx_m4vdec_sharedlibrary.so  libsoundpool.so                     libwpa_client.so
libandroid_runtime.so        libEGL.so                  libm.so                   libnvmm_videorenderer.so   libomx_mp3dec_sharedlibrary.so  libsqlite.so                        libxml2wbxml.so
libandroid_servers.so        libemoji.so                libnativehelper.so        libnvmm_video.so           libomx_sharedlibrary.so         libSR_AudioIn.so                    libz.so
libaudioflinger.so           libETC1.so                 libnetlink.so             libnvmm_vp6_video.so       libopencore_author.so           libsrec_jni.so                      nvddk_2d_test_sanity.so
libaudiopolicy.so            libexif.so                 libnetutils.so            libnvmm_writer.so          libopencore_common.so           libssl.so                           nvec_update_app.so
libaudio.so                  libexpat.so                libnvapputil.so           libnvodm_dtvtuner.so       libopencore_downloadreg.so      libstagefright_amrnb_common.so      nvmm_jpegenc_test.so
libbinder.so                 libFFTEm.so                libnvddk_2d.so            libnvodm_hdmi.so           libopencore_download.so         libstagefright_avc_common.so        nvmm_videodec_test.so
libbluedroid.so              libGLESv1_CM.so            libnvddk_2d_v2.so         libnvodm_imager.so         libopencorehw.so                libstagefright_color_conversion.so  nvmm_videoenc_test.so
libbluetoothd.so             libGLESv2.so               libnvddk_aes_user.so      libnvodm_misc.so           libopencore_mp4localreg.so      libstagefright_omx.so               nvodm_focuser_conformance.so
libbluetooth.so              libhardware_legacy.so      libnvddk_audiofx.so       libnvodm_query.so          libopencore_mp4local.so         libstagefright.so                   nvodm_imager_conformance.so
libcamera_client.so          libhardware.so             libnvdispatch_helper.so   libnvomxilclient.so        libopencore_net_support.so      libstdc++.so                        omxplayer.so
libcameraservice.so          libhwmediaplugin.so        libnvdispmgr_d.so         libnvomx.so                libopencore_player.so           libstlport.so
libcamera.so                 libhwmediarecorder.so      libnvec.so                libnvos.so                 libopencore_rtspreg.so          libsurfaceflinger_client.so
libcgdrv.so                  libicudata.so              libnvidia_display_jni.so  libnvrm_channel.so         libopencore_rtsp.so             libsurfaceflinger.so
vega@vega-desktop:/media/sf_unixfolder/android-system/lib$ cd egl
vega@vega-desktop:/media/sf_unixfolder/android-system/lib/egl$ ls
egl.cfg  libEGL_tegra.so  libGLES_android.so  libGLESv1_CM_tegra.so  libGLESv2_tegra.so
vega@vega-desktop:/media/sf_unixfolder/android-system/lib/egl$ more egl.cfg 
0 0 android
0 1 tegra
vega@vega-desktop:/media/sf_unixfolder/android-system/lib/egl$ cd ..
vega@vega-desktop:/media/sf_unixfolder/android-system/lib$ cd hw
vega@vega-desktop:/media/sf_unixfolder/android-system/lib/hw$ ls
gralloc.default.so  gralloc.tegra.so  lights.tegra.so  overlay.tegra.so  sensors.default.so  sensors.goldfish.so  wlan  wlan_ar6002
vega@vega-desktop:/media/sf_unixfolder/android-system/lib/hw$

Advent Vega Android Lib Attributes

vega@vega-desktop:/media/sf_unixfolder/android-system/lib/egl$ readelf -A libEGL_tegra.so 
Attribute Section: aeabi
File Attributes
 Tag_CPU_name: "7-A"
 Tag_CPU_arch: v7
 Tag_CPU_arch_profile: Application
 Tag_THUMB_ISA_use: Thumb-2
 Tag_VFP_arch: VFPv3
 Tag_ABI_PCS_wchar_t: 4
 Tag_ABI_FP_denormal: Needed
 Tag_ABI_FP_exceptions: Needed
 Tag_ABI_FP_number_model: IEEE 754
 Tag_ABI_align8_needed: Yes
 Tag_ABI_align8_preserved: Yes, except leaf SP
 Tag_ABI_enum_size: int
 Tag_ABI_HardFP_use: SP and DP
 Tag_ABI_optimization_goals: Aggressive Size

MeeGo hardfp Attributes

Attribute Section: aeabi
File Attributes
 Tag_CPU_name: "7-A"
 Tag_CPU_arch: v7
 Tag_CPU_arch_profile: Application
 Tag_ARM_ISA_use: Yes
 Tag_THUMB_ISA_use: Thumb-2
 Tag_VFP_arch: VFPv3-D16
 Tag_ABI_PCS_wchar_t: 4
 Tag_ABI_FP_denormal: Needed
 Tag_ABI_FP_exceptions: Needed
 Tag_ABI_FP_number_model: IEEE 754
 Tag_ABI_align8_needed: Yes
 Tag_ABI_align8_preserved: Yes, except leaf SP
 Tag_ABI_enum_size: int
 Tag_ABI_HardFP_use: SP and DP
 Tag_ABI_VFP_args: VFP registers
 Tag_unknown_44: 1 (0x1)

Advent Vega

Vega-gears.jpg Vega-qt.jpg Vega-tegra-handset.jpg Tegra-vkb2.jpg Vega-tegra-tablet1.jpg Vega-tegra-teblet2.jpg

Qt Video - http://www.youtube.com/embed/NJwXZySRMyg

Handset Video - http://www.youtube.com/watch?v=WFCmCcK_OKw

Host USB and Qt Creator Video - http://www.youtube.com/watch?v=LlF95gj5kxA

Personal tools