Coreboot starts by compiling and linking some C-Assembly files as bootblock core and then compile and link them by some linker script files. the result is bootblock.elf but then it executes: objcopy -O binary bootblock.elf coreboot.bootblock The elf file probably has some headers which specify the VMA-LMA addresses of the sections but after objcopy command all these headers are removed. So how cbfstool can write those sections in a correct relative position? While all the information of the addresses have been deleted by objcopy?(how .reset section is written from 0xfffffff0) My another question is that the top content of ROM, like 0xffffff00 is probably written from the beginning of coreboot.rom so does flash utility writes coreboot.rom from 0xffffffff or the end of BIOS EEPROM?