Ti AM437xx SDK build
#Ti training
https://training.ti.com/customizing-yocto-based-linux-distribution-production
#install sdk binary
chmod +x ./ti-processor-sdk-linux-rt-am437x-evm-04.03.00.05-Linux-x86-Install
./ti-processor-sdk-linux-rt-am437x-evm-04.03.00.05-Linux-x86-Install
The step is not necessary, as we don't build from here. Anyway, if you want to build it, then go to the install folder, e.g. /home/zjb/ti-processor-sdk-linux-rt-am437x-evm-06.03.00.106
->./setup.sh
here, there are some files need to update if unbuntu version is 18.0+
#build system from vender cd
The vendor provides itself u-boot, kernel, filesystem, build-rootfs tool.
#build u-boot
make CROSS_COMPILE=arm-linux-gnueabihf- ARCH=arm distclean
make CROSS_COMPILE=arm-linux-gnueabihf- ARCH=arm am43xx_evm_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
make CROSS_COMPILE=arm-linux-gnueabihf- ARCH=arm all
#build kernel
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- tisdk_am437x-evm_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- all
the image is at : arch/arm/boot/
make linux modules
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- modules -j 4
device tree
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- *.dtb
make install
#build device tree
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- *.dtb
output:
arch/arm/boot/dts
The image is at : arch/arm/boot/
#make the file boot MMC
sudo ./mksdboot.sh -d /dev/sdb
#SDK build
sudo apt-get install git build-essential python diffstat texinfo gawk chrpath dos2unix wget unzip socat doxygen libc6:i386 libncurses5:i386 libstdc++6:i386 libz1:i386
sudo dpkg-reconfigure dash select "NO"
#download the gcc offline, it seems download failure directly.
$ wget https://developer.arm.com/-/media/Files/downloads/gnu-a/8.3-2019.03/binrel/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf.tar.xz
$ tar -Jxvf gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf.tar.xz -C $HOME
$ wget https://developer.arm.com/-/media/Files/downloads/gnu-a/8.3-2019.03/binrel/gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu.tar.xz
$ tar -Jxvf gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu.tar.xz -C $HOME
$ git clone git://arago-project.org/git/projects/oe-layersetup.git tisdk
$ cd tisdk
$ ./oe-layertool-setup.sh -f configs/processor-sdk/processor-sdk-<version>-config.txt
ti-processor-sdk-linux-rt-am437x-evm-04.03.00.05-Linux-x86-Install.bin
./oe-layertool-setup.sh -f configs/processor-sdk/processor-sdk-04.03.00.05-config.txt
$ cd build
$ . conf/setenv
$ export TOOLCHAIN_PATH_ARMV7=$HOME/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf
$ export TOOLCHAIN_PATH_ARMV8=$HOME/gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu
$ MACHINE=am437x-evm bitbake arago-base-tisdk-image
failure while got the libtool-native-2.4.6-r0 do_configure: autoreconf execution failed
MACHINE=am437x-evm bitbake arago-base-tisdk-image fetchall
got failure, below components are got from offline via proxy, and then copy the files to tisdk/download folder.
https://raw.githubusercontent.com/ssvb/cpuburn-arm/dd5c5ba58d2b0b23cfab4a286f9d3f5510000f20/cpuburn-a8.S;name=ssvb
=================================tools=============================================
#get boot timing
grabserial -d /dev/ttyUSB0 -e 60 -t -m "U-Boot*" -o ./a.log
#nfs
host:
-- install nfs
sudo apt-get install nfs-kernel-server
-- configurate at host
mkdir ~/nfs_share
sudo vim /etc/exports
/home/zjb/nfs_share/ *(rw,sync,no_root_squash)
-- restart the service:
sudo /etc/init.d/nfs-kernel-server restart
showmount -e
board:
mkdir nfs
chmod 777 nfs
mount -t nfs -o nolock 192.168.0.109:/home/zjb/nfs_share /nfs/
make a temp file at nfs_share
The systemd service configuration
ls ./lib/systemd/
systemctl status systemd-modules-load.service
systemctl restart systemd-modules-load.service
journalctl -xe
[KNov 26 08:53:09 AM437x-Tronlong systemd-modules-load[120]: [7m[[0m[0;1;31mFailed to find module 'cmemk'[7m[[0m[0m
[KNov 26 08:53:09 AM437x-Tronlong systemd-modules-load[120]: [7m[[0m[0;1;31mFailed to find module 'cryptodev'[7m[[0m[0m
[KNov 26 08:53:09 AM437x-Tronlong systemd-modules-load[120]: [7m[[0m[0;1;31mFailed to find module 'nfsd'[7m[[0m[0m
[KNov 26 08:53:09 AM437x-Tronlong systemd[1]: Started Setup Virtual Console.
systemctl --failed
systemctl status systemd-modules-load
ls -Al /etc/modules-load.d/