Skip to main content
Visitor II
December 5, 2019
Solved

Failed to boot the kernel via TFTP from U-Boot on STM32MP157c DK2 board.

  • December 5, 2019
  • 1 reply
  • 2063 views

Hello, I am trying to boot kernel via TFTP from U-Boot on my DK2 board, after retrieving PXE configuration file successfully, the uImage failed to retrieved. However, I could successfully get uImage file by u-boot tftp command.

The steps I am following is https://wiki.st.com/stm32mpu/wiki/How_to_boot_the_kernel_via_TFTP_from_U-Boot#pxelinux.cfg_directory.

I have installed tftp servers on my Ubuntu, and the pxelinux.cfg directory, PXE configuration file, uImage, stm32mp157c​-dk2.dtb are all under tftp directory.​

/tftpboot
 
 |---- mmc0_stm32mp157c-dk2.extlinux
 
 | |--------- ​pxelinux.cfg
 
 | |------------ 01-00-80-e1-42-51-72
 
 | |--------- uImage
 
 | |--------- stm32mp157c-dk2.dtb

my PXE configuration file is:

menu title Select the boot mode
DEFAULT sdcard
LABEL sdcard
	KERNEL uImage
	FDT stm32mp157c-dk2.dtb
	APPEND root=/dev/mmcblk0p6 rootwait rw earlyprintk console=ttySTM0,115200

The TF-A, u-boot, uImage, dtb file are all released by ST.

​The following is the u-boot log:

STM32MP> env print ipaddr
ipaddr=192.168.1.102
STM32MP> env print ethaddr
ethaddr=00:80:e1:42:51:72
STM32MP> env print serverip
serverip=192.168.1.101
STM32MP> env print netmask
netmask=255.255.255.0
STM32MP> run bootcmd_pxe
BOOTP broadcast 1
DHCP client bound to address 192.168.1.102 (2 ms)
missing environment variable: pxeuuid
Retrieving file: /mmc0_stm32mp157c-dk2_extlinux/pxelinux.cfg/01-00-80-e1-42-51-72
Using ethernet@5800a000 device
TFTP from server 192.168.1.101; our IP address is 192.168.1.102
Filename '/mmc0_stm32mp157c-dk2_extlinux/pxelinux.cfg/01-00-80-e1-42-51-72'.
Load address: 0xc4200000
Loading: #
 87.9 KiB/s
done
Bytes transferred = 181 (b5 hex)
Config file found
Select the boot mode
1: sdcard
Enter choice: 1
1: sdcard
Retrieving file: /mmc0_stm32mp157c-dk2_extlinux/uImage
Using ethernet@5800a000 device
TFTP from server 192.168.1.101; our IP address is 192.168.1.102
'.lename '/mmc0_stm32mp157c-dk2_extlinux/uImage
Load address: 0xc2000000
Loading: *
TFTP error: 'File not found' (1)
Not retrying...
 for failure retrieving kernel
STM32MP> tftp mmc0_stm32mp157c-dk2_extlinux/uImage
Using ethernet@5800a000 device
TFTP from server 192.168.1.101; our IP address is 192.168.1.102
Filename 'mmc0_stm32mp157c-dk2_extlinux/uImage'.
Load address: 0xc2000000
Loading: #################################################################
 #################################################################
 #################################################################
 #################################################################
 #################################################################
 #################################################################
 ################################################################
 1.9 MiB/s
done
Bytes transferred = 6652480 (658240 hex)
STM32MP>

    This topic has been closed for replies.
    Best answer by Olivier GALLIEN

    Hi @BryanWang​ 

    Did you see this existing post :

    https://community.st.com/s/question/0D50X0000BJ0vxhSQB/failed-boot-via-tftp

    May it help to give solution or hints ?

    Olivier

    1 reply

    Technical Moderator
    December 5, 2019

    Hi @BryanWang​ 

    Did you see this existing post :

    https://community.st.com/s/question/0D50X0000BJ0vxhSQB/failed-boot-via-tftp

    May it help to give solution or hints ?

    Olivier

    BryanWangAuthor
    Visitor II
    December 6, 2019

    Hi Olivier,

    yes, this post works. Thanks.