4.4.1 Change the Kernel Size in U-Boot

The size of the newly build kernel will be different from the kernel size set in the u-boot environment variable and without changing the kernel size, the booting process will look for kernel image in wrong location and will fail to fetch the kernel image.

Update the new kernel image size in the u-boot environment variable bootcmd. Refer the following steps:
  • Right click the Image Tree Blob (.itb) file and select properties to see the size, refer the following image for details:
    Figure 4-1. SAMA5D3 Xplained Properties
  • Convert the bytes to Hexadecimal number.

    For Example: Hexadecimal value: 423D10

  • Interrupt the booting process at u-boot and edit the bootcmd variable and change the kernel image size by using the following command:
    => edit bootcmd
    Update the size mentioned in the bootcmd variable with the previously converted size:
    edit: nand read 0x24000000 0x00180000 0x423D10; bootm 0x24000000#kernel_dt
  • Save the changes by using the following command:
    => saveenv
    The following is the reply displayed after executing => saveenv command:
    Saving Environment to NAND
    Erasing NAND
    Erasing at 0x140000 -- 100% complete.
    Writing to NAND OK
    OK
  • Boot the board by using the following command:
    => boot