표준 bootm 및 bootz를 사용하여 Linux FIT 이미지를 시작할 수 없습니다.

표준 bootm 및 bootz를 사용하여 Linux FIT 이미지를 시작할 수 없습니다.

제안된 bootm 또는 bootz 명령을 사용하여 FIT 이미지에서 Linux 커널을 부팅하려고 합니다.
이것은 .its 파일입니다.

/dts-v1/;

/ {
description = "Simple image with single Linux kernel and FDT blob";

#address-cells = <1>;
images {

 script@1 {
  description = "Bootscript";
  data = /incbin/("/home/dvdk/lynx/boot_original.scr");
  type = "script";
  rch = "arm";
  os= "linux";
  compression = "none";
  load = <0x81000000>;
  entry = <0x81000000>;
 };
 kernel@1 {
  description = "Linux zImge_signed kernel";
  data = /incbin/("/home/dvdk/lynx/cst-2.3.2/linux64/xuelk-1.2.1_zImage");
  type = "kernel";
  arch = "arm";
  os= "linux";
  compression = "none";
  load = <0x81800000>;
  entry = <0x81800000>;
  hash@1 {
     algo= "crc32";
  };
  hash@2 {
     algo= "sha1";
  };
};
kernel@2 {
  description = "Linux uImage kernel";
  data = /incbin/("/home/dvdk/lynx/linux/arch/arm/boot/uImage");
  type = "kernel";
  arch = "arm";
  os= "linux";
  compression = "none";
  load = <0x81800000>;
  entry = <0x81800000>;
  hash@1 {
     algo= "crc32";
  };
  hash@2 {
     algo= "sha1";
  };
 };
 fdt@1 {
  description = "Flattened Device Tree blob";
  data = /incbin/("/home/dvdk/lynx/linux/arch/arm/boot/dts/imx6ul-lynx-som000c.dtb");
  type = "flat_dt";
  arch = "arm";
  compression = "none";
  hash@1 {
     algo= "crc32";
  };
  hash@2 {
     algo= "sha1";
  };
   };
  };
  configurations {
  default = "conf@1";
  conf@1 {
     description = "Boot Linux kernel with FDT blob";
     kernel = "kernel@1";
     fdt= "fdt@1";
  };
   };
 };


그런 다음 0x80000000의 tftp를 사용 하고 iminfo를 사용하여 보드에 장착된 이미지를 로드합니다.

    ## Checking Image at 80000000 ...                                               
      FIT image found                                                              
       FIT description: Simple image with single Linux kernel and FDT blob          
        Image 0 (script@1)                                                          
 Description:  Bootscript                                                   
 Type:         Script                                                       
 Compression:  uncompressed                                                 
 Data Start:   0x800000e0                                                   
 Data Size:    489 Bytes = 489 Bytes                                        
Image 1 (kernel@1)                                                          
 Description:  Linux zImge_signed kernel                                    
 Type:         Kernel Image                                                 
 Compression:  uncompressed                                                 
 Data Start:   0x80000380                                                   
 Data Size:    6812760 Bytes = 6.5 MiB                                      
 Architecture: ARM                                                          
 OS:           Linux                                                        
 Load Address: 0x81800000                                                   
 Entry Point:  0x81800000                                                   
 Hash algo:    crc32                                                        
 Hash value:   e9192982                                                     
 Hash algo:    sha1                                                         
 Hash value:   3b363dcf6d15f4a598c7594f305cc71a47622614                     
Image 2 (kernel@2)                                                          
 Description:  Linux uImage kernel                                          
 Type:         Kernel Image                                                 
 Compression:  uncompressed                                                 
 Data Start:   0x8067f8fc                                                   
 Data Size:    6807040 Bytes = 6.5 MiB                                      
 Architecture: ARM                                                          
 OS:           Linux                                                        
 Load Address: 0x81800000                                                   
 Entry Point:  0x81800000                                                   
 Hash algo:    crc32                                                        
 Hash value:   f0d366b2                                                     
 Hash algo:    sha1                                                         
 Hash value:   afe5a545b572343213dcb229b9a0faf646bfc740                     
