All ARM-based microcontrollers known to me boot from 0x00000000 so the bootloader is always at the very beginning.
It’s in the linker script named
ld.ld located in the root directory. This is where the size of the bootloader itself is defined as well.
This is correct. The sample does not use the CAN driver supplied by the operating system (it’s defective); instead, it uses the driver shipped with Libcanard, which requires no support from the operating system.
The MCU abstractions are managed by ChibiOS, so you should refer to its documentation. Briefly, in the Makefile you will find this section:
# MCU-specific OS includes
Update it if necessary. Then edit