README 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. Documentation can be found on https://osboot.org/
  2. osboot is free / open source *boot firmware* that initializes the hardware in
  3. your computer and loads an operating system. It replaces the proprietary
  4. BIOS/UEFI firmware commonly loaded onto a computer. osboot is compatible with
  5. specific computer models that use the x86 architecture. User support is
  6. available at #osboot on Freenode IRC.
  7. osboot can boot all of the most popular operating systems such GNU+Linux,
  8. BSD and even *Windows*. We recommend *free* operating systems (e.g. GNU+Linux)
  9. that comply with GNU Free System Distribution:
  10. https://gnu.org/distros/free-system-distribution-guidelines.html
  11. *Boot firmware* is low-level software that executes when a computer is turned
  12. on. It brings the components (CPU, memory controller, peripherals etc) to a
  13. useful state enabling easy software development and/or usage. Boot firmware
  14. usually loads an *operating system* which provides a unified interface for
  15. application software.
  16. osboot uses coreboot for hardware initialization.
  17. *coreboot* is notoriously difficult to compile and install for most
  18. non-technical users. There are many complicated configuration steps required,
  19. and coreboot by itself is useless; coreboot only handles hardware
  20. initialization, and then jumps to a separate *payload* program. The payload
  21. program can be anything, for example a Linux kernel, bootloader (such as
  22. GNU GRUB), UEFI implementation (such as Tianocore) or BIOS implementation
  23. (such as SeaBIOS). While not quite as complicated as building a GNU+Linux
  24. distribution from scratch, it may aswell be as far as most non-technical users
  25. are concerned. In short, most people will not want to use coreboot for this
  26. reason. The coreboot project is geared towards developers and therefore it
  27. assumes that the user is highly technical, with deep knowledge of the hardware
  28. and how computers work in general.
  29. In other words, you can't simply download and install *coreboot*, just as you
  30. can't simply download and install the *Linux kernel*, becasue it simply won't
  31. work the way the user wants. osboot solves this problem in a novel way:
  32. osboot is a *coreboot distribution* much like Debian is a *GNU+Linux
  33. distribution*.
  34. osboot integrates coreboot and several *payloads* such as GNU GRUB, SeaBIOS
  35. and Tianocore. It provides an *automated* build system that downloads, patches
  36. (where necessary) and compiles coreboot, GNU GRUB, SeaBIOS, Tianocore and all
  37. the other software components needed to build a complete, working *ROM image*
  38. that you can install, replacing 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. osboot provides these payload choices:
  42. * GNU GRUB (bootloader). This is the default on x86 (Intel/AMD) computers,
  43. capable of booting the majority of GNU+Linux and BSD operating systems. It
  44. has many advantages such as ability to load from encrypted partitions, verify
  45. GPG signatures of your Linux kernel and more. GRUB can additionally load and
  46. execute *any other coreboot payload*.
  47. * SeaBIOS. This implements traditional x86 BIOS interrupts and services,
  48. allowing most legacy operating systems (e.g. older Windows versions or DOS)
  49. to be used.
  50. * Tianocore. This implements UEFI services, allowing most modern operating
  51. systems to be used (e.g. Windows 10). Tianocore is less useful for free
  52. software users, because GNU GRUB boots GNU+Linux and BSD on its own, but it
  53. provides a familiar interface that a lot of people are already used to.
  54. For each machine supported in osboot, separate ROM images are provided:
  55. with GRUB payload (and Tianocore+SeaBIOS both selectable in the boot menu),
  56. SeaBIOS on its own and other ROMs with Tianocore on its own. For most users,
  57. we recommend using GNU GRUB.
  58. Additionally, osboot provides utilities to install osboot (such as
  59. flashrom), to configure it (e.g. cbfstool, ifdtool, me_cleaner) and user
  60. friendly documentation aimed purely at non-technical users. If you simply want
  61. to use the firmware, without getting too in-depth, osboot is for you!
  62. osboot tries to provide updated releases on a regular basis, with tested ROM
  63. images per machine supported.
  64. Why use osboot?
  65. ------------------
  66. Because you have rights. The right to privacy, freedom of thought, freedom
  67. of speech and the right to read. In the context of computing, that means anyone
  68. can use free software.
  69. Simply speaking, free software is software that is under the direct sovereignty
  70. of the user and, more importantly, the collective that is the *community*. osboot
  71. is dedicated to the Free Software community, with the aim of making free software
  72. at a *low level* more accessible to non-technical people.
  73. Many people use proprietary boot firmware, even if they use GNU+Linux. Non-free
  74. boot firmware often contains backdoors , can be slow and have severe
  75. bugs. Development and support can be abandoned at any time. By contrast,
  76. osboot is a free software project, where anyone can contribute or inspect
  77. its code.
  78. osboot is faster, more secure and more reliable than most non-free
  79. firmware. osboot provides many advanced features, like encrypted
  80. /boot/, GPG signature checking before booting a Linux kernel and more!
  81. osboot gives *you* control over *your* computing.
  82. How is osboot different versus Libreboot?
  83. --------------------------------------------
  84. osboot development started on December 11th, 2020, forked from the Libreboot
  85. 20160907 build system. osboot is similar philosophically
  86. to Libreboot, but with one difference: Libreboot only allows support for boards
  87. where the firmware can be 100% Free Software as per what is installed to the
  88. boot flash. Libreboot complies fully with FSF/GNU criteria defining what *free
  89. software* is.
  90. osboot merely *prefers* this, but allows binary blobs. osboot will accept
  91. any board that coreboot supports. The coreboot software supports literally
  92. hundreds of computers, but on most of them it is not entirely free software,
  93. but instead relies on added *binary blobs* typically provided by the hardware
  94. manufacturers. E.g. `mrc.bin` for raminit (initialization of memory controller)
  95. and other initialization tasks.
  96. It was started in response to a growing trend in the community: lots of people
  97. are interested in Libreboot, but wish to use newer/faster hardware. Porting
  98. Libreboot to newer Intel/AMD hardware is very difficult. Meanwhile, there
  99. existed no user-friendly solution like Libreboot. osboot provides an easy,
  100. automated build system and installation process, with user-friendly
  101. documentation and professional user support backed up by years of experience
  102. dealing with coreboot systems.
  103. The entire motivation behind this *permissive* policy (in osboot) is that
  104. it will lead to many more coreboot users, on all coreboot systems, especially
  105. when more people join the osboot project as maintainers for various boards.
  106. By increasing the ease of use and accessibility for a given coreboot system,
  107. for *non-technical users*, it increases the amount *of* technical users because
  108. more people learn about coreboot. This increases the number of people that can
  109. provide *testing* for coreboot, and will very likely:
  110. * Increase the number of coreboot developers, because some of those new users
  111. will become truly inspired
  112. * More ability for coreboot developers to find individual testers for a given
  113. board (osboot makes it easy to maintain boards, on any given coreboot
  114. revision, with any collection of custom patches on top of that coreboot
  115. revision, for that board).
  116. License can be found in COPYING and through parts of the source tree.
  117. This readme is forked from the osboot home page on 11 March 2021