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 10 Next »

This is a page about TI's BeagleBoard.

Basic Requirements

X-Loader

X-Loader Download:

git clone git://gitorious.org/x-loader/x-loader.git

X-Loader Configure and Build:

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- omap3530beagle_config
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- ift

Bootloader

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

U-Boot Download:

Download U-Boot Tarball:

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

Or via git:

git clone git://git.denx.de/u-boot.git
cd u-boot/
git checkout v2011.06 -b tmp

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://github.com/RobertCNelson/stable-kernel.git
cd stable-kernel/

Run Build Script:

./build_kernel.sh

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

Root File System

wget -c http://rcn-ee.net/deb/rootfs/squeeze/squeeze-minimal-armel-2011-07-18.tar.xz

verify the image with:

md5sum squeeze-minimal-armel-2011-07-18.tar.xz
6354943d33059f36ee902204b825f50d  squeeze-minimal-armel-2011-07-18.tar.xz

Extract Image:

tar xJf squeeze-minimal-armel-2011-07-18.tar.xz

Setup microSD card

Erase microSD card: (assuming: /dev/mmcblk0, "sudo fdisk -l" is useful for determining the device id)

sudo parted --script /dev/mmcblk0 mklabel msdos

Setup Boot Partition:

Make sure to check what version of fdisk you have installed, as 2.18+ removed a former default setting. The version can be checked with: "fdisk -v"

fdisk 2.17.x

sudo fdisk /dev/mmcblk0 << END
n
p
1
1
+64M
t
e
p
w
END

fdisk 2.18.x ->2.19.x

sudo fdisk -c=dos -u=cylinders /dev/mmcblk0 << END
n
p
1
1
+64M
t
e
p
w
END

Set Boot Flag

sudo parted --script /dev/mmcblk0 set 1 boot on

Format as fat

sudo mkfs.vfat -F 16 /dev/mmcblk0p1 -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 ./MLO /media/boot/MLO

Copy u-boot.bin to the boot partition

sudo cp ./u-boot.bin /media/boot/u-boot.bin

Copy U-Boot BootScript:

Newer version's of u-boot now look for a uEnv.txt file vs the older boot.scr, since most boards still use the older boot.scr here's an easy compatibility script:

create a new file: uEnv.txt

bootenv=boot.scr
loaduimage=fatload mmc ${mmcdev} ${loadaddr} ${bootenv}
mmcboot=echo Running boot.scr script from mmc ...; source ${loadaddr}

create a new file: boot.cmd

setenv bootcmd 'fatload mmc 0:1 0x80300000 uImage; bootm 0x80300000'
setenv bootargs console=ttyO2,115200n8 console=tty0 root=/dev/mmcblk0p2 rootwait ro rootfstype=ext4 omapfb.mode=dvi:1280x720MR-16@60
boot

Run mkimage on boot.cmd to be useable by U-Boot:

mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "Linux" -d ./boot.cmd ./boot.scr

Copy boot.scr & uEnv.txt to the boot partition

sudo cp ./boot.scr /media/boot/
sudo cp ./uEnv.txt /media/boot/

Copy Kernel uImage:

sudo cp ./2.6.39.3-x3.uImage /media/boot/uImage

Copy Root File System:

sudo tar xfvp armel-rootfs-201107180925.tar -C /media/rootfs/

Copy Kernel modules:

sudo tar xfv 2.6.39.3-x3-modules.tar.gz -C /media/rootfs/

Add Partition info to /etc/fstab:

sudo nano /media/rootfs/etc/fstab
add: /dev/mmcblk0p2 / ext4 errors=remount-ro 0 1

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 /dev/mmcblk0p2
sudo umount /dev/mmcblk0p1

First Boot:

Serial Boot log:

  • No labels