Arch Linux Arm --> Kernel 5.8 breaks installation
#1
Hi all,

just did a system update on a Rock64 and the new 5.8 Kernel breaks the installation.
After reboot the board has permanently lit the white and red LED and does not boot-up at all.
To narrow down the issue I re-flashed my eMMC-Module as per alarm Wiki and ArchLinuxARM-aarch64-latest.tar.gz includes only linux-aarch64-5.7.1-1 so I run again pacman -Syuu to update and linux-aarch64-5.8.0-1 was installed and after shutdown -r now the board went dead again with permanently lit white and red LED. Pressing the reboot button or pressing and hold the reboot button on the board brings no change, board still ends up with white and red LED permanently lit.

Any ideas on how to fix linux-aarch64-5.8.0-1 so that it works on Rock64 ?

UART output as below
Code:
DDR version 1.06 20170424
In
LPDDR3
786MHz
Bus Width=32 Col=11 Bank=8 Row=15/15 CS=2 Die Bus-Width=32 Size=4096MB
ddrconfig:7
OUT
Boot1 Release Time: 2017-05-18, version: 2.43
ChipType = 0x11, 127
SdmmcInit=2 0
BootCapSize=2000
UserCapSize=119276MB
FwPartOffset=2000 , 2000
SdmmcInit=0 2
StorageInit ok = 23695
Raw SecureMode = 0
SecureInit read PBA: 0x4
SecureInit read PBA: 0x404
SecureInit read PBA: 0x804
SecureInit read PBA: 0xc04
SecureInit read PBA: 0x1004
SecureInit ret = 0, SecureMode = 0
LoadTrustBL
No find bl30.bin
No find bl32.bin
Load uboot, ReadLba = 2000
Load OK, addr=0x200000, size=0x8b0ec
RunBL31 0x10000
NOTICE:  BL31: v1.3(debug):f947c7e
NOTICE:  BL31: Built : 09:28:45, May 31 2017
NOTICE:  BL31:Rockchip release version: v1.3
INFO:    ARM GICv2 driver initialized
INFO:    Using opteed sec cpu_context!
INFO:    boot cpu mask: 1
INFO:    plat_rockchip_pmu_init: pd status 0xe
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 2018.03-1 (Apr 02 2018 - 19:14:47 -0600) Arch Linux ARM

Model: Rockchip RK3328 EVB
DRAM:  4 GiB
MMC:   rksdmmc@ff500000: 1, rksdmmc@ff520000: 0
Loading Environment from MMC... Card did not respond to voltage select!
*** Warning - No block device, using default environment

Failed (-5)
In:    serial@ff130000
Out:   serial@ff130000
Err:   serial@ff130000
Model: Rockchip RK3328 EVB
Net:
Warning: ethernet@ff540000 (eth0) using random MAC address - 62:72:ba:0a:ad:9a
eth0: ethernet@ff540000
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:1...
Found U-Boot script /boot/boot.scr
890 bytes read in 17 ms (50.8 KiB/s)
## Executing script at 00500000
37171712 bytes read in 910 ms (39 MiB/s)
50174 bytes read in 27 ms (1.8 MiB/s)
8342454 bytes read in 211 ms (37.7 MiB/s)
## Flattened Device Tree blob at 01f00000
   Booting using the fdt blob at 0x1f00000
   Loading Ramdisk to fc727000, end fcf1bbb6 ... OK
   reserving fdt memory region: addr=1f00000 size=d000
   Loading Device Tree to 00000000fc717000, end 00000000fc726fff ... OK

Starting kernel ...
  Reply
#2
Same problem.
Code:
DDR version 1.06 20170424
In
LPDDR3
786MHz
Bus Width=32 Col=11 Bank=8 Row=15/15 CS=2 Die Bus-Width=32 Size=4096MB
ddrconfig:7
OUT
Boot1 Release Time: 2017-05-18, version: 2.43
ChipType = 0x11, 127
SdmmcInit=2 0
BootCapSize=2000
UserCapSize=14800MB
FwPartOffset=2000 , 2000
SdmmcInit=0 2
StorageInit ok = 20837
Raw SecureMode = 0
SecureInit read PBA: 0x4
SecureInit read PBA: 0x404
SecureInit read PBA: 0x804
SecureInit read PBA: 0xc04
SecureInit read PBA: 0x1004
SecureInit ret = 0, SecureMode = 0
LoadTrustBL
No find bl30.bin
No find bl32.bin
Load uboot, ReadLba = 2000
Load OK, addr=0x200000, size=0x8b0ec
RunBL31 0x10000
NOTICE:  BL31: v1.3(debug):f947c7e
NOTICE:  BL31: Built : 09:28:45, May 31 2017
NOTICE:  BL31:Rockchip release version: v1.3
INFO:    ARM GICv2 driver initialized
INFO:    Using opteed sec cpu_context!
INFO:    boot cpu mask: 1
INFO:    plat_rockchip_pmu_init: pd status 0xe
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 2018.03-1 (Apr 02 2018 - 19:14:47 -0600) Arch Linux ARM

Model: Rockchip RK3328 EVB
DRAM:  4 GiB
MMC:   rksdmmc@ff500000: 1, rksdmmc@ff520000: 0
Loading Environment from MMC... Card did not respond to voltage select!
*** Warning - No block device, using default environment

Failed (-5)
In:    serial@ff130000
Out:   serial@ff130000
Err:   serial@ff130000
Model: Rockchip RK3328 EVB
Net:   
Warning: ethernet@ff540000 (eth0) using random MAC address - ea:2f:54:3a:3b:6d
eth0: ethernet@ff540000
Hit any key to stop autoboot:  2  1  0
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:1...
Found U-Boot script /boot.scr
1269 bytes read in 17 ms (72.3 KiB/s)
## Executing script at 00500000
37171712 bytes read in 29273 ms (1.2 MiB/s)
50174 bytes read in 50 ms (979.5 KiB/s)
8102566 bytes read in 6588 ms (1.2 MiB/s)
## Flattened Device Tree blob at 01f00000
   Booting using the fdt blob at 0x1f00000
   Loading Ramdisk to fc762000, end fcf1c2a6 ... OK
   reserving fdt memory region: addr=1f00000 size=d000
   Loading Device Tree to 00000000fc752000, end 00000000fc761fff ... OK

Starting kernel ...



I've successfully downgraded kernel using qemu-arm-static (from AUR) to chroot from x86_64 laptop into the root filesystem on emmc. But the questions still remain: what is wrong with kernel, and how to fix this?
  Reply
#3
Fell into this trap also,  will need to roll back on X86 machine.
  Reply
#4
Probably a boot-loader problem.
I tried using another boot-loader (mainline-base).
As a result, it starts normally as follows.

Code:
=> run bootcmd_mmc1
switch to partitions #0, OK
mmc1 is current device
Scanning mmc 1:1...
Found U-Boot script /boot/boot.scr
890 bytes read in 5 ms (173.8 KiB/s)
## Executing script at 00500000
37171712 bytes read in 1612 ms (22 MiB/s)
50174 bytes read in 11 ms (4.3 MiB/s)
8339435 bytes read in 367 ms (21.7 MiB/s)
## Flattened Device Tree blob at 01f00000
   Booting using the fdt blob at 0x1f00000
   Loading Ramdisk to f9f21000, end fa714feb ... OK
   Loading Device Tree to 00000000f9f11000, end 00000000f9f20fff ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 5.8.0-1-ARCH (builduser@leming) (aarch64-unknown-linux-gnu-gcc (GCC) 9.3.0, GNU ld (GNU Binutils) 2.34) #1 SMP Sun Aug 9 00:03:44 UTC 2020
[    0.000000] Machine model: Pine64 Rock64
[    0.000000] earlycon: uart8250 at MMIO32 0x00000000ff130000 (options '')
[    0.000000] printk: bootconsole [uart8250] enabled
[    0.000000] efi: UEFI not found.
[    0.000000] cma: Reserved 64 MiB at 0x00000000fb000000
[    0.000000] Zone ranges:
...

