Mainline support for RockPi 4?

@stuartiannaylor Unfortunately, I know nothing about PCIe support in uboot :confused:

Supposedly so as Auyfan has mainline patched with pcie and supposedly uboot

5.3rc2 is looking good if we can get rid of those boot delays…
Not sure what happened in 5.2 but it seemed slow and panfrost performance was terrible but back to normal

You guys are prob much better than automated builds than me but started a mainline build script.

New image release from the Manjaro ARM team, though there is no pre-built image for the Rock Pi 4 this time. I guess we have to use manjaro-arm-installer to build our own images from now on?

They also mentioned the long boot time bug is custom-patched in the linux-aarch64-rc package (kernel 5.3-rc3).

2 Likes

Hello together,

On Saturday 14th of September 2019 (2019-09-14) I present at the MRMCD conference in Darmstadt Germany how using mainline kernel and u-boot on a SBC (single board computer)

About 500 people attend the conference which is three days long.

I will speak about my progress. My demonstration is on a Radxa Rock Pi 4B

Details of the presentation at the conference

I compiled mainline u-boot and kernel and can boot from SD-card and with root filesystem on an usb3.0 SSD device (inside is a NVMe device)

I have seen these efforts in mainline kernel next

https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/log/?h=next-20190830&qt=grep&q=rock+pi

If anyone could support me with a dts file for the mainline kernel and mainline u-boot with spi-flash and PCI enabled.

Than I can demonstrate the presentation on the sbc better.

Kind Regards
Dondon

1 Like

Just used NicoD’s guide installing Armbian Bionic Panfrost with kernel 5.3
installed LXDE & LXDM running most of the day. Dont see any issues yet.
The bootup time does seem excessive however. Over a minuet.

1 Like

Have been testing out mainline kernel 5.3.11 in Armbian Buster. The basics are working, nice!

One thing not mentioned yet is suspend, which is not working. Get the following in dmesg:

[  625.267324] PM: suspend entry (s2idle)
[  625.295815] Filesystems sync: 0.028 seconds
[  625.298618] Freezing user space processes ... (elapsed 0.004 seconds) done.
[  625.302948] OOM killer disabled.
[  625.302956] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
[  625.304953] printk: Suspending console(s) (use no_console_suspend to debug)
[  625.333301] xhci-hcd xhci-hcd.0.auto: WARN: xHC CMD_RUN timeout
[  625.333397] PM: dpm_run_callback(): platform_pm_suspend+0x0/0x70 returns -110
[  625.333409] PM: Device xhci-hcd.0.auto failed to suspend async: error -110
[  625.351682] sd 0:0:0:0: [sda] Synchronizing SCSI cache
[  626.350572] PM: Some devices failed to suspend, or early wake event detected
[  626.387068] OOM killer enabled.
[  626.387077] Restarting tasks ... done.
[  626.393928] PM: suspend exit

Running Armbian off a SD card. eMMC card and external USB drive also connected.

Hi folks

I have been trying to follow the instructions to compile a kernel on

https://wiki.radxa.com/Rockpi4/dev/kernel-mainline

Unfortunately, the kernel hangs during bootstrap. Not sure what i could do now.

I have added the details of my testing for the time being to the wiki page itself so it is easier to review/comment them separately in the wiki by people who know the answers.

Not sure though how to resolve the main issue of the kernel going dark after the last logged message

hctosys: unable to open rtc device (rtc0)

Any ideas welcome.

If anyone reading this has successfully managed to get a mainline kernel to work and knows how to checkout from git exactly the version he got working, then it would help me a lot to explain how to check out exactly that version, i could then try to compile and run that version, making it easier to compare results.

@raidboy, for this you should look into armbian build code, i.e. https://docs.armbian.com/Developer-Guide_Build-Preparation/

Thanks, Dante4, but i was asking for debian, not armbian. I also have no Ubuntu computers, so i could not compile on the only supported Ubuntu 18.04.

1 Like

Hi @raidboy,

I would suggest to open a separate topic for compiling the mainline kernel. The wiki is not an appropriate medium for discussions IMHO.

Thanks.

aaditya: Indeed. The discussions should go here, as this seems to be the thread where they are discussed. The wiki should just report the current status and needs to be updated accordingly when it improves. Right ?

I think a new topic under the dev section for compiling mainline kernel can be opened. You can link that topic on the wiki like you have linked this one. :slight_smile:

Agree.

I thought that this thread would be better than opening a new thread because there where already some folks who managed to get mainline working on this thread last year, so they would also get notifications when this thread has new content and might chime in with their experience.

I see. Can clean up the wiki and add your full question here then.

Luckily you don’t need to have any Ubuntu computer - read few lines. Armbian can be compiled anywhere - the only limitation is that it has to be x86 hardware, because of design and compilers binaries. I am occasionally compiling Armbian on my laptop running stock Debian Buster. (I also prefer it as clean as possible) Since this is Dell XPS every segment of hardware works absolutely perfectly out of the box.

Thanks igorp, good to know. I was referring to:

https://docs.armbian.com/Developer-Guide_Build-Preparation/

The only supported compilation environment is Ubuntu Bionic 18.04 x64 ( no other releases are supported ! It has to be exactly 18.04 otherwise default compiler versions might not match so if you’re on an older Ubuntu release upgrade to 18.04 now, if you use a newer Ubuntu version start with 18.04 from scratch),

Which at least means that if i encounter any problem compiling anything armbian and want to ask a question, the likely answer will be “use ubuntu 18.04 first, then come back” ;-(

1 Like

This manual was written for developers (and probably at the time there was no full blown Docker support) which usually doesn’t need very exact saying. OK, will be adjusted to be clear.

Docker is the key component you are missing out which allows that building works everywhere.

Well, i would just like to be able to build on the target system itself :wink: