| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -453,7 +453,16 @@ class XqFlash():
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if image is None:
 | 
					 | 
					 | 
					 | 
					        if image is None:
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            data = self.kernel.data
 | 
					 | 
					 | 
					 | 
					            data = self.kernel.data
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            offset = 0
 | 
					 | 
					 | 
					 | 
					            offset = 0
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if data[offset:offset+4] != FDT_MAGIC:
 | 
					 | 
					 | 
					 | 
					        dtb_offset = 0
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        magic = data[offset:offset+4]
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        if magic == b'\x17\x00\x00\x00':
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            dtb_offset, fir_size = find_dtb(data, offset, maxsize = 90*1024*1024)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            if not dtb_offset:
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                die('FIT: Incorrect image header (0)')
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            data = data[dtb_offset:]
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            offset = 0
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        magic = data[offset:offset+4]
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        if magic != FDT_MAGIC:
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            die('FIT: Incorrect image (0)')
 | 
					 | 
					 | 
					 | 
					            die('FIT: Incorrect image (0)')
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        fit_size = get_dtb_totalsize(data, offset)
 | 
					 | 
					 | 
					 | 
					        fit_size = get_dtb_totalsize(data, offset)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if fit_size <= 0:
 | 
					 | 
					 | 
					 | 
					        if fit_size <= 0:
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -497,7 +506,11 @@ class XqFlash():
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        krn_size = len(krn1.get_property("data"))
 | 
					 | 
					 | 
					 | 
					        krn_size = len(krn1.get_property("data"))
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        print(f'KRN: data = {krn_size} bytes')
 | 
					 | 
					 | 
					 | 
					        print(f'KRN: data = {krn_size} bytes')
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        krn_dt_data = fdt1.get_property('data').data
 | 
					 | 
					 | 
					 | 
					        krn_dt_data = fdt1.get_property('data')
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        if hasattr(krn_dt_data, 'raw_value'):
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            krn_dt_data = krn_dt_data.raw_value
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        else:
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            krn_dt_data = krn_dt_data.data
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        dt = fdt.parse_dtb(krn_dt_data)
 | 
					 | 
					 | 
					 | 
					        dt = fdt.parse_dtb(krn_dt_data)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        self.krn_dt = dt
 | 
					 | 
					 | 
					 | 
					        self.krn_dt = dt
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        dt_tree = dt.info(props = True)
 | 
					 | 
					 | 
					 | 
					        dt_tree = dt.info(props = True)
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
 
 |