Dingoonity.org

Other Portable Consoles => GPD Android Devices => Topic started by: Radioboy86 on September 15, 2019, 08:05:06 am

Title: Need help on finishing and editing a Nougat ROM for the XD RK3288
Post by: Radioboy86 on September 15, 2019, 08:05:06 am
Need help on finishing and editing a Nougat ROM for the XD RK3288

https://boards.dingoonity.org/gpd-android-devices/(experimental)-android-7-1-for-gpd-xd/



I need all the compatible SDK/Build tools that Phh used to make this XD Nougat ROM. I want to finish it and give him full credit. I am having a hard time using generic tools that decompile/compile the files properly. Thanks. Excellent work on this! It will be easy to fix the few issues if I can get the right tools to change the values/Fix root/add Goggle apps/Add Overclocked kernel at 1.8ghz etc... The XD could STILL be amazing, this ROM PROVES that. After trying Black Seraph's GPD Win Android 8 ROM, I really wanted to see if the XD has some support! This ROM needs to live!

Help ME do the leg work for for these guys. I have never done this before, but I am no fool. I rather use some GUI based tools to extract the already NEAR perfect ROM files and change things as I can find the values to fix them. The CPU governors, clock speed, max CPU scaling etc, and fix root permissions on reboot. I really need some help on getting Goggle services/framework going too, I have tried the apk GApps, and I tried to flash the IMG.zip that was made for 32bit ARM devices too, but the file would not flash. I am new at this but damn determined. Android and building/editing ROMs is crazy confusing and the TOOLs are key. I have the RK3288 flashing tool for the XD going so I am not worried about bricking. I also found a generic RK3288 unpacker batch tool, BUT the files it unpacks are not proper. My BOOT.IMG is not extracting with a Ramdisk, etc... Any help would be awesome.
Title: Re: Need help on finishing and editing a Nougat ROM for the XD RK3288
Post by: CommanderKitler on September 29, 2019, 09:21:08 pm
The big problem here is the SDK used to make this rom. AFAIK phh used some kind of proprietary customized SDK which he wouldn't share probably because of a non-disclosure-agreement. So the only source to get the SDK is phh himself or whoever gave it to him (GPD maybe?)

@skelton @CommanderKitler Since you guys knows a lot about it, i've been thinking. From where this ROM is right now, would it be possible for someone with the proper knowledge resume phh's work and develop it into a fully working version of Android 7.1?

Supposedly yes, unless some driver is a bit tricky. But only phh has the private SDK that he used to make this rom. I think he discontinued it though.





Also troublesome is that wifi seems to crash the device. I don't know if the error happened because of changes in the kernel or some userspace libraries. So some knowledge of C might be needed to fix that.






I have the RK3288 flashing tool for the XD going so I am not worried about bricking. I also found a generic RK3288 unpacker batch tool, BUT the files it unpacks are not proper. My BOOT.IMG is not extracting with a Ramdisk, etc... Any help would be awesome.

Be careful messing around with the BOOT.IMG it contains the bootloader so messing it up can brick your device to a point where reflashing a ROM using fastboot or recovery becomes impossible without dissasembly of the device.
(believe me I've been there)

for more information refer to
https://boards.dingoonity.org/gpd-android-devices/(howto)-recover-a-gpd-xd-hardbrick-by-inducing-maskrom-modexd-teardown/msg169587/#msg169587

or google "rk3288 hardbrick maskrom"



As for the Ramdisk:
If you got access to the GPD XD linux kernel and some build tools shouldn't you be able to generate the initial ramdisk?
I'm not versed in android building/porting but in desktop gnu/linux there is a command to generate the ramdisk from a config file (initramfs) .

Otherwise, if you have access to a Linux PC (might work on other OSs) you could flash the image to a GPD XD and access it with ADB shell. in there you could generate a clean dump of the ramfs using dd and then you could extract that.

someone published a HOWTO to github:
https://gist.github.com/azureru/478fe60ee5b9ec545fa5eb286fb2c4be

this guide should work on any deb based distro (debian/Ubuntu/Mint/etc.)

Title: Re: Need help on finishing and editing a Nougat ROM for the XD RK3288
Post by: Skelton-retired on September 30, 2019, 07:41:02 am
As far as I know phh released the kernel in his github, because in fact he used some of the things of my kernel from kitkat to lcd timings for example. As far as I know, rockchip changed his method in kernel 4.4xx to overclock it, it's not as easy as in kitkat kernel that only required to remove a security flag. I didn't look too much into new kernel because I don't have an Xd anymore, but I didn't find a way to unlock to 1,8ghz, just to 1,6 ghz (including 1,8 speeds in dts didn't work, so I guess there is a new flag somewhere in kernel avoiding that.

Anyhow, only PHH knows which SDK he used. Maybe can be used some firefly RK3399 SDK which is avaialble I think, but it would requite to make a new device tree and some work. Not an easy task. I know from experience because my legacyrom I used firefly kitkat SDK and I was forced to use some stuff of stock roms because I didn't have access to GPD SDK. I also asked GPD several times if they had some rockchip SDK for later versiones without success. Probably because they only wanted to sell their new XD+ device. (that device had a full SDK release in a a private way that I leaked it to Black-Seraph) and it provoked GPD fury against me.

I also never checked the boot.img that phh used. Rockchips boot.img can be kernel binary+ramdisk or just a ramdisk, so if it's the first case you need to extract boot.img to include your kernel. If it's just a ramdisk then kernel.img is what is used for kernel. Also, nougat rockchip uses some partitions that are not used in Kitkat/lollipop roms. To be honest, the best way would be that phh leaked privately to you the SDK he used, to have a good starting point to begin to work if you are interested.