(Edit (10/06/2026):
This was actually an XY problem, so I changed the name of the topic from Compile on one host, flash (OTA) from another host to Upgrading ESP32 bootloader wirelessly.)
I've got a headless Linux box in my basement, running all kind of domotica stuff. Until recently, I did all my ESPHome flashing from my regular laptop, and recently I moved that to my Linux domotica brain.
But I've encountered this in the logs of one of my ESP32's:
[W][app:193]: Bootloader too old for OTA rollback and SRAM1 as IRAM (+40KB). Flash via USB once to update the bootloader
I find it a bit bizarre that it's not possible to do this via OTA, but okay; it's probably a lot of extra conding. More importantly: I now have to flash some devices via USB, but I can't do that with my Linux box, which is immobile in the basement.
So now I'm wondering what the best solution would be. I see there was something in the past, but it's been deprecated:
Is there a better way than also compiling the binary file on my laptop?
Can't you just hook the ESPs to your basement box just for this "special" flash?
This is a one time operation, just to update the bootloader and flash partitions, which cannot be done through plain OTA.
There was discussion about this new feature in the ESPHome release notes last month, which should clarify your question, as well as enable you to boost your productivity..