DuraCOR 310
Chapter 4 Linux BSP
MNL-0666-01 Rev A3
ECO-5479
Effective: 26 Apr 18
Page 25 of 51
Executing the Build
The tool used to orchestrate the build is bitbake. Bitbake will read through the configuration files for the
configured target machine, and download and build the required packages.
> bitbake core-image-sato
This command will build the full BSP including the rootfs and kernel. Note: this command will take a long
time to complete.
Initial Boot
Once the BSP is built, it is recommended that it is installed to the internal eMMC on the processor
module. To do so, you must boot from a secondary storage medium, which in this guide will be the
network. The host machine will need to provide a TFTP and NFS server. To boot from the network:
1. On Linux host computer create a directory for NFS root (say /nfsroot) and extract the rootfs image
into it. E.g:
tar -xjpf /path/to/coreimagesatosmarcsamx6i.tar.bz2 -C /nfsroot
2. Then edit file /nfsroot/etc/network/interfaces and add following string at the end of file:
iface eth0 inet manual
3. And add NFS root directory to /etc/exports and start NFS server.
4. Copy kernel from extracted rootfs image(/boot/uImage-smarc-samx6i.bin) into TFTP server root
directory (/var/lib/tfptboot or /tftpboot depending on Linux distribution).
5. Configure and start TFTP server.
6. Copy an appropriate device tree table (e.g. uImage-imx6q-smx6-lcd-pcieswitch.dtb) into TFTP
server root directory (/var/lib/tfptboot or /tftpboot depending on Linux distribution).
7. Configure DHCP server to provide IP configuration for SMARC-sAMX6 board and start it.
8. Configure serial connection (see “5.5 U-Boot Access and Startup” in SMARC-sAMX6i User’s
Guide), then power on the board. Interrupt autoboot process by pressing any key on serial
console and check U-boot environment variables with printenv. If needed, modify corresponding
variables with setenv command and boot Linux from TFTP server on host by executing:
setenv bootargs console=ttymxc0,115200 root=/dev/nfs rw ip=dhcp
nfsroot=<host ip>:<path to unpacked rootfs on host>
setenv serverip <host ip>
setenv ipaddr <samx6i ip>
setenv fdtfile <device tree BLOB copied to tftp>
setenv uimage <kernle copied to tftp>
tftp 11000000 ${fdtfile}
tftp 0x10800000 ${uimage}
bootm 0x10800000 11000000
For example:
setenv bootargs console=ttymxc0,115200 root=/dev/nfs rw ip=dhcp