Re: KHADAS EDGE V booting hangs if I install UEFI instead of u-boot

Mark Millard <[email protected]>
Newsgroups gmane.os.freebsd.devel.arm
Message-ID <[email protected]>
On Aug 7, 2025, at 03:44, Mario Marietto <[email protected]> wrote:

This prior one also has the GPT messed up and
a U-Boot that is found, loaded, and used.

> Remembering that this is the disk structure that I've got after having installed UEFI on the KHADAS Edge-V (that has a RockChip RK3399) :
> 
> Disk /dev/sdi: 119.08 GiB, 127865454592 bytes, 249737216 sectors
> Disk model: STORAGE DEVICE
> Units: sectors of 1 * 512 = 512 bytes
> Sector size (logical/physical): 512 bytes / 512 bytes
> I/O size (minimum/optimal): 512 bytes / 512 bytes
> Disklabel type: gpt
> Disk identifier: 6265BE94-368D-4AF4-B4B7-A866CF8B2CD9
> 
> Dispositivo Start Fine Settori Size Tipo
> /dev/sdi1 64 8063 8000 3.9M Linux filesystem
> /dev/sdi2 8064 8191 128 64K Linux filesystem
> /dev/sdi3 8192 16383 8192 4M Linux filesystem
> /dev/sdi4 16384 24575 8192 4M Linux filesystem
> /dev/sdi5 24576 32767 8192 4M Linux filesystem
> /dev/sdi6 32768 262143 229376 112M EFI System
> 
> I want also remember how I have obtained the partitions from sdi1 to sdi6 :
> 
> dd if=idbloader.img of=/dev/sdi1
> dd if=RK3399_SDK_UEFI.img of=/dev/sdi4
> dd if=trust.img of=/dev/sdi5
> dd if=/dev/sdk1 of=/dev/sdi6
> 
> 
> Regarding "sdi6",presuming that I shouldn't do : dd if=/dev/sdk1 of=/dev/sdi6
> 
> because it contained the u-boot that was installed on sdk1,I have removed it and I've created a new partition,of the same size and type and label (efi esp / fat16) copying the files that are stored on the same kind of partition but on the sd card where I have installed FreeBSD for the RockPro64. 
> I repeat,without using dd,but only cp -r *. 
> 
> I have started the serial connection and these are the log messages that I've got : 
> 
> Welcome to minicom 2.9 
> 
> OPTIONS: I18n  
> Port /dev/ttyUSB0, 11:28:12 
> 
> Press CTRL-A Z for help on special keys 
>                                                                   
> Boot1: 2018-08-06, version: 1.15                                   
> CPUId = 0x0                                                        
> ChipType = 0x10, 219                                               
> SdmmcInit=2 0                                                      
> BootCapSize=100000 
> UserCapSize=29820MB 
> FwPartOffset=2000 , 100000 
> mmc0:cmd5,20 
> SdmmcInit=0 0 
> BootCapSize=0 
> UserCapSize=121942MB 
> FwPartOffset=2000 , 0                                                                                
> run on sd0                                                                                           
> StorageInit ok = 96638                                                                               
> SecureMode = 0                                                                                       
> SecureInit read PBA: 0x4                                                                             
> SecureInit read PBA: 0x404                                                                           
> SecureInit read PBA: 0x804                                                                           
> SecureInit read PBA: 0xc04                                                                           
> SecureInit read PBA: 0x1004                                                                          
> SecureInit read PBA: 0x1404                                                                          
> SecureInit read PBA: 0x1804                                                                          
> SecureInit read PBA: 0x1c04                                                                          
> SecureInit ret = 0, SecureMode = 0                                                                   
> GPT 0x3190d20 signature is wrong

Per the above, your GPT is still messed up.

>                                                                      
> LoadTrust Addr:0x4000                                                                                
> No find bl30.bin                                                                                     
> No find bl32.bin                                                                                     
> Load uboot, ReadLba = 2000                                                                           
> Load OK, addr=0x200000, size=0xf0000

Per the above 2 lines, you still have a U-Boot
in place and it is found, loaded, and used.

