Post Go back to editing

Linux won't boot on custom board - how to make changes to linux-adi yocto layer

Category: Software
Product Number: ADSP-SC589
Software Version: Yocto 3.1.1

We have a custom board that uses the SC589 chip.

We are building Yocto/Linux and have successfully managed to boot into UBOOT from flash but the boot sequence hangs on "Starting kernel ...". The logs are shown below.

We are having to make various modifications to both u-boot and linux source code using devtool, which include UART, flash chip, gpio settings and a couple other things.

The steps for making modifications to uboot are:

devtool modify u-boot-adi

// make changes

git commit -m "uboot changes" .

devtool finish u-boot-adi meta-adi-adsp-sc5xx

bitbake adsp-sc5xx-minimal

The steps for making modifications to linux are:

devtool modify linux-adi

// make changes

git commit -m "linux changes" .

devtool finish linux-adi meta-adi-adsp-sc5xx

bitbake adsp-sc5xx-minimal

In both cases, devtool creates git patches which get added to the build. I know for sure that the modifications to u-boot are making their way into the build, otherwise the board wouldn't boot into UBOOT, which it does. I have little confidence that the changes are making their way into linux.

One of the changes we have to make is to route all logging to UART1. This is clearly working on UBOOT. If the changes weren't making their way into linux, this would explain the hanging message "Starting kernel ...".

Another reason why I think the changes aren't working on the linux-adi layer is because of all the git branches.

On the u-boot-adi layer, the branches are:

devtool

devtool-no-overrides

devtool-override-adsp-sc598-som-ezkit

main

Our modifications are made to the "devtool" branch. Everytime we do "devtool modify u-boot-adi" the modifications from previous builds are persistent and the git patch files don't get removed.

On the linux-adi layer, there are MANY branches including:

devtool

devtool-override-adsp-sc589-mini

Every time we make modifications to the linux-adi layer, all the previous git patch files get removed. My theory is that when we make our changes to the devtool branch they get overridden by the devtool-override-adsp-sc589-mini branch.

Which might mean that every time we do a build, it's using the wrong branch and none of our changes get through.

Is that correct?

Welcome to minicom 2.7.1

OPTIONS: I18n 
Compiled on Dec 23 2019, 02:06:26.
Port /dev/ttyUSB0, 13:05:04

Press CTRL-A Z for help on special keys

��
U-Boot SPL 2023.04 (Feb 12 2024 - 09:53:05 +0000)
ADI Boot Mode: 0x1 (QSPI Master)
Trying to boot from BOOTROM


U-Boot 2023.04 (Feb 12 2024 - 09:53:05 +0000)

CPU:   ADSP ADSP-SC589-0.1 (spi flash boot)
Detected Revision: 1.1
Model: ADI sc589-mini
DRAM:  224 MiB
Core:  84 devices, 20 uclasses, devicetree: embed
MMC:   mmc0@31010000: 0
Loading Environment from SPIFlash... SF: Detected w25q01jv with page size 256 Bytes, erase size 4 KiB, total 128 MiB                                                 
OK                                                                                                                                                                   
In:    serial@0x31003400                                                                                                                                             
Out:   serial@0x31003400                                                                                                                                             
Err:   serial@0x31003400                                                                                                                                             
Net:   eth0: eth0                                                                                                                                                    
Hit any key to stop autoboot:  0                                                                                                                                     
SF: Detected w25q01jv with page size 256 Bytes, erase size 4 KiB, total 128 MiB                                                                                      
device 0 offset 0xe0000, size 0x6c519a                                                                                                                               
SF: 7098778 bytes @ 0xe0000 Read: OK                                                                                                                                 
## Loading kernel from FIT Image at c3000000 ...                                                                                                                     
   Using 'conf-1' configuration                                                                                                                                      
   Verifying Hash Integrity ... OK                                                                                                                                   
   Trying 'kernel-1' kernel subimage                                                                                                                                 
     Description:  Linux kernel                                                                                                                                      
     Type:         Kernel Image                                                                                                                                      
     Compression:  uncompressed                                                                                                                                      
     Data Start:   0xc30000dc                                                                                                                                        
     Data Size:    4786064 Bytes = 4.6 MiB                                                                                                                           
     Architecture: ARM                                                                                                                                               
     OS:           Linux                                                                                                                                             
     Load Address: 0x80008000                                                                                                                                        
     Entry Point:  0x80008000                                                                                                                                        
     Hash algo:    sha1                                                                                                                                              
     Hash value:   b7604667488c65d2c61d90664d0a0e18ac8aa23e                                                                                                          
     Sign algo:    sha1,rsa2048:                                                                                                                                     
     Sign value:   unavailable                                                                                                                                       
   Verifying Hash Integrity ... sha1+ sha1,rsa2048:- OK                                                                                                              
## Loading ramdisk from FIT Image at c3000000 ...                                                                                                                    
   Using 'conf-1' configuration                                                                                                                                      
   Verifying Hash Integrity ... OK                                                                                                                                   
   Trying 'ramdisk-3' ramdisk subimage                                                                                                                               
     Description:  Initial Ram File System                                                                                                                           
     Type:         RAMDisk Image                                                                                                                                     
     Compression:  uncompressed                                                                                                                                      
     Data Start:   0xc3495d34                                                                                                                                        
     Data Size:    2289283 Bytes = 2.2 MiB                                                                                                                           
     Architecture: ARM                                                                                                                                               
     OS:           Linux                                                                                                                                             
     Load Address: 0xc5000000                                                                                                                                        
     Entry Point:  0xc5000000                                                                                                                                        
     Hash algo:    sha1                                                                                                                                              
     Hash value:   105a336b429f24aef60ea7d251fc0b0875558a9e                                                                                                          
     Sign algo:    sha1,rsa2048:                                                                                                                                     
     Sign value:   unavailable                                                                                                                                       
   Verifying Hash Integrity ... sha1+ sha1,rsa2048:- OK                                                                                                              
   Loading ramdisk from 0xc3495d34 to 0xc5000000                                                                                                                     
## Loading fdt from FIT Image at c3000000 ...                                                                                                                        
   Using 'conf-1' configuration                                                                                                                                      
   Verifying Hash Integrity ... OK                                                                                                                                   
   Trying 'fdt-2' fdt subimage                                                                                                                                       
     Description:  Flattened Device Tree Blob                                                                                                                        
     Type:         Flat Device Tree                                                                                                                                  
     Compression:  uncompressed                                                                                                                                      
     Data Start:   0xc34909a0                                                                                                                                        
     Data Size:    21122 Bytes = 20.6 KiB                                                                                                                            
     Architecture: ARM                                                                                                                                               
     Load Address: 0x80000000                                                                                                                                        
     Hash algo:    sha1                                                                                                                                              
     Hash value:   bf0474216801d4bdc9a917f752a5c6b41c796252                                                                                                          
     Sign algo:    sha1,rsa2048:                                                                                                                                     
     Sign value:   unavailable                                                                                                                                       
   Verifying Hash Integrity ... sha1+ sha1,rsa2048:- OK                                                                                                              
   Loading fdt from 0xc34909a0 to 0x80000000                                                                                                                         
   Booting using the fdt blob at 0x80000000                                                                                                                          
Working FDT set to 80000000                                                                                                                                          
   Loading Kernel Image                                                                                                                                              
   Using Device Tree in place at 80000000, end 80008281                                                                                                              
Working FDT set to 80000000                                                                                                                                          
                                                                                                                                                                     
Starting kernel ...                                                                                                                                                  
                             

Parents Reply Children