General Master Boot Record
Page 3 of 3

Author:  Antti [ Tue Oct 10, 2017 10:36 am ]
Post subject:  Re: General Master Boot Record

Here is my new release (but it is not stable).

**** MBR (GPT) ****

  • GPT supported.
  • TPM supported.
  • Good support for different block sizes.
  • Defensive programming taken very seriously.

This this is quite complex but assembly programmers may find some interesting tricks. TPM support was new for me and I would like to hear some comments about its implementation.

Author:  Antti [ Wed Oct 11, 2017 1:34 am ]
Post subject:  Re: General Master Boot Record

This is the last post from me in a row on this topic.

I don't have a clear opinion on the "hybrid El-Torito CD / HD image" but it sounds a bit scary. However, if that is a de-facto standard, the MBR (GPT) can be "misused" like this:

    Hybrid El-Torito CD / HD image

0x0000_0000 to 0x0000_01FF      MBR (GPT)
0x0000_1000 to 0x0000_1FFF      GPT (HEADER)
0x0000_2000 to 0x0000_7FFF      GPT (PARTITION ENTRIES)
0x0000_8000 to 0x????_????      "IS0 9660 + El Torito" structures
0x????_???? to <end of media>   GPT (PARTITION ENTRIES + HEADER)

    The MBR (GPT) can be started like this (at 0x00007C00):

- HD image, sector sizes 512, 1024, 2048 or 4096. Alternate GPT structures are probably at wrong location but MBR code supports this.
- El-Torito, reads LBA 0, hd-emulation, e.g. sector size 512.
- El-Torito, reads LBA 0, no-emulation, e.g. sector size 2048.

The nice thing is that the boot manager is always started. For HD images, one feature is that perhaps other operating systems don't see "the hack" because for them the HD is a "legacy disk with one unknown partition covering everything."

This is not a good solution but please compare it to the "things that are already done" in the Linux world. Also, please note that all this has nothing to do with MBR's ability to work for its intended purpose. This hybrid El Torito discussion is a side track. Most likely I will not implement Hybrid El-Torito CD / HD image.

Page 3 of 3 All times are UTC - 6 hours
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group