2009年9月21日 星期一

Add omap3 beagleboard support in Qi

My previous post said adding support of beagleboard was the next step in Qi. It seems to be time to release this work. But it's not yet finished. There're couple things on my TODO list. Here is a brief HowTo of building Qi for beagleboard.

- git clone git://git.warmcat.com/qi
- git checkout -b beagle origin/omap3530
- edit CROSS_TUPLE parameter in build script according to your setup
- ./build
- Using the signGP to manipulate qi image. The following is my script to generate bootable image for beagleboard.


#!/bin/sh -x
signGP ./image/qi-omap3530*bin
mv ./image/*.ift MLO


- Make partitions for VFAT and EXT3 respectively in your SD card.
- copy your rootfs into EXT3 partition
- copy MLO file to VFAT partition
- copy your kernel uImage to /boot/ directory and rename it as
uImage-OMAPBEAGLE.bin
- If you have any kernel command needed to add, you can add text file /boot/boot/append-OMAP_BEAGLE
- Boot from SD /* Holding USER key and press RESET key */

If everything goes as well, you can see

Qi Bootloader omap3530 matt-abacus omap3530_146fa25ffad66c65
一 9月 21 19:01:16 CST 2009 Copyright (C) 2009 0xlab.org.


Detected: OMAP3530_BEAGLE, Beagle C3

Trying kernel: SD Card rootfs
Partition: 2 start +819315 512-byte blocks, size 266 MiB
Found: "Linux-2.6.29-omap1-06519-gc3598"
Size: 2089 KiB
Cmdline: console=ttyS2,115200n8 init=/sbin/init loglevel=8 rootfstype=ext3 rootwait root=/dev/mmcblk0p2
Starting --->

Uncompressing Linux.........................................................................done, booting the kernel.
Linux version 2.6.29-omap1-06519-gc3598c9-dirty (matt@matt-abacus) (gcc version 4.2.3 (SQL Star ARM Cross Toolchain 2008-beta1)) #395 Fri Sep 18 14:42:37 CST 2009
CPU: ARMv7 Processor [411fc083] revision 3 (ARMv7), cr=10c5387f
CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
Machine: OMAP3 Beagle Board
Memory policy: ECC disabled, Data cache writeback
On node 0 totalpages: 65536
free_area_init_node: node 0, pgdat c0432be8, node_mem_map c04af000
Normal zone: 512 pages used for memmap
Normal zone: 0 pages reserved
Normal zone: 65024 pages, LIFO batch:15
OMAP3430 ES3.0
SRAM: Mapped pa 0x40200000 to va 0xd7000000 size: 0x100000
Reserving 12582912 bytes SDRAM for VRAM
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 65024
Kernel command line: console=ttyS2,115200n8 init=/sbin/init loglevel=8 rootfstype=ext3 rootwait root=/dev/mmcblk0p2
..........


Here is my TODO list for reminding,

- Add support for booting from NAND
- Add hardware version detection

PS. Since the DVI module would be only reset one time. So the flash phenomenon on the display device as getting into kernel would not be existed.

7 則留言:

  1. Hey nice! A few friends are using the beagleboard now.

    回覆刪除
  2. Question: with Qi are we able to remove the MLO to accelerate the boot time?

    see:
    http://nishanthmenon.blogspot.com/2009/05/configuration-header-no-more-x-loader.html

    nice post

    回覆刪除
  3. Qi definitely can accelerate the boot time. It simply do the same thing as xloader(MLO) do. In addition, it loads the kernel into SDRAM directly.

    回覆刪除
  4. does USB host port in beagleboard rev C work with Qi?
    i've tried buch of U-Boot/uImage combination, but only one worked.

    回覆刪除
  5. Palatis,

    Sure, for sure. The hardware reversion of my beagleboard is also C. It's verified. :)

    回覆刪除
  6. Matt,
    May I ask which kernel/patch are you using?
    May I have your .config settings I can consult with?

    回覆刪除
  7. Palatis,

    Here is our kernel repository,

    http://gitorious.org/+0xlab/0xlab-kernel/kernel

    You can find the kernel config in
    arch/arm/configs/omap3_beagle_defconfig

    It's welcome to have any further discussion.

    0xlab-devel@googlegroups.com

    回覆刪除