Stratix 10 Booting Linux on HPS - Bootlooping with stock kernel image.
Hi all,
I was hoping someone might know some information regarding booting the intel stratix 10 devkit. The version I have is the H-Tile board 1SX280HU2F50E1VGAS.
Using the boot procedure from rocket boards page "Building the Bootloader" for the Stratix 10 board. "Stratix 10 SoC - Boot from SD Card" section. https://rocketboards.org/foswiki/Documentation/BuildingBootloader
I am able to get the device to boot when using the linux kernel built from source, following build instructions form the appendix "Building Linux Binaries - Building Linux Kernel". Specifically I was able to follow the build procedure for the "socfpga-5.10.100-lts" branch of the git repo: https://github.com/altera-opensource/linux-socfpga
I used the built "Image" file and socfpga_stratix10_socdk.dtb from this build and used it in the process for building u-boot to generate a kernel.itb file and and format files for the SD Card correctly. Once booting, it goes to a linux shell no issues.
However, I would like to not build the Linux kernel from source and instead use a precompiled one from Redhat's repositories. I used the Kernel located at /images/pxeboot/vmlinuz of a redhat install iso and extracted the uncompressed image using 7zip, and followed the exact same boot procedure as above. However, replacing the Image with this new kernel image as well as the device tree for the 4.18 kernel. (Built by building the kernel version 4.18 from the github repo https://github.com/altera-opensource/linux-socfpga using the socfpga_stratix10_socdk.dtb file from the folder "arch/arm64/dts/altera" directory.)
Does not boot. The serial output from the board is attached, it bootloops at the line "[ 0.016626] printk: bootconsole [uart0] disabled".
It loads the kernel and device tree okay. The only aparrant error in the boot logs between any prebuilt kernel and the ones built from source is
"[ 0.000000] ACPI: Early table checksum verification disabled
[ 0.000000] ACPI: Failed to init ACPI tables"
I have also tested this using the 4.18 kernel from a VM running redhat and extracted the vmlinuz from the /boot folder. Exact same problem. Also tested Almalinux 8.5 iso and used that kernel, same issue. Also tested with Centos8 image and also got the same issue.
I wanted to make sure it wasn't a versioning issue so I tested a prebuilt 5.14 kernel from a Centos 9 stream kernel build and that image did not work too.
For the sake of clarity, I wanted to make sure that a 4x kernel does at least boot into the shell. So I built the kernel from the v4.18 kernel tag from the altera-opensource linux-socfpga repository. Which is an exact fork of the real linux repository. Once built using the same build procedure for 5.10, copying Image and socfpga_stratix10_socdk.dtb to the u-boot directory for building. It boots to the shell exactly like the 5.10 kernel.
This is what im so confused by and stuck on why a "built from source" kernel of the same version works, but not a prebuilt kernel image of the same version? Is it the way im extracting the kernel from the built sources? Has anyone had any success booting a stratix 10 device using prebuilt kernel? Is it the device tree file im using?
I don't know how to proceed from here. It must be possible for a prebuilt kernel image to work as the stock 4.18 kernel built from source with no alterations boots just fine.
Any advice on where to go would be immensely appreciated.
Best
Nate