- 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.
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
make ARCH=arm CROSS_COMPILE=${CC}
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
./build_kernel.sh
Step 5:
Download the board support package
git clone https://github.com/RobertCNelson/ti-linux-kernel-dev.git
Step 6:
GET INTO THE BSP DIRECTORY AVAILABLE IN THE /dev DIRECTORY
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
./build_kernel.sh
RFS
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
->FOR DEBIAN 9
USERNAME: debian
PASSWORD: temppwd
USERNAME: root
PASSWORD: root
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