Meego Wiki
Views
From MeeGo wiki
< ARM
Revision as of 03:56, 17 September 2010 by Jonathan (Talk | contribs)
Jump to: navigation, search

This document describes how to create a MeeGo image for the TI OMAP4 Blaze development board.

Contents

Prerequisites

  • Sourcery G++ Lite 2009q1
wget -c http://www.codesourcery.com/sgpp/lite/arm/portal/package4571/public/arm-none-linux-gnueabi/arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
mkdir -p ${HOME}/opt
tar -C ${HOME}/opt -jxf arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
  • MIC2

Reference http://wiki.meego.com/Image_Creation to set up MIC2

  • Environment Variables
PATH=${HOME}/opt/arm-2009q1/bin:${PATH}
export BLAZESOURCE=${HOME}/blaze.source
export BLAZEFS=${HOME}/meego-blaze-rootfs
  • Create ${BLAZESOURCE}
mkdir -p ${BLAZESOURCE}

Get Files

  • u-boot
cd ${BLAZESOURCE}
git clone git://git.omapzoom.org/repo/u-boot.git
cd ${BLAZESOURCE}/u-boot
git checkout --track -b omap4_dev origin/omap4_dev
wget -c http://wiki.meego.com/images/00-u-boot-sdmmc.patch
  • x-load
cd ${BLAZESOURCE}
git clone git://git.omapzoom.org/repo/x-loader.git
cd ${BLAZESOURCE}/x-loader
git checkout --track -b omap4_dev origin/omap4_dev
  • kernel
cd ${BLAZESOURCE}
git clone git://dev.omapzoom.org/pub/scm/integration/kernel-omap4.git
cd ${BLAZESOURCE}/kernel-omap4
git checkout --track -b L24.9 origin/L24.9
  • OMAP44xx SGX SDK

TI have not yet released OMAP44xx SGX SDK publicly.

cd ${BLAZESOURCE}
wget -c http://wiki.meego.com/images/00-device-omapfb.conf
wget -c http://wiki.meego.com/images/Blaze.ks.in
wget -c http://wiki.meego.com/images/Blaze.sh

Build

  • u-boot
cd ${BLAZESOURCE}/u-boot
patch -p1 < 00-u-boot-sdmmc.patch
make CROSS_COMPILE=arm-none-linux-gnueabi- omap4430sdp_config
make CROSS_COMPILE=arm-none-linux-gnueabi-
  • x-load
cd ${BLAZESOURCE}/x-loader
make CROSS_COMPILE=arm-none-linux-gnueabi- omap4430sdp_config
make CROSS_COMPILE=arm-none-linux-gnueabi- ift
  • kernel
cd ${BLAZESOURCE}/kernel-omap4
make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm omap_4430sdp_defconfig
make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm uImage
make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm modules
  • MeeGo rootfs
cd ${BLAZESOURCE}
./Blaze.sh

Make Bootable SD Card

  • Format SD

Reference http://www.omappedia.org/wiki/SD_Configuration to format SD card. Insert formated bootable SD card, /media/boot & /media/rootfs should be mounted automatically.

  • Install binaries to ${BLASEFS}
# kernel modules
(cd ${BLAZESOURCE}/kernel-omap4 ; sudo PATH=${PATH} make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm INSTALL_MOD_PATH=${BLAZEFS} modules_install)
# 00-device-omapfb.conf
sudo cp ${BLAZESOURCE}/00-device-omapfb.conf ${BLAZEFS}/etc/X11/xorg.conf.d
# OMAP44xx SGX SDK
# TI have not yet released OMAP44xx SGX SDK publicly.
  • Install binaries to SD
