diff --git a/README.md b/README.md index f743bc4..1f943e6 100644 --- a/README.md +++ b/README.md @@ -24,10 +24,14 @@ source ~/.bashrc ### 2. Clone recursively the repository to the workspace's root to add the Jetpack+CTI 4.4.1 and Drivers MT9M021 and EG25-G ```bash LINUX_FOR_TEGRA= +KERNEL_LOCATION_FROM_BUILD_DIR=../../spiri-project/source/Jetpack/kernel/kernel-4.9/ +KERNEL_LOCATION=$KERNEL_LOCATION_FROM_BUILD_DIR + cd $LINUX_FOR_TEGRA git clone --recurse-submodules https://git.spirirobotics.com/dchvs/spiri-project.git cd spiri-project + git checkout master git submodule update --init --recursive --remote ``` @@ -43,14 +47,14 @@ sudo ./install.sh cd $LINUX_FOR_TEGRA/ mkdir -p builds/build_ && cd builds/build_ -mkdir build modules +mkdir build # Create the Kernel configuration file -make -C ../../spiri-project/source/Jetpack/kernel/kernel-4.9/ ARCH=arm64 O=$PWD/build/ tegra_defconfig +make -C $KERNEL_LOCATION ARCH=arm64 O=$PWD/build/ tegra_defconfig ``` ```bash # Check for the Drivers with the "spiri" keyword -make -C ../../spiri-project/source/Jetpack/kernel/kernel-4.9/ ARCH=arm64 O=$PWD/build/ menuconfig +make -C $KERNEL_LOCATION ARCH=arm64 O=$PWD/build/ menuconfig ``` By default the Drivers are installed, the tegra_defconfig include them as: @@ -69,8 +73,7 @@ You can review it on the Kernel Menuconfig, and find it out in the following pat ```bash # Build the Kernel, DTBs and modules -make -C ../../spiri-project/source/Jetpack/kernel/kernel-4.9/ ARCH=arm64 O=$PWD/build/ CROSS_COMPILE=${CROSS_COMPILE} -j8 --output-sync=target zImage dtbs modules -make -C ../../spiri-project/source/Jetpack/kernel/kernel-4.9/ ARCH=arm64 O=$PWD/build/ modules_install INSTALL_MOD_PATH=$PWD/modules +make -C $KERNEL_LOCATION ARCH=arm64 O=$PWD/build/ CROSS_COMPILE=${CROSS_COMPILE} -j8 --output-sync=target zImage dtbs modules ``` The deployed Kernel binaries after compilation could check if it has the Drivers in it, inspecting on it with rgrep: @@ -84,14 +87,12 @@ Once the Kernel it's compiled, the output binaries should get installed on the J ```bash # Location for the Kernel files to be found by Tegra flash.sh script in full image installation -+-----------------------------+ +--------------+ -| build/arch/arm64/boot/Image | --> | kernel/Image | -+-----------------------------+ +--------------+ - -+-----------------------------+ +-------------+ -| build/arch/arm64/boot/dts/* | --> | kernel/dtb/ | -+-----------------------------+ +-------------+ - ++------------------------------------+ +---------------------+ +| build/arch/arm64/boot/Image | --> | kernel/Image | ++------------------------------------+ +---------------------+ ++------------------------------------+ +---------------------+ +| build/arch/arm64/boot/dts/* | --> | kernel/dtb/ | ++------------------------------------+ +---------------------+ +------------------------------------+ +---------------------+ | modules/lib/modules/4.9.140-tegra/ | --> | rootfs/lib/modules/ | +------------------------------------+ +---------------------+ @@ -99,10 +100,12 @@ Once the Kernel it's compiled, the output binaries should get installed on the J ``` # Add the Kernel files for full image installation + # Install the Kernel Image and DTBs -make -C ../../spiri-project/source/Jetpack/kernel/kernel-4.9/ ARCH=arm64 O=$PWD/build/ kernel_install INSTALL_PATH=$PWD/../../kernel/ +make -C $KERNEL_LOCATION ARCH=arm64 O=$PWD/build/ kernel_install INSTALL_PATH=$PWD/../../kernel/ + # Install the Drivers modules -sudo make -C ../../spiri-project/source/Jetpack/kernel/kernel-4.9/ ARCH=arm64 O=$PWD/build/ modules_install INSTALL_MOD_PATH=$PWD/../../rootfs/ +sudo make -C $KERNEL_LOCATION ARCH=arm64 O=$PWD/build/ modules_install INSTALL_MOD_PATH=$PWD/../../rootfs/ ``` In order to flash the target device, do the following commands from the workspace's root: