Debian Edit Modify Build and Flash U-Boot
From Variscite Wiki
DART-MX8M-MINI - Debian U-Boot Customization
Making Changes to U-Boot
$ cd ~/var_mx8mm_dart_debian_buster/src/uboot-imx $ gedit board/variscite/mx8mm_var_dart/mx8mm_var_dart.c $ gedit include/configs/mx8mm_var_dart.h
For example, we want to change the default environment variable,
"netargs=setenv bootargs ${jh_clk} console=${console} " \ "root=/dev/nfs ${cma_size} " \ "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
To
"netargs=setenv bootargs ${jh_clk} console=${console} " \ "root=/dev/nfs ${cma_size} " \ "ip=dhcp serverip=192.168.0.34 nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
Here above example sets the serverip to 192.168.0.34,
Building Bootloader
To build a bootloader run below commands on host machine.
$ cd ~/var_mx8mm_dart_debian_buster $ sudo MACHINE=imx8mm-var-dart ./var_make_debian.sh -c bootloader
Flashing New Bootloader to Target
Flashing New Bootloader to target eMMC via network
Transfer the newly created bootloader file imx-boot-sd.bin
From
~/var_mx8mm_dart_debian_buster/output/ to running target to flash it on the eMMC.
For example
$scp ~/var_mx8mm_dart_debian_buster/output/imx-boot-sd.bin root@192.168.0.36:/tmp/
Change 192.168.0.36 to your target board IP.
# dd if=/tmp/{{#var:U-BOOT_IMAGE_NAME}} of=/dev/{{#var:EMMC_ROOTFS_DEV}} bs=1K seek={{#var:U-BOOT_OFFSET}}; sync
Flashing New Bootloader to SD card
To flash the newly created bootloader on the SD Card if you are running your entire os from SD card.
$ sudo dd if=imx-boot-sd.bin of=/dev/sdX bs=1K seek=33 conv=fsync
Flashing using recovery sdcard
If you want to use our recovery SD card to flash the built U-Boot to NAND flash/eMMC, then copy it to the appropriate location in the SD card:
$ sudo cp imx-boot-sd.bin /media/rootfs/opt/images/Debian/
And eject the SD card gracefully from host machine.
Note: If you manually upgrade an existing U-Boot, and you have an old environment saved, it is a good idea to reset your environment to the new default (see Environment handling commands)