cp ${BLAZESOURCE}/x-loader/MLO /media/boot
cp ${BLAZESOURCE}/u-boot/u-boot.bin /media/boot
cp ${BLAZESOURCE}/kernel-omap4/arch/arm/boot/uImage /media/boot
sudo cp -rfp ${BLAZEFS}/* /media/rootfs

Make Blaze eMMC Bootable

  • Boot from SD Card
  • Login from serial console and insert g_file_storage module
MeeGo release 1.0.90 (MeeGo)
Kernel 2.6.35 on an armv7l

localhost.localdomain login: root
Password: 
Last login: Sat Jan  1 08:03:40 on ttyO2
[root@localhost ~]# modprobe g_file_storage file=/dev/mmcblk0 stall=0 removable=1
  • Connect the Blaze micro USB connector to your Linux box. You should be able to access Blaze eMMC as normal storage device.
[jonathan@dvm515 blaze.source]$ dmesg
usb 1-4: new high speed USB device using ehci_hcd and address 13
usb 1-4: New USB device found, idVendor=0525, idProduct=a4a5
usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-4: Product: File-backed Storage Gadget
usb 1-4: Manufacturer: Linux 2.6.35 with musb_hdrc
usb 1-4: SerialNumber: 3230204E6F76
scsi11 : usb-storage 1-4:1.0
scsi 11:0:0:0: Direct-Access     Linux    File-Stor Gadget 0316 PQ: 0 ANSI: 2
sd 11:0:0:0: Attached scsi generic sg2 type 0
sd 11:0:0:0: [sdb] 62529536 512-byte logical blocks: (32.0 GB/29.8 GiB)
sd 11:0:0:0: [sdb] Write Protect is off
sd 11:0:0:0: [sdb] Mode Sense: 0f 00 00 00
sd 11:0:0:0: [sdb] Assuming drive cache: write through
sd 11:0:0:0: [sdb] Assuming drive cache: write through
 sdb: unknown partition table
  • Format Blaze eMMC

Reference http://www.omappedia.org/wiki/SD_Configuration to format Blaze eMMC. Disconnect the Blaze micro USB connector and connect again, /media/boot & /media/rootfs should be mounted automatically.

  • Install binaries to Blaze eMMC

Please change /dev/sdb to your real device name.

sudo dd if=${BLAZESOURCE}/x-loader/MLO of=/dev/sdb bs=1024 seek=128
sudo dd if=${BLAZESOURCE}/u-boot/u-boot.bin of=/dev/sdb bs=1024 seek=512
cp ${BLAZESOURCE}/kernel-omap4/arch/arm/boot/uImage /media/boot
sudo cp -rfp ${BLAZEFS}/* /media/rootfs
  • Change Blaze sysboot selection S2-(6:1) from default 0b000101 to 0b000000, ie S2-(6:1) is (on, on, on, on, on, on).
  • Remove SD card, reboot from Blaze eMMC, modify u-boot parameters
Texas Instruments X-Loader 1.41 (Sep 15 2010 - 14:06:25)                        
Starting OS Bootloader from EMMC ...                                            
                                                                                
                                                                                
U-Boot 1.1.4-L24.9-dirty (Sep 16 2010 - 19:53:03)                               
                                                                                
Load address: 0x80e80000                                                        
DRAM:  512 MB                                                                   
Flash:  0 kB                                                                    
In:    serial                                                                   
Out:   serial                                                                   
Err:   serial                                                                   
Net:   KS8851SNL                                                                
Hit any key to stop autoboot:  0                                                
                                                                                
** Unable to use mmc 0:1 for fatload **                                         
## Booting image at 82000000 ...                                                
Bad Magic Number                                                                
OMAP44XX SDP # setenv bootcmd 'mmcinit 1 ; fatload mmc 1 0x82000000 ${bootfile} ; bootm 0x82000000'                                                             
OMAP44XX SDP # set bootargs 'root=/dev/mmcblk0p2 rw mem=512M console=ttyO2,115200n8 vram=8M omapfb.vram=0:4M,1:4M'                                              
OMAP44XX SDP # saveenv                                                          
Type 'y' or 'Y' to Save Environment to EMMC..                                   
Saving Environment to EMMC...                                                   
Erasing MMC...done                                                              
Writing to MMC... done                                                          
OMAP44XX SDP #                                                                  
Personal tools