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

Unknown macro: {wiki}

This is a page about TI's BeagleBoard and BeagleBoard xM.

Availability:

BeagleBoard Cx at Digi-Key
BeagleBoard xM at Digi-Key
CircuitCo 7inch LCD at Digi-Key

Basic Requirements

GCC Toolchain

wget https://launchpad.net/linaro-toolchain-binaries/trunk/2013.03/+download/gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux.tar.bz2
tar xjf gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux.tar.bz2
export CC=`pwd`/gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux/bin/arm-linux-gnueabihf-

Bootloader

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

U-Boot Download:

Download U-Boot via git:

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

U-Boot Patches:

wget https://raw.github.com/eewiki/u-boot-patches/master/v2013.04/0001-omap3_beagle-uEnv.txt-bootz-n-fixes.patch

patch -p1 < 0001-omap3_beagle-uEnv.txt-bootz-n-fixes.patch

U-Boot Configure and Build:

make ARCH=arm CROSS_COMPILE=${CC} distclean
make ARCH=arm CROSS_COMPILE=${CC} omap3_beagle_config
make ARCH=arm CROSS_COMPILE=${CC}

Linux Kernel

Linux Build Script:

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

For Mainline v3.9-rcX

git checkout origin/v3.9.x -b tmp

Run Build Script:

./build_kernel.sh

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

Debian Squeeze 6.0.7 (armel/armv4t based) Root File System

Default User: debian
Password: temppwd

Root User: root
Root Password: root

wget -c http://rcn-ee.net/deb/minfs/squeeze/debian-6.0.7-minimal-armel-2013-03-29.tar.xz

verify the image with:

md5sum debian-6.0.7-minimal-armel-2013-03-29.tar.xz
8514b7d558926778d180713120a550f1  debian-6.0.7-minimal-armel-2013-03-29.tar.xz

Extract Image:

tar xJf debian-6.0.7-minimal-armel-2013-03-29.tar.xz

Debian Wheezy (snapshot) (armhf based) Root File System

Default User: debian
Password: temppwd

Root User: root
Root Password: root

wget -c http://rcn-ee.net/deb/minfs/wheezy/debian-wheezy-minimal-armhf-2013-03-29.tar.xz

verify the image with:

md5sum debian-wheezy-minimal-armhf-2013-03-29.tar.xz
106406f80714ca18ea546ee6e8dd0cfd  debian-wheezy-minimal-armhf-2013-03-29.tar.xz

Extract Image:

tar xJf debian-wheezy-minimal-armhf-2013-03-29.tar.xz

Ubuntu 12.10 (Quantal) (armhf based) Root File System

Default User: ubuntu
Password: temppwd

wget -c http://rcn-ee.net/deb/minfs/quantal/ubuntu-12.10-minimal-armhf-2013-03-29.tar.xz

verify the image with:

md5sum ubuntu-12.10-minimal-armhf-2013-03-29.tar.xz
e12d8222b139b417efc7ec0147b5ce76  ubuntu-12.10-minimal-armhf-2013-03-29.tar.xz

Extract Image:

tar xJf ubuntu-12.10-minimal-armhf-2013-03-29.tar.xz

Setup microSD/SD 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/SD card:

sudo dd if=/dev/zero of=${DISK} bs=1024 count=1024
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 Boot Partition as vfat:

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

Setup Root File System Partition:

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


w
__EOF__

Format rootfs as ext4:

DISK=/dev/mmcblk0
sudo mkfs.ext4 ${DISK}p2 -L rootfs
(or)
DISK=/dev/sdX
sudo mkfs.ext4 ${DISK}2 -L rootfs

Mount Partitions:

Note: On most systems these partitions will be auto-mounted...

sudo mkdir -p /media/boot/
sudo mkdir -p /media/rootfs/

DISK=/dev/mmcblk0
sudo mount ${DISK}p1 /media/boot/
sudo mount ${DISK}p2 /media/rootfs/

(or)

DISK=/dev/sdX
sudo mount ${DISK}1 /media/boot/
sudo mount ${DISK}2 /media/rootfs/

Install Bootloaders:

Copy MLO/u-boot.img to the boot partition

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

