Thank You for your continued support and contributions!
Well it turned out to be quite easy, although I wouldn't call Rockbox usable at this point.
I'll need some time to think how to set it up in way that would make any sense. SD cards are removable and hot-pluggable on this device.
Ok so if the idea was to keep Rockbox completely on the SD, I can see how that could work, but I'll need some time to think how to set it up in way that would make any sense. SD cards are removable and hot-pluggable on this device.
alexs, I thought it should have a trick action to get fastboot mode and then use "Clone tool".
Should properly run rockbox from SD by copying to loader to internal storage.
It might be implemented in the recovery tool.
With Ingenic's USB Cloner tool, the entire flash can be overwritten without disassembling the device. I have already tried erasing the entire NAND and flashing back my own NAND dumps and it worked perfectly fine.From what I can see, it loads a ~6kB u-boot SPL into the memory which does memory initialization, and then loads a pre-built u-boot binary, and this is what interacts with the cloner device from now on.So we can replace the bootloader with u-boot or even re-partition the NAND in theory, but I'm not sure if that's worth the effort to be honest.
Darn it. I was trying to find the boot select pins on the FiiO M3K, and looks like I won't be able to find it unless I pull the SoC off.boot_sel[0] (PB28) is tied to Volume Down, which is nice I guessWhat I wanted was PB29, which is not defined in the source unfortunately. I could make it boot from mmc if I pull down PB29.
From what I can see, it loads a ~6kB u-boot SPL into the memory which does memory initialization
boot_sel[0] (PB28) is tied to Volume Down, which is nice I guess
[3114458.858415] usb 1-3: new high-speed USB device number 86 using xhci_hcd[3114459.000769] usb 1-3: New USB device found, idVendor=a108, idProduct=1000, bcdDevice= 1.00[3114459.000775] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0[3114459.000778] usb 1-3: Product: X\x10[3114459.000781] usb 1-3: Manufacturer: Ingenic
QuoteWhat I wanted was PB29, which is not defined in the source unfortunately. I could make it boot from mmc if I pull down PB29.
What I wanted was PB29, which is not defined in the source unfortunately. I could make it boot from mmc if I pull down PB29.
That's all you need to flash the device. No need for my unzip hack. No need for Ghidra.It might take some work to get u-boot working and/or write something custom but it's a clear and straighforward task now.
Let me elaborate a bit to clarify situation (please refer to https://www.rockbox.org/wiki/AgptekRocker for additional info). Agptek first loads tiny bit of binary code (SPL) into cold cache which main role is to configure PLL (aka clocks) and RAM controller. Then it loads bootloader (uboot) into ram and passes control to it. Uboot loads linux kernel either from mtd2 or mtd3 (normal kernel or recovery kernel) and passes control to linux. If it is normal boot, kernel mounts UBIFS rootfs from mtd4, if it is recovery boot, kernel loads rootfs from concatenated to itself image. Kernel (both normal and recovery) calls init process (the parent of all processes). Init runs startup scripts to run various services and finally runs hiby player binary which presents GUI for the user.Now after this lengthy introduction - we patch normal rootfs to call rockbox bootloader binary instead of hiby player binary. So from the technical point of view we DO NOT patch bootloader (uboot) and we do not touch recovery image. This makes all process pretty safe.
efqw_ This device is very similar to the AGPTEK ROCKER in terms of hardware spec (no radio, X1000E instead of X1000, different I2S DAC, same PMU, I2C touch controls instead of a D-PAD).efqw_ Additionally, this device is using X-Loader instead of U-Boot, and system updates are performed with a recovery partition instead.efqw_ Firmware packages are split into ~1MB chunks and signed individually with apksign, and then zipped together along with a manifest file.efqw_ This setup is drastically different from the hiby stuff, where the .upt file is an ISO9660 volume and the blobs are not signed.
Page created in 0.084 seconds with 18 queries.