Linux not booting - can't get kernel image - Linux not booting - can't get kernel image Hi, I'm having trouble booting to Linux after migrating a project to the newest GSRD 2.0 (Quartus 25.3). I'm using an Agilex 5 FPGA E-Series 065B Premium Devkit. The project was based in the GSRD for Quartus 25.1 (QPDS25.1_REL_GSRD_PR) and had a few modifications, working in version 25.1 with the default device-tree. I'm guessing this might be something related to differences in the device-tree between GRSD 2.0 and the previous version ? I've tried looking around but there's so many .dts and .dtsi files that I'm a bit lost. Any advice appreciated. Replies: Re: Linux not booting - can't get kernel image pmarques​ Just a note for GHRD/GSRD1.0 to 2.0 migration. GSRD2.0 Board_id is always defaulted to zero for all the GHRD2.0 designs. In GSRD2.0, Board_id 1 is only used for the debug purpose(not required to set in design), and it is optional, so run time user can change (from uboot -> setenv board_id 1) to base/vanilla device tree instead of using design specific device tree. Thanks. Replies: Re: Linux not booting - can't get kernel image Thanks for letting us know that solved the problem, pmarques​ ! Replies: Re: Linux not booting - can't get kernel image Hi RolandoS_Altera​ , Thanks very much for your input. This was indeed the problem! I tested with JTAG user code = FFFF FFFF and the board finally boots successfully now. Best regards, PM. Replies: Re: Linux not booting - can't get kernel image Hi pmarques​ From this thread, I see the the JTAG_USER_CODE is being set a 4 as it was set with that value in the example design used for the SD_CARD daughter card. I think that in the new design, this should be either 0 or undefined: You can find this value from Quartus in the Assignments >> Device >> Device and Pin Options >> General. Also you may find this in your .qsf: set_global_assignment -name STRATIX_JTAG_USER_CODE 4 So, you can either change this value to 0 or remove it. There is some documentation about how this JTAG_USER_CODE was used in GSRD 1.0 https://www.rocketboards.org/foswiki/Documentation/SingleImageBoot , Seems that something about this is still used in GSDR 2.0, but the board IDs changed in GSRD 2.0. In this file you will see how the kernel.itb is created. This includes 2 sets of images: board-0 and board-1. The USER_CODE=0 will use the board-0 configuration and USER_CODE=1 will use the board-1 configuration (it's the same but doesn't include the core.rbf in the kernel.itb. I am guessing that when this is not defined it will use also the board-0 configuration. https://github.com/altera-fpga/meta-altera-fpga/blob/main/meta-altera-bsp/recipes-kernel/linux/linux-socfpga-lts/fit_agilex5_kernel.its Replies: Re: Linux not booting - can't get kernel image Hi tehjingy_Altera​ Kind of yes, the HW project is custom but was based on the reference design present in GSRD1.0. Does that mean that the only way to fix this is to rebuild my HW project with the GHRD from GSRD2.0 as a base ? Replies: Re: Linux not booting - can't get kernel image Hi pmarques Thanks for you patience! I managed to reproduce the issue here. It seems like the board_id was not updated to reflect the new kernel.itb configuration. Let me try out some changes on my end before I shared it to you. Replies: Re: Linux not booting - can't get kernel image Hi pmarques​ Just to confirm are you using the Pre built hardware design with GSRD2.0 generated uboot and linux kernel? If yes please do not mix the hardware design betweehn the GSRD1.0 and GSRD2.0 Then GSRD2.0 removed the setting of the board_id and the GSRD1.0 still set the use of the board_id. Please try using the binaries generated for the GSRD2.0, hardware bitstream and software should not be mix and match between the 2.0 and 1.0. Replies: Re: Linux not booting - can't get kernel image Hi tehjingy_Altera​ , Do you mean the Makefile ? It's in "/agilex5_gsrd_20.enablement_sd/agilex5_soc_devkit_ghrd/Makefile". Replies: Re: Linux not booting - can't get kernel image Hi pmarques Could you point me to the file that you made the changes to and I will try to generate it using the GSRD2.0 build flow. Regards tehjingy Replies: Re: Linux not booting - can't get kernel image Hi tehjingy_Altera​ , Yes, the board boots successfully with a compiled default GSRD2.0 build. Printenv shows board_id=0. Best regards, PM. Replies: Re: Linux not booting - can't get kernel image Hi pmarques The modification you make should just remove the simulation files and would not cause the board to not being boot up. For now we could ignore the bootargs value in the env. This value will be overwritten by the boot_scripts (boot.scr <- part of the generated files) When you are booting the board with the generated kernel.itb and printenv where board_id =0 , is it able to be booted? With this combination it is supposed to be able to boot. Regards tehjingy Replies: Re: Linux not booting - can't get kernel image Hi again tehjingy_Altera​ , I don't know if you had to opportunity to see my previous reply but in the meantime I've been doing some more testing. I just compiled a fresh default build as described in Rebuilding GSRD 2.0 Binaries . and compared the kernel.itb dump and the printenv output with my custom project. The kernel.itb dump is the same but the printenv output has some differences: board_id=4 instead of 0; Different bootargs; bootfstype, fileaddr and filesize parameters are missing entirely. Do you know what could be causing this ? I'm attaching the printenv log files. Best regards, PM. Replies: Re: Linux not booting - can't get kernel image Hi tehjingy, Apologies for the delay, I just tried the pre-built sdcard image and the board boots fine. I have previously also managed to build the default image by following the workflow detailed here: Rebuilding GSRD 2.0 Binaries and it booted fine in our devkit. Then the only modifications I have made were: Replaced the default Quartus project with our custom project; Made a small modification to the Makefile in order to skip the IP simulation (removed highlights below): Best regards, PM. Replies: Re: Linux not booting - can't get kernel image Hi pmarques Did you managed to try out the pre-built kernel.itb? Regards tehjingy Replies: Re: Linux not booting - can't get kernel image Hi pmarques It seems like the kernel.itb that you generated is incorrect. As you see the kernel.itb do not consist a configuration3 ( board 4) e.g Pre-built Kernel.itb That is the configuration for the uboot environment. Could you try booting the board with the pre-built sdcard image? Regards tehjingy Replies: Re: Linux not booting - can't get kernel image Hi Tehjingy, Apologies for the delay, please see the requested files in attachment. Best regards, PM. Replies: Re: Linux not booting - can't get kernel image Hi The binaries required to boot are the same between the GSRD and GSRD2.0. First, lets check your kernel.itb that is stored in your mmc0. In your host could you try out the command " dumpimage -l kernel.itb" and share the output? In the device uboot stage, could you try printenv to see the uboot environment of the board? Regards tehjingy - 2025-12-29

external_document