Slackware - ARMThis forum is for the discussion of Slackware ARM.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
[ 8.596447] sdhci: Secure Digital Host Controller Interface driver
[ 8.596452] sdhci: Copyright(c) Pierre Ossman
[ 8.596456] Synopsys Designware Multimedia Card Interface Driver
[ 8.598168] dwmmc_rockchip fe2c0000.mmc: IDMAC supports 32-bit address mode.
[ 8.598207] dwmmc_rockchip fe2c0000.mmc: Using internal DMA controller.
[ 8.598217] dwmmc_rockchip fe2c0000.mmc: Version ID is 270a
[ 8.598261] dwmmc_rockchip fe2c0000.mmc: DW MMC controller at irq 77,32 bit host data width,256 deep fifo
[ 8.598344] dwmmc_rockchip fe2c0000.mmc: Looking up vmmc-supply from device tree
[ 8.598395] dwmmc_rockchip fe2d0000.mmc: IDMAC supports 32-bit address mode.
[ 8.598431] dwmmc_rockchip fe2d0000.mmc: Using internal DMA controller.
[ 8.598441] dwmmc_rockchip fe2d0000.mmc: Version ID is 270a
[ 8.598481] dwmmc_rockchip fe2d0000.mmc: DW MMC controller at irq 78,32 bit host data width,256 deep fifo
[ 8.598484] sdhci-pltfm: SDHCI platform and OF driver helper
[ 8.598556] dwmmc_rockchip fe2d0000.mmc: Looking up vmmc-supply from device tree
[ 8.598575] dwmmc_rockchip fe2d0000.mmc: Looking up vmmc-supply property in node /mmc@fe2d0000 failed
[ 8.598605] dwmmc_rockchip fe2d0000.mmc: Looking up vqmmc-supply from device tree
[ 8.598624] dwmmc_rockchip fe2d0000.mmc: Looking up vqmmc-supply property in node /mmc@fe2d0000 failed
[ 8.598922] dwmmc_rockchip fe2d0000.mmc: allocated mmc-pwrseq
[ 8.598932] mmc_host mmc2: card is non-removable.
[ 8.599828] dwmmc_rockchip fe2c0000.mmc: Looking up vqmmc-supply from device tree
[ 8.600553] sdhci-dwcmshc fe2e0000.mmc: Looking up vmmc-supply from device tree
[ 8.600571] sdhci-dwcmshc fe2e0000.mmc: Looking up vmmc-supply property in node /mmc@fe2e0000 failed
[ 8.600599] sdhci-dwcmshc fe2e0000.mmc: Looking up vqmmc-supply from device tree
[ 8.600612] sdhci-dwcmshc fe2e0000.mmc: Looking up vqmmc-supply property in node /mmc@fe2e0000 failed
snip
Code:
[ 8.604530] hid: raw HID events driver (C) Jiri Kosina
[ 8.604875] usbcore: registered new interface driver usbhid
[ 8.604881] usbhid: USB HID core driver
[ 8.608552] rockchip-saradc fec10000.saradc: Looking up vref-supply from device tree
[ 8.610095] optee: probing for conduit method.
[ 8.610103] optee: api uid mismatch
[ 8.610112] optee: probe of firmware:optee failed with error -22
[ 8.610246] mmc_host mmc2: Bus speed (slot 0) = 400000Hz (slot req 400000Hz, actual 400000HZ div = 0)
[ 8.610307] usb 1-1: new high-speed USB device number 2 using ehci-platform
[ 8.611170] usbcore: registered new interface driver snd-usb-audio
[ 8.613557] mmc_host mmc1: Bus speed (slot 0) = 400000Hz (slot req 400000Hz, actual 400000HZ div = 0)
[ 8.615285] rockchip-pm-domain fd8d8000.power-management:power-controller: Looking up audio-supply from device tree
[ 8.615310] rockchip-pm-domain fd8d8000.power-management:power-controller: Looking up audio-supply property in node /power-management@fd8d8000/power-controller failed
[ 8.619376] input: rockchip-hdmi0 rockchip-hdmi0 as /devices/platform/hdmi0-sound/sound/card0/input1
[ 8.621658] input: rockchip-hdmi1 rockchip-hdmi1 as /devices/platform/hdmi1-sound/sound/card1/input2
[ 8.622753] debugfs: File 'Capture' in directory 'dapm' already present!
[ 8.625630] input: rockchip,dp0 rockchip,dp0 as /devices/platform/dp0-sound/sound/card2/input3
I suspect a patch is lacking or something. Unfortunately the community is busy polishing the 5.10.x branch, so maybe a fate similar to early raspberry pi years looms upon us (an out of tree patched kernel on vanilla Slackware)?
I somehow suspect basic subsystem not being selectrd properly. But it eludes me where and how.
The why is because the inittd does not show usb or nvme storage either....
If you have used the config from aarch64-current to build your kernel then the necessary drivers are modules. You have 2 options.
1 Add the modules to the initrd.
2 or Compile a new kernel with the necessary drivers as built in to the kernel.
Both options have pros and cons. As the whole point is to make it work with standard slackware kernels I would suggest option 1.
I don't normally go this route so there are bits I can't remember too well. The modules that are needed are dw_mmc-rockchip dw_mmc-pltfm mmc_block dw_mmc. There may be others like ext4 if that is your filesystem and it to is not built into the kernel.
If you have used the config from aarch64-current to build your kernel then the necessary drivers are modules. You have 2 options.
1 Add the modules to the initrd.
2 or Compile a new kernel with the necessary drivers as built in to the kernel.
Both options have pros and cons. As the whole point is to make it work with standard slackware kernels I would suggest option 1.
I don't normally go this route so there are bits I can't remember too well. The modules that are needed are dw_mmc-rockchip dw_mmc-pltfm mmc_block dw_mmc. There may be others like ext4 if that is your filesystem and it to is not built into the kernel.
mkinitrd is incompatible with ARM. You use os-initrd-mgr on ARM. It's fully documented (read the man page and the scripts are documented inline) and is far easier to develop with.
I've also created a tool to build Slackware Kernel packages from alternate Kernel repos. I've used it to build RPi Kernel packages so far but you should be able to use it to build from your vendor source, and I've shown the pre-boot shell stages where you could manually load the modules you want.
What you'd do is create the module loader scripts, and use os-initrd-mgr -M to add it manually to your OS InitRD. os-initrd-mgr will repack the initrd and ready it for a reboot.
It's fairly self explanatory but I'll write a doc for it in a few weeks.
mkinitrd is incompatible with ARM. You use os-initrd-mgr on ARM. It's fully documented (read the man page and the scripts are documented inline) and is far easier to develop with.
I've also created a tool to build Slackware Kernel packages from alternate Kernel repos. I've used it to build RPi Kernel packages so far but you should be able to use it to build from your vendor source, and I've shown the pre-boot shell stages where you could manually load the modules you want.
What you'd do is create the module loader scripts, and use os-initrd-mgr -M to add it manually to your OS InitRD. os-initrd-mgr will repack the initrd and ready it for a reboot.
It's fairly self explanatory but I'll write a doc for it in a few weeks.
It looks like you're getting there.
Code:
Pre-boot Shell (3/3): # ls /proc/device-tree/mmc@fe2e0000/
assigned-clock-rates mmc-hs400-enhanced-strobe
assigned-clocks name
bus-width no-sd
clock-names no-sdio
clocks non-removable
compatible reg
interrupts reset-names
max-frequency resets
mmc-hs400-1_8v status
The mmc device in the /proc listing is your emmc device. SD card should show up too if you have one plugged in. You have mmc_block compiled into the kernel or loaded as a module don't you? What does lsmod show you? Also lsblk is useful too. To get nvme working the pci bus must work.
Boot a working OS and run this script with the appropriate device name. In the case below (my Pinebook Pro) it needs all of these modules loaded in the OS InitRD.
If you're using the Slackware ARM kernel.SlackBuild, it'll most likely bundle the required modules into the OS InitRD as it has a broad inclusion scope (for this exact reason), so it's *probably* just a case of loading the modules.
If not you'll have to figure out the location of the module and add it manually. Or perhaps it's not even compiled as a module in your Kernel.
If you need to add a new directory into kernel.SlackBuild let me know and I'll see how it can be done best.
The mmc device in the /proc listing is your emmc device. SD card should show up too if you have one plugged in. You have mmc_block compiled into the kernel or loaded as a module don't you? What does lsmod show you? Also lsblk is useful too. To get nvme working the pci bus must work.
Boot a working OS and run this script with the appropriate device name. In the case below (my Pinebook Pro) it needs all of these modules loaded in the OS InitRD.
If you're using the Slackware ARM kernel.SlackBuild, it'll most likely bundle the required modules into the OS InitRD as it has a broad inclusion scope (for this exact reason), so it's *probably* just a case of loading the modules.
If not you'll have to figure out the location of the module and add it manually. Or perhaps it's not even compiled as a module in your Kernel.
If you need to add a new directory into kernel.SlackBuild let me know and I'll see how it can be done best.
I have my doubts that any kernel prior the 6.3.3 would support the rk3588 as the earlier ones don't seem to have all the devices nor the DTB entry.
There further seems to be a discrepancy between what a vanilla kernel build yields, what a slackware supplied source build yields and what the mara's packages provide. Thing is to get thru the boot process I happen to be in a need of an uInitrd instead of the slackbuild's supplied initrd. Why I have no idea...
P.S.
This very post (and several others) was written on the very Rock5 with the 5.10.110 kernel and uboot.
Copy info from "Call trace..." to a file(eg. dump.txt), and run
command in your U-Boot project: ./scripts/stacktrace.sh dump.txt
Resetting CPU ...
### ERROR ### Please RESET the board ###
A test run of a 6.1.30 original kernel.
That's U-Boot crashing, not the Kernel - that's about as much insight as I can offer there ;-)
On a different but related thread, within the OS InitRD (and Installer) I'm going to bundle that script to find module drivers and the other one to load all Kernel modules, as they'll be useful going forwards.
On a different but related thread, within the OS InitRD (and Installer) I'm going to bundle that script to find module drivers and the other one to load all Kernel modules, as they'll be useful going forwards.
see even with all this "Direct Integration: Rock5" nonsense , something goods comes out!
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.