1,189
edits
Line 339: | Line 339: | ||
EKSFILE="bootloader/eks.img"; | EKSFILE="bootloader/eks.img"; | ||
FBFILE="bootloader/reserved_fb.xml"; | FBFILE="bootloader/reserved_fb.xml"; | ||
</pre> | |||
= Bootloader = | |||
The bootloader is a combination of NVIDIA T-Boot (nvtboot) and U-Boot. You can read about the BOOT FLOW in the [http://http.download.nvidia.com/tegra-public-appnotes/t210-nvtboot-flow.html nvtboot wiki page]. | |||
According to the [https://devtalk.nvidia.com/default/topic/762653/?comment=4654303 devtalk forum] there are two ways to boot the board: fast boot and uboot | |||
*Fastboot is simpler, and offers no options during boot. It strictly looks for a kernel in the GPT partition from the install's "-k 6" option. This would probably be the way to go for a non-interactive embedded appliance (if not bare metal booting). | |||
*U-boot offers more options, and looks for a zImage in the /boot partition. Boot configuration can also be edited here, for example I threw in a couple of zImage variants (like debugging version and network options added), and edited extlinux.conf...and magically I can boot to any of those kernels at the serial console boot prompt (provided my eye is fast). No flash was required for any kernel beyond the first kernel. | |||
Inside of the bootloader directory you will find several binaries or components, to get a description of these please read the [http://http.download.nvidia.com/tegra-public-appnotes/t210-nvtboot-flow.html nvtboot wiki page]. | |||
== Steps == | |||
1. Backup original uboot files. You see which platform you are using checking the file in $DEVDIR/TX1/Linux_for_Tegra_tx1/jetson-tx1.conf, it says: | |||
<pre> | |||
SYSBOOTFILE=p2371-2180-devkit/extlinux.conf; | |||
</pre> | |||
copy the files to the packages-backup directory | |||
<pre> | |||
cp -rf $DEVDIR/TX1/Linux_for_Tegra_tx1/bootloader/t210ref/p2371-2180-devkit $DEVDIR/images/packages-backup/ | |||
</pre> | |||
2. Go to uboot and set environment variables | |||
<pre> | |||
cd $DEVDIR/TX1/Linux_for_Tegra_tx1/sources/u-boot_source/ | |||
export CROSS_COMPILE=/opt/linaro/gcc-linaro-5.3-2016.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- | |||
export ARCH=arm64 | |||
</pre> | |||
3. Clean and compile | |||
<pre> | |||
make distclean | |||
make p2371-2180_defconfig | |||
make | |||
</pre> | </pre> | ||