[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v1 08/18] website: review BSD page index and convert to GNU Boot
From: |
Denis 'GNUtoo' Carikli |
Subject: |
[PATCH v1 08/18] website: review BSD page index and convert to GNU Boot point of view. |
Date: |
Sun, 13 Oct 2024 17:13:13 +0200 |
Since the GNU Boot project doesn't want to force any of its
contributors to test with nonfree distributions or operating systems,
we can't review the accuracy of the BSD pages, and there are no GNU
Boot users who already use BSD systems that contacted the GNU Boot
project.
So the solution here is instead to document the current project
decisions, to point to freedom reviews of the BSD operating systems by
the GNU project, and to convert the articles to refer to what
Libreboot stated about BSD systems, while taking the point of view of
GNU Boot.
Since Libreboot already very strongly discouraged the use of GRUB to
boot encrypted BSD systems, users using BSD systems probably have
followed this advice or were aware of it, so this enables us to remove
support for BSD encryption inside GRUB without the need to try to
directly contact users.
Still, as I plan to try to do that (to reduce GRUB's size for
computers with 512KiB flash size), it's still a good idea good idea to
document it inside the page as well to explain why, according to GNU
Boot (and not LibreBoot) it is a good idea not to rely on GRUB images
for booting encrypted BSD systems.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
---
website/pages/docs/bsd/index.md | 123 +++++++++++++++++++++-----------
1 file changed, 80 insertions(+), 43 deletions(-)
diff --git a/website/pages/docs/bsd/index.md b/website/pages/docs/bsd/index.md
index 242f1d8..294f482 100644
--- a/website/pages/docs/bsd/index.md
+++ b/website/pages/docs/bsd/index.md
@@ -1,15 +1,28 @@
---
title: BSD operating systems
-x-unreviewed: true
...
-This section is largely x86-centric, pertaining to use of BSD operating
systems.
-Although not as popular, BSD systems are also (in most cases) *Free Software*,
-but they are non-copyleft.
+At the time of writing, there is no easily installable BSD operating
+system or distribution that is fully free. Because of that we cannot
+force contributors to the GNU Boot to install BSD operating systems to
+run tests, so we instead need voulunteers already running BSD systems
+to test booting such systems with GNU Boot.
-Libreboot is capable of booting many BSD systems. This section mostly documents
-the peculiarities of Libreboot as it pertains to BSD; you can otherwise refer
to
-the official documentation for whatever BSD system you would like to use.
+At the time of writing, the most promising approach to fix this issue
+is to wait for HyperbolaBSD to produce something that can be
+downloaded so that any contributor could try it relatively easily.
+
+As for the other BSD operating systems or distributions, The GNU
+project documents [known freedom
+issues](https://www.gnu.org/distros/common-distros.html) in various
+distributions that are not entierely free, and the same page also [has
+a section on BSD operating
+systems](https://www.gnu.org/distros/common-distros.html#BSD).
+
+Since GNU Boot is based on the last fully free version of Libreboot,
+and that Libreboot was capable of booting many BSD systems, booting
+BSD systems may still be possible in GNU Boot, but so far the GNU Boot
+project has not heard of anyone who reported that working.
Video modes
===========
@@ -19,61 +32,85 @@ with `txtmode` in the file name, on x86 systems, boot up
with int10h text mode
in use. This is the most "compatible" option, and BSD operating systems have
excellent support for text-mode startup. Many of them also support *kernel mode
setting* (KMS) nowadays, which you *need* if you want a graphical desktop on
-the X window system. The reason is that Libreboot does not currently implement
-int10h VGA modes on x86 systems. However, basic video initialization is
-provided on all platforms (int10h text mode, or coreboot framebuffer).
-
-Combined with the use of SeaBIOS payload, BSD systems (and any other OS that
-can boot in text mode) will *just work*. If your BSD system supports kernel
+the X window system. The reason is that GNU Boot relies on projects that didn't
+implement int10h VGA modes on x86 systems. However, basic video initialization
is
+provided on all platforms (int10h (text mode), or high resolution coreboot
+framebuffer).
+
+Combined with the use of SeaBIOS, BSD systems (and any other OS that
+can boot in text mode) should in theory *just work*, but they have not been
+recently tested with GNU Boot. If your BSD system supports kernel
mode setting, it can set up a framebuffer without making use of int10h VGA
modes. In this case, the driver (e.g. Intel video driver) will set modes
directly, and implement its own framebuffer.
-Booting with a coreboot framebuffer will also work well on most BSD systems.
-These ROM images have `corebootfb` in the filename, on recent Libreboot
releases.
-In this setup, you should make sure that your BSD system has a `corebootfb`
-driver (to make use of the coreboot framebuffer), but when switching to X, your
-video driver (e.g. Intel video driver) may already support kernel mode setting
-which means that the coreboot framebuffer will no longer be used at that point.
+Booting with a coreboot framebuffer might also work well on most BSD systems,
+though that hasn't been recently tested either. These ROM images have
`corebootfb`
+in the filename, on recent GNU Boot releases. In this setup, you should make
sure
+that your BSD system has a `corebootfb` driver (to make use of the coreboot
+framebuffer), but when switching to X, your video driver (e.g. Intel video
+driver) may already support kernel mode setting which means that the coreboot
+framebuffer will no longer be used at that point.
Booting BSD
===========
-On x86 platforms, Libreboot currently provides the choice of GNU GRUB and/or
-SeaBIOS payload. You can use *either* payload, to boot BSD operating systems.
+GNU Boot currently provides the choice of GNU GRUB and/or SeaBIOS
+payload. You can use *either* payload, to try to boot BSD operating
+systems. If you do, please report your success or failure to the GNU
+Boot project through a bug report. See the "Documentation and/or
+testing" section in [Helping GNU
+Boot](git.md#documentation-andor-testing) page for more details on how
+to do that.
SeaBIOS payload
---------------
-It is highly recommended that you use the SeaBIOS payload. ROM images are
-available in the latest Libreboot release, which start with the SeaBIOS
payload.
-
-The ROM images with GNU GRUB *also* have SeaBIOS available in the boot menu.
-GNU GRUB, when compiled as a coreboot payload, runs on *bare metal* and it can
-boot any other coreboot payload if you use the `chainloader` command.
-
-The way to use SeaBIOS is fairly self-explanatory. SeaBIOS functions the way
-you would expect on a typical computer. Libreboot currently lacks any sort of
-documentation for SeaBIOS, but you can refer to their
-website: <https://seabios.org/SeaBIOS>
-
-SeaBIOS is *especially* recommended if you're doing an encrypted installation.
-
-The benefit to using SeaBIOS is that it's basically more reliable. For example,
-ZFS support is less reliable in GRUB, but a FreeBSD system booted in SeaBIOS
-would work just fine because you'd be using FreeBSD's own bootloader in that
-instance.
+It is highly recommended that you use the SeaBIOS payload if you want
+to boot a BSD operating system or distribution. GNU Boot Images which
+start with the SeaBIOS payload are available in the latest GNU Boot
+release, for all the supported computers.
+
+Most GNU Boot images with GNU GRUB *also* have SeaBIOS available in
+the boot menu, though it might not be the case for computers with a
+very small boot flash size (512 KiB) like the Intel D945GCLF. GNU
+GRUB, when compiled as a coreboot payload, runs on *bare metal* and it
+can boot any other coreboot payload if you use the `chainloader`
+command.
+
+The way to use SeaBIOS is fairly self-explanatory. SeaBIOS functions
+the way you would expect on a typical computer. GNU Boot currently
+lacks any sort of documentation for SeaBIOS, but you can refer to
+their website: <https://seabios.org/SeaBIOS>
+
+SeaBIOS was *especially* recommended by the Libreboot project when it
+was fully free for people doing an encrypted installation.
+
+The Libreboot project also listed the fact that SeaBIOS was "basically
+more reliable" at least with BSD systems by giving the example of ZFS
+that was less reliable in GRUB and contrasting that with the fact that
+if a FreeBSD system booted in SeaBIOS, it would work just fine because
+the users would be using the bootloader provided by FreeBSD.
+
+In addition, GNU boot may also remove support for booting encrypted
+BSD systems in the GRUB images it provides at some point, in order to
+make GRUB smaller to fit computer with a very small boot flash size
+(512 KiB) like the Intel D945GCLF, and unify the documentation, but
+also because it can't currently test that due to the lack of fully
+free BSD systems that are easily installable.
GNU GRUB payload
----------------
-GRUB can directly boot many BSD kernels, but support for this is quite
unreliable
-compared to its support for booting Linux kernels. However, you *can* use GRUB.
+GRUB can directly boot many BSD kernels, but according to the
+Libreboot at the time where it was still fully free, support for this
+was quite unreliable compared to its support for booting Linux
+kernels. However, you *could* use GRUB.
-When you use GNU GRUB directly, in this way, the various BSD bootloaders are
+When you used GNU GRUB directly, in this way, the various BSD bootloaders were
bypassed entirely.
-We have separate pages for each BSD system:
+The GNU Boot project has separate pages for each BSD system:
* [How to install NetBSD on x86 GNU GRUB payload](netbsd.md)
* [How to install OpenBSD on x86 GNU GRUB payload](openbsd.md)
--
2.46.0
- [PATCH v1 00/18] More website patches, Denis 'GNUtoo' Carikli, 2024/10/13
- [PATCH v1 04/18] website: configure.ac: always check for cat., Denis 'GNUtoo' Carikli, 2024/10/13
- [PATCH v1 02/18] website: configure.ac: always check for rm., Denis 'GNUtoo' Carikli, 2024/10/13
- [PATCH v1 06/18] website: properly handle the dot dependency., Denis 'GNUtoo' Carikli, 2024/10/13
- [PATCH v1 05/18] website: configure.ac: always check for mkdir., Denis 'GNUtoo' Carikli, 2024/10/13
- [PATCH v1 08/18] website: review BSD page index and convert to GNU Boot point of view.,
Denis 'GNUtoo' Carikli <=
- [PATCH v1 10/18] website: review NetBSD page index and convert to GNU Boot point of view., Denis 'GNUtoo' Carikli, 2024/10/13
- [PATCH v1 01/18] website: configure.ac: check for sed., Denis 'GNUtoo' Carikli, 2024/10/13
- [PATCH v1 03/18] website: configure.ac: always check for printf., Denis 'GNUtoo' Carikli, 2024/10/13
- [PATCH v1 13/18] website: misc: codenames: review and add GNU Boot context., Denis 'GNUtoo' Carikli, 2024/10/13
- [PATCH v1 07/18] website: remove history/git-history.jpg, Denis 'GNUtoo' Carikli, 2024/10/13
- [PATCH v1 09/18] website: review OpenBSD page index and convert to GNU Boot point of view., Denis 'GNUtoo' Carikli, 2024/10/13
- [PATCH v1 12/18] website: move contrib.md in history, rename git.md to contribute.md., Denis 'GNUtoo' Carikli, 2024/10/13
- [PATCH v1 14/18] website: docs: grub: review and add GNU Boot context., Denis 'GNUtoo' Carikli, 2024/10/13
- [PATCH v1 15/18] packages: website: release: help: fix program name., Denis 'GNUtoo' Carikli, 2024/10/13
- [PATCH v1 17/18] website: docs: build: fix link syntax., Denis 'GNUtoo' Carikli, 2024/10/13