Hi,
I suggest you read the wiki : https://www.coreboot.org/Developer_Manual and https://www.coreboot.org/Motherboard_Porting_Guide I would also suggest maybe (optional) that you read my blog posts about my own experience porting coreboot to a new motherboard : https://puri.sm/posts/diving-back-into-coreboot-development/ https://puri.sm/posts/librem-13-coreboot-report-january-12-2017/ https://puri.sm/posts/librem-13-coreboot-report-february-3rd-2017/ https://puri.sm/posts/librem-13-coreboot-report-february-25th-2017/ https://puri.sm/posts/coreboot-on-the-librem-13-v2-part-1/ https://puri.sm/posts/coreboot-on-the-skylake-librems-part-2/
To answer your specific questions : It depends on your machine, is it AMD or is it Intel? Is it Ivybridge or Broadwell or Skylake or Apollolake, etc.. ? Does it have soldered RAM or does it use SODIMMs? Depending on the CPU architecture, the CPU 'brand' and even the model of the CPU itself, the port will be done very differently. You'd first want to find a mainboard that is as close as your current one, and start modifying that, there isn't "one mainboard to use as base" because the code, files, etc.. are almost unique depending on the CPU/northbridge/southbridge model, so use the closest one as your base. As far as I know, the file board_info.txt is just information about the board, it's not getting used by coreboot, it's more of an indication for developers. As for the other files, it will depend once again on your board. I'd say Kconfig and devicetree.cb are mandatory, the rest may or may not be mandatory depending on your hardware. The cmos.layout for example isn't mandatory, but you'd probably need it if you enable CMOS support in your KConfig, The 'spd' files containing the RAM's SPD EEPROM information are mandatory only if your board has soldered RAM (common in laptops but not in desktops), but they are not needed (and actually can't be provided) if the motherboard has SODIMM slots instead. So it all depends. Your best bet is to look at what's there and see if you need it or not and if you do, understand what it's for and what needs to be changed in order to match your board. Don't forget that before you get your board to boot with coreboot, you will probably have to flash it and brick your board 100 times, so make sure you have a backup of your original ROM copied somewhere safe and that you have the hardware to re-program the SPI flash externally (and test that it works), before you attempt to flash it. Also, make sure you are patient, and ready to learn!
Good luck! Youness.
On Mon, May 28, 2018 at 10:31 PM, Zvi Vered veredz72@gmail.com wrote:
Hello,
I have to port coreboot to a new "Mainboard" not listed in menuconfig. Is there a basic "Mainboard" I should use as a starting point that will be copied to my board ?
The file board_info.txt contains few parameters. How can I know the meaning of each parameter and its possible values ?
The board kontron/kt690 for example contains few files like: cmos.layout, devicetree.cb, etc Are all those files mandatory ? Is there a list of mandatory files or routines required in order to port a board ?
Your help is highly appreciated. Best regards, Zvika
-- coreboot mailing list: coreboot@coreboot.org https://mail.coreboot.org/mailman/listinfo/coreboot