summaryrefslogtreecommitdiffstats
path: root/docs/index.html
blob: c45e7f2cd915557f3f8ab8e4ea47135457ea4071 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1">

	<style type="text/css">
		@import url('css/main.css');
	</style>

	<title>Documentation for libreboot project</title>
</head>

<body>
	<h1 id="pagetop">Documentation for libreboot project</h1>

		<p>
			It is assumed that you are running <a href="https://www.gnu.org/distros/">GNU/Linux</a>
			(no other operating system is known to work with this release).
		</p>
		<p>
			<a href="#why">What is libreboot?</a>
		</p>

<hr/>

		<h2>Release information</h2>
			<p>
				Information about this release can be found at <a href="release.html">release.html</a>.
				Always check <a href="http://libreboot.org">libreboot.org</a> for updates.
			</p>
			<p>
				The release page and <a href="future/index.html">future/index.html</a> contain details
				about future work.
			</p>

		<h2>Hardware compatibility list</h2>
			<p>
				Information about what systems libreboot supports.
			</p>
			<p>
				Goto <a href="hcl/index.html">hcl/index.html</a>.
			</p>

		<h2>Installing libreboot</h2>
			<p>
				Information about how to install libreboot on supported targets,
				using software and/or dedicated hardware.
			</p>
			<p>
				Goto <a href="install/index.html">install/index.html</a>.
			</p>

		<h2>GNU/Linux distributions</h2>
			<p>
				Installing GNU/Linux distributions, preparing bootable USB drives, changing the default GRUB
				menu and so on. 
			</p>
			<p>
				This also contains guides for fully encrypted Trisquel and Parabola GNU/Linux-libre installations.
			</p>
			<p>
				Goto <a href="gnulinux/index.html">gnulinux/index.html</a>.
			</p>

		<h2>Developing libreboot</h2>
			<p>
				Information about configuring libreboot, building from source, maintaining the project,
				working in git and so on.
			</p>
			<p>
				Goto <a href="git/index.html">git/index.html</a>.
			</p>

		<h2>Security topics</h2>
			<p>
				Goto <a href="security/index.html">security/index.html</a>.
			</p>

		<h2>Hardware maintenance</h2>
			<p>
				Goto <a href="hardware/index.html">hardware/index.html</a>.
			</p>
	
		<h2>GRUB payload</h2>
			<p>
				Information about fonts and keyboard layouts used in GRUB. 
			</p>
			<p>
				Goto <a href="grub/index.html">grub/index.html</a>
			</p>

		<h2>Miscellaneous</h2>
			<p>
				Random topics that don't belong anywhere else.
			</p>
			<p>
				Goto <a href="misc/index.html">misc/index.html</a>.
			</p>

<hr/>

	<h1 id="why">What is libreboot, really?</h1>

		<p>
			Libreboot is a <a href="http://coreboot.org/">coreboot</a> distribution (distro) with proprietary software removed,
			intended to be a <a href="https://www.fsf.org/about/what-is-free-software">free</a>
			(libre) 'BIOS' replacement for your computer. The project is aimed at users, attempting to make
			coreboot as easy to use as possible.
		</p>

		<p>
			Read the full <a href="https://www.gnu.org/philosophy/free-sw.html">Free Software definition</a>.
		</p>

		<h2>
			The libreboot project has two main goals:
		</h2>
			<ul>
				<li>
					<i><u>Recommend and distribute and only <b>free software</b></u></i>. The coreboot project distributes proprietary code/blobs on some computers;
					this can include things like CPU microcode updates, memory initialization code and so on. The project also actively
					recommends that the user install additional blobs in some cases (such as the video BIOS, VBIOS or Intel ME).
					While this can be necessary from the coreboot project's point of view, Libreboot is an attempt to support as many
					computers from coreboot as possible, without distributing any blobs and without having the user install additional
					proprietary software. This is not to say that the coreboot project is bad; a lot of extremely dedicated and talented
					individuals in coreboot work night and day to reverse engineer and free those blobs that still remain in coreboot. 
					<b>Any system from coreboot that can run without blobs is a viable libreboot candidate!</b>
				</li>
				<li>
					<i><u>Make coreboot easy to use</u></i>. The main problem that many users have with coreboot is that it is extremely difficult to 
					understand, learn about, install and use. This is understandable; coreboot is a low-level piece of software and has many
					talented individuals working on it, but the project's resources are limited and so the developers focus their efforts on the code. 
					Coreboot offers wonderful support for other coreboot developers and those who wish to climb up
					that steep curve to learn everything that they can.<br/><br/>
					
					At the same time, those who simply want to use coreboot (for any number
					of reasons) are often left feeling intimidated and many of them give up in frustration. Libreboot attempts to bridge this gap;
					its documentation is entirely focussed on users, with detailed steps showing exactly how to install and use it and the issues
					that they may come across (and how to work around them).<br/><br/>
					
					Almost everything in libreboot is completely automated, with
					scripts for downloading, building and installing the various components used in libreboot. Pre-compiled ROM images built
					from the libreboot source code are provided, along with the utilities (statically compiled, from libreboot sources) that the user will need for installing them.<br/><br/>
					
					Libreboot is similar in concept to a GNU/Linux or GNU/Linux-libre distribution; it is composed of not just coreboot (deblobbed), 
					but everything else that the user will need, such and GRUB and flashrom. These are all fully integrated, in a way where
					most of the detailed steps otherwise required of the user (if they used coreboot, the upstream provider) are completely eliminated.<br/><br/>
					
					In much the same way as you can simply download an ISO image for your favourite GNU/Linux-libre distribution, and install it, 
					you can download pre-compiled libreboot ROM images (built from the sources) along with installation scripts and documentation
					that make libreboot as easy to use as possible.
				</li>
			</ul>

			<p>
				Libreboot is <b>not</b> a fork of coreboot, despite misconceptions of this fact. Libreboot (downstream supplier) is a parallel effort 
				which works closely with and re-bases on the latest coreboot (upstream supplier) every so often.
			</p>

			<p>
				<b>
					As such, all new coreboot development should be done in coreboot, not libreboot!
					Libreboot is about deblobbing, and packaging coreboot in a user-friendly way, where most work is already done for the user!
					If, for example you wanted to attempt porting a new motherboard then you should do that in coreboot. Libreboot will (as a downstream)
					receive your change at some point in the future, in a future release.
				</b>
			</p>
			
			<p>
				<i>Libreboot</i> as a whole is the distribution consisting of everything surrounding coreboot. However, the main component is coreboot:
				libreboot's deblobbed coreboot tree is sometimes referred to as <i>coreboot-libre</i> to distinguish it as a component of <i>libreboot</i>.
			</p>

		<h2>
			A 'stable' coreboot:
		</h2>
			<ul>
				<li>
					Coreboot uses the <a href="https://en.wikipedia.org/wiki/Rolling_release">rolling release</a> model 
					(and it is therefore quite volatile; one day when you build coreboot, it may or may not work correctly on your machine).
				</li>
				<li>
					Libreboot changes less often (as far as the release model is concerned), focusing instead on 'tested' releases for <i>specific machines</i>.
					At any given time, it might also be possible to build ROM images for systems other than those officially supported. If you get your board to work
					(without violating the <i>&quot;coreboot development goes in coreboot&quot;</i> rule), then others could benefit from it.
				</li>
			</ul>

			<p>
				On the other hand, coreboot is also strict about what it accepts (merges) into the main git repository: 
				most of the time, a lot of changes are under review at review.coreboot.org (as a way of encouraging as much further development
				as possible before accepting the patch).
			</p>

			<p>
				Meanwhile, libreboot is a lot less strict in this area and freely merges specific patches that are desirable, sometimes before they are merged into coreboot's main repository.
			</p>

		<p><a href="#pagetop">Back to top of page.</a></p>

<hr/>

	<p>
		Copyright &copy; 2014, 2015 Francis Rowe &lt;info@gluglug.org.uk&gt;<br/>
		This document is released under the Creative Commons Attribution-ShareAlike 4.0 International Public License and all future versions.
		A copy of the license can be found at <a href="license.txt">license.txt</a>.
	</p>

	<p>
		This document is distributed in the hope that it will be useful,
		but WITHOUT ANY WARRANTY; without even the implied warranty of
		MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See <a href="license.txt">license.txt</a> for more information.
	</p>

</body>
</html>