Menu

#5 PDOS floppy could be a part of opensource coreboot+SeaBIOS build ;)

v1.0 (example)
open
5
2022-07-16
2018-12-18
Ivan Ivanov
No

Dear Paul Edwards,

Here is the complete list of coreboot-supported motherboards - https://www.coreboot.org/Supported_Motherboards . If you already have a coreboot-supported motherboard, or a real chance to get one, - wouldn't it be cool to be able to launch your own OS straight from the BIOS chip? ;) With one simple command

./build/cbfstool ./build/coreboot.rom add -f ./pdos.img -n floppyimg/pdos.lzma -t raw -c lzma

its possible to add any floppy to coreboot+BIOS build - and then you see it as a boot entry inside your SeaBIOS boot menu! Multiple floppies could be added this way, as long as you have enough space left inside the BIOS flash chip, luckily LZMA compression could be used for the stored floppies to reduce their occupied size... Personally I have Lenovo G505S laptop with AMD A10-5750M quadcore CPU and it could be found online in good usage condition for just $100-$150, although the 16GB RAM upgrade costs another $100. What's great about this CPU is that, despite being relatively modern, it is old enough not to have any Intel ME / AMD PSP hardware backdoors inside of it - that's highly important nowadays - and all the major important features like SSEs and virtualizations like IOMMU / AMD-v / NPT / SLAT etc are all supported. If you have any coreboot / SeaBIOS related questions I'll try my best to provide a greatly detailed reply. And I'm going to try your PDOS floppy as a part of next BIOS build ;) after the replacement of crappy proprietary UEFI with clean&nice coreboot now there's more than 3MB free out of 4MB flash chip, so plenty of space to test many wonderful OS such as yours, or maybe extend PDOS to 2.88MB floppy to fit more nice stuff there (2.88MB virtual floppies are also supported) and will be compressed also...

Wish you all the best for the coming 2019 , have a nice holidays

Best regards,
Ivan Ivanov

Discussion

  • Paul Edwards

    Paul Edwards - 2018-12-19

    Hi Ivan. Do you think this would be a useful way of implementing a boot manager? ie if a boot manager application was written for PDOS then it could provide a menu of bootable partitions and then load the boot sector of whatever partition is selected. I guess there would be no way of being able to save default information for the next boot though, as that would require a reflash.

     
    • Ivan Ivanov

      Ivan Ivanov - 2018-12-19

      Yes, PDOS boot manager app can be really useful - as a good alternative to GRUB, and also as a covert way of booting: could be possible to arrange it in such a way that unathorized person wouldn't be able to boot your main harddrive OS if he doesn't know that he needs to choose PDOS virtual floppy at SeaBIOS boot menu then launch PDOS boot manager and use some entry.

      Maybe it will be possible to automatically generate the boot manager config, just like GRUB is doing while it's installing, but we can do it every runtime. If this isn't doable and we really have to store some config, software method of BIOS reflash (via the "internal" mode of opensource flashrom software) is supported at many coreboot boards - so don't have to always use something like CH341A USB SPI programmer together with SOIC8 test clip for attaching to the BIOS chip like this http://dangerousprototypes.com/docs/Flashing_a_BIOS_chip_with_Bus_Pirate#CH341A_flashing_coreboot_open_source_BIOS_to_Lenovo_G505S_hacking - although it is possible to cut a quick access window with a heated knife or soldering iron (with useless tip because will become dirty) , like this one at G505S case - https://i.imgur.com/RTEhceg.png

      Also, we don't even need to rebuild the whole coreboot when we need to update PDOS floppy (e.g. because we added boot manager config there) , just use a set of cbfstool commands :
      1) Add floppy
      ./cbfstool/util/cbfstool/cbfstool $COREBOOT_ROM_PATH add -f $PDOS_FLOPPY_PATH -n floppyimg/pdos.lzma -t raw -c lzma
      2) Remove floppy
      ./cbfstool/util/cbfstool/cbfstool $COREBOOT_ROM_PATH remove -n floppyimg/pdos.lzma
      3) Print memory map
      ./cbfstool/util/cbfstool/cbfstool $COREBOOT_ROM_PATH print

      To summarize: updating coreboot with a new PDOS floppy in any case (software or hardware way of flashing) should take less than 15 minutes, and BIOS chip could be reflashed up to 100,000 times according to the datasheets, so there are no real limitations

       
    • Ivan Ivanov

      Ivan Ivanov - 2018-12-21

      Dear Paul, I'm very happy to tell you that I just tested your PDOS32 floppy as a part of coreboot+SeaBIOS build for G505S laptop, and it is working perfectly so far! ;) at least I haven't encountered any PDOS32 issues which were "real hardware"-specific. But I still found some "universal bugs" and posted them, if you have some free time please take a look

       
  • Paul Edwards

    Paul Edwards - 2022-07-16

    Note that the latest pdos image now provides a basic boot manager. just type "boot d" to boot the d drive.

     

Log in to post a comment.