Developing a custom bootloader to support single partition OTA

Greetings!
I've applied all the optimizations in the books but I cannot get our application to be ~50% of the available flash memory on the NRF52832, currently it is precisely 56% of the flash.
Due to this, it will not be possible to use MCU bootloader to get OTA to work since it only works with 2 partitions.

I understand the risk associated with single partition OTA, but we don't really have other options. Also note that I really don't mind the net result taking a lot of space- it is completely fine if the bootloader is a bit inefficient in terms of storage.

I need the bootloader to run Enhanced Shock Burst. Also, ideally the bootloader uses the Nordic Connect SDK so that it's easy to develop.

What I would like to know:
1. I know that I'll have to setup 1 partition for my bootloader and an another one for the application- what code or build system config do I need to write to create such a setup?
2. How do I perform read/write operations on the application partition from the bootloader- as in what API do I need to use?
3. How do I make the control jump from bootloader to the application entry (what API do I need)? What steps need to be performed? For example resetting the NVIC.

Related