>                                                                 
> RunBL31 0x10000                                                                                      
> NOTICE:  BL31: v1.3(debug):51f2096                                                                   
> NOTICE:  BL31: Built : 16:24:31, May  6 2019                                                         
> NOTICE:  BL31: Rockchip release version: v1.1                                                        
> INFO:    GICv3 with legacy support detected. ARM GICV3 driver initialized in EL3                     
> INFO:    Using opteed sec cpu_context!                                                               
> INFO:    boot cpu mask: 0                                                                            
> INFO:    plat_rockchip_pmu_init(1181): pd status 3e                                                  
> INFO:    BL31: Initializing runtime services                                                         
> WARNING: No OPTEE provided by BL2 boot loader, Booting device without OPTEE initialization. SMC`s dK 
> ERROR:   Error initializing runtime service opteed_fast                                              
> INFO:    BL31: Preparing for EL3 exit to normal world                                                
> INFO:    Entry point address = 0x200000                                                              
> INFO:    SPSR = 0x3c9                                                                                
> PLL at FF750000: fbdiv=112, refdiv=2, postdiv1=2, postdiv2=1, vco=1344000 khz, output=672000 khz     
> Boot PLLs:                                                                                           
> APLLL = 400000000                                                                                    
> APLLB = 24000000                                                                                     
> CPLL = 24000000                                                                                      
> DPLL = 800000000                                                                                     
> GPLL = 400000000                                                                                     
> NPLL = 24000000                                                                                      
> VPLL = 24000000                                                                                      
> PLL at FF760000: fbdiv=68, refdiv=1, postdiv1=2, postdiv2=1, vco=1632000 khz, output=816000 khz      
> PLL at FF760020: fbdiv=68, refdiv=1, postdiv1=2, postdiv2=1, vco=1632000 khz, output=816000 khz      
> PLL at FF760080: fbdiv=100, refdiv=1, postdiv1=3, postdiv2=1, vco=2400000 khz, output=800000 khz     
> PLL at FF7600A0: fbdiv=125, refdiv=1, postdiv1=3, postdiv2=1, vco=3000000 khz, output=1000000 khz    
> PLL at FF760060: fbdiv=100, refdiv=1, postdiv1=3, postdiv2=1, vco=2400000 khz, output=800000 khz     
> After clock init:                                                                                    
> APLLL = 816000000                                                                                    
> APLLB = 816000000                                                                                    
> CPLL = 800000000                                                                                     
> DPLL = 800000000                                                                                     
> GPLL = 800000000                                                                                     
> NPLL = 1000000000                                                                                    
> VPLL = 24000000                                                                                      
> PLL at FF760000: fbdiv=54, refdiv=1, postdiv1=1, postdiv2=1, vco=1296000 khz, output=1296000 khz     
> PLL at FF760020: fbdiv=70, refdiv=1, postdiv1=1, postdiv2=1, vco=1680000 khz, output=1680000 khz     
> �������� : HANG HERE FOREVER.
> 
> What do you suggest I do ?
> 
> On Wed, Aug 6, 2025 at 8:05 AM Mark Millard <[email protected]> wrote:
> On Aug 5, 2025, at 22:54, Mark Millard <[email protected]> wrote:
> > 
> > On Aug 5, 2025, at 21:46, Mario Marietto <[email protected]> wrote:
> > 
> >> . . .
> >> 
> >> https://github.com/andreiw/rk3399-edk2
> >> 
> >> does not talk about how to fill this partition at all.
> >> 
> >> . . .
> > 
> > Nor should the material about building RK3399_SDK_UEFI.img
> > also talk about the "efi esp" content, which is a separate
> > thing.
> > 
> > In:
> > 
> > Number  Start (sector)    End (sector)  Size       Code  Name
> >   1              64            8063   3.9 MiB     FFFF  loader1   <-- Rk3399Pkg/Tools/Bin/idbloader.bin
> >   2            8064            8191   64.0 KiB    FFFF  reserved1
> >   3            8192           16383   4.0 MiB     FFFF  reserved2
> >   4           16384           24575   4.0 MiB     FFFF  loader2   <-- RK3399_SDK_UEFI.img
> >   5           24576           32767   4.0 MiB     FFFF  atf       <-- Rk3399Pkg/Tools/Bin/trust.img
> >   6           32768          262143   112.0 MiB   EF00  efi esp
> > 
> > "efi esp" is a particular type of msdosfs file system
> > that is to contain FreeBSD's EFI Boot Loader (FreeBSD
> > aarch64 context used below, not what you were using):
> > 
> > EFI/BOOT/bootaa64.efi
> > 
> > That file is a copy of FreeBSD's aarch64 /boot/loader.efi :
> > 
> > # diff /boot/loader.efi  /boot/efi/EFI/BOOT/bootaa64.efi
> > #
> > 
> > So: no differences. In the context for the above,
> > /boot/efi is the mount point where the file system in
> > the "efi esp" was mounted to be visible in the FreeBSD
> > file system.
> > 
> > Note: the EFI/BOOT/ capitalization convention is my
> > personal one, not necessarily what FreeBSD normally
> > uses.
> > 
> > RK3399_SDK_UEFI looks for any finds that
> 
> Should be "and", not "any", above. Sorry.
> 
> > EFI/BOOT/bootaa64.efi and then loads and
> > EFI/BOOT/bootaa64.efi and then loads and
> > uses it.
> 

===
Mark Millard
marklmi at yahoo.com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.