Arch Linux 5.8.0-1-ARCH (ttyS2)

alarm login:

root@alarm:~# uname -a
Linux alarm 5.8.0-1-ARCH #1 SMP Sun Aug 9 00:03:44 UTC 2020 aarch64 GNU/Linux
  Reply
#5
@t4_4t

Which Version of uboot do you use and where to get it from?

Arch ships with --> U-Boot 2018.03-1 (Apr 02 2018 - 19:14:47 -0600) Arch Linux ARM

And it works only on Rock64_V2 as far as I know, as some Users complained it is no good on Rock64_V3 and they found an updated U-Boot for the Rock64_V3.
But I can't remember where they got it from.
  Reply
#6
I had a peek at AUR and there is no U-Boot for Rock64 only for the following boards
Quote:U-Boot for A10 OLinuXino Lime
U-Boot for A10s OLinuXino Micro
U-Boot for A13 OLinuXino
U-Boot for A13 OLinuXino Micro
U-Boot for A20 OLinuXino Lime
U-Boot for A20 OLinuXino Lime2
U-Boot for A20 OLinuXino Micro
U-Boot for BananaPi
U-Boot for Cubieboard
U-Boot for Cubieboard 2
U-Boot for Cubietruck
U-Boot for i.MX53 Quick Start Board
U-Boot for ODROID-C4
U-Boot for pcDuino
U-Boot for pcDuino3
U-Boot for pcDuino3 Nano
U-Boot for Raspberry Pi 4
U-Boot for RockPro64
U-Boot tools RCs


Then I had a poke around at ftp://ftp.denx.de/pub/u-boot/
Which are the developers for U-Boot and even in their latest file u-bbot-2020.10-rc1.tar.bz2 there is in the Pine64 subfolder only a makefile for pinebook-pro-rk3399 and rockpro_rk3399 Huh
  Reply
#7
> Which Version of u-boot do you use and where to get it from ?
https://github.com/u-boot/u-boot/commits/master
I made modifications based on the above. (for example, to work in Ver3)

> And it works only on Rock64_V2....Rock64_V3 ?
Board is Rock64_V3.
But, my board cannot operate stably at DDR3=800MHz.
Since it can not be helped, I have lowered it to DDR3 = 666 MHz and used it.

Code:
U-Boot TPL 2020.10-rc1 [2020 08/08, commit 7d08077] (Aug 10 2020 - 09:52:51)
LPDDR3, 666 MHz
BW=32 Col=11 Bk=8 CS0 Row=15 CS1 Row=15 CS=2 Die BW=16 Size=4096MB
ddrconfig:7
Trying to boot from BOOTROM
Returning to boot ROM...

U-Boot SPL 2020.10-rc1 [2020 08/08, commit 7d08077] (Aug 10 2020 - 09:52:51 +0900)
Trying to boot from SPI
spl_load_image: took time=462(ms)
NOTICE:  BL31: v2.3(release):1056ddc
NOTICE:  BL31: Built : 10:22:20, Jul 29 2020
NOTICE:  BL31: Rockchip release version: v1.2


U-Boot 2020.10-rc1 [2020 08/08, commit 7d08077] (Aug 10 2020 - 09:53:21 +0900)
Model: Pine64 Rock64 (ver3)
DRAM:  4 GiB
PMIC:  RK8050 (on=0x10, off=0x00)
MMC:   mmc@ff500000: 1, mmc@ff520000: 0
SF:    Detected gd25q128 with page size 256 Bytes, erase size 4 KiB, total 16 MiB
In:    serial
Out:   vidconsole
Err:   vidconsole
Net:   eth0: ethernet@ff540000
Hit any key to stop autoboot:  0
=> run bootcmd_mmc1
....

I have changed the boot-loader quite a bit.
So I think my example is useless except this case is likely a boot-loader issue.
  Reply
