• Real Time Signals India

Building the Image file for Beagle Bone Black

Step by step procedure from RTS for building the image file for Beagle bone black which includes

1. uboot-image

2. z-image

3. MLO(primary bootloader)

4. Board support package 

5. RFS(root file system)

Steps to make an U-boot image in linux for Beaglebone Black (u-boot.img)

Step 1 : Firstly, install the arm cross compiler. it is a 64-bit gcc compiler. download it from the link below.

wget -c https://releases.linaro.org/components/toolchain/binaries/6.4-2017.11/arm-linux-gnueabihf/gcc-linaro-6.4.1-2017.11-x86_64_arm-linux-gnueabihf.tar.xz

Step 2 : Next, extract the downloaded zip file. preferably, download and extract it in an user created directory.

tar xf gcc-linaro-6.4.1-2017.11-x86_64_arm-linux-gnueabihf.tar.xz

Step 3 : Now, add the path of the cross compiler in order to set it as your cross-compiler.

export CC=`pwd`/gcc-linaro-6.4.1-2017.11-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-

Step 4 : Check the version of the c ross-compiler. make sure it is exported.

${CC}gcc --version

Step 5 : Next step is to build the bootloader. the next step will clone the standard u-boot from github into a directory named u-boot

git clone https://github.com/u-boot/u-boot

Step 6 : Change the present working directory as u-boot and check the version

cd u-boot/

git checkout v2018.01 -b tmp

Step 7 : Now you need to apply some patches based on the processor and board you will be using.

wget -c https://rcn-ee.com/repos/git/u-boot-patches/v2018.01/0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch

wget -c https://rcn-ee.com/repos/git/u-boot-patches/v2018.01/0002-U-Boot-BeagleBone-Cape-Manager.patch

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

patch -p1 < 0002-U-Boot-BeagleBone-Cape-Manager.patch

Step 8 : Build the bootloader with the cross compiler you chose

make ARCH=arm CROSS_COMPILE=${CC} distclean

make ARCH=arm CROSS_COMPILE=${CC} am335x_evm_defconfig


Kernel Image

This will build the kernel along with the device trees and modules(zImage)

Step 1:

Download the kernel files from github

git clone https://github.com/RobertCNelson/bb-kernel

Step 2:

Migrate into the kernel directory

cd bb-kernel/

Step 3:

Getting into the required directory depending on the version of the processor for am33x-rt-v4.14,

git checkout origin/am33x-rt-v4.14 -b tmp

Step 4:

Build the kernel


Step 5:

Download the board support package

git clone https://github.com/RobertCNelson/ti-linux-kernel-dev.git

Step 6:


cd ti-linux-kernel-dev/

Step 7:

Getting into the required directory depending on the version of bsp

For TI v4.14.x,

git checkout origin/ti-linux-rt-4.14.y -b tmp

Step 8:

Build the kernel along with the bsp



According to the Operating System you are working on, download the file for root file system

->FOR UBUNTU 16.04

USERNAME: ubuntu

PASSWORD: temppwd

Step 1:

wget -c https://rcn-ee.com/rootfs/eewiki/minfs/ubuntu-16.04.3-minimal-armhf-2017-12-09.tar.xz

Step 2 :

The next command will help you verify the rfs.

sha256sum ubuntu-16.04.3-minimal-armhf-2017-12-09.tar.xz

running the above command will give you a result as below

cacc1a8c56649808e3bc27ca58f94dbe817b9e86e660780009a3535709823cc1 ubuntu-16.04.3-minimal-armhf-2017-12-09.tar.xz

Step 3:

Unzip the rfs

tar xf ubuntu-16.04.3-minimal-armhf-2017-12-09.tar.xz


USERNAME: debian

PASSWORD: temppwd



Step 1:

wget -c https://rcn-ee.com/rootfs/eewiki/minfs/debian-9.3-minimal-armhf-2017-12-09.tar.xz

Step 2:

The next command will help you verify the rfs.

sha256sum debian-9.3-minimal-armhf-2017-12-09.tar.xz

Running the above command will give you a result as below

5120fcfb8ff8af013737fae52dc0a7ecc2f52563a9aa8f5aa288aff0f3943d61 debian-9.3-minimal-armhf-2017-12-09.tar.xz

Step 3: Unzip the rfs

tar xf debian-9.3-minimal-armhf-2017-12-09.tar.xz

41 views0 comments