Linux kernel 6.x not vailable for Rocky on ARM (RPi4)?

No, the standard ISOs won’t boot due to the lack of RPI firmware, the images I posted you in that links and baked with RPI firmware, standard kernel and uboot, so it should boot fine on RPI but you won’t have RPI kernel " so some patches / features won’t be available ". This effort is aimed to have a generic image that can run on as many SoC as we can, some hardware is pretty great but they lack the enterprise linux images, and we are trying to bridge this gap. Give it a go, try installing it, then install kernel 6, I think this should work :slight_smile: let me know!

Sounds interesting, what is the difference between the rk3399 and sda images you linked, and which one should I use?

the rk3399 is for rock chips “rockpro64” boards, images are the same, the rk3399 has uboot images dd-ed into them, use the generic one, https://rockyrepos.gnulab.org/images/Rocky-9.1-aarch64-generic-Minimal-sda.raw.tar.gz and make sure to check the readme

I tried using the generic one now, downloaded, verified checksum, dd’d it onto my SD card, but it wont boot successfully. I can see that it passes uboot, the logo is shown in the upper right corner, and then it looks like Rocky starts booting up, but then after a bunch of startup output the screen just goes black and I never reach the login prompt.

Well the blank screen is expected and takes a bit of time, some people did complain that sometimes the HDMI won’t get back any signal depend on your screen, wait like 1 minute, then try to unplug and replug the HDMI or SSH into the box, just ran a fresh test on RPI4 model b and it works fine. Also installed the kernel-ml from elrepo but that won’t boot, I guess there might be some patches needed like the generic LTS kernel.

Is that to say that I just need to wait for the next LTS kernel release upstream, or do you mean that the generic image you linked from gnulab needs to be patched?

@Sherif

Could you elaborate on the “some patches needed” part? What is needed to get kernel-ml to run?

I spoke with Pablo, and it might be just some build configurations or drivers in initramfs, I am running a test now

I had a chat with @pgreco and we guess found what modules are missing, I will have to rebuild and test before I get back to you @toracat :slight_smile:

Thank you! Pablo is my go-to genius. :wink:

1 Like

Crossing my fingers for this one :slight_smile:

Okay, it worked :slight_smile: no patching needed just some configurations, @toracat , I started by adding the following:

CONFIG_ARCH_BCM=y
CONFIG_ARCH_BCM2835=y

and that did lead to adding all the following " basiclly whenever I get a build error, I just add what is needed and turn n → y

# SHERIFS
CONFIG_ARCH_BCM=y
CONFIG_ARCH_BCM2835=y
CONFIG_ARCH_BCM_IPROC=y
CONFIG_ARCH_BCMBCA=y
CONFIG_ARCH_BRCMSTB=y
CONFIG_PCIE_BRCMSTB=y
CONFIG_SERIAL_8250_BCM2835AUX=y
CONFIG_I2C_BCM2835=y
CONFIG_SPI_BCM2835=y
CONFIG_SPI_BCM2835AUX=y
CONFIG_SPI_BCM_QSPI=y
CONFIG_BCM2711_THERMAL=y
CONFIG_BCM2835_THERMAL=y
CONFIG_BCM2835_WDT=y
CONFIG_DRM_V3D=y
CONFIG_SND_BCM2835_SOC_I2S=y
CONFIG_MMC_SDHCI_IPROC=y
CONFIG_MMC_BCM2835=y
CONFIG_DMA_BCM2835=y
CONFIG_BCM2835_MBOX=y
CONFIG_PWM_BCM2835=y

