Also it is much harder if arduino DFU bootloader is at different location - this then needs also change in UICR and is almost impossible to do OTA. If you wish you can upload full hex of your code that you would flash with st-link to blank device - from that it is possible to extract softdevice and bootloader and check the location of bootloader. If is is the same as in espruino then making the upgrade zip package is just using nrfutil with parts from the hex file.
EDIT: if you have nrfutil installed in linux it also installs commands like hex2bin.py hex2dump.py hexdiff.py hexinfo.py hexmerge.py so it is actually enough to post output of hexinfo like this
from that it is clear. Also the hexmerge.py can extract parts like this hexmerge.py -o bootloader.hex bin/espruino_2v19.690_amiibolink.hex:0x00078000:0x0007CE43 so that you can make bootloader hex usable for nrfutil pkg generate
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
Also it is much harder if arduino DFU bootloader is at different location - this then needs also change in UICR and is almost impossible to do OTA. If you wish you can upload full hex of your code that you would flash with st-link to blank device - from that it is possible to extract softdevice and bootloader and check the location of bootloader. If is is the same as in espruino then making the upgrade zip package is just using nrfutil with parts from the hex file.
EDIT: if you have nrfutil installed in linux it also installs commands like
hex2bin.py hex2dump.py hexdiff.py hexinfo.py hexmerge.py
so it is actually enough to post output of hexinfo like thisfrom that it is clear. Also the hexmerge.py can extract parts like this
hexmerge.py -o bootloader.hex bin/espruino_2v19.690_amiibolink.hex:0x00078000:0x0007CE43
so that you can make bootloader hex usable fornrfutil pkg generate