Image 3 (fdt@1)                                                             
 Description:  Flattened Device Tree blob                                   
 Type:         Flat Device Tree                                             
 Compression:  uncompressed                                                 
 Data Start:   0x80cfd824                                                   
 Data Size:    33011 Bytes = 32.2 KiB                                       
 Architecture: ARM                                                          
 Hash algo:    crc32                                                        
 Hash value:   891f89b2                                                     
 Hash algo:    sha1                                                         
 Hash value:   1c99856e227f1333e8adcff4552b4ea85e74efab                     
Default Configuration: 'conf@1'                                             
Configuration 0 (conf@1)                                                    
 Description:  Boot Linux kernel with FDT blob                              
 Kernel:       kernel@1                                                     
 FDT:          fdt@1                                                        
    ## Checking hash(es) for FIT Image at 80000000 ...                              
       Hash(es) for Image 0 (script@1):                                             
       Hash(es) for Image 1 (kernel@1): crc32+ sha1+                                
       Hash(es) for Image 2 (kernel@2): crc32+ sha1+                                
       Hash(es) for Image 3 (fdt@1): crc32+ sha1+     

다음 프로세스를 통해 커널을 올바르게 실행할 수 있었고
FIT에서 조각을 추출하여 메모리에 로드했습니다.

imxtract 0x80000000 kernel@2 0x81800000  
imxtract 0x80000000 fdt@1 0x83000000  

그런 다음 마지막으로 일부 구성 매개변수를 실행합니다.

bootm 81800000 - 83000000  

이건 완벽한 직업이야

이제 내가 시도하는 것은 FIT에서 커널 이미지를 추출하는 것이 아닙니다. fdt만 추출합니다

imxtract 0x80000000 fdt@1 0x83000000  

이전 구성을 실행
하고 실행해 보세요.

bootm 80000000:kernel@2 - 83000000  

이것은 내가 얻는 오류입니다

    => bootm 80000000:kernel@2 - 83000000                                           

    ## Loading kernel from FIT Image at 80000000 ...                                
    Trying 'kernel@2' kernel subimage                                            
     Description:  Linux uImage kernel                                          
    Type:         Kernel Image                                                 
    Compression:  uncompressed                                                 
    Data Start:   0x8067f8fc                                                   
    Data Size:    6807040 Bytes = 6.5 MiB                                      
    Architecture: ARM                                                          
    OS:           Linux                                                        
    Load Address: 0x81800000                                                   
    Entry Point:  0x81800000                                                   
    Hash algo:    crc32                                                        
    Hash value:   f0d366b2                                                     
    Hash algo:    sha1                                                         
    Hash value:   afe5a545b572343213dcb229b9a0faf646bfc740                     
     Verifying Hash Integrity ... crc32+ sha1+ OK                                 
     ## Flattened Device Tree blob at 83000000                                       
     Booting using the fdt blob at 0x83000000                                     
     Loading Kernel Image ... OK                                                  
     reserving fdt memory region: addr=83000000 size=9000                         
     Using Device Tree in place at 83000000, end 8300bfff                         
     Modify /soc/aips-bus@02000000/bee@02044000:status disabled                      
     ft_system_setup for mx6                                                         

       Starting kernel ...                                                             

     prefetch abort                                                                  
    pc : [<7fa93454>]          lr : [<81800008>]                                    
    reloc pc : [<6737e454>]    lr : [<690eb008>]                                    
    sp : 9ef12c90  ip : 0000000c     fp : 9ff18a2c                                  
    r10: 9ef3a3ec  r9 : 9ef12eb8     r8 : 00000000                                  
    r7 : 00000000  r6 : 81800000     r5 : 9ff9ef98  r4 : 00000000                   
    r3 : 00009000  r2 : 83000000     r1 : 00000000  r0 : 9ef12fb0                   
    Flags: nZCv  IRQs off  FIQs off  Mode SVC_32                                    
    Resetting CPU ...                                                               

    resetting ...      

이 오류가 발생하는 이유를 이해하도록 도와줄 수 있는 사람이 있나요? 감사해요

관련 정보