Luckfox Lyra on PicoCalc

Seems that the SD needs a specific partition table (as with many android devices). There is a file named parameters.txt in the ubuntu image which contains:

FIRMWARE_VER:8.1
MACHINE_MODEL:RK3506
MACHINE_ID:007
MANUFACTURER: RK3506
MAGIC: 0x5041524B
ATAG: 0x00200800
MACHINE: 3506
CHECK_MASK: 0x80
PWR_HLD: 0,0,A,0,1
TYPE: GPT
GROW_ALIGN: 0
CMDLINE:mtdparts=:0x00002000@0x00002000(uboot),0x00006000@0x00004000(boot),-@0x00010000(rootfs:grow)
uuid:rootfs=614e0000-0000-4b53-8000-1d28000054a9

My understanding is that mtdparts defines three partitions: uboot, boot, roofs, for which there is a .img each. I need to figure out how to translate that to a partition table.

1 Like

Why we can’t use just nand flash for it? Not enough space for Linux, right?

New keyboard firmware and driver uploaded

Battery percent reading works now. Also you can set keyboard backlight via /sys/firmware/picocalc/keyboard_backlight

4 Likes

Nope, emmc is 256MB, and Lyra image is 400M (last time I downloaded it).

I tried to manually partition my sdcard, then dd the .img to the rootfs partition without succcess. Maybe I am missing some bootloader for the sd. Could anyone upload a dump of their sdcard?

can it run nmap if it have an internet connection ?



New image uploaded.
Now system will automatically start fbterm and tmux.
A terminal file manager, fff, is included.
cmatrix is included as screen saver.

5 Likes

Great work hisptoot its getting better and better. Be great to add some more cool tools games etc. What would be amazing if a simple gui launcher can be created Gmenu2x something like that.

I was able to get a full SD card image from GitHub - platima/sbc-images: My own images for Radxa boards that work... better, and then dd the img from hisptoot on part3 (rootfs). All without windows tooling.

It boots but fails to find the root fs. Here is the log:
[ 2.892731] List of all partitions:
[ 2.892886] 1f00 262144 mtdblock0
[ 2.892896] (driver?)
[ 2.893006] b300 62521344 mmcblk0
[ 2.893014] driver: mmcblk
[ 2.893114] b301 4096 mmcblk0p1 12390000-0000-4b64-8000-700300004538
[ 2.893122]
[ 2.893241] b302 12288 mmcblk0p2 9a010000-0000-484b-8000-3e4900003a7d
[ 2.893248]
[ 2.893367] b303 943795 mmcblk0p3 614e0000-0000-4b53-8000-1d28000054a9
[ 2.893374]
[ 2.893495] No filesystem could mount root, tried:
[ 2.893500] ext4
[ 2.893566]
[ 2.893630] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,3)

Any idea?

I guess I got the wrong luckfox lyra. Mine doesn’t have the usb port on it. :frowning:

It is luckfox pico. It would work on PicoCalc, if someone ports the driver and builds a new image.

2 Likes

Is there a way to erase the existing firmware on the lyra without using the windows RKDevTool?

My understanding is once that is erased then it will read the image on the sd card?

Hi, I used a 1g tf card to make a raw image and uploaded it into sd-raw-image folder. You can try it.

I tried to trick sd disk tool into writing to a virtual disk, but failed. So I have to find a 15 years old tf card.

1 Like

You can use rkflash.sh (which calls tools/linux/Linux_Upgrade_Tool/Linux_Upgrade_Tool/upgrade_tool) from the official Luckfox Lyra sdk.

Could I ask you to compile a kernel module for the rtl8821cu usb adaptor? Thanks!

I think I just trick the sddisktool into writing to a vhd disk.

Use a hex edit tool to open SD_Firmware_Tool.exe (v1.78 version)
Find byte sequence: 83 7E 1C 07 75 05 BD
Change it to : 83 7E 1C 07 90 90 BD

Now this tool will believe all disks are removable and list them in the select list.
Create and attach a vhd disk to os. This tool will find it.


2 Likes

Thanks hisptoot, it works perfectly! For others, just dd the img to the whole sdcard, something like “dd if=picocalc-luckfox-lyra-raw-sd-2025-04-12.img of=/dev/mmcblk0 bs=4M status=progress”.

we are all rooting for you to get it done!

1 Like

New image uploaded, including scipy and rtl8821cu driver

5 Likes

Nice, thanks for the update.

Any idea why “adb shell” hangs? adbd seems to be running on Lyra, adb detects the device, but anything else just hangs forever.