Rock Pi 4 Slarm64 (aarch64 unofficial slackware)

kernel 5.13.7
slarm64-current-aarch64-server-rock_pi_4-5.13.7-build-20210802.img.zst
slarm64-current-aarch64-server-rock_pi_4-5.13.7-build-20210802.img.zst.sha256
slarm64-current-aarch64-xfce-rock_pi_4-5.13.7-build-20210802.img.zst
slarm64-current-aarch64-xfce-rock_pi_4-5.13.7-build-20210802.img.zst.sha256

2 Likes

kernel 5.14.2
slarm64-current-aarch64-enlightenment-rock_pi_4-5.14.2-build-20210910.img.zst
slarm64-current-aarch64-enlightenment-rock_pi_4-5.14.2-build-20210910.img.zst.sha256
slarm64-current-aarch64-server-rock_pi_4-5.14.2-build-20210910.img.zst
slarm64-current-aarch64-server-rock_pi_4-5.14.2-build-20210910.img.zst.sha256
slarm64-current-aarch64-xfce-rock_pi_4-5.14.2-build-20210910.img.zst
slarm64-current-aarch64-xfce-rock_pi_4-5.14.2-build-20210910.img.zst.sha256

kernel 5.14.6

slarm64-current-aarch64-server-rock_pi_4-5.14.6-build-20210919.img.zst
slarm64-current-aarch64-server-rock_pi_4-5.14.6-build-20210919.img.zst.sha256
slarm64-current-aarch64-xfce-rock_pi_4-5.14.6-build-20210919.img.zst
slarm64-current-aarch64-xfce-rock_pi_4-5.14.6-build-20210919.img.zst.sha256
slarm64-current-aarch64-enlightenment-rock_pi_4-5.14.6-build-20210919.img.zst
slarm64-current-aarch64-enlightenment-rock_pi_4-5.14.6-build-20210919.img.zst.sha256

update kernel 5.15.7
slarm64-current-aarch64-server-rock_pi_4-5.15.7-build-20211210.img.zst
slarm64-current-aarch64-server-rock_pi_4-5.15.7-build-20211210.img.zst.sha256
slarm64-current-aarch64-xfce-rock_pi_4-5.15.7-build-20211210.img.zst
slarm64-current-aarch64-xfce-rock_pi_4-5.15.7-build-20211210.img.zst.sha256

1 Like

update kernel 5.16.1
slarm64-current-aarch64-server-rock_pi_4-5.16.1-build-20220116.img.zst
slarm64-current-aarch64-server-rock_pi_4-5.16.1-build-20220116.img.zst.sha256
slarm64-current-aarch64-xfce-rock_pi_4-5.16.1-build-20220116.img.zst
slarm64-current-aarch64-xfce-rock_pi_4-5.16.1-build-20220116.img.zst.sha256

Hi Mara,

The http://dl.slarm64.org/slackware/images/rock_pi_4/slarm64-current-aarch64-xfce-rock_pi_4-5.15.7-build-20211210.img.zst image did not boot for me. Got following output in serial console:

U-Boot SPL board init