#8
(08-10-2020, 02:40 AM)t4_4t Wrote: Probably a boot-loader problem.
I tried using another boot-loader (mainline-base).
As a result, it starts normally as follows.

Code:
=> run bootcmd_mmc1
switch to partitions #0, OK
mmc1 is current device
Scanning mmc 1:1...
Found U-Boot script /boot/boot.scr
890 bytes read in 5 ms (173.8 KiB/s)
## Executing script at 00500000
37171712 bytes read in 1612 ms (22 MiB/s)
50174 bytes read in 11 ms (4.3 MiB/s)
8339435 bytes read in 367 ms (21.7 MiB/s)
## Flattened Device Tree blob at 01f00000
   Booting using the fdt blob at 0x1f00000
   Loading Ramdisk to f9f21000, end fa714feb ... OK
   Loading Device Tree to 00000000f9f11000, end 00000000f9f20fff ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 5.8.0-1-ARCH (builduser@leming) (aarch64-unknown-linux-gnu-gcc (GCC) 9.3.0, GNU ld (GNU Binutils) 2.34) #1 SMP Sun Aug 9 00:03:44 UTC 2020
[    0.000000] Machine model: Pine64 Rock64
[    0.000000] earlycon: uart8250 at MMIO32 0x00000000ff130000 (options '')
[    0.000000] printk: bootconsole [uart8250] enabled
[    0.000000] efi: UEFI not found.
[    0.000000] cma: Reserved 64 MiB at 0x00000000fb000000
[    0.000000] Zone ranges:
...

Arch Linux 5.8.0-1-ARCH (ttyS2)

alarm login:

root@alarm:~# uname -a
Linux alarm 5.8.0-1-ARCH #1 SMP Sun Aug 9 00:03:44 UTC 2020 aarch64 GNU/Linux


Could you share your /boot/boot.scr?
  Reply
#9
hello

check the kernel bootargs in your boot partition boot.scr


You should see:

earlycon=uart8250,mmio32,0xff130000




If you see:

earlycon=uart8250,mmio32,0xff1a0000


That is for the rockpro64 board I think and will cause the kernel to not load like you see there. If that's the case you need to use mkimage to make the appropriate boot.scr or double check that you installed for the rock64 and not the rockpro64, easy mixup to make
  Reply
#10
This https://archlinuxarm.org/forum/viewtopic...67&t=14576 recipe works for me. Kernel starts and system works, as it seems. Some people report, that the rock64 is unstable with memory operating at 800Mhz. But for now my board looks like it is all fine. Memory frequency which u-boot sets can be adjusted as described here https://git.opel-online.de/kabbone/rock6...4/PKGBUILD
  Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  irradium (based on crux linux) Rock64 riscv64, aarch64 mara 7 1,227 11-19-2024, 02:54 PM
Last Post: mara
  How to boot an older, working kernel bits 0 159 11-01-2024, 04:43 PM
Last Post: bits
  Debian installation via sd card oaFJSADBKV 0 160 10-12-2024, 10:24 AM
Last Post: oaFJSADBKV
  arch rock64 does not boot nemnob 1 1,044 09-20-2024, 11:18 AM
Last Post: AwU2HBg
  MIPI-CSI IMX214 on Linux NO SUCCESS zeus666 2 2,387 06-02-2023, 07:52 AM
Last Post: diederik
  Linux 5.15 Kernel - openSuse mark1250 0 1,560 12-02-2021, 04:36 PM
Last Post: mark1250
  Security Patches for the Kernel kwinz 9 8,468 10-22-2021, 05:45 AM
Last Post: kwinz
  Alpine Linux isndw 12 20,321 08-12-2021, 05:41 PM
Last Post: pix
Lightbulb RK3399 Linux rtl8822cu module bluetooth not working shivarj89 0 1,624 07-29-2021, 07:19 AM
Last Post: shivarj89
Information Linux Mainline ayufan 63 106,617 05-14-2021, 10:41 AM
Last Post: Wizzard

Forum Jump:


Users browsing this thread: 8 Guest(s)