CONFIG_ARM_BRCMSTB_AVS_CPUFREQ=y
CONFIG_PCIE_IPROC_PLATFORM=y
CONFIG_PCIE_IPROC_MSI=y
CONFIG_RASPBERRYPI_FIRMWARE=y
CONFIG_MTD_OF_PARTS_BCM4908=y
CONFIG_MTD_OF_PARTS_LINKSYS_NS=y
CONFIG_AHCI_BRCM=y
CONFIG_BCM4908_ENET=y
CONFIG_BGMAC_PLATFORM=y
CONFIG_BCM_CYGNUS_PHY=y
CONFIG_MDIO_BCM_IPROC=y
CONFIG_MDIO_BUS_MUX_BCM_IPROC=y
CONFIG_TOUCHSCREEN_IPROC=y
CONFIG_SERIAL_8250_BCM7271=y
CONFIG_SERIAL_BCM63XX=y
CONFIG_SERIAL_BCM63XX_CONSOLE=y
CONFIG_HW_RANDOM_BCM2835=y
CONFIG_HW_RANDOM_IPROC_RNG200=y
CONFIG_I2C_BCM_IPROC=y
CONFIG_I2C_BRCMSTB=y
CONFIG_SPI_BCM63XX_HSSPI=y
CONFIG_PTP_1588_CLOCK_DTE=y
CONFIG_PINCTRL_BCM4908=y
CONFIG_PINCTRL_IPROC_GPIO=y
CONFIG_PINCTRL_NS2_MUX=y
CONFIG_GPIO_BCM_XGS_IPROC=y
CONFIG_GPIO_BRCMSTB=y
CONFIG_BRCMSTB_THERMAL=y
CONFIG_BCM_NS_THERMAL=y
CONFIG_BCM_SR_THERMAL=y
CONFIG_BCM7038_WDT=y
CONFIG_USB_BRCMSTB=y
CONFIG_BRCM_USB_PINMAP=y
CONFIG_MMC_SDHCI_BRCMSTB=m
CONFIG_RTC_DRV_BRCMSTB=y
CONFIG_CLK_BCM2711_DVP=y
CONFIG_CLK_BCM2835=y
CONFIG_CLK_BCM_63XX=y
CONFIG_CLK_BCM_NS2=y
CONFIG_CLK_BCM_SR=y
CONFIG_BCM_PDC_MBOX=n
CONFIG_BCM_FLEXRM_MBOX=m
CONFIG_BCM2835_POWER=y
CONFIG_BCM_PMB=y
CONFIG_BRCMSTB_PM=y
CONFIG_BCM_IPROC_ADC=y
CONFIG_PWM_BCM_IPROC=y
CONFIG_PWM_BRCMSTB=y
CONFIG_BCM7038_L1_IRQ=y
CONFIG_BCM7120_L2_IRQ=y
CONFIG_BRCMSTB_L2_IRQ=y
CONFIG_RESET_BRCMSTB=y
CONFIG_RESET_BRCMSTB_RESCAL=y
CONFIG_PHY_BCM_SR_USB=y
CONFIG_PHY_BCM_NS_USB2=y
CONFIG_PHY_BCM_NS_USB3=y
CONFIG_CRYPTO_DEV_BCM_SPU=m

CONFIG_TOUCHSCREEN_RASPBERRYPI_FW=y
CONFIG_GPIO_RASPBERRYPI_EXP=y
CONFIG_SENSORS_RASPBERRYPI_HWMON=y
CONFIG_DRM_VC4=y
CONFIG_BCM_VIDEOCORE=y
CONFIG_BCM2835_VCHIQ=y
CONFIG_SND_BCM2835=y
CONFIG_VIDEO_BCM2835=y
CONFIG_CLK_RASPBERRYPI=y
CONFIG_RASPBERRYPI_POWER=y
CONFIG_PWM_RASPBERRYPI_POE=y
CONFIG_RESET_RASPBERRYPI=y
CONFIG_PHY_NS2_PCIE=y
CONFIG_PHY_NS2_USB_DRD=y
CONFIG_PHY_BRCM_SATA=y
CONFIG_PHY_BRCM_USB=y
CONFIG_PHY_BCM_SR_PCIE=y
CONFIG_NVMEM_BCM_OCOTP=y
CONFIG_ARM_RASPBERRYPI_CPUFREQ=y
CONFIG_DRM_VC4_HDMI_CEC=y
CONFIG_VCHIQ_CDEV=y
CONFIG_BCM2835_VCHIQ_MMAL=m

