BPI Team. Make Kernel 6 support on BPI-W2. Please

Just take latest Kernel (now it 6.6.7) and make BASE SUPPORT on BPI-W2 (SATA, ETH, eMMC, SD). Perhaps rtd1296 is already in kernel support, as I have seen some pieces of code with this name. This will help many people, because this thing can’t even run docker, which requires some functions of new kernels. If you assemble the latest core for this device, you may even increase its sales, as it is perfect for (almost) any tasks that require full-fledged SATA. I looked at a large number of single boards, but this one was the one that satisfied me with the connectors. Thanks in advance, I hope you can.

1 Like

P.S.: I tried to build a clean kernel, but I couldn’t run it or build uImage. sinovoip, I will be glad for your support, like many other users.

This is what I get in the UART when I try to build my version of kernel 6. There is nothing further.

[Info] convert some env variable to fdt:factory node
libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND
Info: Try to add new node /factory...
libfdt fdt_add_subnode(): FDT_ERR_NOSPACE
## Booting kernel from Legacy Image at 03000000 ...
   Image Name:   Linux kernel
   Image Type:   AArch64 Linux Kernel Image (uncompressed)
   Data Size:    29811200 Bytes = 28.4 MiB
   Load Address: 03000000
   Entry Point:  03000000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK

[ROS: openRPC() intr_scpu_dev_r buf  0x00e2ffa1 s  0x00e2ffa1 e  0x00e4ffa1 i  0xd4e2ffa1
[ROS: openStubRPC() intr_w buf  0x00e6ffa1 s  0x00e6ffa1 e  0x00e8ffa1 i  0x44e7ffa1[AVCPU] Set Debug level flag  0x8fc6c4bc *flag  0x0fc5cfa0 ucache  0xafc5cfa0
[AVCPU] Set Debug level *ptrDebugFlag  0x00000001
-------------------
Audio Version = 166265 (Kylin)
Common Version = 0
Binary src compiled at Sep 21 2017 00:20:54
Note =
-------------------




[A] gloabl malloc size  0x001fff88

This boot log of 4.9.119. Looks like kernel 6 can’t startup

[Info] convert some env variable to fdt:factory node
libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND
Info: Try to add new node /factory...
libfdt fdt_add_subnode(): FDT_ERR_NOSPACE
Wrong Image Format for do_booti command
ERROR: can't get kernel image!
## Flattened Device Tree blob at 02100000
   Booting using the fdt blob at 0x2100000
   reserving fdt memory region: addr=0 size=100000
   reserving fdt memory region: addr=1f000 size=1000
   reserving fdt memory region: addr=1ffe000 size=4000
   reserving fdt memory region: addr=2200000 size=400000
   reserving fdt memory region: addr=2600000 size=c00000
   reserving fdt memory region: addr=3200000 size=b800000
   reserving fdt memory region: addr=10000000 size=14000
   reserving fdt memory region: addr=14200000 size=9200000
   Using Device Tree in place at 0000000002100000, end 000000000210e698
[FDT] mac = 00:10:20:30:40:50
Unable to update property /gmac@0x98060000:local-mac-address, err=FDT_ERR_NOTFOUND
[FDT] update MAC address
Bring UP slave CPUs

Starting Kernel ...

flushing dcache successfully.

[ROS: openRPC() intr_scpu_dev_r buf  0x00e2ffa1 s  0x00e2ffa1 e  0x00e4ffa1 i  0x00e2ffa1
[ROS: openStubRPC() intr_w buf  0x00e6ffa1 s  0x00e6ffa1 e  0x00e8ffa1 i  0x00e6ffa1[AVCPU] Set Debug level flag  0x8fc6c4bc *flag  0x0fc5cfa0 ucache  0xafc5cfa0
[AVCPU] Set Debug level *ptrDebugFlag  0x00000001
-------------------
Audio Version = 166265 (Kylin)
Common Version = 0
Binary src compiled at Sep 21 2017 00:20:54
Note =
-------------------




[A] gloabl malloc size  0x001fff88

This is just not that cheap and simple and is impossible to cover with hw sales margins.

Hardware manufacturers does not do Linux (they get it from SoC maker and apply small modifications to fit their case). They do not port Linux to mainline kernel as this game is in another league and it is impossible to cover those expense. Not to mention maintaining. This is done by community projects such as Armbian (there you could find such activity in forums and pull requests), OpenWRT, LibreElec … and/or professionals such as Collabora, Bootlin, … which will follow your wish upon payment for their living costs.

I think W2 Image Map - Banana Pi Wiki might be terribly outdated.

GitHub - jjm2473/rtd1295-next: [WIP]Linux kernel 5.9.0 for rtd129x, with eMMC supported has some work on 5.9 kernel.

I’ll try again build kernel 6 for bpi-w2. Maybe it will success.

my log goes a bit further FATAL: Audio ROS Unexpected interrupt error!!

Audio Version = 166265 (Kylin) Common Version = 0 Binary src compiled at Sep 21 2017 00:20:54 Note =

EPC: 0x8f9b1ee8 Cause: 0x00000014 Problem results from co-processor 0 Interrupt pending is 0x00000000 ExcCode = AdES Return ADDR: 0x8f9b24d0 Bad ADDR: 0xffffffff status: 0xb000db04 estatus: 0x00ef0000 ECAUSE: 0x00000000 Running Task is unknown Audio CPU Registers: z0: 0x00000000, at: 0xfffffffe, v0: 0xafc5cfa0, v1: 0x00000001 a0: 0x8fc6b534, a1: 0xffffffff, a2: 0x00000024, a3: 0x00000000 t0: 0xb000db01, t1: 0x00000062, t2: 0x00000000, t3: 0x00000000 t4: 0x8f9d63a4, t5: 0x8f9d63a8, t6: 0x00000000, t7: 0x00000000 s0: 0x00000000, s1: 0x00000000, s2: 0x00000000, s3: 0x00000000 s4: 0x00000000, s5: 0x00000000, s6: 0x00000000, s7: 0x00000000 t8: 0x03ff03ff, t9: 0xd8004c2c, k0: 0x8fc5cfb8, k1: 0x8f933b48 gp: 0x8fcc9330, sp: 0x8fc6c270, s8: 0x8fc6c270, ra: 0x8f9b24d0

===== Audio Call Trace: SP = 0x8fc6c270 ===== [ 0x8f9343a4 ] 0x0000085c/ 0x00000864 (stk_used:80 ): ROSUnexpectedInterruptHandler [ 0x8f9b24d0 ] 0x00000258/ 0x000002f0 (stk_used:64 ): writeInt