How I installed Chimera Linux on PineNote

Get a console

Connect PineNote to a Linux machine in series with a USB-to-Serial board.

Open console:

# need uucp group, or use doas
picocom /dev/ttyUSB0 -b 1500000

C-a C-x to exit. Use the reset command in host terminal when the output becomes garbled.

Install file tree

Download chimera-linux-aarch64-ROOTFS-20250420-full from https://chimera-linux.org/downloads/.

mkfs.f2fs /dev/<PART>
mount /dev/<PART> /mnt
cd /mnt
bsdtar xf ~/chimera-linux-aarch64-ROOTFS-20250420-full.tar.gz
rsync -a /boot/ boot/                   # copy the kernels
rsync -a /lib/modules/ lib/modules/     # drivers, like that of WiFi
rsync -a /lib/firmware/ lib/firmware/   # frimware used by drivers
bin/chimera-chroot .

Follow the section “Prepare the System”.

apk add u-boot-menu
update-u-boot

Copy the device tree binary

Open /mnt/boot/extlinux/extlinux.conf (new) and /boot/extlinux/extlinux.conf (old).

You will find lines like this in the old extlinux.conf.

Copy the file /usr/lib/linux-image-6.12.11-pinenote-202502161807-00386-gc94452303a55/rockchip/rk3566-pinenote-v1.2.dtb to /mnt/boot/, add the following line to the new extlinux.conf:

fdt /boot/rk3566-pinenote-v1.2.dtb

It now boots from u-boot.

Fixing login terminal

The serial tty works with u-boot, Debain, but not Chimera Linux. The login prompt seems confused. Any key typed submits a line.

Replace APPEND lines in /mnt/boot/extlinux/extlinux.conf with this line:

append root=<DON'T CHANGE> ignore_loglevel rw rootwait earlycon console=tty0 console=ttyS2,1500000n8 fw_devlink=off quiet loglevel=3 systemd.show_status=auto rd.udev.log_level=3 splash plymouth.ignore-serial-consoles vt.global_cursor_default=0

Persisting change to u-boot menu

After verifying that you can log in, you may edit /etc/default/u-boot (see update-u-boot(8)). You can also do this from the very start.

/etc/default/u-boot:

U_BOOT_FDT="/boot/rk3566-pinenote-v1.2.dtb"
U_BOOT_CMDLINE="rw rootwait earlycon console=tty0 console=ttyS2,1500000n8 fw_devlink=off quiet loglevel=3 rd.udev.log_level=3 plymouth.ignore-serial-consoles vt.global_cursor_default=0 dinit_early_root_remount=rw,rshared"

Edit the update-u-boot.

# change
printf "ro single "
# to
printf "single "

I raised the question to Chimera cports.

Then apply:

# bin/chimera-chroot .
(chroot) # update-u-boot
Generating U-Boot menu at /boot/extlinux/extlinux.conf...
(chroot) # 

Wouldn’t you like static linking?

FYI, the update-u-boot source code: https://github.com/chimera-linux/cports/blob/f343575ba72c3f072b2aed3455ade7a5600a223a/main/u-boot-menu/files/update-u-boot.sh

Make u-boot default select a kernel

Always done by default. See /boot/extlinux/extlinux.conf.

WLAN

Use networkmanager. https://chimera-linux.org/docs/configuration/network

nmcli d wifi list
nmcli d wifi connect ESSID password PASSWORD

iwd (ignore this section)

iwd doesn’t seem to work. the log file shows that the Linux kernel lacks CRYPTO* or something. wpasupplicant can scan networks. iwd cannot.

apk add iwd
dinitctl enable iwd
iwctl

If you see Hardware: <Disabled> in iwctl >> Radio, the firmware is not installed (shouldn’t happen if you did rsync commands above).

Make serial console delete key work

apk add chimera-repo-user
apk add fish-shell kitty-terminfo
fish
if status is-login
    set -x TERM xterm-kitty
end

Advanced ZMODEM (Missing)

sz/rz commands don’t seem to be available on Chimera Linux repos yet.

When installed on both sides, ZMODEM allows sending and receiving files over the serial connection (opened by picocom or other programs).

Transfer files with kitty

apk add kitty-kitten

kitten transfer remote-src local-dest

Use iwd, auto connect, disable router DNS

dinitctl enable iwd
dinitctl disable networkmanager
dinitctl disable networkmanager
iwctl
  station wlan0 scan
  station wlan0 get-networks
  station wlan0 connect <SSID>

Add to /var/lib/iwd/<SSID>.psk:

[Settings]
AutoConnect=true

Add to /etc/iwd/main.conf:

[Network]
NameResolvingService=none

TK: Fix reboot

The reboot command seems to put the deice to [sleep and charge] mode. TK

Fix sysboot menu timeout

Put this at the top of /boot/extlinux/extlinux.conf:

default l1
menu title Chimera Linux
prompt 1
timeout 10

It’s probably about case sensitivity. It should all be lower case.

Epilogue

Enjoy your statically linked Linux distro!