[haiku-bugs] [Haiku] #12644: MBR & stage1 do not handle boot partition passing for chainloading (makebootable should not be required)

  • From: "mmu_man" <trac@xxxxxxxxxxxx>
  • Date: Sun, 14 Feb 2016 17:12:45 -0000

#12644: MBR & stage1 do not handle boot partition passing for chainloading
(makebootable should not be required)
-------------------------------------------------+-------------------------
 Reporter:  mmu_man                              |        Owner:  axeld
     Type:  bug                                  |       Status:  new
 Priority:  high                                 |    Milestone:  R1/beta1
Component:  System/Boot Loader                   |      Version:
 Keywords:  chainload, partition, GRUB, MBR,     |  R1/Development
  stage1                                         |   Blocked By:
 Blocking:                                       |  Has a Patch:  0
 Platform:  All                                  |
-------------------------------------------------+-------------------------
 Unlike GRUB, GRUB2, LILO, and most other MBR loaders, our own MBR sector
 does not pass the selected partition info properly, and our stage1 loader
 does not attempt to use it, which is why we require running makebootable
 on install. But it should not be necessary.

 Most MBR pass the selected boot partition entry in a register (ds:si) with
 a flag set to let the chainloaded OS know about it. There is no reason not
 to do it as well, as it would eliminate the need for makebootable.

 This is not about BIOSes, buggy or not, since it's only the MBR which does
 this, and except if the user does not install our own MBR or GRUB or GRUB2
 or the many other MBRs which support this convention, it would just work
 without makebootable.

 We can still ship with makebootable just in case, but it shouldn't be
 required anymore once this is fixed.

 cf.
 http://www.gnu.org/software/grub/manual/legacy/root.html#root
 http://f.osdev.org/viewtopic.php?f=1&t=26015
 http://forum.osdev.org/viewtopic.php?f=1&t=22470
 http://forum.osdev.org/viewtopic.php?f=1&t=27371
 http://forum.osdev.org/viewtopic.php?f=2&t=23227
 http://stackoverflow.com/questions/17517813/grub2-chainloading-how-does-
 it-pass-drive-number-and-partition-entry-point

--
Ticket URL: <https://dev.haiku-os.org/ticket/12644>
Haiku <https://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: