I’m a new owner of a FP3+ and have replaced the OS with /e/OS with TWRP and Magisk. I’ve been using a FP2 with LineageOS + MicroG and various hacks for some years, so I’m reasonably familiar with boot hackery though I have had to learn new things for the FP3+ A/B boot system.
One of the things I’d like to do (not imporant) is to change the boot splash screen. I have successfully extracted the existing splash partition with dd if=/dev/block/bootdevice/by-name/splash of=splash.img and converted to PNG using https://github.com/basxto/fp3_splash . I’ve made a replacement, converted it the other way, and pushed it into the splash partition with fastboot flash splash new-splash.img. However, it does not show up at boot time; I just get the original splash image. I’ve re-run the dd and verified that the partition contains my image. So does the FP3+ boot loader not read this partition? What might be going on?
(Pointers to the relevant bits of the source would be welcome as well.)
I don’t know whether that’s the issue here, but did you take this into account?
You could determine the current slot with fastboot getvar current-slot and then force the image onto the current slot with fastboot flash splash_a new-splash.img or fastboot flash splash_b new-splash.img, respectively.
Yes it would make sense. For what it’s worth, I double-checked by booting up TWRP, logging in with adb, and listing /dev/block/bootdevice/by-name. Here’s a list of all the A/B partitions, in case it’s useful to someone:
I think I can confirm this. I extracted the second stage boot loader from the aboot partition. (This is the code that implements fastboot, amongst other things.) The splash image has a magic string at the start.