Quantcast
Channel: Linux Device Hacking
Viewing all articles
Browse latest Browse all 3247

Promwad-ThinClient - can't boot 6.11 kernel (3 replies)

$
0
0
Hi, i have a device Promwad-ThinClient (or AK Systems Thin client AK1100) (or DEPO Sky A60).

Uboot output:
U-Boot 2011.06 (Jan 03 2013 - 16:19:06)
Promwad-ThinClient

SoC:   Kirkwood 88F6282_?? RevID 0x01
DRAM:  1 GiB
NAND:  1024 MiB
In:    serial
Out:   serial
Err:   serial
Net:   egiga0, egiga1
88E1121 Initialized on egiga0, devadr 1
88E1121 Initialized on egiga1, devadr 0
Hit any key to stop autoboot:  0 
Marvell>>



This is a thin client armv5tel, in my country they are sold in large quantities at flea markets for pennies.

Some guy has already created a topic about my device - his thread helped me - it has links to source code of stock uboot (2011.06) and stock downstream kernel (2.6.39.2).

For this device I used the stock downstream kernel + openwrt 23.05.5 rootfs (screenshot in attachments) - and it works fine (network, userspace software, etc), but stock downstream kernel a very old, that's why a lot of software doesn't work correctly (for example - firefall (nf) says that the netlink kernel interface is incompatible, etc).

When, I try the stock downstream kernel + debian 12 rootfs - but the device does not start (because systemd needs 3+ kernel as far as I remember) = with stock kernel I can run only debain 7 or older.



That is, a newer kernel is needed.

There is a 6.11 kernel from bodhi for this SoC on this forum, I try it, but got error:
Marvell>> tftpboot 0x1000000 uImage
Using egiga0 device
TFTP from server 192.168.10.1; our IP address is 192.168.10.10
Filename 'uImage'.
Load address: 0x1000000
Loading: #################################################################
	 #################################################################
	 #################################################################
	 #################################################################
	 #################################################################
	 #################################################################
	 ##########
done
Bytes transferred = 5871096 (5995f8 hex)
Marvell>> bootm 0x1000000
## Booting kernel from Legacy Image at 01000000 ...
   Image Name:   Linux-6.11.6-kirkwood-tld-1
   Created:      2024-11-28   8:45:30 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    5871032 Bytes = 5.6 MiB
   Load Address: 00800000
   Entry Point:  00800000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...


Error: invalid dtb and unrecognized/unsupported machine ID
  r1=0x00000d54, r2=0x00000100
  r2[]=05 00 00 00 01 00 41 54 00 00 00 00 00 00 00 00
Available machine support:

ID (hex)	NAME
ffffffff	Generic DT based system
ffffffff	Marvell Kirkwood (Flattened Device Tree)

Please check your kernel config and/or bootloader.

*for the test, I started kernel from tftp, but in general I store OS at 1G nand




So, I understand that the reason for the error of starting a new kernel - my old uboot without FDT. And there is no newer uboot for my board
uImage I was created like this: mkimage -A arm -O linux -T kernel -C none -a 0x1000000 -e 0x1000000 -n Linux-6.11.6-kirkwood-tld-1 -d zImage-6.11.6-kirkwood-tld-1 uImage.


I tried to extract dtb/dts from my running system/kernel with various utilities (binwalk, extract-dtb, etc) + I tried extract dts/dtb from working system (from /sys, /proc, etc) - but I couldn't find dts/dtb anywhere (maybe my kernel uses an older mechanism than dts/dtb?)


printenv:
baudrate=115200
bootcmd=tc_sleep; tc_rootfs_update; setenv bootargs ${x_bootargs} ${x_bootargs_root}; run x_bootcmd_kernel; bootm 0x1000000;
bootdelay=1
eth1addr=02:50:43:55:26:c6
ethact=egiga0
ethaddr=02:50:43:fd:60:de
ipaddr=192.168.10.10
serverip=192.168.10.1
stderr=serial
stdin=serial
stdout=serial
tc_is_env_updated=yes
x_bootargs=console=tty1 console=ttyS0,115200n8 loglevel=9 mtdparts=orion_nand:1M(U-Boot),4M(uImage),-(ubipart)
x_bootargs_root=ubi.mtd=2 root=ubi0:rootfs rootfstype=ubifs
x_bootcmd_kernel=nand read.e 0x1000000 0x100000 0x400000

Environment size: 585/262140 bytes

(kernel 4M partition is enough for the stock, but for 6.11 in the future I will expand it without any problems)


uboot help:
in attachments

---
Please give me some ideas about questions:
1) How can I run the new 6.11 kernel from bodhi? Сan the downstream kernel sources or stock uboot sources help me in this? (with extract dts/dtb and etc) (I don't care that SiS video card won't work with new kernel)
2) Will it be difficult for me to build a new uboot for my board if I have stock uboot sources? If not difficult, what information about the board from stock uboot sources will I need to transfer to the new uboot sources? (I would be grateful for links to guides for this)

(the second question is most likely beyond my power, I asked purely out of interest)

Viewing all articles
Browse latest Browse all 3247

Trending Articles