-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 08/10/2012 03:09 AM, Lap Ngo Doan wrote:
Hi all, As you may know, when we enter to BIOS, we can use the keyboard to change some settings such as : enable/disable something, change boot devices priority ....It is kind of user interface on BIOS. In the coreboot website, they said "*coreboot* is a Free Software project aimed at *replacing the proprietary**BIOS*
This statement is unfortunately misleading. It's not our fault really. It comes from the tendency to name the firmware "BIOS", which is in fact hardware initialization, then the actual BIOS. Coreboot is the hardware initialization part.
If we want to add some interactions with hardware like BIOS firmware provided us (use keyboard to enable/disable some options....), how could we do it with coreboot?
Keep those settings in NVRAM, and write a payload to read and modify NVRAM. libpayload is there for the taking; the biggest hurdle may be figuring out how to parse NVRAM (different hardware stores different settings in different places). You might also need to modify parts of coreboot to make it use NVRAM for settings. Some to most boards have a cmos.layout file. You can find a way to make that available to your payload. You have a bunch of options to play with.
Then SeaBIOS can boot from CBFS, and you'd just have to use its boot menu to load your payload. For all others, there's debit bayou.
This sounds like a cool project, and a nice way to get your hands dirty with coreboot, learn your way around.
Alex
Hi Alex, Thank for you suggestion. I think bayou is suitable for me.
On Sun, Aug 12, 2012 at 6:40 PM, Alex G. mr.nuke.me@gmail.com wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 08/10/2012 03:09 AM, Lap Ngo Doan wrote:
Hi all, As you may know, when we enter to BIOS, we can use the keyboard to change some settings such as : enable/disable something, change boot devices priority ....It is kind of user interface on BIOS. In the coreboot website, they said "*coreboot* is a Free Software project aimed at *replacing the proprietary**BIOS*
This statement is unfortunately misleading. It's not our fault really. It comes from the tendency to name the firmware "BIOS", which is in fact hardware initialization, then the actual BIOS. Coreboot is the hardware initialization part.
If we want to add some interactions with hardware like BIOS firmware provided us (use keyboard to enable/disable some options....), how could we do it with coreboot?
Keep those settings in NVRAM, and write a payload to read and modify NVRAM. libpayload is there for the taking; the biggest hurdle may be figuring out how to parse NVRAM (different hardware stores different settings in different places). You might also need to modify parts of coreboot to make it use NVRAM for settings. Some to most boards have a cmos.layout file. You can find a way to make that available to your payload. You have a bunch of options to play with.
Then SeaBIOS can boot from CBFS, and you'd just have to use its boot menu to load your payload. For all others, there's debit bayou.
This sounds like a cool project, and a nice way to get your hands dirty with coreboot, learn your way around.
Alex -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iQIcBAEBAgAGBQJQKDDgAAoJEL0kPHNPXJJKSdMP/jIJ5NMpaDSHydv1SVPOXmPt D4uuUogV+8sDk+dqaSoTfwpXlW9UMSaAXjFbMfoF+zA0iIU9uyNyVfzuVtabNRoO TsvhF7VM+UfIHsGoNBDdwAfdAqswdvx8gQ9RlpsUv9jTI9uC00iX/FWB30NKI5Sf oic4kxqTkU5+Akhz3htk0Hn71ZozmdaNy/xS50X1bMeeiYRSEZMsCVNX9KR2rmHX P2fTA697xXkpv1ZtnwvhTAZ4cbpPMsYaEBKOw41uF441XA0TmvV9qbHpG5NFOODz 1YueHPgieFXQzvV3gsFF/vBWcBe60CSId9WwlIJuWnMakBULXfVJWCAx3LCRpq5m /iiS188ENXQ24dSkKjmOcf4Hxdfbat+szZRW4dBFdx9/LKl6XaVsvVRDmcjsrqKu YbLxyJGRCWSXViE99Cf4/jcSB20w8+wLwWgfqVSagj0A2RGD6V1l6j/YyK0vj02j BVko7oKial4NQczBT7JzExhw20+HmYNE4b0VZtTwRGqjI3aVn02Y+bk8c+sAx0th p5r5FLAsq01Z7TyoKnPVMUenTWFP2FsV9uEFEHqx1fAXAkBp/G9xaHVaQGhcQW+y Gp1p0whgVIOJHvqvH7YVrXwjTf01FY3unwTnZhZnEFsZ8I+yvz7zKnOHDgCfFv0s twX/0lgHUW2HDSZ1NwcD =Dftw -----END PGP SIGNATURE-----