The results

[rocky@vcr ~]$ cat /sys/firmware/devicetree/base/model
Raspberry Pi 4 Model B
Linux vcr 6.1.0-1.el9.aarch64 #1 SMP PREEMPT_DYNAMIC Fri Dec 16 00:09:44 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux
[rocky@vcr ~]$ cat /etc/os-release 
NAME="Rocky Linux"
VERSION="9.1 (Blue Onyx)"
ID="rocky"
ID_LIKE="rhel centos fedora"
VERSION_ID="9.1"
PLATFORM_ID="platform:el9"
PRETTY_NAME="Rocky Linux 9.1 (Blue Onyx)"
ANSI_COLOR="0;32"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:rocky:rocky:9::baseos"
HOME_URL="https://rockylinux.org/"
BUG_REPORT_URL="https://bugs.rockylinux.org/"
ROCKY_SUPPORT_PRODUCT="Rocky-Linux-9"
ROCKY_SUPPORT_PRODUCT_VERSION="9.1"
REDHAT_SUPPORT_PRODUCT="Rocky Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="9.1"

@alt so what you need to do is the following:

  • dd my generic R9 image from Index of /images/ without the rk3399 “it won’t matter but better not use rk3399” into and SDCARD or USBkey
  • if the screen goes black and your SDcard LED off, change the HDMI port, or go headless and SSH into the machine
  • Download this repo file https://rockyrepos.gnulab.org/elrepo_gnulab_ml_r9_kernel.repo" you can disable elrepo repos for now "
  • SSH or keyboard/mouse to your running PI, and dnf install kernel-ml
  • reboot test and see how are things, also you wlll have a grub menu
1 Like

Excellent!

I’ll try to get these config changes into elrepo’s kernel.

1 Like

That would be awesome! thanks :slight_smile: and I am sure you will do way better job than me to check which can be turned into a module :slight_smile:

Of the config options, the following are type “tristate”, so can be made =m

CONFIG_PCIE_BRCMSTB
CONFIG_SERIAL_8250_BCM2835AUX
CONFIG_I2C_BCM2835
CONFIG_SPI_BCM2835
CONFIG_SPI_BCM2835AUX
CONFIG_SPI_BCM_QSPI
CONFIG_BCM2711_THERMAL
CONFIG_BCM2835_THERMAL
CONFIG_BCM2835_WDT
CONFIG_DRM_V3D
CONFIG_SND_BCM2835_SOC_I2S
CONFIG_MMC_SDHCI_IPROC
CONFIG_MMC_BCM2835
CONFIG_DMA_BCM2835

These will remain =y

CONFIG_ARCH_BCM=y
CONFIG_ARCH_BCM2835=y
CONFIG_ARCH_BCM_IPROC=y
CONFIG_ARCH_BCMBCA=y
CONFIG_ARCH_BRCMSTB=y

1 Like

b*cat has been watching the topic from afar but, with t*cat’s assistance, will try to build an updated version of kernel-ml for release by the ELRepo Project.

3 Likes

Yay! @burakkucat is here !!

Progress on this subject can be followed in:

https://elrepo.org/bugs/view.php?id=1299

1 Like

awesome, didn’t know that elrepo has so many cats :smiley: thanks again! would be nice to have this upstream for generic aarch64 images:)

1 Like

@burakkucat is THE cat doing all the kernel works for ELRepo. :smiley:

1 Like

@alt and anyone interested in elrepo’s kernel-ml that runs on R-Pi4:

There is a testing kernel-ml package set available for download from under the following directory –

https://elrepo.org/people/ajb/devel/kernel-ml/el9/

It has been given a “bcat2” tag for identification purposes (kernel-ml-6.1.0-1.bcat2.el9.elrepo).

When convenient, please test and report your observations.

1 Like