I want to upload code with an other computer. "Over the air"

I have a shiny new Mega 2560 board and Linux based controller. In the future it will be a bare ATMEGA2560 CPU with a bootloader. I hope to update the code remotely. The Linux thing is on the net.

How does the bootloader work. That is, how do we use it. Controlling the reset pin should not be a problem.
Do I need the USB controller, there is a working serial bus.
What is AVRdude? Is it relevant.

So you have Serial between the Linux thing and the Arduino? Then you need just 1 extra wire for reset during programming. If it is USB on the Linux end then an FTDI will provide that extra output.

MorganS:
Then you need just 1 extra wire for reset during programming.

OK. I thought it would be something like that. What does the bootloader do first after reset and in what format is the data.

https://www.engineersgarage.com/tutorials/what-is-hex-file-format

They've got a heck of an AVR projects page. Bootloaders to robot cars.....
https://www.engineersgarage.com/embedded/avr-microcontroller-projects

Is there any info or documentation about the bootloader except the sourcecode?

Go check out the Microcontrollers section of the forum, that's where the Optiboot discussions are.

I did. Thanks

Moteino have a board with Rf chip and , I believe, there own bootloader for doing just this .
It’s open source so also might be worth a look

Here is a Nick Gammon project that uploads hex files from SD to program Arduinos.

So instead of SD you want the same file wifi? That project solves the rest. Both SD and wifi are serial, if Nick's source is open then maybe a get-the-data-from-other-source option could be made.

Thank you. This looks interesting. If Avrdude does not work for some reason this could save us.

I know you're not currently using the ESP8266, but it (and possibly the E32) can do OTA code uploads.

See this, for example: ESP8266 OTA with Arduino IDE | Random Nerd Tutorials