I have successfully built and added FILO bootloader to my Lenovo G505S coreboot image! First of all, I had to use Xubuntu 16.04.1 *i386* because FILO fails to compile on x86_64 bit system. Also: from *./coreboot/payloads/libpayload/drivers/storage/ahci.c * removed two " #if IS_ENABLED(CONFIG_LP_STORAGE_AHCI_ONLY_TESTED) ... #endif " parts, --- because there are only three tested controllers in a list and FILO doesnt even try to initialize the not listed controllers - despite that they could work! By default, FILO just outputs "ahci: Not using untested SATA controller" message, without any option for a user to try forcing its usage to test it and made it a tested controller...
now FILO outputs the following log:
Booting from CBFS... coreboot: ... version (its from the beginning of December 2016) ... FILO version 0.6.0 (user@pc) date-of-the-build ahci: Found SATA controller 00:11.00 (1022:7801) <--- this is AMD SATA AHCI controller, built-in inside Bolton A76M FCH Southbridge of Lenovo G505S ahci: ATA drive on port #1. ata: Identified [my 1TB HDD drive model here] ahci: ATAPI drive on port #2. atapi: Identified [my DVD drive model here] ERROR: No such CMOS option (boot_devices)
Then, it shows me FILO screen with " root_dev = unset " message on top, and FILO command line
Questions:
could you give some good examples about how to use FILO ? Do I have to set boot_devices in CMOS through nvramcui payload, or it is possible to choose that root_dev in FILO - if yes, how?
I tried some random commands like filo> kernel hda:/vmlinuz but it tells: Disk read error dev=1 drive=0 sector=0 Disk read error dev=1 drive=0 sector=2 Disk read error dev=1 drive=0 sector=2 Disk read error dev=1 drive=0 sector=128 Disk read error dev=1 drive=0 sector=16 Disk read error dev=1 drive=0 sector=64 Disk read error dev=1 drive=0 sector=0 Disk read error dev=1 drive=0 sector=64 Disk read error dev=1 drive=0 sector=0 Disk read error dev=1 drive=0 sector=0 Unknown filesystem type.
Error 15: Filo not found.
EDIT: found https://www.coreboot.org/FILO but its too basic - for example, it does not tell how I could see the list of available devices. When I run "probe" command it only tells 6 messages "IDE channel X not found" (with X changing 0,0,1,1,2,2,3,3) - does not show SATA drive, despite I know that it successfully initialized, because it output its model and brand
Please give any real world FILO usage examples with a modern Linux, it will help a lot!
Best regards, qmastery