Debian Edit Modify Build and Flash U-Boot: Difference between revisions

From Variscite Wiki
Line 32: Line 32:


== Flashing New Bootloader to target eMMC via network ==
== Flashing New Bootloader to target eMMC via network ==
Transfer the newly created bootloader file  {{#var:BUILD_FOLDER}}/output/{{#var:SPL_SD_IMAGE_NAME}} from
Transfer the newly created bootloader file   
{{#ifeq: {{#var:SOC_SERIES}}|imx8|
{{#var:U-BOOT_SD_IMAGE_NAME}}
|
SPL and u-boot.img
}}
 
From
  {{#var:BUILD_FOLDER}}/output/ to running target to flash it on the eMMC.  
  {{#var:BUILD_FOLDER}}/output/ to running target to flash it on the eMMC.  
For example  
For example
  scp {{#var:BUILD_FOLDER}}/output/{{#var:U-BOOT_IMAGE_NAME}} root@192.168.0.36:/tmp/
{{#ifeq: {{#var:SOC_SERIES}}|imx8|
  $scp {{#var:BUILD_FOLDER}}/output/{{#var:U-BOOT_SD_IMAGE_NAME}} root@192.168.0.36:/tmp/
|
$scp {{#var:BUILD_FOLDER}}/output/SPL root@192.168.0.36:/tmp/
$scp {{#var:BUILD_FOLDER}}/output/u-boot.img root@192.168.0.36:/tmp/
}}
 
Change 192.168.0.36 to your target board IP.  
Change 192.168.0.36 to your target board IP.  
 
{{#ifeq: {{#var:SOC_SERIES}}|imx8|
  dd if={{#var:U-BOOT_IMAGE_NAME}} of=/dev/{{#var:EMMC_ROOTFS_DEV}} bs=1K seek={{#var:U-BOOT_OFFSET}}; sync
  <br>
# dd if=/tmp/{{#var:U-BOOT_IMAGE_NAME}} of=/dev/{{#var:EMMC_ROOTFS_DEV}} bs=1K seek={{#var:U-BOOT_OFFSET}}; sync
|
# dd if=SPL of=/dev/{{#var:EMMC_ROOTFS_DEV}} bs=1K seek=1; sync
# dd if=u-boot.img of=/dev/{{#var:EMMC_ROOTFS_DEV}} bs=1K seek=69; sync
}}


== Flashing New Bootloader to SD card.  
== Flashing New Bootloader to SD card.  

Revision as of 06:42, 15 July 2020

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 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/ of=/dev/mmcblk2 bs=1K seek=33; sync

== Flashing New Bootloader to SD card. To flash the newly created bootloader on the SD Card

$ sudo dd if=imx-boot-sd.bin of=/dev/sdX bs=1K seek=33 conv=fsync

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 SPL /media/rootfs/opt/images/Debian/... 
$ sudo cp u-boot.img /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)