README 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. Information about osboot can be found at <https://osboot.org/>
  2. This is the *libre* version of osboot, so it only has support for hardware that
  3. can boot without any binary blobs in the ROM image.
  4. This branch of osboot is basically pointless. It was created to then be forked
  5. and adapted for a new Libreboot release.
  6. Free your BIOS today! GNU GPL style
  7. ===================================
  8. osboot is
  9. [freedom-respecting](https://www.gnu.org/philosophy/free-sw.html)
  10. *boot firmware* that initializes the hardware (e.g.
  11. memory controller, CPU, peripherals) in your computer so that software can run.
  12. osboot then starts a bootloader to load your operating system. It replaces the
  13. proprietary BIOS/UEFI firmware typically found on a computer. osboot is
  14. compatible with [specific computer models that use the Intel/AMD x86
  15. architecture](docs/hardware/). osboot works well with GNU+Linux and BSD
  16. operating systems. User support is available
  17. at [\#osboot](https://webchat.freenode.net/?channels=osboot) on Freenode
  18. IRC.
  19. osboot is a *Free Software* project, but can be considered Open Source.
  20. [The GNU website](https://www.gnu.org/philosophy/open-source-misses-the-point.en.html)
  21. teaches why you should call it Free Software instead; alternatively, you may
  22. call it libre software.
  23. osboot uses [coreboot](https://www.coreboot.org/) for hardware initialization.
  24. However, *coreboot* is notoriously difficult to compile and install for most
  25. non-technical users. There are many complicated configuration steps required,
  26. and coreboot by itself is useless; coreboot only handles basic hardware
  27. initialization, and then jumps to a separate *payload* program. The payload
  28. program can be anything, for example a Linux kernel, bootloader (such as
  29. GNU GRUB), UEFI implementation (such as Tianocore) or BIOS implementation
  30. (such as SeaBIOS). While not quite as complicated as building a GNU+Linux
  31. distribution from scratch, it may aswell be as far as most non-technical users
  32. are concerned.
  33. osboot solves this problem in a novel way:
  34. osboot is a *coreboot distribution* much like Debian is a *GNU+Linux
  35. distribution*. osboot provides an *automated build system* that downloads,
  36. patches (where necessary) and compiles coreboot, GNU GRUB, various payloads and
  37. all other software components needed to build a complete, working *ROM image*
  38. that you can install to replace your current BIOS/UEFI firmware, much like a
  39. GNU+Linux distribution (e.g. Debian) provides an ISO image that you can use to
  40. replace your current operating system (e.g. Windows).
  41. Information about who works on osboot, and who runs the project, can be
  42. found on the [who.md](who.md) page.
  43. Why use osboot?
  44. ==================
  45. [Free software](https://www.gnu.org/philosophy/free-sw.html) is important for
  46. the same reason that education is important.
  47. All children and adults alike should be entitled to a good education.
  48. Knowledge begs to be free! In the context of computing, this means that the
  49. source code should be fully available to study, and use in whatever way you
  50. see fit. In the context of computer hardware, this means that
  51. [Right to Repair](https://yewtu.be/watch?v=Npd_xDuNi9k)
  52. should be universal, with full access to documents such as the schematics and
  53. boardview files.
  54. **[The four freedoms are paramount!](https://www.gnu.org/philosophy/free-sw.html)**
  55. You have rights. The right to privacy, freedom of thought, freedom
  56. of speech and the right to read. In the context of computing, that means anyone
  57. can use [free software](https://www.gnu.org/philosophy/free-sw.html). Simply
  58. speaking, free software is software that is under the direct sovereignty of the
  59. user and, more importantly, the collective that is the *community*. osboot
  60. is dedicated to the Free Software community, with the aim of making free software
  61. at a *low level* more accessible to non-technical people.
  62. Many people use [proprietary](https://www.gnu.org/philosophy/proprietary.html)
  63. boot firmware, even if they use GNU+Linux. Non-free boot firmware often
  64. contains backdoors, can be slow and have severe bugs. Development and support
  65. can be abandoned at any time. By contrast, osboot is a free software project,
  66. where anyone can contribute or inspect its code.
  67. osboot is faster, more secure and more reliable than most non-free
  68. firmware. osboot provides many advanced features, like encrypted
  69. /boot/, GPG signature checking before booting a Linux kernel and more!
  70. osboot gives *you* control over *your* computing.
  71. Project goals
  72. -------------
  73. - *Recommend and distribute only free software*. Coreboot
  74. distributes certain pieces of proprietary software which is needed
  75. on some systems. Examples can include things like CPU microcode
  76. updates, memory initialization blobs and so on. The coreboot project
  77. sometimes recommends adding more blobs which it does not distribute,
  78. such as the Video BIOS or Intel's *Management Engine*. However, a
  79. lot of dedicated and talented individuals in coreboot work hard to
  80. replace these blobs whenever possible.
  81. - *Support as much hardware as possible!* osboot supports less
  82. hardware than coreboot, because most systems from coreboot still
  83. require certain proprietary software to work properly. osboot is
  84. an attempt to support as much hardware as possible, without any
  85. proprietary software.
  86. - *Make coreboot easy to use*. Coreboot is notoriously difficult
  87. to install, due to an overall lack of user-focused documentation
  88. and support. Most people will simply give up before attempting to
  89. install coreboot.
  90. osboot attempts to bridge this divide by providing a build system
  91. automating much of the coreboot image creation and customization.
  92. Secondly, the project produces documentation aimed at non-technical users.
  93. Thirdly, the project attempts to provide excellent user support via mailing
  94. lists and IRC.
  95. osboot already comes with a payload (GRUB), flashrom and other
  96. needed parts. Everything is fully integrated, in a way where most of
  97. the complicated steps that are otherwise required, are instead done
  98. for the user in advance.
  99. You can download ROM images for your osboot system and install
  100. them without having to build anything from source. If, however, you are
  101. interested in building your own image, the build system makes it relatively
  102. easy to do so.
  103. Not a coreboot fork!
  104. --------------------
  105. osboot is not a fork of coreboot. Every so often, the project
  106. re-bases on the latest version of coreboot, with the number of custom
  107. patches in use minimized. Tested, *stable* (static) releases are then provided
  108. in osboot, based on specific coreboot revisions.
  109. Coreboot is not entirely free software. It has binary blobs in it for some
  110. platforms. What osboot does is download several revisions of coreboot, for
  111. different boards, and *de-blob* those coreboot revisions. This is done using
  112. the *linux-libre* deblob scripts, to find binary blobs in coreboot.
  113. All new coreboot development should be done in coreboot (upstream), not
  114. osboot! osboot is about deblobbing and packaging coreboot in a
  115. user-friendly way, where most work is already done for the user.
  116. For example, if you wanted to add a new board to osboot, you should
  117. add it to coreboot first. osboot will automatically receive your code
  118. at a later date, when it updates itself.
  119. The deblobbed coreboot tree used in osboot is referred to as
  120. *coreboot-libre*, to distinguish it as a component of *osboot*.
  121. A coreboot *fork* is planned for the future. Nowadays, coreboot drops support
  122. for boards that are "unmaintained", which in some cases just means that nobody
  123. submitted a new status update (to the *board-status* repository), so nowadays
  124. osboot must maintain multiple versions of coreboot. This is unsustainable,
  125. so a fork is planned, re-adding all of the deleted boards, backporting newer
  126. coreboot features and, possibly, having support for those boards re-merged
  127. upstream, where coreboot and the fork will share code back and forth. As of
  128. 27 April 2021, work on this fork has not yet begun.