Meego Wiki
Views

ARM/Meego on the Beagle

From MeeGo wiki
< ARM(Difference between revisions)
Jump to: navigation, search
(Steps to modify an N900 image for BeagleBoard)
 
(19 intermediate revisions not shown)
Line 3: Line 3:
Because the processor for the beagleboard C4 is an OMAP3530 and the N900 currently sports a similar processor, it seems wise to start with the [[ARM]] page.
Because the processor for the beagleboard C4 is an OMAP3530 and the N900 currently sports a similar processor, it seems wise to start with the [[ARM]] page.
-
= Steps =
+
= Turn key demo image from Linux Foundation for GENIVI consortium =
-
So far we've no image for beagleboard ready. But what works so far:
+
The Linux Foundation developer team put together the following image for demonstration during the Linux Foundation keynote address at the GENIVI conference on May 19.  It is based on MeeGo 0.9 and has the SGX drivers built-in. Also preinstalled are the XFCE-Desktop, QT demo applications and 3D SGX demos (/usr/bin/SGX).  Just download and write the image to a sdcard (>4GB). This image runs on revision B5 up to C1D/C4 boards.  Enjoy!
 +
 
 +
wget -nd http://ftp.linuxfoundation.org/pub/meego/MEEGO_GENIVI_BEAGLE_DEMO.img.xz
 +
# f222c90ee1279e03f521a750d9e4bd06 MEEGO_GENIVI_BEAGLE_DEMO.img.xz
 +
md5sum MEEGO_GENIVI_BEAGLE_DEMO.img.xz
 +
xz -d MEEGO_GENIVI_BEAGLE_DEMO.img.xz
 +
dd if=<imgfile> of=/dev/sd?      #  e.g. dd if=MEEGO_BEAGLE_DEMO.img of=/dev/sdc
 +
# root passwd: q
 +
 
 +
# u-boot parameters:
 +
OMAP3 beagleboard.org #
 +
bootcmd=if mmc init; then if run loadbootscript; then run bootscript; else if run loaduimage; then run mmcboot; else run nandboot; fi; fi; else run nandboot; fi
 +
bootdelay=3
 +
baudrate=115200
 +
loadaddr=0x82000000
 +
usbtty=cdc_acm
 +
console=ttyS2,115200n8
 +
defaultdisplay=dvi
 +
mmcroot=/dev/mmcblk0p2 rw
 +
mmcrootfstype=ext3 rootwait
 +
nandroot=/dev/mtdblock4 rw
 +
nandrootfstype=jffs2
 +
mmcargs=setenv bootargs console=${console} mpurate=${mpurate} buddy=${buddy} vram=${vram} omapfb.mode=dvi:${dvimode} omapdss.def_disp=${defaultdisplay} root=${mmcroot} rootfstype=${mmcrootfstype}
 +
nandargs=setenv bootargs console=${console} mpurate=${mpurate} buddy=${buddy} vram=${vram} omapfb.mode=dvi:${dvimode} omapdss.def_disp=${defaultdisplay} root=${nandroot} rootfstype=${nandrootfstype}
 +
bootscript=echo Running bootscript from mmc ...; source ${loadaddr}
 +
loaduimage=fatload mmc 0 ${loadaddr} uImage
 +
mmcboot=echo Booting from mmc ...; run mmcargs; bootm ${loadaddr}
 +
nandboot=echo Booting from nand ...; run nandargs; nand read ${loadaddr} 280000 400000; bootm ${loadaddr}
 +
dieid#=322a00020000000004013ebf0b003010
 +
loadbootscript=
 +
dvimode=hd720
 +
vram=12M omapfb.vram=0:4M,1:4M,2:4M
 +
buddy=unknown
 +
mpurate=600
 +
 
 +
= Kickstart using daily repositories =
 +
 
 +
Use this [[ARM/Meego_on_the_Beagle/daily_kickstart|kickstart file]] to generate a rootfs for armv7. You will need mic2 & user mode qemu for ARM instruction set. 
 +
 
 +
Usage of mic is described [[Image_Creation|here]]. You will need at least version 0.19 of mic.  As of 2010-06-16 this means installing from git.
 +
 
 +
mic-image-creator also needs /usr/bin/qemu-arm-static which you can probably find in your distributions packages.  For Ubuntu 10.04 this is from qemu-kvm-extras-static.  For earlier versions of Ubuntu or Debian you will use qemu-user-static.
 +
 
 +
Save it as meego-beagle-rootfs-daily.ks and execute it with
 +
sudo mic-image-creator --run-mode=0 --cache=mycachedir --format=fs --arch=armv7l --config=meego-beagle-rootfs-daily.ks
 +
 
 +
Copy these files to your rootfs and add a kernel and a matching SGX driver.
 +
 
 +
Another more detailed description of a similar setup can be found at [[ARM/Meego on Beagleboard from scratch]].
 +
 
 +
= Steps to modify an N900 image for BeagleBoard =
 +
This section takes an existing N900 file-system image and describes how to rig it to work on a BeagleBoard.
 +
 
 +
What works so far:
* Take the n900 [http://repo.meego.com/MeeGo/releases/1.0/core/images/meego-n900-open-armv7l/meego-n900-open-armv7l-1.0.0.20100525.1-sda.raw.bz2 rootfs] and extract to the rootfs partition of the beagle sdcard setup. You can mount rootfs of N900 from this image on /mnt by:
* Take the n900 [http://repo.meego.com/MeeGo/releases/1.0/core/images/meego-n900-open-armv7l/meego-n900-open-armv7l-1.0.0.20100525.1-sda.raw.bz2 rootfs] and extract to the rootfs partition of the beagle sdcard setup. You can mount rootfs of N900 from this image on /mnt by:
-
*# bunzip meego-n900-open-armv7l-1.0.0.20100525.1-sda.raw.bz2
+
*# bunzip2 meego-n900-open-armv7l-1.0.0.20100525.1-sda.raw.bz2
*# sudo mount -o loop,offset=16384 meego-n900-open-armv7l-1.0.0.20100525.1-sda.raw /mnt
*# sudo mount -o loop,offset=16384 meego-n900-open-armv7l-1.0.0.20100525.1-sda.raw /mnt
 +
* Then sync the contents to your SDcard by:
 +
*# sudo rsync -aHx /mnt/* /media/your_sd_card
* [http://wiki.meego.com/images/Meego-beagle-kernel.tar.bz2 MeeGo Beagleboard kernel and modules] contains precompiled uImage and kernel modules (v2.6.34) for Beagleboard. You need copy uImage to /boot partition of your SD card, and modules to /lib/modules directory on your root file system.
* [http://wiki.meego.com/images/Meego-beagle-kernel.tar.bz2 MeeGo Beagleboard kernel and modules] contains precompiled uImage and kernel modules (v2.6.34) for Beagleboard. You need copy uImage to /boot partition of your SD card, and modules to /lib/modules directory on your root file system.
 +
* Log in as root with password meego
 +
* Note: This precompiled kernel/rootfs doesn't contain the sgx drivers.
* Since we are using rootfs tuned for N900, we can stop starting X by replacing id:5:initdefault: to id:3:initdefault: in /etc/inittab.
* Since we are using rootfs tuned for N900, we can stop starting X by replacing id:5:initdefault: to id:3:initdefault: in /etc/inittab.
* To fine tune above kernel follow these instructions:
* To fine tune above kernel follow these instructions:

Latest revision as of 20:59, 20 August 2010

This page is dedicated to getting MeeGo running on the Beagleboard. More info on the beagleboard can be found here

Because the processor for the beagleboard C4 is an OMAP3530 and the N900 currently sports a similar processor, it seems wise to start with the ARM page.

Turn key demo image from Linux Foundation for GENIVI consortium

The Linux Foundation developer team put together the following image for demonstration during the Linux Foundation keynote address at the GENIVI conference on May 19. It is based on MeeGo 0.9 and has the SGX drivers built-in. Also preinstalled are the XFCE-Desktop, QT demo applications and 3D SGX demos (/usr/bin/SGX). Just download and write the image to a sdcard (>4GB). This image runs on revision B5 up to C1D/C4 boards. Enjoy!

wget -nd http://ftp.linuxfoundation.org/pub/meego/MEEGO_GENIVI_BEAGLE_DEMO.img.xz
# f222c90ee1279e03f521a750d9e4bd06 MEEGO_GENIVI_BEAGLE_DEMO.img.xz
md5sum MEEGO_GENIVI_BEAGLE_DEMO.img.xz 
xz -d MEEGO_GENIVI_BEAGLE_DEMO.img.xz
dd if=<imgfile> of=/dev/sd?      #  e.g. dd if=MEEGO_BEAGLE_DEMO.img of=/dev/sdc
# root passwd: q
# u-boot parameters:
OMAP3 beagleboard.org #
bootcmd=if mmc init; then if run loadbootscript; then run bootscript; else if run loaduimage; then run mmcboot; else run nandboot; fi; fi; else run nandboot; fi
bootdelay=3
baudrate=115200
loadaddr=0x82000000
usbtty=cdc_acm
console=ttyS2,115200n8
defaultdisplay=dvi
mmcroot=/dev/mmcblk0p2 rw
mmcrootfstype=ext3 rootwait
nandroot=/dev/mtdblock4 rw
nandrootfstype=jffs2
mmcargs=setenv bootargs console=${console} mpurate=${mpurate} buddy=${buddy} vram=${vram} omapfb.mode=dvi:${dvimode} omapdss.def_disp=${defaultdisplay} root=${mmcroot} rootfstype=${mmcrootfstype}
nandargs=setenv bootargs console=${console} mpurate=${mpurate} buddy=${buddy} vram=${vram} omapfb.mode=dvi:${dvimode} omapdss.def_disp=${defaultdisplay} root=${nandroot} rootfstype=${nandrootfstype}
bootscript=echo Running bootscript from mmc ...; source ${loadaddr}
loaduimage=fatload mmc 0 ${loadaddr} uImage
mmcboot=echo Booting from mmc ...; run mmcargs; bootm ${loadaddr}
nandboot=echo Booting from nand ...; run nandargs; nand read ${loadaddr} 280000 400000; bootm ${loadaddr}
dieid#=322a00020000000004013ebf0b003010
loadbootscript=
dvimode=hd720
vram=12M omapfb.vram=0:4M,1:4M,2:4M
buddy=unknown
mpurate=600

Kickstart using daily repositories

Use this kickstart file to generate a rootfs for armv7. You will need mic2 & user mode qemu for ARM instruction set.

Usage of mic is described here. You will need at least version 0.19 of mic. As of 2010-06-16 this means installing from git.

mic-image-creator also needs /usr/bin/qemu-arm-static which you can probably find in your distributions packages. For Ubuntu 10.04 this is from qemu-kvm-extras-static. For earlier versions of Ubuntu or Debian you will use qemu-user-static.

Save it as meego-beagle-rootfs-daily.ks and execute it with

sudo mic-image-creator --run-mode=0 --cache=mycachedir --format=fs --arch=armv7l --config=meego-beagle-rootfs-daily.ks

Copy these files to your rootfs and add a kernel and a matching SGX driver.

Another more detailed description of a similar setup can be found at ARM/Meego on Beagleboard from scratch.

Steps to modify an N900 image for BeagleBoard

This section takes an existing N900 file-system image and describes how to rig it to work on a BeagleBoard.

What works so far:

  • Take the n900 rootfs and extract to the rootfs partition of the beagle sdcard setup. You can mount rootfs of N900 from this image on /mnt by:
    1. bunzip2 meego-n900-open-armv7l-1.0.0.20100525.1-sda.raw.bz2
    2. sudo mount -o loop,offset=16384 meego-n900-open-armv7l-1.0.0.20100525.1-sda.raw /mnt
  • Then sync the contents to your SDcard by:
    1. sudo rsync -aHx /mnt/* /media/your_sd_card
  • MeeGo Beagleboard kernel and modules contains precompiled uImage and kernel modules (v2.6.34) for Beagleboard. You need copy uImage to /boot partition of your SD card, and modules to /lib/modules directory on your root file system.
  • Log in as root with password meego
  • Note: This precompiled kernel/rootfs doesn't contain the sgx drivers.
  • Since we are using rootfs tuned for N900, we can stop starting X by replacing id:5:initdefault: to id:3:initdefault: in /etc/inittab.
  • To fine tune above kernel follow these instructions:
    1. Copy meego-beagle-kernel.config from above archieve to your kernel compilation directory as .config
    2. make old_config
    3. Tune kernel options using: make xconfig
    4. You can now compile your kernel using: make uImage
Personal tools