U-Boot SPL 2017.09-rk3399+ (Dec 21 2019 - 18:35:26)
Trying to boot from MMC2
NOTICE:  BL31: v1.3(debug):734d84297
NOTICE:  BL31: Built : 15:30:40, Dec 12 2019
NOTICE:  BL31: Rockchip release version: v1.1
INFO:    GICv3 with legacy support detected. ARM GICV3 driver initialized in EL3
INFO:    Using opteed sec cpu_context!
INFO:    boot cpu mask: 0
INFO:    plat_rockchip_pmu_init(1190): pd status 3e
INFO:    BL31: Initializing runtime services
WARNING: No OPTEE provided by BL2 boot loader, Booting device without OPTEE initialization. SMC`s destined for OPTEE will return SMC_UNK
ERROR:   Error initializing runtime service opteed_fast
INFO:    BL31: Preparing for EL3 exit to normal world
INFO:    Entry point address = 0x200000
INFO:    SPSR = 0x3c9


U-Boot 2017.09-rk3399+ (Dec 21 2019 - 18:36:45 +0200)

Model: RockPi-4B
DRAM:  3.9 GiB
DCDC_REG1@vdd_center: ; enabling
DCDC_REG2@vdd_cpu_l: ; enabling
DCDC_REG3@vcc_ddr: ; enabling (ret: -38)
DCDC_REG4@vcc_1v8: set 1800000 uV; enabling
LDO_REG1@vcc1v8_dvp: set 1800000 uV; enabling
LDO_REG2@vcc3v0_touch: set 3000000 uV; enabling
LDO_REG3@vcc1v8_pmu: set 1800000 uV; enabling
LDO_REG4@vcc_sd: set 3300000 uV; enabling
LDO_REG5@vcca3v0_codec: set 3000000 uV; enabling
LDO_REG6@vcc_1v5: set 1500000 uV; enabling
LDO_REG7@vcca1v8_codec: set 1800000 uV; enabling
LDO_REG8@vcc_3v0: set 3000000 uV; enabling
SWITCH_REG1@vcc3v3_s3: ; enabling (ret: -38)
SWITCH_REG2@vcc3v3_s0: ; enabling (ret: -38)
vcc1v8-s0@vcc1v8_s0: set 1800000 uV; enabling (ret: -38)
dc-12v@dc_12v: set 12000000 uV; enabling (ret: -38)
vcc-sys@vcc_sys: set 5000000 uV; enabling (ret: -38)
vcc3v3-sys@vcc3v3_sys: set 3300000 uV; enabling (ret: -38)
vcc-phy-regulator@vcc_phy: ; enabling (ret: -38)
vdd-log@vdd_log: ; enabling (ret: -38)
MMC:   sdhci@fe330000: 0, dwmmc@fe320000: 1
SF: unrecognized JEDEC id bytes: ff, ff, ff
*** Warning - spi_flash_probe_bus_cs() failed, using default environment

In:    serial@ff1a0000
Out:   serial@ff1a0000
Err:   serial@ff1a0000
Model: RockPi-4B
Net:   eth0: ethernet@fe300000
Hit any key to stop autoboot:  0 
switch to partitions #0, OK
mmc1 is current device
Scanning mmc 1:1...
invalid extent block
invalid extent block
invalid extent block
Card did not respond to voltage select!
mmc_init: -95, time 19
starting USB...
USB0:   USB EHCI 1.00
USB1:   USB EHCI 1.00
USB2:   Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.10
USB3:   Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.10
scanning bus 0 for devices... 2 USB Device(s) found
scanning bus 1 for devices... ERROR: Invalid USB EP length (9)
ERROR: Invalid USB EP length (9)
5 USB Device(s) found
scanning bus 2 for devices... 1 USB Device(s) found
scanning bus 3 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found

Device 0: unknown device
ethernet@fe300000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
Could not initialize PHY ethernet@fe300000
missing environment variable: pxeuuid
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/01-ae-1e-19-20-55-6d
ethernet@fe300000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
Could not initialize PHY ethernet@fe300000
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00000000
ethernet@fe300000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
Could not initialize PHY ethernet@fe300000
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/0000000
ethernet@fe300000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
Could not initialize PHY ethernet@fe300000
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/000000
ethernet@fe300000 Waiting for PHY auto negotiation to complete......... TIMEOUT !

I have a Rock Pi 4B v1.3. The image was written to SD card. While booting, I removed all other storage devices.

Edit -

Tried booting manually using this tutorial, output and error below:

=> mmc list
sdhci@fe330000: 0
dwmmc@fe320000: 1 (SD)
=> mmc dev 1
switch to partitions #0, OK
mmc1 is current device
=> mmc info
Device: dwmmc@fe320000
Manufacturer ID: 1b
OEM: 534d
Name: 00000 
Tran Speed: 50000000
Rd Block Len: 512
SD version 3.0
High Capacity: Yes
Capacity: 29.8 GiB
Bus Width: 4-bit
Erase Group Size: 512 Bytes
=> setenv devnum 1
=> run mmc_boot
switch to partitions #0, OK
mmc1 is current device
Scanning mmc 1:1...
invalid extent block
invalid extent block
invalid extent block
=>

you have it loaded with SPI (case 2), the bootloader version on the card is 2021.10 and ATF 2.6

My mistake indeed! Seems I was writing an old image. So I re-formatted the SD card, including the u-boot area, and rewrote the correct slarm64 image.

This time the monitor showed output for a second, and then turned blank. Serial console reports the following:

U-Boot SPL 2021.10-rk3399 (Dec 10 2021 - 04:32:17 +0200)
Trying to boot from MMC1


U-Boot 2021.10-rk3399 (Dec 10 2021 - 04:33:48 +0200)

SoC: Rockchip rk3399
Reset cause: RST
Model: Radxa ROCK Pi 4B
DRAM:  3.9 GiB
PMIC:  RK808 
MMC:   mmc@fe310000: 2, mmc@fe320000: 1, mmc@fe330000: 0
Loading Environment from MMC... *** Warning - bad CRC, using default environment

Loading Environment from SPIFlash... Invalid bus 0 (err=-19)
*** Warning - spi_flash_probe_bus_cs() failed, using default environment

In:    serial
Out:   vidconsole
Err:   vidconsole
Model: Radxa ROCK Pi 4B
Net:   eth0: ethernet@fe300000
Hit any key to stop autoboot:  0 
switch to partitions #0, OK
mmc1 is current device
Scanning mmc 1:1...
Found U-Boot script /boot/boot.scr
1689 bytes read in 5 ms (329.1 KiB/s)
## Executing script at 00500000
Boot script loaded from mmc 1
77 bytes read in 4 ms (18.6 KiB/s)
76434 bytes read in 11 ms (6.6 MiB/s)
29155840 bytes read in 1236 ms (22.5 MiB/s)
libfdt fdt_getprop(): FDT_ERR_NOTFOUND
9501501 bytes read in 407 ms (22.3 MiB/s)
Moving Image from 0x2080000 to 0x2200000, end=3e70000
## Loading init Ramdisk from Legacy Image at 06000000 ...
   Image Name:   uInitrd
   Image Type:   AArch64 Linux RAMDisk Image (gzip compressed)
   Data Size:    9501437 Bytes = 9.1 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 01f00000
   Booting using the fdt blob at 0x1f00000
   Loading Ramdisk to f160b000, end f1f1aafd ... OK
   Loading Device Tree to 00000000f158f000, end 00000000f160afff ... OK

Starting kernel ...

[    2.665631] rockchip-pcie f8000000.pcie: PCIe link training gen1 timeout!

And here it is stuck.
Thanks for your help Mara!

Does this image support full-disk encryption?

it can be done, everything for this is in the kernel and in the system. you may need to rebuild the initrd with the necessary modules, for this there is a script /boot/rebuild-initrd.sh

1 Like

installation README.TXT

update kernel 5.16.10

slarm64-current-aarch64-server-rock_pi_4-5.16.10-build-20220223.img.zst
slarm64-current-aarch64-server-rock_pi_4-5.16.10-build-20220223.img.zst.sha256
slarm64-current-aarch64-xfce-rock_pi_4-5.16.10-build-20220223.img.zst
slarm64-current-aarch64-xfce-rock_pi_4-5.16.10-build-20220223.img.zst.sha256

This image run from NVME?

if the bootloader in SPI supports, yes.

@mara
is canbus supported ??
and tested ??

greeting Marcel

CAN is enabled in the kernel, I haven’t tested.

CONFIG_CC_CAN_LINK=y
CONFIG_CC_CAN_LINK_STATIC=y
CONFIG_NET_EMATCH_CANID=m
CONFIG_CAN=m
CONFIG_CAN_RAW=m
CONFIG_CAN_BCM=m
CONFIG_CAN_GW=m
CONFIG_CAN_J1939=m
CONFIG_CAN_ISOTP=m
CONFIG_CAN_VCAN=m
CONFIG_CAN_VXCAN=m
CONFIG_CAN_SLCAN=m
CONFIG_CAN_DEV=m
CONFIG_CAN_CALC_BITTIMING=y
CONFIG_CAN_GRCAN=m
CONFIG_CAN_KVASER_PCIEFD=m
CONFIG_CAN_XILINXCAN=m
CONFIG_CAN_C_CAN=m
CONFIG_CAN_C_CAN_PLATFORM=m
CONFIG_CAN_C_CAN_PCI=m
CONFIG_CAN_CC770=m
CONFIG_CAN_CC770_ISA=m
CONFIG_CAN_CC770_PLATFORM=m
CONFIG_CAN_M_CAN=m
CONFIG_CAN_M_CAN_PLATFORM=m
CONFIG_CAN_M_CAN_TCAN4X5X=m
CONFIG_CAN_PEAK_PCIEFD=m
CONFIG_CAN_SJA1000=m
CONFIG_CAN_EMS_PCI=m
CONFIG_CAN_F81601=m
CONFIG_CAN_KVASER_PCI=m
CONFIG_CAN_PEAK_PCI=m
CONFIG_CAN_PEAK_PCIEC=y
CONFIG_CAN_PLX_PCI=m
CONFIG_CAN_SJA1000_ISA=m
CONFIG_CAN_SJA1000_PLATFORM=m
CONFIG_CAN_SOFTING=m
CONFIG_CAN_HI311X=m
CONFIG_CAN_MCP251X=m
CONFIG_CAN_MCP251XFD=m
CONFIG_CAN_8DEV_USB=m
CONFIG_CAN_EMS_USB=m
CONFIG_CAN_ESD_USB2=m
CONFIG_CAN_ETAS_ES58X=m
CONFIG_CAN_GS_USB=m
CONFIG_CAN_KVASER_USB=m
CONFIG_CAN_MCBA_USB=m
CONFIG_CAN_PEAK_USB=m
CONFIG_CAN_UCAN=m
CONFIG_MESON_CANVAS=m
CONFIG_PHY_CAN_TRANSCEIVER=m

I will give it a try then…

installation README.TXT

update kernel 5.18.6

slarm64-current-aarch64-server-rock_pi_4-5.18.6-build-20220625.img.zst
slarm64-current-aarch64-server-rock_pi_4-5.18.6-build-20220625.img.zst.sha256
slarm64-current-aarch64-xfce-rock_pi_4-5.18.6-build-20220625.img.zst
slarm64-current-aarch64-xfce-rock_pi_4-5.18.6-build-20220625.img.zst.sha256

Does this version have 4c+ support?
EDIT: I mounted the .img and didnt see the 4c-plus dtb so I’m guessing not :frowning:

Yes only 4c, but you can try this dtb.

installation README.TXT
update kernel 5.18.15

slarm64-current-aarch64-server-rock_pi_4-5.18.15-build-20220801.img.zst
slarm64-current-aarch64-server-rock_pi_4-5.18.15-build-20220801.img.zst.sha256
slarm64-current-aarch64-xfce-rock_pi_4-5.18.15-build-20220801.img.zst
slarm64-current-aarch64-xfce-rock_pi_4-5.18.15-build-20220801.img.zst.sha256