Boot From SD Card Hangs at the Starting Kernel.. .Message

Hii all,
We have developed a SOC Board which is similar to the De10 standard Development Board with some of the modifications on the FPGA according to our application. while booting it is getting hang at the starting kernel stage but with the same SDCard Image it’s working fine with the DE10 Standard Board.

Can you post the error you are seeing? I.e. everything after U-boot hands off to the kernel. This is assuming your board has UART enabled and you can capture these messages in PuTTy or a terminal emulator.

We couldn’t find any error, everything seems normal apart from its hanging at the starting kernel…

U-Boot SPL 2013.01.01 (Nov 23 2021 - 18:31:02) BOARD : Altera SOCFPGA Cyclone V Board CLOCK: EOSC1 clock 25000 KHz CLOCK: EOSC2 clock 25000 KHz CLOCK: F2S_SDR_REF clock 0 KHz CLOCK: F2S_PER_REF clock 0 KHz CLOCK: MPU clock 925 MHz CLOCK: DDR clock 400 MHz CLOCK: UART clock 100000 KHz CLOCK: MMC clock 50000 KHz CLOCK: QSPI clock 3613 KHz RESET: COLD INFO : Watchdog enabled SDRAM: Initializing MMR registers SDRAM: Calibrating PHY SEQ.C: Preparing to start memory calibration SEQ.C: CALIBRATION PASSED SDRAM: 1024 MiB ALTERA DWMMC: 0 reading u-boot.img reading u-boot.img

U-Boot 2013.01.01-00138-g239ae4d (Nov 19 2021 - 10:17:59)

CPU : Altera SOCFPGA Platform BOARD : Altera SOCFPGA Cyclone V Board I2C: ready DRAM: 1 GiB MMC: ALTERA DWMMC: 0 *** Warning - bad CRC, using default environment

In: serial Out: serial Err: serial Skipped ethaddr assignment due to invalid EMAC address in EEPROM Net: mii0 Warning: failed to set MAC address

Hit any key to stop autoboot: 0 reading u-boot.scr 589 bytes read in 5 ms (114.3 KiB/s)

Executing script at 02000000

– Programming FPGA – reading soc_system.rbf 2088552 bytes read in 102 ms (19.5 MiB/s)

Starting application at 0x3FF7957C …

Application terminated, rc = 0x0

– Setting Env Variables – reading zImage 4630624 bytes read in 223 ms (19.8 MiB/s) reading soc_system.dtb 24977 bytes read in 7 ms (3.4 MiB/s)

Flattened Device Tree blob at 00000100

Booting using the fdt blob at 0x00000100 Loading Device Tree to 03ff6000, end 03fff190 … OK

Starting kernel …

I think I’ve seen this before when UART was not enabled on linux, but was enabled for u-boot. Are you sure the kernel is hanging and not actually running without printing anything? You can try sshing into it if you have wifi or LAN enabled. It’s a bit of a stretch since you say the same sd card works fine on DE10 standard and not on your custom board, but maybe worth checking if you haven’t already?