U-Boot user enviroment variables: uEnv.txt

Create U-Boot "uEnv.txt" boot script: (nano uEnv.txt)

uEnv.txt
#Camera: Uncomment to enable:
#http://shop.leopardimaging.com/product.sc?productId=17
#camera=li5m03

#SPI: enable for userspace spi access on expansion header
#buddy=spidev

#LSR COM6L Adapter Board
#http://eewiki.net/display/linuxonarm/LSR+COM6L+Adapter+Board
#First production run has unprogramed eeprom:
#buddy=lsr-com6l-adpt

#LSR COM6L Adapter Board + TiWi5
#wl12xx_clk=wl12xx_26mhz

#These are now set by default: uncomment/change if you need something else
#defaultdisplay=dvi
#dvimode=1280x720MR-16@60

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

Copy uEnv.txt to the boot partition:

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

Install Kernel and Root File System:

To help new users, since the kernel version can change on a daily basis. The kernel building scripts in this git repo will now give you a hint of what kernel version was built.

-----------------------------
Script Complete
eewiki.net: [user@localhost:~$ export kernel_version=3.X.Y-Z]
-----------------------------

Copy and Paste that "export kernel_version=3.X.Y-Z" exactly as shown in your own build/desktop environment:

export kernel_version=3.X.Y-Z

Copy Kernel zImage:

sudo cp -v ./stable-kernel/deploy/${kernel_version}.zImage /media/boot/zImage

Copy Kernel dtbs (Device Tree):

sudo mkdir -p /media/boot/dtbs/
sudo tar xofv ./stable-kernel/deploy/${kernel_version}-dtbs.tar.gz -C /media/boot/dtbs/

Copy Root File System:

sudo tar xfvp ./*-*-minimal-arm*-*/arm*-rootfs-*.tar -C /media/rootfs/

Copy Kernel modules:

sudo tar xfv ./stable-kernel/deploy/${kernel_version}-modules.tar.gz -C /media/rootfs/

Setup /etc/fstab:

sudo nano /media/rootfs/etc/fstab

Add:

/etc/fstab
/dev/mmcblk0p2   /           auto   errors=remount-ro   0   1
/dev/mmcblk0p1   /boot/uboot auto   defaults            0   0
Enable Networking:
sudo nano /media/rootfs/etc/network/interfaces

Add:

/etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp
Enable Serial Login:

Debian:

sudo nano /media/rootfs/etc/inittab

Add at end of file:

/etc/inittab
T2:23:respawn:/sbin/getty -L ttyO2 115200 vt102

Ubuntu:

sudo nano /media/rootfs/etc/init/serial.conf

Add:

/etc/init/serial.conf
start on stopped rc RUNLEVEL=[2345]
stop on runlevel [!2345]

respawn
exec /sbin/getty 115200 ttyO2

Remove microSD/SD card:

sync
sudo umount /media/boot
sudo umount /media/rootfs

FAQ

No Ethernet:

  1. Check Power (aka use 5Volt DC Plug): The USB bus allows up to 100mA on initial connection and up to a max of 500mA can be requested by the end USB device. On the xM this is not enough to power the whole device and on the xM C there is an actual hardware switch to disable the smsc95xx usb hub/ethernet when powered by OTG (to prevent out of power crashes seen on the xM A/B with when users powered by OTG).
  2. Check Ethernet Cable/Plug: Is the Ethernet Cable actually plugged into the Beagle and Router?
  3. Check Modules: The smsc95xx kernel driver is usually built as an external module, double check that your kernel modules for this device are installed.
    debian@devel:~$ find /lib/modules/`uname -r`/kernel/ | grep smsc95xx
    /lib/modules/3.2.26-x14/kernel/drivers/net/usb/smsc95xx.ko
    
    debian@devel:~$ lsmod | grep smsc95xx
    smsc95xx               11302  0
    
  4. Reload smsc95xx kernel module (Checked all the above and the LAN LED's are still off)
    sudo rmmod smsc95xx
    sudo modprobe smsc95xx
    sudo /etc/init.d/networking restart
    

Comments

Comments, feedback, and questions can be sent to eewiki@digikey.com.

[Comments Page]

  • No labels