At the moment I cannot help you with generating those images.
However, I can mention that:
A. Generally speaking in the Android world:
- recovery.img is the image being flashed to the "recovery" partition. This image contains the tools for recovering the system in case Android is not working well or the user wants to recover the system.
- boot.img contains the file structure necessary for the Android system to work: the (GNU/linux) Android kernel. This works in conjunction with rootfs located in system.img
B. In running GNU/linux in the Android device:
- recovery.img is intended for booting linux as secondary OS, generally diverting to external rootfs (ie: sd card). recovery.img contains the kernel and somewhere else (ie: sd card) the rootfs is located.
- boot.img is intended for running GNU/linux as primary OS. If you flash a boot.img containing GNU/linux system, you lose Android. boot.img contains GNU/linux kernel and rootfs shall be in system.img like in Android.
You may take as a reference (but keep in mind every device has different features, so you shall adapt information) Radxa Rock wiki:
Also, as reference, the website from the team that manages this mailing list:
Cheers
Jandro