Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 31 Next »

This is a page about TI's BeagleBoard.

Available:

BeagleBoard Cx at Digi-Key
BeagleBoard xM at Digi-Key

Basic Requirements

Bootloader

Das U-Boot – the Universal Boot Loader http://www.denx.de/wiki/U-Boot

Note: Ubuntu Oneiric (11.10): "arm-linux-gnueabi-gcc (Ubuntu/Linaro 4.6.1-9ubuntu3) 4.6.1" is broken to build this.

U-Boot Download:

Download U-Boot Tarball:

wget ftp://ftp.denx.de/pub/u-boot/u-boot-2012.04-rc3.tar.bz2 
tar xjf u-boot-2012.04-rc3.tar.bz2 
cd u-boot-2012.04-rc3/

Or via git:
Download U-Boot via git

git clone git://git.denx.de/u-boot.git
cd u-boot/
git checkout v2012.04-rc3 -b tmp

U-Boot Patches:

wget https://raw.github.com/RobertCNelson/Bootloader-Builder/master/patches/v2012.04/0001-enable-bootz-support-for-ti-omap-targets.patch
wget https://raw.github.com/RobertCNelson/Bootloader-Builder/master/patches/v2012.04/0001-beagle-fix-dvi-variable-set-higher-resolution.patch
wget https://raw.github.com/RobertCNelson/Bootloader-Builder/master/patches/v2012.04/0001-beagle-ulcd-passthru-support.patch

patch -p1 < 0001-enable-bootz-support-for-ti-omap-targets.patch
patch -p1 < 0001-beagle-fix-dvi-variable-set-higher-resolution.patch
patch -p1 < 0001-beagle-ulcd-passthru-support.patch

U-Boot Configure and Build:

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- omap3_beagle_config
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-

Linux Kernel

Linux Build Script:

git clone git://github.com/RobertCNelson/stable-kernel.git
cd stable-kernel/

Run Build Script:

./build_kernel.sh

The kernel zImage and modules will be under the deploy directory.

Root File System

Default User: debian
Password: temppwd

Root User: root
Root Password: root

wget -c http://rcn-ee.net/deb/rootfs/squeeze/debian-6.0.4-minimal-armel-2012-03-30.tar.xz

verify the image with:

md5sum debian-6.0.4-minimal-armel-2012-03-30.tar.xz
11c27fd07cc472cd252663e8599c8a20  debian-6.0.4-minimal-armel-2012-03-30.tar.xz

Extract Image:

tar xJf debian-6.0.4-minimal-armel-2012-03-30.tar.xz

Setup microSD card

For these instruction, we are assuming: DISK=/dev/mmcblk0, "sudo fdisk -l" is useful for determining the device id..

export DISK=/dev/mmcblk0

Erase microSD card:

sudo parted --script ${DISK} mklabel msdos

Setup Boot Partition:

sudo fdisk ${DISK} << __EOF__
n
p
1

+64M
t
e
p
w
__EOF__

Set Boot Flag

sudo parted --script ${DISK} set 1 boot on

Format as fat

DISK=/dev/mmcblk0
sudo mkfs.vfat -F 16 ${DISK}p1 -n boot
(or)
DISK=/dev/sdb
sudo mkfs.vfat -F 16 ${DISK}1 -n boot

Create Partition Layout:
rootfs: ext3/4, rest of microSD card.

Mount the boot/rootfs partitions

Copy Boot Files:

Copy MLO to the boot partition

sudo cp -v ./u-boot/MLO /media/boot/

Copy u-boot.img to the boot partition

sudo cp -v ./u-boot/u-boot.img /media/boot/

Copy U-Boot BootScript:

create a new file: uEnv.txt

bootfile=zImage
address_image=0x80300000

bootinitrd=initrd.img
address_initrd=0x81600000

console=ttyO2,115200n8

defaultdisplay=dvi
dvimode=1280x720MR-16@60

mmcroot=/dev/mmcblk0p2 ro
mmcrootfstype=ext4 rootwait fixrtc

optargs=console=tty0

mmc_load_image=fatload mmc 0:1 ${address_image} ${bootfile}
mmc_load_initrd=fatload mmc 0:1 ${address_initrd} ${bootinitrd}

#just zImage
xyz_mmcboot=run mmc_load_image; echo Booting from mmc ...

#zImage and initrd
#xyz_mmcboot=run mmc_load_image; run mmc_load_initrd; echo Booting from mmc ...

deviceargs=setenv device_args mpurate=${mpurate} buddy=${buddy} buddy2=${buddy2}

mmcargs=setenv bootargs console=${console} ${optargs} vram=${vram} omapfb.mode=${defaultdisplay}:${dvimode} omapdss.def_disp=${defaultdisplay} root=${mmcroot} rootfstype=${mmcrootfstype} ${device_args}

loaduimage=run xyz_mmcboot; run deviceargs; run mmcargs; bootz ${address_image}

#zImage and initrd
#loaduimage=run xyz_mmcboot; run deviceargs; run mmcargs; bootz ${address_image} ${address_initrd}:${filesize}

Copy uEnv.txt to the boot partition

sudo cp -v ./uEnv.txt /media/boot/

Note: The "stable-kernel" tree is under active development, so the Kernel version can change on a daily basis...

Copy Kernel zImage:

sudo cp -v ./stable-kernel/deploy/3.2.15-x9.zImage /media/boot/zImage

Copy Root File System:

sudo tar xfvp ./debian-*-minimal-armel-*/armel-rootfs-*.tar -C /media/rootfs/

Copy Kernel modules:

sudo tar xfv ./stable-kernel/deploy/3.2.15-x9-modules.tar.gz -C /media/rootfs/

Tweak "/etc/fstab", the defaults should work for most boards:

sudo nano /media/rootfs/etc/fstab

/dev/mmcblk0p2   /           auto   errors=remount-ro   0   1
/dev/mmcblk0p1   /boot/uboot auto   defaults            0   0

Add Serial Login:

sudo nano /media/rootfs/etc/inittab

edit last line:

from: S:2345:respawn:/sbin/getty 115200
to: S:2345:respawn:/sbin/getty 115200 ttyO2

Remove microSD card:

sync
sudo umount /media/boot
sudo umount /media/rootfs
  • No labels