Configuring kernel before building

Regardless which console I set in extlinux.conf, or not set at all, ttyFIQ is always registered right after GPIO pins are registered. This is my u-boot version by the way:
libjs-bootstrap/stable,now 3.3.7+dfsg-2+deb9u1 all [installed]
rockpi4b-rk-u-boot-lastest/unknown,now 2017.09-00004-g2920a61 all [installed]
rockpi4b-rk-ubootimg/unknown,now 2017.09-00004-g2920a61 all [installed,automatic]

Hi, @O635789

I just do the test.

I use rockpi4_debian_stretch_lxde_armhf_20181105_2120-gpt.img. And I install rockchip-overlay , rockchip-fstab and rockpi4-dtbo package. Then update the u-boot and kernel to the newest version. Reboot.

When the contents of /boot/hw_intfc.conf are

intfc:pwm0=off
intfc:pwm1=off
intfc:uart2=on
intfc:uart4=on
intfc:spi1=off
intfc:spi2=off
intfc:i2c2=off
intfc:i2c6=off
intfc:i2c7=off

#intfc:dtoverlay=at24c02
#intfc:dtoverlay=two-color-led
#intfc:dtoverlay=console-disabled
#intfc:dtoverlay=console-on-uart4

And I execute sudo dmesg, it shows the same result as yours.

[    2.242621] Serial: 8250/16550 driver, 5 ports, IRQ sharing disabled
[    2.245435] ff180000.serial: ttyS0 at MMIO 0xff180000 (irq = 35, base_baud = 1500000) is a 16550A
[    2.246630] rockchip-pinctrl pinctrl: pin gpio4-19 already requested by fiq-debugger; cannot claim for ff1a0000.serial
[    2.247599] rockchip-pinctrl pinctrl: pin-147 (ff1a0000.serial) status -22
[    2.248208] rockchip-pinctrl pinctrl: could not request pin 147 (gpio4-19) from group uart2c-xfer  on device rockchip-pinctrl
[    2.249201] dw-apb-uart ff1a0000.serial: Error applying setting, reverse things back
[    2.250295] ff1a0000.serial: ttyS2 at MMIO 0xff1a0000 (irq = 36, base_baud = 1500000) is a 16550A
[    2.251923] ff370000.serial: ttyS4 at MMIO 0xff370000 (irq = 38, base_baud = 1500000) is a 16550A

When the contents are modified to

intfc:pwm0=off
intfc:pwm1=off
intfc:uart2=on
intfc:uart4=on
intfc:spi1=off
intfc:spi2=off
intfc:i2c2=off
intfc:i2c6=off
intfc:i2c7=off

#intfc:dtoverlay=at24c02
#intfc:dtoverlay=two-color-led
intfc:dtoverlay=console-disabled
#intfc:dtoverlay=console-on-uart4

It shows

[    2.124915] pwm-regulator vdd-log: Looking up pwm-supply from device tree
[    2.124925] pwm-regulator vdd-log: Looking up pwm-supply property in node /vdd-log failed
[    2.125018] pwm-regulator vdd-log: Looking up pwm-supply from device tree
[    2.125027] pwm-regulator vdd-log: Looking up pwm-supply property in node /vdd-log failed
[    2.125390] Serial: 8250/16550 driver, 5 ports, IRQ sharing disabled
[    2.127009] ff180000.serial: ttyS0 at MMIO 0xff180000 (irq = 35, base_baud = 1500000) is a 16550A
[    2.127624] ff1a0000.serial: ttyS2 at MMIO 0xff1a0000 (irq = 36, base_baud = 1500000) is a 16550A
[    2.128245] ff370000.serial: ttyS4 at MMIO 0xff370000 (irq = 38, base_baud = 1500000) is a 16550A
[    2.129252] [drm] Initialized drm 1.1.0 20060810
[    2.132979] [drm] Rockchip DRM driver version: v1.0.1

When uncomment intfc:dtoverlay=console-disabled, the fiq-debugger is not registered.

Finally it’s working! My Z-Wave HAT works flawlessly! Thank you guys.

The problem is the order of the steps. I need to run ./rockpi4b_upgrade_bootloader.sh AFTER installed rockchip-overlay.

I flashed a new copy of the image to my microSD card, and repeated the steps still didn’t work then I figured the only difference is you upgraded u-boot and kernel after the overlay.

2 Likes

Good to hear that. Which Z wave HAT are you using?

I’m using Z-Wave.Me RaZberry2.

Hallo Radxa Team,

I’m not so fit on the Linux track yet.
I have the current Debian Images installed and now I try to integrate the Z-Wave.Me 2 RaZberry2.
Is it possible to show the individual installation steps one after the other?
Many Thanks

Hello
Can you help me
how do I run an update the u-boot and kernel?
Thomas

