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
  Arch Linux ARM on the Rock64 V3 justinweiss 2 467 08-24-2020, 05:16 PM
Last Post: justinweiss
  Arch Linux Arm - external RTC problem max 1 177 08-17-2020, 10:35 AM
Last Post: max
  Linux Images (ROCK64) pineadmin 162 95,930 07-25-2020, 01:57 PM
Last Post: vve1505
Sad Is there a none-headless Linux OS that really works now for Rock64? AkiraSensei 7 746 07-09-2020, 10:02 PM
Last Post: nethammer
  mainline kernel sound support Openwrt lucize 2 414 05-01-2020, 05:09 PM
Last Post: PakoSt
  5.3 kernel support? csrf 5 1,018 04-18-2020, 11:34 PM
Last Post: CameronNemo
  Help troubleshooting kernel panic gabrielfin 3 450 03-02-2020, 04:18 PM
Last Post: gabrielfin
  need a dts file to set some pins as pulldown interrupts in kernel using a DTO dkebler 0 220 02-05-2020, 10:58 PM
Last Post: dkebler
  Arch-Manjaro attempting gles2 setup tomarm 2 288 12-28-2019, 01:33 AM
Last Post: tomarm
  Headless installation of Real VNC server on Rock64 possible? hg6806 3 430 11-18-2019, 04:32 AM
Last Post: evilbunny

Forum Jump:


Users browsing this thread: 1 Guest(s)