[A370] Porting to Shuttle KD22

Meanwhile I know what the u-boot uart conflict is. On older Marvel SoC's the serial port was initialized by u-boot to use address 0xf1012000. But the first u-boot for the Armada 370 initialized them on 0xd0012000. Later that was changed back to 0xf1012000. That is no problem, as it is specified in the dts file.
But if you enable the EARLY_PRINTK in the kernel config, the kernel will start printing before the dtd file is read, and so the address has to be hardcoded in the kernel. As bohdi enables EARLY_PRINTK in his kernels, he has to provide different kernels for old and new Armada 370 boxes.
On OpenWrt this flag is by default not enabled, so having the correct address in the dtb file is enough. That is why the Mirabox dtb file worked for the KD22, they both have a 1st generation u-boot. (BTW, the Mirabox dtb doesn't enable the SATA ports, so that KD22 is a bit crippled), and my KS10 should have worked either. But it didn't.

The problem is target/linux/mvebu/patches-5.10/300-mvebu-Mangle-bootloader-s-kernel-arguments.patch. If I remove that, the uImage boots on my KS10. But reading that patch it's not clear to me why it would keep my KS10 from booting, and not the KD22. At this level there should be no difference.

Now I have a working dts file for my KS10, which seems to be complete. I'd like to attach it here, as it is a good start for a KD22 dts, but attaching files other than images is not possible?

/Edit: With try and error I have found that the patch disables the transfer of the bootloader provided memory size in ATAGS to fdt in function atags_to_ftd() in atags_to_fdt.c in the decompressing piggyback, which causes the crash.
I have to try if putting the right memory size in the dtb file solves this.

/Edit2: It does.

And now I have wifi problems. The board has an mini-pci slot with a Realtek wifi card:

# lspci
00:01.0 PCI bridge: Marvell Technology Group Ltd. Device 6707 (rev 01)
01:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8188CE 802.11b/g/n WiFi Adapter (rev 01)

I have build a kernel-initramfs with (I think) the right support for that:

$ grep -i RTL .config | grep -v '^#' 
CONFIG_PACKAGE_rtl8192ce-firmware=y
CONFIG_PACKAGE_kmod-rtl8180=y
CONFIG_PACKAGE_kmod-rtl8192c-common=y
CONFIG_PACKAGE_kmod-rtl8192ce=y
CONFIG_PACKAGE_kmod-rtlwifi=y
CONFIG_PACKAGE_kmod-rtlwifi-pci=y
[    9.459034] pci 0000:00:01.0: enabling device (0140 -> 0143)
[    9.464865] rtl8192ce 0000:01:00.0: enabling device (0146 -> 0147)
[    9.471205] rtl8192ce: Chip Version ID: B_CUT_88C
[    9.554165] rtl8192ce: Using firmware rtlwifi/rtl8192cfwU_B.bin
[    9.568947] rtlwifi: rtlwifi: wireless switch is on

But if I try to use it:

# iw dev wlan0 scan
command failed: Network is down (-100)

Bringing it up makes the box reboot. Not immediately, but after several seconds. Simply executing reboot is much faster.

# ip set link dev wlan0 up

BootROM 1.08
Booting from SPI flash
DDR3 Training Sequence - Ver 2.3.5 
DDR3 Training Sequence - Ended Successfully 
BootROM: Image checksum verification PASSED

So what is going on? If I included the wrong wifi driver/firmware modules, I think it would be ignored. When I boot the box to Debian, with it's udev, I get

[   20.234624] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[   20.340007] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[   20.430037] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[   20.454736] cfg80211: failed to load regulatory.db
[   20.902154] rtl8192ce 0000:01:00.0: assign IRQ: got 47
[   20.902199] pci 0000:00:01.0: enabling bus mastering
[   20.902222] rtl8192ce 0000:01:00.0: enabling device (0006 -> 0007)
[   20.978109] rtl8192ce: Chip Version ID: A_CHIP_92C
[   20.983654] rtlwifi: RTL8XXX did not boot from eeprom, check it !!
[   21.069754] rtl8192ce: Using firmware rtlwifi/rtl8192cfw.bin
[   21.303189] ieee80211 phy0: Selected rate control algorithm 'rtl_rc'
[   21.347752] rtlwifi: rtlwifi: wireless switch is on
[   23.339757] rtl8192ce 0000:01:00.0 wlp1s0: renamed from wlan0

and

# iw dev wlp1s0 scan
command failed: Network is down (-100)

and

# ip link set dev wlp1s0 up                                                                                                                                
[  745.550790][ T2718] rtl8192ce: Failed to polling write LLT done at address 0!
[  745.557988][ T2718] rtl8192ce: Init MAC failed

Stock firmware has a huge rtl8192cd module:

/lib/modules # ls -l
drwxr-xr-x    3 root     root          1624 Jan  1  2014 3.2.34
-rwxr-xr-x    1 root     root        509236 Jul 31  2014 rtl8192cd.ko

When I load it

/lib/modules # insmod rtl8192cd.ko 
[  176.814675] RTL8192C/RTL8188C driver version 1.6 (2011-07-18/2012-03-26)
[  176.821499] =====>>INSIDE rtl8192cd_init_one <<=====
[  176.826941] PCI: enabling device 0000:00:01.0 (0146 -> 0147)
[  176.840101] correcting to 32
[  176.844610] =====>>EXIT rtl8192cd_init_one <<=====
[  176.849421] =====>>INSIDE rtl8192cd_init_one <<=====
[  176.857011] =====>>EXIT rtl8192cd_init_one <<=====
[  176.861854] =====>>INSIDE rtl8192cd_init_one <<=====
[  176.875690] =====>>EXIT rtl8192cd_init_one <<=====
[  176.880508] =====>>INSIDE rtl8192cd_init_one <<=====
[  176.911792] =====>>EXIT rtl8192cd_init_one <<=====
[  176.916610] =====>>INSIDE rtl8192cd_init_one <<=====
[  176.924205] =====>>EXIT rtl8192cd_init_one <<=====

After that I have 5 interfaces:

/lib/modules # ip a
1: lo: <LOOPBACK> mtu 16436 qdisc noop 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop qlen 532
    link/ether 00:50:43:1a:23:08 brd ff:ff:ff:ff:ff:ff
3: sit0: <NOARP> mtu 1480 qdisc noop 
    link/sit 0.0.0.0 brd 0.0.0.0
4: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop qlen 1000
    link/ether 64:5a:04:26:5e:60 brd ff:ff:ff:ff:ff:ff
5: wlan0-va0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop qlen 1000
    link/ether 64:5a:04:26:5e:60 brd ff:ff:ff:ff:ff:ff
6: wlan0-va1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop qlen 1000
    link/ether 64:5a:04:26:5e:60 brd ff:ff:ff:ff:ff:ff
7: wlan0-va2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop qlen 1000
    link/ether 64:5a:04:26:5e:60 brd ff:ff:ff:ff:ff:ff
8: wlan0-va3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop qlen 1000
    link/ether 64:5a:04:26:5e:60 brd ff:ff:ff:ff:ff:ff

And I can bring it up:

/lib/modules # ifconfig wlan0 up
[  518.362434] [PHY_ConfigMACWithParaFile][MACPHY_REG_92C]
[  518.704389] ===> Load_92C_Firmware
[  518.733555] <=== Load_92C_Firmware
/lib/modules # ip a 
<snip>
4: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 64:5a:04:26:5e:60 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::665a:4ff:fe26:5e60/64 scope link 
       valid_lft forever preferred_lft forever

Unfortunately I don't know how to test the wifi in firmware. The only wireless command I can find is iwpriv, which isn't very useful, without further documentation.
Maybe interesting, when I bring one of the wlan0-va? interfaces up, they bring up an access point:

# iw wlo1 scan
<snip> 
BSS 64:5a:04:26:5e:60(on wlo1)
        last seen: 1091831.148s [boottime]
        TSF: 983970353 usec (0d, 00:16:23)
        freq: 2437
        beacon interval: 100 TUs
        capability: ESS ShortSlotTime (0x0401)
        signal: -47.00 dBm
        last seen: 4588 ms ago
        Information elements from Probe Response frame:
        SSID: RTL8186-default
        Supported rates: 1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 
        DS Parameter set: channel 6
        ERP: <no flags>
        Extended supported rates: 24.0 36.0 48.0 54.0 

Suggestions?

I would forget about Realtek WLAN chipsets (yes, their PCI(e) department isn't quite as bad as the USB side of the company (Reasil), still - just don't…).

New problem. Managed to build an kernel-initramfs and a squashfs-sysupgrade. The kernel-initramfs boots fine, everything seems to work, but sysupgrade silently fails. From the documentation I understood that the partitions kernel and rootfs would automagically be used, when available.
The partition table at the moment is

root@OpenWrt:/# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00800000 00020000 "kernel"
mtd1: 00600000 00020000 "initrd"
mtd2: 07200000 00020000 "rootfs"
mtd3: 000c0000 00010000 "u-boot"
mtd4: 00010000 00010000 "u-boot-env"
mtd5: 00030000 00010000 "unused"

where mtd0-2 is nand, and mtd3-5 is nor. At the moment kernel-initramfs is flashed in mtd0 (I'm trying to install without serial access, although I have that, and this is a intermediate stage).
When trying to sysupgrade, it behaves normal (as in, closes all daemons and reboots) but after reboot still the kernel-initramfs is active.
Maybe there is something wrong with drivers? From dmesg:

[    0.995774] nand: device found, Manufacturer ID: 0xad, Chip ID: 0xf1
[    1.002249] nand: Hynix H27U1G8F2BTR-BC
[    1.006109] nand: 128 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
[    1.013754] nand: WARNING: pxa3xx_nand-0: the ECC used on your system is too weak compared to the one required by the NAND chip
[    1.026124] Bad block table found at page 65472, version 0x01
[    1.032510] Bad block table found at page 65408, version 0x01
[    1.045212] 3 fixed-partitions partitions found on MTD device pxa3xx_nand-0
[    1.052307] Creating 3 MTD partitions on "pxa3xx_nand-0":
[    1.057761] 0x000000000000-0x000000800000 : "kernel"
[    1.063599] 0x000000800000-0x000000e00000 : "initrd"
[    1.069326] 0x000000e00000-0x000008000000 : "rootfs"
[    1.075342] mtd: device 2 (rootfs) set to be root filesystem
[    1.081618] mtdsplit: error occured while reading from "rootfs"
[    1.090638] spi-nor spi0.0: m25p80-nonjedec (1024 Kbytes)
[    1.102598] 3 fixed-partitions partitions found on MTD device spi0.0
[    1.109095] Creating 3 MTD partitions on "spi0.0":
[    1.113919] 0x000000000000-0x0000000c0000 : "u-boot"
[    1.119750] 0x0000000c0000-0x0000000d0000 : "u-boot-env"
[    1.125800] 0x0000000d0000-0x000000100000 : "unused"

Tried to rename rootfs to ubi (with no other reason than that is the rootfs name on my router) but that didn't help either.

@Mijzelf, do you have any update on your machine now?
I would like to test the KD10 dtb file on my KD22. Can you share it?

I gave up on OpenWrt on this box, couldn't get sysupgrade to work. It's running Debian now, and loads uImage and uInitrd from harddisk. (Takes a full minute, but who cares)
And yes you can have my dts file, you can find it attached here.

Thanks, I've found it in the meanwhile :slight_smile:
I don't think, a missing upgrade is a so big thing.
How much space a bare system takes on you flashdrive?

There is no flashdrive. Just a classic harddisk. The rootfs is 2.4GB, but I didn't try to keep it lean.

Hi @vinibali, based on the info available I compiled a firmware for the KD22:
openwrt-shuttle_kd22.zip

To install the firmware (on your own risk):

  1. Boot via via tftp the initrd image:
    tftpboot 0x1200000 openwrt-kd22-initramfs-kernel.bin
    bootm 0x1200000
  2. Once booted, transfer the sysupgrade image to the device, and perform a sysupgrade:
    sysupgrade -n openwrt-kd22-squashfs-sysupgrade.bin
  3. Wait until it finish, and ssh to 192.168.1.1

I noticed there is a paramenter in the uboot env which may mangle the kernel loading:
load0=nand read.e 0x02000000 0 360000
Probably, with this config, it is only able to load 0x360000 bytes = 3.4 MiB.

You may need to increase this size if possible via Uboot command line. If not possible, then we could split the kernel in two parts to flash the second one on the initrd partition.

I was playing with the sources so far this day.
And I managed to modify the Buffalo LS421DE's dts and device values to get a bootable build with working:

  • ethernet (need to change to the ethernet device to ge0_rgmii_pins in dts)
  • sata
    It's able to handle the disks too, but I cannot make the rootfs work.
    I would say the KS10 dts is pretty unusable this case, it's even has the rattling trigger sound on the pc speaker.

This is the patch I've used for my own compilation

diff --git a/target/linux/mvebu/cortexa9/base-files/lib/upgrade/platform.sh b/target/linux/mvebu/cortexa9/base-files/lib/upgrade/platform.sh
index 18b978d437..8b55f591ad 100755
--- a/target/linux/mvebu/cortexa9/base-files/lib/upgrade/platform.sh
+++ b/target/linux/mvebu/cortexa9/base-files/lib/upgrade/platform.sh
@@ -25,7 +25,8 @@ platform_check_image() {
 
 platform_do_upgrade() {
 	case "$(board_name)" in
-	buffalo,ls421de)
+	buffalo,ls421de|\
+	shuttle,kd22)
 		nand_do_upgrade "$1"
 		;;
 	ctera,c200-v2)
diff --git a/target/linux/mvebu/files/arch/arm/boot/dts/armada-370-shuttle-kd22.dts b/target/linux/mvebu/files/arch/arm/boot/dts/armada-370-shuttle-kd22.dts
new file mode 100644
index 0000000000..f725b6b6d7
--- /dev/null
+++ b/target/linux/mvebu/files/arch/arm/boot/dts/armada-370-shuttle-kd22.dts
@@ -0,0 +1,258 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Device Tree file for Shuttle Omninas KD22
+ */
+
+/dts-v1/;
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/gpio/gpio.h>
+#include "armada-370.dtsi"
+
+/ {
+	model = "Shuttle Omninas KD22";
+	compatible = "shuttle,kd22", "marvell,armada370", "marvell,armada-370-xp";
+
+	chosen {
+		bootargs = "earlycon";
+		stdout-path = "serial0:115200n8";
+		append-rootblock = "nullparameter="; /* override the bootloader args */
+	};
+
+	memory@0 {
+		device_type = "memory";
+		reg = <0x00000000 0x20000000>; /* 512 MB */
+	};
+
+	soc {
+		ranges = <MBUS_ID(0xf0, 0x01) 0 0xd0000000 0x100000
+			  MBUS_ID(0x01, 0xe0) 0 0xfff00000 0x100000
+			  MBUS_ID(0x09, 0x01) 0 0xf1100000 0x10000>;
+
+		internal-regs {
+			gpio_leds {
+				compatible = "gpio-leds";
+				pinctrl-names = "default";
+
+				red_system_led {
+					label = "ks10:red:system";
+					gpios = <&gpio0 29 GPIO_ACTIVE_HIGH>;
+					default-state = "off";
+				};
+
+				blue_system_led {
+					label = "ks10:blue:system";
+					gpios = <&gpio0 30 GPIO_ACTIVE_HIGH>;
+					default-state = "on";
+				};
+
+				blue_hdd_led {
+					label = "ks10:blue:hdd";
+					gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>;
+					default-state = "off";
+				};
+
+				blue_sd_led {
+					label = "ks10:blue:sd";
+					gpios = <&gpio0 27 GPIO_ACTIVE_HIGH>;
+					default-state = "off";
+				};
+
+				blue_usb_led {
+					label = "ks10:blue:usb";
+					gpios = <&gpio0 31 GPIO_ACTIVE_HIGH>;
+					default-state = "off";
+				};
+			};
+
+			gpio_keys {
+				compatible = "gpio-keys";
+				pinctrl-0 = <&power_button_pin
+							 &reset_button_pin>;
+				pinctrl-names = "default";
+
+				power_button {
+					label = "Power Button";
+					linux,code = <KEY_POWER>;
+					gpios = <&gpio1 24 GPIO_ACTIVE_HIGH>;
+				};
+
+				reset_button {
+					label = "Reset Button";
+					linux,code = <KEY_RESTART>;
+					gpios = <&gpio0 24 GPIO_ACTIVE_HIGH>;
+				};
+			};
+
+			gpio_poweroff {
+				compatible = "gpio-poweroff";
+				pinctrl-0 = <&poweroff>;
+				pinctrl-names = "default";
+				gpios = <&gpio1 23 GPIO_ACTIVE_HIGH>;
+			};
+		};
+	};
+};
+
+&i2c0 {
+	pinctrl-0 = <&i2c0_pins>;
+	pinctrl-names = "default";
+	clock-frequency = <100000>;
+	status = "okay";
+	pcf8563@51 {
+		compatible = "nxp,pcf8563";
+		reg = <0x51>;
+		wakeup-source;
+	};
+};
+
+&eth0 {
+	pinctrl-0 = <&ge0_rgmii_pins>;
+	pinctrl-names = "default";
+	status = "okay";
+	phy-handle = <&ethphy0>;
+	phy-connection-type = "rgmii-id";
+};
+
+&mdio {
+	pinctrl-0 = <&mdio_pins>;
+	pinctrl-names = "default";
+	ethphy0: ethernet-phy@0 {
+		reg = <0>;
+	};
+};
+
+&pciec {
+	status = "okay";
+
+	/* Internal mini-PCIe connector */
+	pcie@1,0 {
+		/* Port 0, Lane 0 */
+		status = "okay";
+	};
+
+	/* For the KD21 or KD22 USB3 might be connected here */
+	pcie@2,0 {
+		/* Port 1, Lane 0 */
+		status = "okay";
+	};
+};
+
+&pinctrl {
+
+	power_button_pin: power-button-pin {
+		marvell,pins = "mpp56";
+		marvell,function = "gpio";
+	};
+
+	reset_button_pin: reset-button-pin {
+		marvell,pins = "mpp28";
+		marvell,function = "gpio";
+	};
+
+	poweroff: poweroff {
+		marvell,pins = "mpp55";
+		marvell,function = "gpio";
+	};
+};
+
+&rtc {
+	status = "disabled";
+};
+
+&sata {
+	nr-ports = <2>;
+	status = "okay";
+	#address-cells = <1>;
+	#size-cells = <0>;
+
+	hdd0_temp: sata-port@0 {
+		reg = <0>;
+		#thermal-sensor-cells = <0>;
+	};
+
+	hdd1_temp: sata-port@1 {
+		reg = <1>;
+		#thermal-sensor-cells = <0>;
+	};
+};
+
+&sdio {
+	pinctrl-0 = <&sdio_pins3>;
+	pinctrl-names = "default";
+	status = "okay";
+	/* No CD or WP GPIOs */
+	broken-cd;
+};
+
+&nand_controller {
+	status = "okay";
+
+	nand@0 {
+		reg = <0>;
+		label = "pxa3xx_nand-0";
+		nand-rb = <0>;
+		marvell,nand-keep-config;
+		nand-on-flash-bbt;
+		nand-ecc-strength = <4>;
+		nand-ecc-step-size = <512>;
+
+		partitions {
+			compatible = "fixed-partitions";
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			partition@0 {
+				label = "kernel";
+				reg = <0x0000000 0x0800000>; /* 8MiB*/
+			};
+			partition@800000 {
+				label = "initrd";
+				reg = <0x0800000 0x0600000>; /* 6MiB*/
+			};
+			partition@e00000 {
+				label = "ubi";
+				reg = <0x0e00000 0x7200000>; /* 114MiB*/
+			};
+		};
+	};
+};
+
+&spi0 {
+	pinctrl-0 = <&spi0_pins2>;
+	pinctrl-names = "default";
+	status = "okay";
+
+	spi-flash@0 {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		compatible = "m25p80-nonjedec";
+		reg = <0>;
+		spi-max-frequency = <20000000>;
+
+		partition@0 {
+			label = "u-boot";
+			reg = <0x00000000 0x000c0000>;
+			read-only;
+		};
+
+		partition@c0000 {
+			label = "u-boot-env";
+			reg = <0x000c0000 0x00010000>;
+			read-only;
+		};
+
+		partition@d0000 {
+			label = "unused";
+			reg = <0x000d0000 0x00030000>;
+			read-only;
+		};
+	};
+};
+
+&usb0 {
+	status = "okay";
+};
+
+&usb1 {
+	status = "okay";
+};
diff --git a/target/linux/mvebu/image/cortexa9.mk b/target/linux/mvebu/image/cortexa9.mk
index d9738903fb..35eb845208 100644
--- a/target/linux/mvebu/image/cortexa9.mk
+++ b/target/linux/mvebu/image/cortexa9.mk
@@ -269,6 +269,19 @@ define Device/plathome_openblocks-ax3-4
 endef
 TARGET_DEVICES += plathome_openblocks-ax3-4
 
+define Device/shuttle_kd22
+  $(Device/NAND-128K)
+  DEVICE_VENDOR := Shuttle
+  DEVICE_MODEL := Omninas KD22
+  FILESYSTEMS := squashfs ubifs
+  KERNEL := kernel-bin | append-dtb | uImage none
+  KERNEL_INITRAMFS := kernel-bin | append-dtb | uImage none
+  DEVICE_DTS := armada-370-shuttle-kd22
+  DEVICE_PACKAGES :=  \
+    kmod-rtc-pcf8563 kmod-usb3
+endef
+TARGET_DEVICES += shuttle_kd22
+
 define Device/solidrun_clearfog-base-a1
   DEVICE_VENDOR := SolidRun
   DEVICE_MODEL := ClearFog Base

The buzzer probably is controlled by a gpio.

This is the script I used long time ago for finding gpios in my Linkstation:

#!/bin/sh
 
GPIOBASE=`cat /sys/class/gpio/gpiochip*/base | head -n1`
GPIOmin=`expr $1 + $GPIOBASE`
GPIOmax=`expr $2 + $GPIOBASE`
nums=`seq $GPIOmin $GPIOmax` 
 
cd /sys/class/gpio
for i in $nums; do
echo $i > export; echo out >gpio$i/direction
done
 
while true; do
  for i in $nums; do
     echo 0 > gpio$i/value
 done
  sleep 1
  for i in $nums; do
     echo 1 > gpio$i/value
  done
  sleep 1
done

It toggles (blinks) gpios between min and max range of gpios, with an interval of 1 second.

Let me share my latest experiences so far:
The useable size of the kernel is limited to some 6,1 MB, at least this is what U-boot can loads, otherwise the partition itself is 8MB. This is how the serial output looks like in this case:

Shuttle>> bootm 0x2000000
## Booting kernel from Legacy Image at 02000000 ...
   Image Name:   ARM OpenWrt Linux-5.10.161
   Created:      2023-01-03   0:24:21 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    6497722 Bytes =  6.2 MB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
   Loading Kernel Image ...
<SYSTEM HALTS>

So I managed to build a somewhat usable image within this size, however we might need to split up the kernel and initrd.
What could be the resolution for the rootfs? Currently the bootargs are overwritten with the dummy values, however I cannot mount the manually created squashfs filesystem because of the missing compression algorithm. It doesn't matter if I use gzip, xz or zstd.

[  444.953077] Filesystem uses "zlib" compression. This is not supported
[  695.521651] Filesystem uses "zstd" compression. This is not supported

Another problem is that, we should pack inside the static configuration for the network interface, however we should use dhcp here. What would be a solution for this?
Another question, how should I build the images for have effect at the makefile changes?
It seems, I need to do a make distclean, but after that another build took 40 minutes on my 8 thread Ryzen machine on tmpfs.

can you post the bootlog?

Yep, sure. With your dts the UART TX doesn't seem to work.

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 5.10.161 (balazs@archBalazsPC) (arm-openwrt-linux-muslgnueabi-gcc (OpenWrt GCC 11.2.0 r20028-43d71ad93e) 11.2.0, GNU ld (GNU Binutils) 2.37) #03
[    0.000000] CPU: ARMv7 Processor [561f5811] revision 1 (ARMv7), cr=10c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
[    0.000000] OF: fdt: Machine model: Buffalo LinkStation LS421DE
[    0.000000] Memory policy: Data cache writeback
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x000000001fffffff]
[    0.000000]   HighMem  empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x000000001fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000001fffffff]
[    0.000000] CPU: All CPU(s) started in SVC mode.
[    0.000000] percpu: Embedded 11 pages/cpu s16268 r8192 d20596 u45056
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 129920
[    0.000000] Kernel command line: console=ttyS0,115200 nullparameter=
[    0.000000] Bootloader command line (ignored): console=ttyS0,115200 root=ubi0:rootfs ubi.mtd=3,2048 initrd=0x12000000 rootfstype=ubifs
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 498816K/524288K available (8192K kernel code, 629K rwdata, 1796K rodata, 9216K init, 230K bss, 25472K reserved, 0K cma-reserved, 0K highmem)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=1.
[    0.000000]  Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] L2C: DT/platform modifies aux control register: 0x12086302 -> 0x1a086302
[    0.000000] Aurora cache controller enabled, 4 ways, 256 kB
[    0.000000] Aurora: CACHE_ID 0x00000100, AUX_CTRL 0x1a086302
[    0.000000] Switching to timer-based delay loop, resolution 53ns
[    0.000007] sched_clock: 32 bits at 18MHz, resolution 53ns, wraps every 114840871909ns
[    0.000022] clocksource: armada_370_xp_clocksource: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 102208375848 ns
[    0.000278] Calibrating delay loop (skipped), value calculated using timer frequency.. 37.39 BogoMIPS (lpj=186996)
[    0.000297] pid_max: default: 32768 minimum: 301
[    0.000426] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.000440] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.001081] CPU: Testing write buffer coherency: ok
[    0.001320] CPU0: thread -1, cpu 0, socket -1, mpidr 0
[    0.001933] Setting up static identity map for 0x100000 - 0x100060
[    0.002216] mvebu-soc-id: MVEBU SoC ID=0x6707, Rev=0x1
[    0.002305] mvebu-pmsu: Initializing Power Management Service Unit
[    0.002445] rcu: Hierarchical SRCU implementation.
[    0.002626] dyndbg: Ignore empty _ddebug table in a CONFIG_DYNAMIC_DEBUG_CORE build
[    0.002739] smp: Bringing up secondary CPUs ...
[    0.002750] smp: Brought up 1 node, 1 CPU
[    0.002758] SMP: Total of 1 processors activated (37.39 BogoMIPS).
[    0.002765] CPU: All CPU(s) started in SVC mode.
[    0.006258] VFP support v0.3: implementor 56 architecture 2 part 20 variant 9 rev 6
[    0.006391] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.006410] futex hash table entries: 256 (order: 2, 16384 bytes, linear)
[    0.006489] pinctrl core: initialized pinctrl subsystem
[    0.007405] NET: Registered protocol family 16
[    0.007859] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.008578] thermal_sys: Registered thermal governor 'step_wise'
[    0.008646] thermal_sys: hdd-thermal: missing polling-delay-passive property
[    0.008661] thermal_sys: failed to build thermal zone hdd-thermal: -22
[    0.008670] thermal_sys: ethphy-thermal: missing polling-delay-passive property
[    0.008678] thermal_sys: failed to build thermal zone ethphy-thermal: -22
[    0.008687] cpuidle: using governor ladder
[    0.008815] mvebu-pmsu: CPU idle is currently broken: disabling
[    0.058979] cryptd: max_cpu_qlen set to 1000
[    0.063046] SCSI subsystem initialized
[    0.064396] usbcore: registered new interface driver usbfs
[    0.064441] usbcore: registered new interface driver hub
[    0.064481] usbcore: registered new device driver usb
[    0.069256] clocksource: Switched to clocksource armada_370_xp_clocksource
[    0.069966] NET: Registered protocol family 2
[    0.070232] IP idents hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.070794] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes, linear)
[    0.070836] TCP established hash table entries: 4096 (order: 2, 16384 bytes, linear)
[    0.070867] TCP bind hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.070907] TCP: Hash tables configured (established 4096 bind 4096)
[    0.070985] UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.071005] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.071145] NET: Registered protocol family 1
[    0.071174] PCI: CLS 0 bytes, default 64
[    0.159536] workingset: timestamp_bits=14 max_order=17 bucket_order=3
[    0.163168] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.163184] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.165530] armada-370-pinctrl d0018000.pin-ctrl: registered pinctrl driver
[    0.167280] mvebu-pcie soc:pcie@82000000: host bridge /soc/pcie@82000000 ranges:
[    0.167323] mvebu-pcie soc:pcie@82000000:      MEM 0x00d0040000..0x00d0041fff -> 0x0000040000
[    0.167345] mvebu-pcie soc:pcie@82000000:      MEM 0x00d0080000..0x00d0081fff -> 0x0000080000
[    0.167366] mvebu-pcie soc:pcie@82000000:      MEM 0xffffffffffffffff..0x00fffffffe -> 0x0100000000
[    0.167385] mvebu-pcie soc:pcie@82000000:       IO 0xffffffffffffffff..0x00fffffffe -> 0x0100000000
[    0.167403] mvebu-pcie soc:pcie@82000000:      MEM 0xffffffffffffffff..0x00fffffffe -> 0x0200000000
[    0.167417] mvebu-pcie soc:pcie@82000000:       IO 0xffffffffffffffff..0x00fffffffe -> 0x0200000000
[    0.167585] mvebu-pcie soc:pcie@82000000: PCI host bridge to bus 0000:00
[    0.167602] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.167614] pci_bus 0000:00: root bus resource [mem 0xd0040000-0xd0041fff] (bus address [0x00040000-0x00041fff])
[    0.167624] pci_bus 0000:00: root bus resource [mem 0xd0080000-0xd0081fff] (bus address [0x00080000-0x00081fff])
[    0.167633] pci_bus 0000:00: root bus resource [mem 0xf8000000-0xffdfffff]
[    0.167642] pci_bus 0000:00: root bus resource [io  0x1000-0xeffff]
[    0.167756] pci 0000:00:01.0: [11ab:6707] type 01 class 0x060400
[    0.168951] PCI: bus0: Fast back to back transfers disabled
[    0.168968] pci 0000:00:01.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    0.169083] pci 0000:01:00.0: [1b6f:7023] type 00 class 0x0c0330
[    0.169118] pci 0000:01:00.0: reg 0x10: [mem 0x40000000-0x40007fff 64bit]
[    0.169248] pci 0000:01:00.0: enabling Extended Tags
[    0.169332] pci 0000:01:00.0: supports D1 D2
[    0.169341] pci 0000:01:00.0: PME# supported from D0 D1 D2 D3hot
[    0.169378] pci 0000:01:00.0: 2.000 Gb/s available PCIe bandwidth, limited by 2.5 GT/s PCIe x1 link at 0000:00:01.0 (capable of 4.000 Gb/s with 5.0 GT/s PCIe x1 link)
[    0.170422] PCI: bus1: Fast back to back transfers disabled
[    0.170439] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
[    0.170496] pci 0000:00:01.0: BAR 8: assigned [mem 0xf8000000-0xf80fffff]
[    0.170510] pci 0000:01:00.0: BAR 0: assigned [mem 0xf8000000-0xf8007fff 64bit]
[    0.170529] pci 0000:00:01.0: PCI bridge to [bus 01]
[    0.170542] pci 0000:00:01.0:   bridge window [mem 0xf8000000-0xf80fffff]
[    0.170594] pci 0000:00:01.0: enabling device (0140 -> 0142)
[    0.175239] mv_xor d0060800.xor: Marvell shared XOR driver
[    0.230078] mv_xor d0060800.xor: Marvell XOR (Registers Mode): ( xor cpy intr )
[    0.230309] mv_xor d0060900.xor: Marvell shared XOR driver
[    0.290071] mv_xor d0060900.xor: Marvell XOR (Registers Mode): ( xor cpy intr )
[    0.290391] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[    0.290878] printk: console [ttyS0] disabled
[    0.311046] d0012000.serial: ttyS0 at MMIO 0xd0012000 (irq = 27, base_baud = 12500000) is a 16550A
[    1.107993] printk: console [ttyS0] enabled
[    1.117921] loop: module loaded
[    1.125030] sata_mv d00a0000.sata: slots 32 ports 2
[    1.133248] scsi host0: sata_mv
[    1.137435] scsi host1: sata_mv
[    1.141124] ata1: SATA max UDMA/133 irq 35
[    1.145248] ata2: SATA max UDMA/133 irq 35
[    1.151893] nand: device found, Manufacturer ID: 0xad, Chip ID: 0xf1
[    1.158289] nand: Hynix H27U1G8F2BTR-BC
[    1.162201] nand: 128 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
[    1.170129] Bad block table found at page 65472, version 0x01
[    1.176259] Bad block table found at page 65408, version 0x01
[    1.182255] nand_read_bbt: bad block at 0x0000011e0000
[    1.187424] nand_read_bbt: bad block at 0x000007640000
[    1.200455] 3 fixed-partitions partitions found on MTD device pxa3xx_nand-0
[    1.207467] Creating 3 MTD partitions on "pxa3xx_nand-0":
[    1.212947] 0x000000000000-0x000000800000 : "kernel"
[    1.219060] 0x000000800000-0x000000e00000 : "initrd"
[    1.224794] 0x000001400000-0x000008600000 : "rootfs"
[    1.229853] mtd: partition "rootfs" extends beyond the end of device "pxa3xx_nand-0" -- size truncated to 0x6c00000
[    1.241929] mtd: setting mtd2 (rootfs) as root device
[    1.247206] 1 squashfs-split partitions found on MTD device rootfs
[    1.253463] 0x000001800000-0x000008000000 : "rootfs_data"
[    1.264127] spi-nor spi0.0: found s25fl008k, expected mx25l8005
[    1.270492] spi-nor spi0.0: s25fl008k (1024 Kbytes)
[    1.282623] 2 fixed-partitions partitions found on MTD device spi0.0
[    1.289025] Creating 2 MTD partitions on "spi0.0":
[    1.293926] 0x000000000000-0x0000000f0000 : "u-boot"
[    1.300093] 0x0000000f0000-0x000000100000 : "u-boot-env"
[    1.320781] hwmon hwmon0: temp1_input not attached to any thermal zone
[    1.328989] mvneta d0070000.ethernet eth0: Using random mac address 6a:14:eb:d6:0f:71
[    1.337188] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.343773] ehci-pci: EHCI PCI platform driver
[    1.348284] ehci-platform: EHCI generic platform driver
[    1.353644] ehci-orion: EHCI orion driver
[    1.357776] orion-ehci d0050000.usb: EHCI Host Controller
[    1.363243] orion-ehci d0050000.usb: new USB bus registered, assigned bus number 1
[    1.370988] orion-ehci d0050000.usb: irq 33, io mem 0xd0050000
[    1.399299] orion-ehci d0050000.usb: USB 2.0 started, EHCI 1.00
[    1.405838] hub 1-0:1.0: USB hub found
[    1.410118] hub 1-0:1.0: 1 port detected
[    1.414761] usbcore: registered new interface driver usb-storage
[    1.421084] i2c /dev entries driver
[    1.449656] orion_wdt: Initial timeout 229 sec
[    1.454499] sdhci: Secure Digital Host Controller Interface driver
[    1.460758] sdhci: Copyright(c) Pierre Ossman
[    1.465277] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.478693] marvell-cesa d0090000.crypto: CESA device successfully registered
[    1.486713] NET: Registered protocol family 10
[    1.493160] Segment Routing with IPv6
[    1.496916] NET: Registered protocol family 17
[    1.501659] 8021q: 802.1Q VLAN Support v1.8
[    1.505953] Registering SWP/SWPB emulation handler
[    1.659167] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl F300)
[    1.667873] ata1.00: supports DRM functions and may not be fully accessible
[    1.674892] ata1.00: ATA-9: Samsung SSD 850 EVO 120GB, EMT02B6Q, max UDMA/133
[    1.682073] ata1.00: 234441648 sectors, multi 1: LBA48 NCQ (depth 31/32)
[    1.700185] ata1.00: supports DRM functions and may not be fully accessible
[    1.708115] ata1.00: configured for UDMA/133
[    1.712775] scsi 0:0:0:0: Direct-Access     ATA      Samsung SSD 850  2B6Q PQ: 0 ANSI: 5
[    1.722121] sd 0:0:0:0: [sda] 234441648 512-byte logical blocks: (120 GB/112 GiB)
[    1.730267] sd 0:0:0:0: [sda] Write Protect is off
[    1.735197] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    1.768500]  sda: sda1 sda2 sda3
[    1.773009] sd 0:0:0:0: [sda] Attached SCSI disk
[    2.229158] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl F300)
[    2.237760] ata2.00: supports DRM functions and may not be fully accessible
[    2.244779] ata2.00: ATA-11: KINGSTON SUV500960G, 003056RA, max UDMA/133
[    2.251523] ata2.00: 1875385008 sectors, multi 1: LBA48 NCQ (depth 31/32)
[    2.269606] ata2.00: supports DRM functions and may not be fully accessible
[    2.277303] ata2.00: configured for UDMA/133
[    2.281950] scsi 1:0:0:0: Direct-Access     ATA      KINGSTON SUV5009 56RA PQ: 0 ANSI: 5
[    2.291199] sd 1:0:0:0: [sdb] 1875385008 512-byte logical blocks: (960 GB/894 GiB)
[    2.298813] sd 1:0:0:0: [sdb] 4096-byte physical blocks
[    2.304662] sd 1:0:0:0: [sdb] Write Protect is off
[    2.309633] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    2.320591] sd 1:0:0:0: [sdb] Attached SCSI disk
[    7.618552] Freeing unused kernel memory: 9216K
[    7.640116] Run /init as init process
[    7.886212] init: Console is alive
[    7.890280] init: - watchdog -
[    7.901137] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    7.935481] raid6: skip pq benchmark and using algorithm int32x8
[    7.941598] raid6: using intx1 recovery algorithm
[    7.948050] xor: measuring software checksum speed
[    7.961531]    arm4regs        :  1145 MB/sec
[    7.977145]    8regs           :   875 MB/sec
[    7.991130]    32regs          :  1025 MB/sec
[    7.995508] xor: using function: arm4regs (1145 MB/sec)
[    8.051866] Btrfs loaded, crc32c=crc32c-generic
[    8.083105] armada-370-pinctrl d0018000.pin-ctrl: pin PIN15 already requested by d0070000.ethernet; cannot claim for gpio_keys
[    8.094633] armada-370-pinctrl d0018000.pin-ctrl: pin-15 (gpio_keys) status -22
[    8.101995] armada-370-pinctrl d0018000.pin-ctrl: could not request pin 15 (PIN15) from group mpp15  on device d0018000.pin-ctrl
[    8.113623] gpio-keys gpio_keys: Error applying setting, reverse things back
[    8.120729] gpio-keys: probe of gpio_keys failed with error -22
[    8.177787] rtc-rs5c372 0-0032: can't read registers
[    8.182838] rtc-rs5c372: probe of 0-0032 failed with error -5
[    8.190969] xhci_hcd 0000:01:00.0: xHCI Host Controller
[    8.196249] xhci_hcd 0000:01:00.0: new USB bus registered, assigned bus number 2
[    8.203949] xhci_hcd 0000:01:00.0: hcc params 0x040040a5 hci version 0x100 quirks 0x0000000000080490
[    8.241192] hub 2-0:1.0: USB hub found
[    8.245368] hub 2-0:1.0: 2 ports detected
[    8.249795] xhci_hcd 0000:01:00.0: xHCI Host Controller
[    8.255060] xhci_hcd 0000:01:00.0: new USB bus registered, assigned bus number 3
[    8.262548] xhci_hcd 0000:01:00.0: Host supports USB 3.0 SuperSpeed
[    8.269493] usb usb3: We don't know the algorithms for LPM for this host, disabling LPM.
[    8.278097] hub 3-0:1.0: USB hub found
[    8.282413] hub 3-0:1.0: 2 ports detected
[    8.289895] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    8.307505] init: - preinit -
[    8.454256] random: jshn: uninitialized urandom read (4 bytes read)
[    8.500159] random: jshn: uninitialized urandom read (4 bytes read)
[    8.652198] random: jshn: uninitialized urandom read (4 bytes read)
[    8.765151] mvneta d0070000.ethernet eth0: PHY [d0072004.mdio-mii:00] driver [Marvell 88E1510] (irq=POLL)
[    8.775029] mvneta d0070000.ethernet eth0: configuring for phy/rgmii-id link mode
Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
[   12.903649] procd: - early -
[   12.906673] procd: - watchdog -
[   13.476876] procd: - watchdog -
[   13.480408] procd: - ubus -
[   13.488199] random: ubusd: uninitialized urandom read (4 bytes read)
[   13.533634] random: ubusd: uninitialized urandom read (4 bytes read)
[   13.540437] random: ubusd: uninitialized urandom read (4 bytes read)
[   13.549028] procd: - init -
Please press Enter to activate this console.
[   13.946211] kmodloader: loading kernel modules from /etc/modules.d/*
[   13.956932] urngd: v1.0.2 started.
[   14.075949] random: crng init done
[   14.079413] random: 27 urandom warning(s) missed due to ratelimiting
[   14.139416] hwmon hwmon2: temp1_input not attached to any thermal zone
[   14.149483] hwmon hwmon3: temp1_input not attached to any thermal zone
[   14.160335] armada-370-pinctrl d0018000.pin-ctrl: pin PIN14 already requested by d0070000.ethernet; cannot claim for gpio_fan
[   14.171781] armada-370-pinctrl d0018000.pin-ctrl: pin-14 (gpio_fan) status -22
[   14.179040] armada-370-pinctrl d0018000.pin-ctrl: could not request pin 14 (PIN14) from group mpp14  on device d0018000.pin-ctrl
[   14.190689] gpio-fan gpio_fan: Error applying setting, reverse things back
[   14.197612] gpio-fan: probe of gpio_fan failed with error -22
[   14.324372] PPP generic driver version 2.4.2
[   14.330997] NET: Registered protocol family 24
[   14.366708] kmodloader: done loading kernel modules from /etc/modules.d/*
[   29.300960] mvneta d0070000.ethernet eth0: PHY [d0072004.mdio-mii:00] driver [Marvell 88E1510] (irq=POLL)
[   29.351067] mvneta d0070000.ethernet eth0: configuring for phy/rgmii-id link mode
[   29.401283] br-lan: port 1(eth0) entered blocking state
[   29.406552] br-lan: port 1(eth0) entered disabled state
[   29.412123] device eth0 entered promiscuous mode
[   32.489734] mvneta d0070000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[   32.497820] br-lan: port 1(eth0) entered blocking state
[   32.503107] br-lan: port 1(eth0) entered forwarding state
[   32.510148] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
[  107.385568] br-lan: port 1(eth0) entered disabled state
[  107.417148] device eth0 left promiscuous mode
[  107.421686] br-lan: port 1(eth0) entered disabled state
[  107.438471] mvneta d0070000.ethernet eth0: Link is Down
[  109.312256] mvneta d0070000.ethernet eth0: configuring for phy/rgmii-id link mode
[  109.337775] br-lan: port 1(eth0) entered blocking state
[  109.343114] br-lan: port 1(eth0) entered disabled state
[  109.348609] device eth0 entered promiscuous mode
[  112.489727] mvneta d0070000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[  112.497813] br-lan: port 1(eth0) entered blocking state
[  112.503099] br-lan: port 1(eth0) entered forwarding state
[  112.510011] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
[  232.457485] Filesystem uses "zlib" compression. This is not supported
[  232.464919] F2FS-fs (mtdblock2): Magic Mismatch, valid(0xf2f52010) - read(0x80a6fe04)
[  232.472847] F2FS-fs (mtdblock2): Can't find valid F2FS filesystem in 1th superblock
[  232.480937] F2FS-fs (mtdblock2): Magic Mismatch, valid(0xf2f52010) - read(0xd910e215)
[  232.488822] F2FS-fs (mtdblock2): Can't find valid F2FS filesystem in 2th superblock
[  433.107706] Filesystem uses "zlib" compression. This is not supported
[  433.115040] F2FS-fs (mtdblock2): Magic Mismatch, valid(0xf2f52010) - read(0x80a6fe04)
[  433.122973] F2FS-fs (mtdblock2): Can't find valid F2FS filesystem in 1th superblock
[  433.131064] F2FS-fs (mtdblock2): Magic Mismatch, valid(0xf2f52010) - read(0xd910e215)
[  433.138949] F2FS-fs (mtdblock2): Can't find valid F2FS filesystem in 2th superblock
[  444.953077] Filesystem uses "zlib" compression. This is not supported
[  515.639159] Filesystem uses "zlib" compression. This is not supported
[  633.611207] Filesystem uses "zlib" compression. This is not supported
[  695.521651] Filesystem uses "zstd" compression. This is not supported
[ 1081.375633] /dev/mtd3: Can't open blockdev
[ 1086.653967] F2FS-fs (mtdblock3): Found nat_bits in checkpoint
[ 1086.676570] F2FS-fs (mtdblock3): Mounted with checkpoint version = 38d18803
[ 1110.947346] br-lan: port 1(eth0) entered disabled state
[ 1110.962778] device eth0 left promiscuous mode
[ 1110.967251] br-lan: port 1(eth0) entered disabled state
[ 1110.983392] mvneta d0070000.ethernet eth0: Link is Down
[ 1115.098211] sd 1:0:0:0: [sdb] Synchronizing SCSI cache
[ 1115.105718] sd 1:0:0:0: [sdb] Stopping disk
[ 1115.492322] sd 0:0:0:0: [sda] Synchronizing SCSI cache
[ 1115.499729] sd 0:0:0:0: [sda] Stopping disk
[ 1115.533241] reboot: Power down
[ 1115.537019] reboot: Restarting system with command 'Power off'

Your mtd NAND partitions are wrong

[ 1.212947] 0x000000000000-0x000000800000 : "kernel"
[ 1.219060] 0x000000800000-0x000000e00000 : "initrd"
[ 1.224794] 0x000001400000-0x000008600000 : "rootfs"
[ 1.229853] mtd: partition "rootfs" extends beyond the end of device "pxa3xx_nand-0" -- size truncated to 0x6c00000

Since this is a NAND device you should use ubi for rootfs. You didn't define the correct size for partitions..

I fixed the serial console in my build (probably earlycon is broken afterall). Can you test it?: openwrt-shuttle_kd22.zip

BTW I'm not sure how do you install the firmware in your device, I assumed you use sysupgrade and the kernel is stored in the partition as raw data. Whereas in the Linkstation the kernel was stored as a file into a jffs2 filesystem.

So it appears a KS10 is not a singledisk KD22, but another box which just happens to have the same SoC? Can you share a picture of the PCB?

1 Like

it's on the TOH page:
https://openwrt.org/toh/shuttle/kd22

thanks, i found the misconfigured partition details in the meanwhile.

Since this is a NAND device you should use ubi for rootfs. You didn't define the correct size for partitions..

I didn't know that, thanks for that.

I fixed the serial console in my build (probably earlycon is broken afterall). Can you test it?: openwrt-shuttle_kd22.zip

No , that's still not working. I don't really have a clue why it's failing. As long as we use a static configuration for the network interface and i don't have a rootfs, I'll need the console.

BTW I'm not sure how do you install the firmware in your device, I assumed you use sysupgrade and the kernel is stored in the partition as raw data. Whereas in the Linkstation the kernel was stored as a file into a jffs2 filesystem.

I used to use mtd write for that.

Indeed it's a complete different design. For reference I'll attach the PCB photo's of the KS10.



From the looks it seems the KS10 has a shorter housing.