Skip to content

Commit

Permalink
Add some scary warnings about makebootable
Browse files Browse the repository at this point in the history
A common item in people having problem to boot Haiku is "so I tried to
run makebootable". In pretty much all cases, makebootable is not needed
and should not be used.

The only case where it is needed is when all of the following is true:
- Using BIOS (not EFI)
- Not using the anyboot image but a raw filesystem image (which we don't
  distribute as a standalone image anymore, you have to build it
  yourself or extract it from the anyboot)
- Not using Installer or jam @install to do the installation (both of
  these already take care of it)

Try to redirect people away from it as much as possible, since it is
quite unlikely that they will need such a crazy plan to install Haiku.
  • Loading branch information
pulkomandy committed Jan 23, 2021
1 parent eb21df5 commit ba36e00
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,13 @@ tags = ["makebootable"]
<p>
Usual question: "I've dd'ed the image to somewhere and now it doesn't boot". Usual advice: "You have to make it bootable by using makebootable". Usual reaction: "Ehm, ok how do I do that?". Since this type of question comes up quite frequently, let me try to explain a bit of background on that pseudo-mystical tool "makebootable", how you can get it and how you can manually make a partition bootable without even needing makebootable.
</p>

<div class="alert alert-danger">
This is an advanced guide with technical details about operations involving manual editing of disk
sectors. Be sure that you know what you are trying to do. If you just want to install Haiku, you
do not need this page, please refer to the <a href="/guides/booting">Booting Haiku</a> guide.
</div>

<h3>The Stage 1 Bootloader</h3>
<p>
Ok, what we are really talking about here is the stage 1 bootloader. It is a tiny bit of software that is written to the start of a partition or disk. It is where either the BIOS or the boot manager will jump to to get the OS booted. In the case of Haiku this stage 1 bootloader loads a bit of the BFS partition the installation is on and locates /beos/system/zbeos. zbeos is the stage 2 bootloader, which provides the boot menu and loads the kernel. In the case of a missing makebootable we never get to that stage 2 bootloader.
Expand Down
7 changes: 6 additions & 1 deletion content/documents/user/how_to_get_haiku_booted.html
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,11 @@

<!--more-->

<div class="alert alert-danger">
This is an advanced guide with technical details about the on-disk layout and internals of
how the Haiku boot process works. If you just want to install Haiku, you do not need this
page, please refer to the <a href="/guides/booting">Booting Haiku</a> guide instead.
</div>

<h3>1. The Basic Boot Process</h3>

Expand Down Expand Up @@ -148,4 +153,4 @@ <h3>4. Easy Installation through USB Drives</h3>
<p>I hope this clears up some things. If nothing else this should get you a better starting point for troubleshooting if it indeed doesn't boot.</p> </div>
</div>
</div>


7 changes: 6 additions & 1 deletion content/guides/booting.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,12 @@ There are a wide range of options and configurations available to boot Haiku, fr

`makebootable` is a low-level Haiku tool to enable x86 MBR (legacy bios) systems to boot from the active Haiku partition.

Makebootable is **not** needed when…
<div class="alert alert-danger">
It is extremely likely that you don't need makebootable. Please read this paragraph carefully
to determine if you need it.
</div>

Makebootable is **not** needed when any of these is true:

* Haiku’s EFI bootloader is in use
* dd’ing to an entire disk device and not a partition
Expand Down
6 changes: 6 additions & 0 deletions content/guides/installing_haiku_image_disk_partition.html
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,12 @@ <h2>Write the raw image to a disk partition</h2>

<h2>Make the partition bootable</h2>

<div class="alert alert-danger">
You only need to use makebootable in the specific case where you are trying to copy the Haiku
filesystem directly to a partition and you are booting it using legacy BIOS. In other cases,
do not try to use makebootable.
</div>

<p>After the image is written to the partition, its <a href="https://en.wikipedia.org/wiki/Volume_boot_record">VBR</a> needs to be modified to make it bootable. You can either use the <a href="/guides/booting#makebootable-usage"><code>makebootable</code></a> program from Haiku, or <code>makebootabletiny</code> with Linux.</p>

<p>Assuming that you downloaded <code>makebootabletiny</code>, you need to compile and run it:</p>
Expand Down

0 comments on commit ba36e00

Please sign in to comment.