Skip to content

Flash Debian Images from Network

Flashing a Complete Debian System from Network Using TFTP and NFS

NOTES:

  1. Please make sure your host system is ready to use TFTP/NFS. Use our Wiki if required: Debian Setup TFTP/NFS
  2. This is a concept Wiki. Please adapt it to your system and your requirements.

Build Minimal File System

To setup a build environment follow steps to Build the Debian image guide.

And build the image:

cd ~/debian_am62x_var_som/ti-bdebstrap
sudo ./build.sh am62-bookworm-09.02.01.010_var01

Create a root file system and copy files:

mkdir ~/flash_rootfs
sudo tar -xvf ~/debian_am62x_var_som/ti-bdebstrap/build/am62-bookworm-09.02.01.010_var01/tisdk-am62-bookworm-variscite-am62x-var-som-rootfs.tar.gz -C ~/flash_rootfs
sudo cp -a ~/flash_rootfs/boot/*.dtb /tftpboot
sudo cp ~/flash_rootfs/boot/Image /tftpboot

Edit /etc/exports. For example:

sudo gedit /etc/exports

And add the following line to it (replace <uname> with the actual username):

/home/<uname>/flash_rootfs *(rw,sync,no_root_squash,no_all_squash,no_subtree_check)

Restart the NFS server:

sudo /etc/init.d/nfs-kernel-server restart

Insert the recovery SD card into your host PC and copy the following files from it (assuming it is mounted at /media):

sudo cp -a /media/rootfs/opt/images ~/flash_rootfs/opt/
sudo cp /media/rootfs/usr/bin/*.sh ~/flash_rootfs/usr/bin/

Boot the board, stop the autoboot to get to the U-Boot command line, and set the following environment variables:

setenv serverip <your host ip address>
setenv nfsroot /home/<your username>/flash_rootfs

If you want to set the fdt file yourself, instead of using the default auto detection:
setenv fdt_file <relevant device tree>
setenv bootcmd 'run netboot'
saveenv
boot

On the target flash your system:

install_debian.sh

A complete system is flashed into the SOM internal storage (NAND flash/eMMC). Once the file system is built you can use it again and again to flash your VAR-SOM-AM62. You can update the images to use your images and/or customize install_debian.sh to your requirements.