This is a page about TI's Cortex-A8 based; BeagleBoard and BeagleBoard xM. Boards: This is a pre-built (64bit) version of Linaro GCC that runs on generic linux, sorry (32bit) x86 users, it's time to upgrade... Test: Das U-Boot – the Universal Boot Loader: http://www.denx.de/wiki/U-Boot Patches: Configure and Build: This script will build the kernel, modules, device tree binaries and copy them to the deploy directory. For v4.1.x (Longterm 4.1.x): For v4.1.x-rt (Longterm 4.1.x + Real-Time Linux): For v4.4.x (Longterm 4.4.x): For v4.4.x-rt (Longterm 4.4.x + Real-Time Linux): For v4.5.x (Stable): Build: User Password debian temppwd root root Download: Verify: Extract: User Password ubuntu temppwd Download: Verify: Extract: A Root File System around 100Mb in size, for flash applications. User Password debian temppwd root root Download: Verify: Extract: For these instruction we are assuming, DISK=/dev/mmcblk0, lsblk is very useful for determining the device id. Erase partition table/labels on microSD card: Create Partition Layout: Format Partition: Mount Partition: Copy MLO/u-boot.img to the boot partition To help new users, since the kernel version can change on a daily basis. The kernel building scripts listed on this page will now give you a hint of what kernel version was built. Copy and paste that "export kernel_version=4.X.Y-Z" exactly as shown in your own build/desktop environment and hit enter to create an environment variable to be used later. Kernel Image: Edit: /etc/network/interfaces Add: Ubuntu With this content: Comments, feedback, and questions can be sent to: eewiki@digikey.comAvailability
BeagleBoard Cx at Digi-Key
BeagleBoard xM at Digi-Key
CircuitCo 7inch LCD at Digi-KeyBasic Requirements
ARM Cross Compiler: GCC
Download/Extract:
wget -c https://releases.linaro.org/components/toolchain/binaries/5.2-2015.11-2/arm-linux-gnueabihf/gcc-linaro-5.2-2015.11-2-x86_64_arm-linux-gnueabihf.tar.xz
tar xf gcc-linaro-5.2-2015.11-2-x86_64_arm-linux-gnueabihf.tar.xz
export CC=`pwd`/gcc-linaro-5.2-2015.11-2-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-
${CC}gcc --version
arm-linux-gnueabihf-gcc (Linaro GCC 5.2-2015.11-2) 5.2.1 20151005
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Bootloader: U-Boot
eewiki.net patch archive: https://github.com/eewiki/u-boot-patches
Download:
git clone https://github.com/u-boot/u-boot
cd u-boot/
git checkout v2016.03 -b tmp
wget -c https://rcn-ee.com/repos/git/u-boot-patches/v2016.03/0001-omap3_beagle-uEnv.txt-bootz-n-fixes.patch
patch -p1 < 0001-omap3_beagle-uEnv.txt-bootz-n-fixes.patch
make ARCH=arm CROSS_COMPILE=${CC} distclean
make ARCH=arm CROSS_COMPILE=${CC} omap3_beagle_defconfig
make ARCH=arm CROSS_COMPILE=${CC}
Linux Kernel
Download:
git clone https://github.com/RobertCNelson/armv7-multiplatform
cd armv7-multiplatform/
git checkout origin/v4.1.x -b tmp
git checkout origin/v4.1.x-rt -b tmp
git checkout origin/v4.4.x -b tmp
git checkout origin/v4.4.x-rt -b tmp
git checkout origin/v4.5.x -b tmp
./build_kernel.sh
Root File System
Debian 8
wget -c https://rcn-ee.com/rootfs/eewiki/minfs/debian-8.3-minimal-armhf-2016-01-25.tar.xz
sha256sum debian-8.3-minimal-armhf-2016-01-25.tar.xz
086d64616d8baaee46750586cbcf9d6ee93af67902e29f70c7786297b50d6545 debian-8.3-minimal-armhf-2016-01-25.tar.xz
tar xf debian-8.3-minimal-armhf-2016-01-25.tar.xz
Ubuntu 14.04 LTS
wget -c https://rcn-ee.com/rootfs/eewiki/minfs/ubuntu-14.04.3-minimal-armhf-2016-01-25.tar.xz
sha256sum ubuntu-14.04.3-minimal-armhf-2016-01-25.tar.xz
8406f5a7a0192525898c0f17bd67d0a07ad6e88cb766c8722c297af5b7bd7cc1 ubuntu-14.04.3-minimal-armhf-2016-01-25.tar.xz
tar xf ubuntu-14.04.3-minimal-armhf-2016-01-25.tar.xz
Root File System (small flash)
Debian 8 (small flash)
wget -c https://rcn-ee.com/rootfs/eewiki/barefs/debian-8.3-bare-armhf-2016-01-25.tar.xz
sha256sum debian-8.3-bare-armhf-2016-01-25.tar.xz
569cea2df25d75528c3c4096f44c265f4905da2aeb40f8ef3353ebd6b20e7edc debian-8.3-bare-armhf-2016-01-25.tar.xz
tar xf debian-8.3-bare-armhf-2016-01-25.tar.xz
Setup microSD card
export DISK=/dev/mmcblk0
sudo dd if=/dev/zero of=${DISK} bs=1M count=20
With util-linux v2.26, sfdisk was rewritten and is now based on libfdisk.
sudo sfdisk --version
sudo sfdisk ${DISK} <<-__EOF__
1M,12M,0xE,*
,,,-
__EOF__
sudo sfdisk --unit M ${DISK} <<-__EOF__
1,12,0xE,*
,,,-
__EOF__
for: DISK=/dev/mmcblk0
sudo mkfs.vfat -F 16 -n BOOT ${DISK}p1
sudo mkfs.ext4 -L rootfs ${DISK}p2
for: DISK=/dev/sdX
sudo mkfs.vfat -F 16 -n BOOT ${DISK}1
sudo mkfs.ext4 -L rootfs ${DISK}2
On most systems these partitions may will be auto-mounted...
sudo mkdir -p /media/boot/
sudo mkdir -p /media/rootfs/
for: DISK=/dev/mmcblk0
sudo mount ${DISK}p1 /media/boot/
sudo mount ${DISK}p2 /media/rootfs/
for: DISK=/dev/sdX
sudo mount ${DISK}1 /media/boot/
sudo mount ${DISK}2 /media/rootfs/
Install Bootloader
sudo cp -v ./u-boot/MLO /media/boot/
sudo cp -v ./u-boot/u-boot.img /media/boot/
Install Kernel and Root File System
-----------------------------
Script Complete
eewiki.net: [user@localhost:~$ export kernel_version=4.X.Y-Z]
-----------------------------
export kernel_version=4.X.Y-Z
Copy Root File System
sudo tar xfvp ./*-*-*-armhf-*/armhf-rootfs-*.tar -C /media/rootfs/
Set uname_r in /boot/uEnv.txt
sudo sh -c "echo 'uname_r=${kernel_version}' >> /media/rootfs/boot/uEnv.txt"
Copy Kernel Image
sudo cp -v ./armv7-multiplatform/deploy/${kernel_version}.zImage /media/rootfs/boot/vmlinuz-${kernel_version}
Copy Kernel Device Tree Binaries
sudo mkdir -p /media/rootfs/boot/dtbs/${kernel_version}/
sudo tar xfv ./armv7-multiplatform/deploy/${kernel_version}-dtbs.tar.gz -C /media/rootfs/boot/dtbs/${kernel_version}/
Copy Kernel Modules
sudo tar xfv ./armv7-multiplatform/deploy/${kernel_version}-modules.tar.gz -C /media/rootfs/
File Systems Table (/etc/fstab)
sudo sh -c "echo '/dev/mmcblk0p2 / auto errors=remount-ro 0 1' >> /media/rootfs/etc/fstab"
sudo sh -c "echo '/dev/mmcblk0p1 /boot/uboot auto defaults 0 2' >> /media/rootfs/etc/fstab"
Networking
sudo nano /media/rootfs/etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
Serial Login
Create new file: /etc/init/serial.conf
sudo nano /media/rootfs/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
Comments
Please use the Digi-Key Forum: TechXchange Community
~/
~/
~/
~/u-boot
~/u-boot
~/
~/armv7-multiplatform
~/armv7-multiplatform
~/armv7-multiplatform
~/armv7-multiplatform
~/armv7-multiplatform
~/armv7-multiplatform/
~/
~/
~/
~/
~/
~/
~/
~/
~/
sfdisk >= 2.26.x
sfdisk <= 2.25.x
~/
~/
~/
~/
~/
~/
/etc/fstab
/etc/network/interfaces
/etc/init/serial.conf
Overview
Content Tools