Here is the steps I did:

  1. add “deb http://apt.radxa.com/stretch/ stretch main” to /etc/apt/sources.list
  2. get the repository key: “wget -O - apt.radxa.com/stretch/public.key | sudo apt-key add -”
  3. update your apps: “sudo apt-get update && sudo apt-get upgrade”
  4. install rockchip-overlay etc:
    sudo apt-get install rockchip-overlay
    sudo apt-get install rockchip-fstab
    sudo apt-get install rockpi4-dtbo
  5. edit /etc/hw_intfc.config, turn on uart2, uart4, and the overlay disables the console.
  6. update kernel:
    apt-get install linux-4.4-lastest
  7. update u-boot:
    sudo su
    apt-get install rockpi4b-rk-u-boot-lastest
    cd /usr/local/sbin/
    ./rockpi4b_upgrade_bootloader.sh
  8. reboot, type “who” in xterm, should shows you as the only user, nobody on ttyFIQ0
  9. In Z-Way server or Home Assistant, change the default uart setting from ttyAMA0 to ttyS2.
  10. reboot. who says you don’t need to reboot Linux often? :-/
1 Like

Hello, @TE999

We have a tutorial on updating u-boot and kernel. Please check :https://wiki.radxa.com/Rockpi4/radxa-apt

Hello,
Thank you for the information.
Z-wave is running now. The communication with IP-Symcon and Z-Wave on the Rock PI4 is OK.
I am happy

Thomas

It would be nice to have better instructions on how to build a custom kernel not only for ubuntu and stretch.

Let me start complaining about the debian and ubuntu images. The boot partition is so small, that you can’t have more than one kernel on it.

Second, there HAS to be a way to build the kernel on the board itself. It’s not rocket science.

Third instructions don’t work for the armbian package you provide. Installing the created .deb packages doesn’t update the /boot/Image link. While the dtb directory for the standard kernel is in /boot/dtb-4.4.154-rk3339rockpi4b (with symbolic link to it from dtb), the dtbs for a custom kernel are in /usr/lib/. Why?

Fourth, looking at the kernel messages, it looks that it tries to load firmware from /system directory, which, of course, doesn’t exist. That makes wifi fail. If I make it to point to the right place, the kernel doesn’t boot.

I understand that radxa has a small team, but the distribution and the software support at the moment is awful. I have a lot of experience with the linux kernel on x86 (have few thousands of lines in the kernel source code), and none for arm architectures. I expected more mature ecosystem.

1 Like

Hi, Lucho

Thanks for all your inputs. Some of the issue are from us, some are the vendor kernel specific, moving to mainline kernel will fix it. Some are the ARM linux ecosystem issue, it’s getting better but not as good as x86 in seeing future.

  • /boot partition is too small. We will fix it, because of adding the initrd, it increase the /boot size a lot.
  • build kernel on ROCK Pi 4 of course works, we will add a wiki page for that
  • instructions doesn’t work for armbian, that’s not our issue. we use the standard kernel deb package(only we modify the ARCH to all). Armbian has it’s only kernel building instructions. Maybe we should add that on the wiki. why dtbs are in /usr/lib, we did not modify this, it’s what the kernel 4.4 do by default. If you build on ROCK Pi 4, you can specify the dtbs_install location.
  • firmware in /system, that’s the vendor kernel issue. We do not change it for easier updating with Rockchip.

For a more mature ecosystem, we need to move to mainline and more standard booting etc.

1 Like

Thank you for the answers. I expect at least

make
make modules_install
make install

in the kernel source on the RockPi to make and boot the newly compiled kernel. Right not, it doesn’t.

It is also very annoying to have random features working on this image and not working on another, so we need to shop around for the things we care about. I care about 64-bit, so I chose armbian. Bluetooth wasn’t working so I had to copy some random script from another image (maybe ubuntu, I forgot) to make it work. I still have no idea if I can use opencl on the image I have, I didn’t get to even that far.

Hallo,
as described above, the UPart works under debian with the z-wave Controller.
I switched to Ubuntu bionic yesterday because some comonets did not run on debian.
As described above, I made the entry in dr sources.list and updated the U-Boot and Kernel.
But now the “/boot/extlinux/extlinux.conf” or “/boot/extlinux/extlinux.config” file does not exist anymore.
Who can help?
Thank you

“su” and “sudo su” not work

linaro@linaro-alip:~$ su Password: su: Authentication failure

Please check your /etc/fstab, if the /boot is proper mount. If not, you should install rockchip-fstab package, which will mount the boot partition on /boot automatically.

The root password is random by default. You should use sudo su and input the password of user linaro to change to root.

Hallo,

the package rockpi4-dtbo was missing.
Now everything is back.
Thomas

linaro@linaro-alip:~$ fdisk -l
-bash: fdisk: command not found
linaro@linaro-alip:~$ sudo su
-bash: sudo: command not found
linaro@linaro-alip:~$

Wow, sudo not found, you are having big trouble :slight_smile:

ls -l /usr/bin/sudo

if nothing there, you probably want to re-flash your card with a new image. Other wise
export PATH="$PATH:/usr/bin"

1 Like