[General Questions and Answers] Shimmy99:
I'm continuing with the saga of the Firefly ITX-3588J ROCKCHIP RK3588 board. I've actually managed to make a fair bit of progress toward the desired goal of obtaining a full tilt dual-boot Android 12 and Ubuntu system on the board, however the last steps are still hit and miss. I just tried another load and it booted to Android once but then failed again after trying to do a "factory reset".

Basically, what I'm seeking to do is this. The board has two types of storage: an onboard eMMC, and a connection for SATA hard disks, and I've connected a disk of the latter type (an SSD, more precisely) to the system. The idea I have is to load the eMMC with the system stuff (kernels for both systems, and the Android system objects), but put the user data (i.e. both Android's user data and the Ubuntu rootfs - both on separate partitions) on the hard drive.

And without any real information on how Android's data references and file system organization work I had to do an awful lot of trial and error and am wondering if you can help here. On my latest attempt at a suitable custom ROM, I decided to format the SSD with a GPT and have a partition called "userdata" there while having no such one on the eMMC (the vendors provide an Android 12 image and development tools; I'm picking it apart and modifying it). The hope was Android would see it, put it in the /dev/block/by-name/... path (which its various fstab-like references seem to require - a /dev/block/by-name/userdata) and then use it. But it didn't - later, I found I had to put on the command line to the kernel by changing U-Boot's bootargs to include explicitly the SATA: "androidboot.boot_devices=fe2e0000.mmc,fe210000.sata" - note the second item on the list.

Aand ... that worked until then I did the factory reset. You see, in preparing my ROM, I'd also tried to load the OEM partition with Google Apps from NikGApps, hoping that it could provide a way to auto-load them easily, but it didn't. Instead, the factory reset made the kernel no longer boot fully, even with the proper bootargs. It just hangs at or around (obtained via the serial debug)

[ 124.089168][ T1] Mali device driver loaded
[ 124.091388][ T1] ret 1024 0
[ 124.091547][ T1] ALSA device list:
[ 124.091555][ T1] #0: rockchip,dp0
[ 124.091561][ T1] #1: rockchip-es8388
[ 124.091566][ T1] #2: rockchip,hdmiin
[ 124.091572][ T1] #3: rockchip-hdmi0
[ 124.091577][ T1] #4: rockchip-hdmi1
[ 124.149813][ T7] Freeing initrd memory: 47480K
[ 124.177163][ T174] usb 4-1: new high-speed USB device number 2 using ehci-platform
[ 124.197165][ T175] usb 1-1: New USB device found, idVendor=05e3, idProduct=0610, bcdDevice=93.91
[ 124.197180][ T175] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 124.197187][ T175] usb 1-1: Product: USB2.1 Hub
[ 124.197191][ T175] usb 1-1: Manufacturer: GenesysLogic
[ 124.237875][ T175] hub 1-1:1.0: USB hub found
[ 124.238509][ T175] hub 1-1:1.0: 4 ports detected

(FREEZES HERE)

What is going on here? I can reflash, I suppose, but why did the factory reset hose the standing system? Also, am I even setting this up correctly? Am I even using the OEM partition how it should be used? This is all stuff that I've found precious little documentation and/or previous work on.