From 332faa80c9b90c953486b6f1fb730b60a108936a Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Fri, 6 Dec 2024 11:06:06 +0000 Subject: [PATCH 001/279] t480 and t480s are similar Signed-off-by: Leah Rowe --- site/docs/install/t480.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/docs/install/t480.md b/site/docs/install/t480.md index a10374b..4b3b93b 100644 --- a/site/docs/install/t480.md +++ b/site/docs/install/t480.md @@ -116,7 +116,7 @@ The build target, when building from source, is thus: ./mk -b coreboot t480_fsp_16mb ./mk -b coreboot t480s_fsp_16mb -**NOTE: The T480 and T480 may be similar, but they do have several critical +**NOTE: The T480 and T480S may be similar, but they do have several critical differences in their wiring, so you MUST flash the correct image. Please choose one of the above build targets accordingly.** From 1c0b7b2aa8f6983b058cbf4f93b69f8091c78f4e Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Fri, 6 Dec 2024 11:19:13 +0000 Subject: [PATCH 002/279] t480/t480 quirks Signed-off-by: Leah Rowe --- site/docs/install/t480.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/docs/install/t480.md b/site/docs/install/t480.md index 4b3b93b..d0c128d 100644 --- a/site/docs/install/t480.md +++ b/site/docs/install/t480.md @@ -139,7 +139,7 @@ Absolutely unsigned Intel ME! ----------------------------- Libreboot already disables the Intel ME by default, using `me_cleaner`, but -the T480/T480 specifically has an additional quirk: +the T480/T480S specifically have an additional quirk: One of the benefits of [deguard](deguard.md) for Intel MEv11 is that it sets the ME in such a state where you can run unsigned code in there. This is how From 21aec25c8d9dcbf28f58d1592def9fe4bdbc09a2 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Fri, 6 Dec 2024 20:25:36 +0000 Subject: [PATCH 003/279] made the t480 guide a bit less hazardous i repeated some info intentionally, and made some things clearer Signed-off-by: Leah Rowe --- site/docs/install/t480.md | 48 +++++++++++++++++++++++++++++++-------- 1 file changed, 39 insertions(+), 9 deletions(-) diff --git a/site/docs/install/t480.md b/site/docs/install/t480.md index d0c128d..c801fc2 100644 --- a/site/docs/install/t480.md +++ b/site/docs/install/t480.md @@ -123,11 +123,11 @@ choose one of the above build targets accordingly.** Installation ============ -Insert binary files +**Insert binary files (DO THIS FIRST)** ------------------- -If you're using a release ROM, please ensure that you've inserted extra firmware -required refer to the [guide](../install/ivy_has_common.md) for that. **(failure +**If you're using a release ROM**, please ensure that you've inserted extra firmware +required. Refer to the [guide](../install/ivy_has_common.md) for that. **(failure to adhere to this advice will result in a BRICKED machine)** Libreboot's build system automatically downloads and processes these files if @@ -135,6 +135,18 @@ you build Libreboot from source, but the same logic that it uses must be re-run if you're using a release image. This is to bypass certain restrictions on direct distribution, for files such as the Intel Management Engine firmware. +The pre-compiled images do not contain an Intel ME, so you must first insert it +using the above guide. Libreboot's build system automatically grabs it, disables +it after boot with `me_cleaner`, and configures it with [deguard](deguard.md) +to disable the Intel Boot Guard - this automation is either applied at build +time, or you can use it on release images. + +Again: + +If you're [building from source](../build/) via Libreboot's build system, these +files are inserted during build. You only need to manually insert them, using +the above linked guide, on the pre-compiled release images! + Absolutely unsigned Intel ME! ----------------------------- @@ -218,16 +230,34 @@ flash IC. AGAIN: This is not the Libreboot flash IC. This is separate to the system flash. Read on to know how to reprogram the main system flash! -Flash a ROM image ------------------ - -**MAKE SURE** to update the Lenovo UEFI firmware before installing Libreboot. -You must also make a dump of the NOR flash, before updating Lenovo's firmware, -and once again before flashing Libreboot, being sure you have good dumps. +Flash a ROM image (software) +----------------------- If you're already running Libreboot, and you don't have flash protection turned on, [internal flashing](../install/) is possible. +The default Libreboot setup removes all flash restrictions, allowing you to +flash internally, from a Linux or BSD systems running on the T480/T480. You must +also [disable /dev/mem protections](devmem.md) for internal flashing to work. + +Flash a ROM image (hardware) +----------------- + +**First, please assimilate all knowledge in +the [25XX NOR flashing guide](spi.md) - it shows how to program these flash +chips, using a dedicated flash programmer, which is something that you will +physically connect to the flash chip.** + +Again: this is only necessary if you have Lenovo BIOS, or if you enabled [flash +write protections](../linux/grub_hardening.md) on an existing Libreboot setup. + +**MAKE SURE to update the Lenovo UEFI firmware before installing Libreboot. +You must also make a dump of the NOR flash, before updating Lenovo's firmware, +and once again before flashing Libreboot, being sure you have good dumps.** + +Please ensure also that you've already dealt with the Thunderbolt issue, which +is described above. + Find videos online of how to disassemble this, and/or find Lenovo's own service manual online. Otherwise, observe: From 9b6df387baa18be80f1c673af76f90ef5591d775 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Fri, 6 Dec 2024 20:31:58 +0000 Subject: [PATCH 004/279] make ivy_has_common a bit less crap Signed-off-by: Leah Rowe --- site/docs/install/ivy_has_common.md | 13 ++++++++++++- site/docs/install/ivy_has_common.uk.md | 7 ++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/site/docs/install/ivy_has_common.md b/site/docs/install/ivy_has_common.md index faa34bd..08d5340 100644 --- a/site/docs/install/ivy_has_common.md +++ b/site/docs/install/ivy_has_common.md @@ -1,5 +1,5 @@ --- -title: Insert vendor files on Sandybridge/Ivybridge/Haswell +title: Insert vendor files not included in release images x-toc-enable: true ... @@ -12,6 +12,17 @@ boards, for certain functionalities; we cover this more thoroughly in the [Freedom Status](../../freedom-status.md) page and in the [Binary Blob Reduction Policy](../../news/policy.md). +Libreboot can't directly distribute *all* of these blobs, so some of them are +downloaded at build-time, and processed for insertion into the firmware images. +**On pre-compiled ROM images in releases, these files are removed, and can be +re-added using the same automation that was applied during the build process.** + +Examples of vendor files can include, for example: Intel ME (disabled after +boot with me\_cleaner), Embedded Controller firmware (e.g. KBC1126 EC firmware +on HP EliteBooks), VGA ROMs (e.g. Nvidia GPU ROM for Dell Latitude E6400), +and so on. Without these, your machine may not boot correctly, or not boot at +all! + Therefore, you should just follow this guide if in any doubt. Otherwise, the freedom status page lists all boards that require vendor files, and it says what they are. This is because Libreboot cannot directly distribute some of them, diff --git a/site/docs/install/ivy_has_common.uk.md b/site/docs/install/ivy_has_common.uk.md index d5edc98..abf7b53 100644 --- a/site/docs/install/ivy_has_common.uk.md +++ b/site/docs/install/ivy_has_common.uk.md @@ -1,5 +1,5 @@ --- -title: Insert vendore files on Sandybridge/Ivybridge/Haswell +title: Insert vendor files not included in release images x-toc-enable: true ... @@ -9,6 +9,11 @@ If a given target does not require vendor files, none will be inserted. **TODO: Re-translate this again to Ukrainian. It was translated before, but the english page got heavily re-written.** +Libreboot can't directly distribute *all* of these blobs, so some of them are +downloaded at build-time, and processed for insertion into the firmware images. +**On pre-compiled ROM images in releases, these files are removed, and can be +re-added using the same automation that was applied during the build process.** + **NOTE: This page also applies to PM45 machine Dell Latitude E6400 if it contains an Nvidia GPU (Libreboot vendor scripts can insert the VGA ROM)** From 7e1fa9ff12009b5d309b17a317c772dea6bae352 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Fri, 6 Dec 2024 20:40:15 +0000 Subject: [PATCH 005/279] make it rainbow Signed-off-by: Leah Rowe --- site/favicon.ico | Bin 2076 -> 6977 bytes site/global.css | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/site/favicon.ico b/site/favicon.ico index 212bb32e106621165baf5e5f8ac5ee4e20bea700..c9191b964c1cfa40cce95ff6202a6753f841b97d 100644 GIT binary patch literal 6977 zcmV-H8@}X;P)iZ za}`!q)v&4>R#n5Qsv1^R!>YzbTgXJ35)>Qi@ zE8uxvYOlv7y%?gUZn1_{ot;ujUYV}OEc=Krxz8OQb+0Bwi#4q3Y^_f>^re?2U-lCh z`kM{=YFOt+4Qs}{Px*$w`#FjxG#0ys8dkNnu$DdF2Ykvu{X!5ewDZ$8wp|UY+EQ50 z_CoLX$wOzXD4J{LCWEFM)Uc{8g|+C}KI%*U;TMX0(o11c5QG|5b*iu$jnDbMEBx0U zkDYM1VRgDDmn;aD28$=mtAR+MMe$yr@+{ABoJ8qe*SpKjX3Tr3S04KRpgTYi4&8s9QVpvbrEwXjaezP%7g?7GmrfOJKQ5?9}068dkM7UGGy#?ULvDkk7c+ z?e26PLJjNeRekQQ_Zu3WPx-o`p^N=l5G{5Kr3p=_VV$)a*5=b;tMzZcktJ(id+1$KDU zZLXE{vfji<5CqYtHneHBosCV1p@vl*JxFSt#-P#qgsrHG5f&+m~yV!Oigc{cWs#KC;Ka@*R6o(s__X%GS zMQ5wmyWNc*aknfvTntgbfzVPL+eQs*`x~c&uSqOQaF`$eZx@%b5z%);d(zxW3 z0~A@2gb;NWEPK9}mseT#Y;)#4)rN+yb&)lDwrN;(U3;G7NkDKMMfL?h6a-I|H7hRl z4@Cy^?Ofl*uHB|#Rees=aT;|6sU#3IKIeOa;;E1%=lhf17|b)~ zdy8ByfTA4b5Qli0HO`_00Gv3T%Q^yVBe3cy0ClN#g$R{Xf6f8wD$Bf$*O1dA3T>LEx5hXC zXWS%AHCWqAYx%kcf*5IX%feS7m_Nxw9OnRIS+R6n+Z!FUiC7qE&@mc6p)L^@ou_nXPok}8&u{9ma`8rJUR#=~^l&$(LY=nzmIK%7t`*)t2*I?CPwU$1L z#rY2&S1YWK08KOUW52Z=4spN!8-i#&;8yC2RrkCHT`$%JVBxawr)ih4K6)$XOR6T` zN7%Fq*kS)5`}M8$8KhO!n<>_dE=Y@oD}NX#%@I7+s#Rj*bQob92d2KjX<&c(dX9yM zYp^C%_hlK$uAp<}ci9Qpgbm2 z;d1eL`klby+59z}^bb&jMXlwZNCJv9CVy20D^{{&!#8uRd_6T-wW>!H ziN)Re^B8rQP{u1lG_F!9AgxS=@qVRvoP)!^t--1lRfIx&WnXAsg}v#8NB|Rj6|DH1 zYMzy@%zJvpK@RkPzm6NKs{Iu^KLm62S0mmdu?mggl8}Hh(YU8+G2N3F$2idab*KZ< zT16=7l|9e`Zhkq;--7WGrdYB3u|k0v{|+TZahzw@ez^uKscw^@b1U5PLJ)(f zCswTlRD!GGt1AAh$d7S&^%tnYimJVp=5XEj!mjsYtO!?xDUO~oUfg}kf5`jXJfge3{el!hMqKHtObEARLbN=?@e{8C{Dlct?W?*P)C)R*>wg4xz9-YAv2uAo;kTl3Pk>3e z#))Gu0SXqf1vOH~4Hw|?MGBXE4qW!xfb!f@Bt;LHDrC5^srLg;9{FL=AsyS!Gn+MP zur7#7wMI|{fIaUI*L(wLgPEiO2@xpqX)2WJYaUJ?{9e!j4bv#vu9a-Ql{g1Z{)1Ah?;~8k=_$iph*iJ)3cg3I_KRx+P^7ci zr^zccE!=(u?7kT0c7v~0qy$&0Sd-5hfG}0n05wGs`7*^5-wc}9VEr#{Ru~^7%fJtP z&|uk!6bSLc06Pp^(tw?9SX_Xm9Yj!?lkkKHO?uX1@*i&|0HbEkxELJ8KmM&isKMHN zfxcZ{gD4@s1qSi-q=Xp>v60;W|Uv zF!T$d7lc7B3`(KMg%CJ@sfEx;P*tYGc%Pn4_giVYY(tnm<01^;t)Bv9Wa6}wb)*Js zgFto5-e?@Fy%R3JR(O{W6!u(U7zF66&@F`ZB96TRdZSV3=R#fzMX^b61qYg@L^M^b zi3(PE-eUTSu|XUy&#CTH@aVSy!eV0qL8!qxHxoYcO=F-$VAo~vgfx;)51Qe`GMCL!gEiZM8NOfktk(d*(nauH-wD@W z2O^AxD)h@#vEmd+rGllZ6@eR9twA9S3!yB8^Or=ZqTh-Tk-$nQq+gH%WE)7kfv=4AlnYCB9z)IdjQfe;0wPTKH+1a)tVMHKrdFV z1k>oAam8Z2WK^lfQ)I6o!c_|Srom-Ma5W-4Q%!w!TFCYzMGnrCKl6Ex@pV7rhehyp89bu7X0WNRoV38i^N`>eb6*wHu5) zm%*2uztn(c$zxRveH^F5RfTC1um%8xA-wg&fL+g>=xQ86i4xKvj58U;3oB*K+qh`3VBBV2K% z7%P`zhtiUrvS41mKk(^r}m&8_^@kZDPR`s}~RJkI2qw#eAjhxE=Z7YHm zztyL}-R}n9_lIcl32k!&#wL&Lw{teg0+UC+;9uL=-WUVfFr?WIA`DNx zzZtH(2EO3apg9NF4Z@W&t_V<^8tGM1dJ`dw85c3@f_{Q)GXvBFgOB56)Nn3Mf|D87 zbO~sQtlS6d&%oM!Xz$IK_T98D|3+*w^p&ac^w~dRFuV^yml}&(Z&j$E-J%=DU7Z@> zrT5099ha_+z*Wt-((g1iR*ikET2x|)vfShVHLVKcSnYtA-Y0)fO@aoBQ?T|Jth@zI z{{d(lqy=N?DOxxGF(&9l)$)UkI8(jUi1qX7KXf(O$<;Q6}To$y-qXp&lgEF0AO$kdI#b7 zpTgRIfY}WQFe$U|vv7Mp8WUH8m8!LT^r!K~(+DOkHs%e$Rs~B}^EDBHmwYE&cQpwr zSG_g@SD6A-Vr8Og=BEUxgUt?5Q^r;CT$5AZEO51<2+&`HwP)ez??T+Db)i#?5)3nm`>Ge`I2J!pBbF_L%^i(9d1>yR!7w;$owMw(hq@cOhA?HEg&1u zxVlqJeSB8UxcXJNHn~YKc`eEeRy;g#0Mx*(cR_OpnE41**#K{$ba7le4ToO?EBgTj zs>+PRiPMH{2vq;_0&vAwVfK6|;;V*D0&WUe z=bv$f2!N?kQDja#}o( zj0<|PLQQ5}>58kw%??llFbMG09FCMQR7ijzA_NUgSNd~KTr}1QGUM9~uKp(2^C5te zGOhwW`B(U3zYQ>T3fyXOgYT6+yR-;D@paIdo9eG7pIOdX8sUo7sZy~jiT&t)98p9w zzu_jq1k)2a94+Crf>uG9&*tM9R}lmNNC+E9=!hhgW_-aPx5Jrvxa;S^&Q$}{{$avn z-v*jjx>C0^SS$G&pxksdyzmPqVVYPOx=jmEE2e#IO6BUMk$yoXou4WN3WaA2I8(y0 z0B02p6}4@fw-wGYXRn4YHA`Zi+MZ zf2$oS1Puna5AOU4FfEb-JpH3^_TPw8;9PLVnk^5O51#e1i!ty^Uj+;E6Y$Jlxnwf} z)CAPoH8^%mIDJN0??P`)>77yXWeBUFJw;7MU1p^N^-3tr%z*vKW@Zjfw?7|={Bww{1z)Ihh`KUYL%ienipk{hD9j0L(Vfy1g zgMax8m_&g%9Ym1IrfoR3q|*PkEZzY(e-~&Q)Izxe4}KN+US$QiZNT#CM`v{gg_nOC zT(=vL4NilTS4F)ZyzY(go4*e0r$Mzkbs2=Ym@;o^={tl06T-kC> zCkWdBD0*cduO3BVtbOkWH++7qR;9utKML!Q0?@WC8n&@LHmoX2ujmJ_-Y5#d_kS$h zbs1HeSyzVB{nk+7Wj_k{y#_=8z>3k1nigzwkfoJyBVg}1y_>ot^vyTB1 zjd#bjjS&OD_WC$M6wbjlx4~t10&`#%AvD1|c=V6q)cq5&!j=Q8SN14_S4D-YP=QZ> zH~7e#U}uNtmOXcWb?_9t_^05+AplaN+BW*;VZZFB|81>-d+vhWmxGz7dYVlJkNpE2 zy>9}ltp!&4AW=%UOSp0me9WzI=cRDTBD5Qz%50k5$n)?s@UowW?h0dbT4u&Mwuy#5 z_X9t$00iK!OW~@kB2d+BWf7_;-U!dWZTuH(m+yw9 zRs>1eh@RiDi-R{k6`=}&aofkJm1J8&wJU>nzZ@2JfNxB8p$>q@AAmzo093wQu_eJ8 zlmmt#=kgu!>W=~%Kn7wtKgo0xuMYn6QTWl{0+BIP3m6f$ixds3`I-UXng+bvJ}?ve z6ytbo8Q$_{@L>#<@3^)F*s@@C%bu2@lux`7KIcx5jCeHwvx#tJaV!M>{4MZ1e-8kH zj9yL1HiD|sq-TLo-2tvyJ=LbjV5NjNKM8BYDW}G4S+HW-tH9UX1s`}7NV5tT!ud%O zRQ&+2`dfJ06X})9T-Gsyu+22uXc7nlz;zBf4mufR4LDiA(`!&_C8wKn9dE=~V0(a- zE8P1YaO>U#)TY8^;6xw3>yKb{9RM08qwU&kOGSTG4*b9|RSBrJZKnX{XKSUk)F6 zX#z+Z5hyCZXM?No@E`vLZ#)36e;S+t0E6-K*_;&-wzX=oqQ45j_g)LP?f^+J#cCBt ze*F>n%O~K*eefPv!BPhfmiJTaS5#PRQLxc;4hAX#9g*AXQ@?#HOtoRZ)m}tt;vYt zpobsa4?$x(KA+7QYSm!PQmy8I7d4@ifuxI71K)ob)&i+L`%xcwORhrJO1HJ{YB;6I_ZZQrn&C8<^o7L=n()wKW(;Cq0JdFR>>{4#K|hHAQMu&OVU1Mos% zFI5R}2KZ;-FMw8R6DF&tzZ$G5yKA%vg$!e*;s!v7DuJhf2O>~(h%$(_Mn>HUwQ8`Y z^s7^9$(6uo0y(fBcocYBgb72G0xi=V^`A3cwQ8`SU-m;D3d3|^!~`qWbY|LZT&o5v zO^2Zjr6?+bjQge#5sfe*Y*e-C97}70Hm(}1TD5AhYSm!Xs==yNs|Ksq|7ZO-YhUV! TXMfH~00000NkvXXu0mjfoz66C literal 2076 zcmV+%2;=vOP)lFGbIH7U;eM9rG+d2B&cuSzAY*& z+HSOk(`3p1;=fQGy1ToH5J0$WY-sd)@=RMsokL`){EHVI72Vw2jMopzfrtVuv^Q_w z)YsShc=;Hq>92FLZd|(#Pehgsur@I<5g!}3f7_mQOV)#X4+aMZ;k@x`$#S5os%kxN zL-}7z9o%!^>7ysPIk_`cq1b@DbLsp=u0+GAh{&ZdWn*s5q0|8Zj))HI;?~yIo7Zk| zD0M(seEISv5gOy;Kwn>< z#c^{^mpf=o^!E0WMe*s=r;Ln@&3YTTUK<*#8(?#hg@N4F$<~po4pZi2=eT%YT3b^~ z^{iP-N=PJ&qP(n}k~M3cot*;en93?j)|6>UtD%uY76s%$O4gK}J9U-_LPdE6C2Pu3 zl9Gual$MlIvZhQJv7w~6gh$D;Hnk!`06iWaB`Yg4iwJ?TvNEodh5n$h5@=;5r^&K0 zwL)Ku2#3~|R_>B@;@~lnS`}TLUCMu!=OS4siAB=+0B8~#|5f1}S%H255L<|dfGDc= zFC`9<<>Bn!+|*3O0#tUDzbdSAvUKG&9jxpk!y~Yd&{-hjqM@OI_ZyitOqS~36g2;* zsw1m`F%7dLCu}XO&!0Z$l9j2n)d4bg;Ht?PQrA zK8~gfmJfp+mN7Ump!9p$)l1gCt-Euwb1()(Rsr(!@>lOn>Al-`pFe+2RtL~|J$vfR zY9vefk8-gwG4R%8)c_M8s()8Gym^viu0yy-; z`?Vy=N=`~3<+hm0n>g+8ZgObsG>XD&6ZL_1;&V; zIG8T+)M4MYJ&1-Y9>tI-pcsUngYO|dWA?kTu@PsTTpgShel5j#=Csr_##TU{$VO87 z_~GLf*@O6^STY#xM(%>gQ2LXct%Z$~t%HY)8;Voqzbq)dZ#CG&cz1D+4Gs>oK~`mD zC7T3c?VzYa2*#kX*8f#Se_$-DRQ`7t`_bZ*G@NjY8X|iou9yl*I zkAIzJWo01(vP2dRge-AeAq+t&PfJOCaOXbm7f||(oCF)R=GOc*Y*SN{=KoaKQynmQ zAs$EY6qpA>I9L3WENkj^U2PqIOL2$ER`w(s_(i-?VuUcXZDx)~vL=>C_C_KT8XSVl zgb+}~h-kiEKCIEC^anYtCP-9_wj-jdyR(~Ql~Qy)aZVO5SiJlbN0B97)a&W)KC<@^n@sKA zyc02m{~6%3;5}w8YGZ>eoFXQoqr9vPp@97cI7R}J5|hy1MdgT2gdR_e)$R^rEfEC> zlsJux9w+B+z_mJIfyFGmz=r0Mm8k_suM5U-%e>ltM@I+Z3)lfLlZOG$=*TF>m1x`| zOZiXoBO@aWruzH(jaBuhg0z(C{_T5@A2_-}%ZNuWqP}_c24fGxA7Rpr-r7BnH8nOe zR1|0?^osNOT{}arDkvzJe^{E5h3*jH0}eyZuToO7E}T8jUo@b70$)DQ-=t(I{89?t zB>oa~!TOGpm6?%Az5#>1O@?{c}~|g!lwSoKT=-@o&Ak1r6j^oO)pP)F@ePt!;!4*onAk1CkK)UsAHv z|E<*C-i{n Date: Fri, 6 Dec 2024 22:36:58 +0000 Subject: [PATCH 006/279] show t480 on homepage mkukri is awesome Signed-off-by: Leah Rowe --- site/index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/site/index.md b/site/index.md index 1ad313b..a49d281 100644 --- a/site/index.md +++ b/site/index.md @@ -15,7 +15,7 @@ on [Libera](https://libera.chat/) IRC. The [tasks page](tasks/) lists what we are working on (contributions are welcome, if you want to work on some of them yourself). - + You can also [buy Libreboot preinstalled](https://minifree.org/) from Minifree Ltd, on select hardware, aswell as send your compatible hardware @@ -39,7 +39,7 @@ is *why* Libreboot exists. Overview of Libreboot design ============================ - + Libreboot provides [coreboot](https://coreboot.org/) for [machine initialisation](https://doc.coreboot.org/getting_started/architecture.html), @@ -64,7 +64,7 @@ still [reconfigure](docs/maintain/) Libreboot however you wish. Why use Libreboot? ================== - + If you're already inclined towards free software, maybe already a coreboot user, Libreboot makes it easier to either get started or otherwise maintain coreboot From fe741e7acc186544328633283f57ec5f176956d4 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Fri, 6 Dec 2024 22:44:19 +0000 Subject: [PATCH 007/279] add t480 pic to the release announcement again, mkukri is absolutely awesome Signed-off-by: Leah Rowe --- site/news/libreboot20241206.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/site/news/libreboot20241206.md b/site/news/libreboot20241206.md index 3285980..75ab4b4 100644 --- a/site/news/libreboot20241206.md +++ b/site/news/libreboot20241206.md @@ -42,6 +42,8 @@ Summarised list of changes Board support ------------- + + The following boards have been added since the Libreboot 20241008 release: * **[Lenovo ThinkPad T480](../docs/install/t480.md)** support, implemented by From 3f41235319df361429b097b8f409f378e328fee8 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Fri, 6 Dec 2024 22:52:26 +0000 Subject: [PATCH 008/279] also add uboot screenshot it's the 1205 one, i'll re-do properly with 1206 later Signed-off-by: Leah Rowe --- site/news/libreboot20241206.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/site/news/libreboot20241206.md b/site/news/libreboot20241206.md index 75ab4b4..cd3a305 100644 --- a/site/news/libreboot20241206.md +++ b/site/news/libreboot20241206.md @@ -26,6 +26,8 @@ and then a payload such as [SeaBIOS](https://www.seabios.org/SeaBIOS) or [GNU GRUB](https://www.gnu.org/software/grub/) to boot your operating system; on ARM(chromebooks), we provide *U-Boot* (as a coreboot payload). + + For Libreboot 20241206, today's release, U-Boot is *also* provided as an optional coreboot payload on x86 machines. This provides a sensible UEFI implementation, useful for booting Linux/BSD systems more easily. More @@ -39,11 +41,11 @@ in addition to numerous new mainboards. Summarised list of changes ========================== + + Board support ------------- - - The following boards have been added since the Libreboot 20241008 release: * **[Lenovo ThinkPad T480](../docs/install/t480.md)** support, implemented by From c372dde2d56f234c0072583eecb16ae622e6f254 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Fri, 6 Dec 2024 22:53:37 +0000 Subject: [PATCH 009/279] move the pics a bit Signed-off-by: Leah Rowe --- site/news/libreboot20241206.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/site/news/libreboot20241206.md b/site/news/libreboot20241206.md index cd3a305..cfb99b1 100644 --- a/site/news/libreboot20241206.md +++ b/site/news/libreboot20241206.md @@ -12,6 +12,8 @@ LIBREBOOT](safety.md).** Introduction ============ + + Libreboot is a free/open source BIOS/UEFI replacement on x86 and ARM, providing boot firmware that initialises the hardware in your computer, to then load an operating system (e.g. Linux/BSD). It is specifically a *coreboot distribution*, @@ -26,8 +28,6 @@ and then a payload such as [SeaBIOS](https://www.seabios.org/SeaBIOS) or [GNU GRUB](https://www.gnu.org/software/grub/) to boot your operating system; on ARM(chromebooks), we provide *U-Boot* (as a coreboot payload). - - For Libreboot 20241206, today's release, U-Boot is *also* provided as an optional coreboot payload on x86 machines. This provides a sensible UEFI implementation, useful for booting Linux/BSD systems more easily. More @@ -41,11 +41,11 @@ in addition to numerous new mainboards. Summarised list of changes ========================== - - Board support ------------- + + The following boards have been added since the Libreboot 20241008 release: * **[Lenovo ThinkPad T480](../docs/install/t480.md)** support, implemented by From 1a5937905b359fff8925cd784bee54952647afaf Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Fri, 6 Dec 2024 22:57:56 +0000 Subject: [PATCH 010/279] also add u-boot pic on u-boot page and i won't bother changing the pic. the pic is fine. Signed-off-by: Leah Rowe --- site/docs/uboot/uboot-x86.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/site/docs/uboot/uboot-x86.md b/site/docs/uboot/uboot-x86.md index 7e354fd..57fc308 100644 --- a/site/docs/uboot/uboot-x86.md +++ b/site/docs/uboot/uboot-x86.md @@ -6,6 +6,8 @@ x-toc-enable: true Introduction ============ + + U-Boot is available as a coreboot payload, in Libreboot 20241206 and later, on x86 boards; on ARM it has been available since late 2022 Libreboot releases. From f191930c1fed1c917c2cbdaf341e8f9949d86906 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 8 Dec 2024 02:01:27 +0000 Subject: [PATCH 011/279] swap Signed-off-by: Leah Rowe --- site/news/libreboot20241206.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/site/news/libreboot20241206.md b/site/news/libreboot20241206.md index cfb99b1..604c76f 100644 --- a/site/news/libreboot20241206.md +++ b/site/news/libreboot20241206.md @@ -12,7 +12,7 @@ LIBREBOOT](safety.md).** Introduction ============ - + Libreboot is a free/open source BIOS/UEFI replacement on x86 and ARM, providing boot firmware that initialises the hardware in your computer, to then load an @@ -44,7 +44,7 @@ Summarised list of changes Board support ------------- - + The following boards have been added since the Libreboot 20241008 release: From 853f2db51d6c6bab5f327f725e31c2ffd2cf4de2 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 8 Dec 2024 02:06:17 +0000 Subject: [PATCH 012/279] Sex up the release announcement title a bit i've realised recently that libreboot release announcements are very boring. most people need to see something that draws them in - simply saying "Project vFoo released!" is not enough. Ditto pictures; I added pics at the start of the article, in previous revisions. I'll start being wiser to this in future releases of Libreboot. Signed-off-by: Leah Rowe --- site/news/libreboot20241206.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/news/libreboot20241206.md b/site/news/libreboot20241206.md index 604c76f..60e34ce 100644 --- a/site/news/libreboot20241206.md +++ b/site/news/libreboot20241206.md @@ -1,4 +1,4 @@ -% Libreboot 20241206 released! +% Libreboot 20241206 released! ThinkPad T480 added. Plus U-Boot UEFI on x86. Fixes for OptiPlex 3050 Micro. % Leah Rowe % 6 December 2024 From 4fa9b69411e578c90c5d33b2c52fa66a8873c99b Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 8 Dec 2024 03:37:12 +0000 Subject: [PATCH 013/279] add x200 u-boot pic Signed-off-by: Leah Rowe --- site/docs/uboot/uboot-x86.md | 4 +++- site/news/libreboot20241206.md | 10 ++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/site/docs/uboot/uboot-x86.md b/site/docs/uboot/uboot-x86.md index 57fc308..03745dd 100644 --- a/site/docs/uboot/uboot-x86.md +++ b/site/docs/uboot/uboot-x86.md @@ -6,7 +6,7 @@ x-toc-enable: true Introduction ============ - + U-Boot is available as a coreboot payload, in Libreboot 20241206 and later, on x86 boards; on ARM it has been available since late 2022 Libreboot releases. @@ -53,6 +53,8 @@ Here is an example of what it looks like on the boot menu: Boot Linux/BSD installer (USB) --------------------------- + + Just stick your formatted USB stick in. U-Boot should detect it. Sometimes some USB flash drives are broken, because many of them violate specifications and U-Boot doesn't properly hack around that like Linux does (buggy USB mass storage diff --git a/site/news/libreboot20241206.md b/site/news/libreboot20241206.md index 60e34ce..02e3cdd 100644 --- a/site/news/libreboot20241206.md +++ b/site/news/libreboot20241206.md @@ -28,11 +28,21 @@ and then a payload such as [SeaBIOS](https://www.seabios.org/SeaBIOS) or [GNU GRUB](https://www.gnu.org/software/grub/) to boot your operating system; on ARM(chromebooks), we provide *U-Boot* (as a coreboot payload). +U-Boot UEFI payload on x86\_64 +------------------------------ + + + For Libreboot 20241206, today's release, U-Boot is *also* provided as an optional coreboot payload on x86 machines. This provides a sensible UEFI implementation, useful for booting Linux/BSD systems more easily. More information available on the [U-Boot x86 page](../docs/uboot/uboot-x86.md). +This means that you can have a UEFI boot environment, even on machines where +the original vendor firmware never supported it. For example, the ThinkPad X200 +in the photo is running U-Boot, and booting a distro via U-Boot's UEFI +implementation; that machine could not originally do UEFI. + This page lists all changes made since the *Libreboot 20241008* release. Since it's a stable release, there has been a more conservative focus on fixing bugs and in general polishing, though several interesting features have been added, From 66a862b10a1cec24160c67633e83dcc377226edd Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 8 Dec 2024 03:40:39 +0000 Subject: [PATCH 014/279] move qemu pic further up on the uboot page Signed-off-by: Leah Rowe --- site/docs/uboot/uboot-x86.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/site/docs/uboot/uboot-x86.md b/site/docs/uboot/uboot-x86.md index 03745dd..0974e3b 100644 --- a/site/docs/uboot/uboot-x86.md +++ b/site/docs/uboot/uboot-x86.md @@ -28,6 +28,8 @@ reliably boot many Linux and BSD systems. Availability ------------ + + Do this in lbmk.git (Libreboot's build system) to check whether your board has U-Boot enabled: @@ -53,8 +55,6 @@ Here is an example of what it looks like on the boot menu: Boot Linux/BSD installer (USB) --------------------------- - - Just stick your formatted USB stick in. U-Boot should detect it. Sometimes some USB flash drives are broken, because many of them violate specifications and U-Boot doesn't properly hack around that like Linux does (buggy USB mass storage From 7c0d9349ed8871fa7c01e5861fc9dcc218ca3045 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 8 Dec 2024 16:41:23 +0000 Subject: [PATCH 015/279] uboot errors Signed-off-by: Leah Rowe --- site/docs/uboot/uboot-x86.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/site/docs/uboot/uboot-x86.md b/site/docs/uboot/uboot-x86.md index 0974e3b..00219d2 100644 --- a/site/docs/uboot/uboot-x86.md +++ b/site/docs/uboot/uboot-x86.md @@ -52,6 +52,16 @@ Here is an example of what it looks like on the boot menu: +Errors +------ + +If you see error `-25` in the bootflow menu, it's because there's nothing +installed that i t can use e.g. EFI bootloader such as GRUB. + +If you see error `-2` it's likely that you have tried to boot a USB drive +automatically; sometimes you have to do it manually (see the section below +about using the bootflow command manually, via `bootflow select`). + Boot Linux/BSD installer (USB) --------------------------- From 670df4e5e3e034068497698e39764160059004fd Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 8 Dec 2024 17:17:43 +0000 Subject: [PATCH 016/279] t480 verb Signed-off-by: Leah Rowe --- site/docs/install/t480.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/site/docs/install/t480.md b/site/docs/install/t480.md index c801fc2..dee8ee9 100644 --- a/site/docs/install/t480.md +++ b/site/docs/install/t480.md @@ -108,6 +108,16 @@ are still available even on Nvidia models, so Intel graphics are used. WWAN slot untested. +Headphone jack +-------------- + +Sometimes the headphone jack might not work automatically. Simply install +the `pavucontrol` program. Under Output Devices, you can select the headphones +you've inserted manually. + +If it says "Unplugged", try it anyway. The HDA Verb may be incorrect. This +will be investigated and a hotfix patch made to the Libreboot 20241206 images. + Build ROM image from source --------------------------- From 0cd6d8de10b3a5cd3f9024117490635cb19943d3 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 8 Dec 2024 19:58:26 +0000 Subject: [PATCH 017/279] remove a fact that is no longer a fact Signed-off-by: Leah Rowe --- site/docs/misc/emulation.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/site/docs/misc/emulation.md b/site/docs/misc/emulation.md index 74def10..23d7d5f 100644 --- a/site/docs/misc/emulation.md +++ b/site/docs/misc/emulation.md @@ -53,8 +53,7 @@ qemu-system-aarch64 \ -bios bin/qemu_arm64_12mb/*.rom ``` -NOTE: After the 20230625 release, U-Boot support was removed from x86 Qemu. -It works fine on the aaarch64 one. +U-Boot is also available on the x86 QEMU images. Use Cases ========= From 0eb22b1fa8d8d0c84372fb91f0d9000e5f1966e7 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Mon, 9 Dec 2024 02:23:17 +0000 Subject: [PATCH 018/279] add release errata/revisions Signed-off-by: Leah Rowe --- site/docs/install/t480.md | 12 ++++++++ site/news/libreboot20241206.md | 52 ++++++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+) diff --git a/site/docs/install/t480.md b/site/docs/install/t480.md index dee8ee9..b21e9f3 100644 --- a/site/docs/install/t480.md +++ b/site/docs/install/t480.md @@ -364,3 +364,15 @@ be less clearance; using a smaller internal battery and having a makeshift NVMe caddy in the remaining space would be how to go about it there. On the regular T480, the existing caddy area could easily fit two NVMe drives. +Errata +====== + +On ThinkPad T480/T480S, headphone output works; the internal speaker is disabled +but audio is not automatically redirected to the headphone jack. This switching +can be done manually, for example in the `pavucontrol` utility: + +Output Devices -> Select Headphones on the built-in audio. + +Pavucontrol will specify that the headphones are not connected, but you can +select it anyway and it will work. This will be fixed in a subsequent revision, +and the corrected images re-uploaded to the existing Libreboot 20241206 release. diff --git a/site/news/libreboot20241206.md b/site/news/libreboot20241206.md index 02e3cdd..bbd2559 100644 --- a/site/news/libreboot20241206.md +++ b/site/news/libreboot20241206.md @@ -347,3 +347,55 @@ latter part of January 2025 or early February 2025. If you spot any issues in the Libreboot 20241206 release, please do get in contact with the Libreboot project. We appreciate any and all help. Thank you for reading, and have a wonderful day! + +Revisions +========= + +Revision 1 +---------- + +A bug was found whereby `seabios_` images are created twice, This was fixed in +the revision `e3b77b132e6b5981c09bc1ce282afaae64058ab3`. This bug caused vendor +file insertion to fail on release images, because the `vendorhashes` file would +list the file twice, but one of the hashes would be wrong. + +This is because the build system wrongly created U-Boot-only images first with +that name, because the `add_uboot` function in `rom.sh` unconditionally created +images with U-Boot in them; the function also creates ARM64 images, where U-Boot +is the primary payload. + +On x86 machines, SeaBIOS should be the main payload, chainloading U-Boot. + +The build system would then create the actual `seabios_` image, replacing the +other one, on x86 machines. + +So, the command to create the first image was removed. However, just before +uploading `rev1` images, it was discovered that this would cause no U-Boot +images to be built for ARM64 devices, which lead to Revision 2: + +Revision 2 +---------- + +See commit ID `b910424b5df8ed7c931a7b8f5cc8e34eacf0ca3e`. + +Revision 1 was reverted, and replaced with the following logic instead: + +In `add_uboot`, the instruction to create a ROM image was changed so that it +only creates one where U-Boot is the primary payload (which is the case for +ARM64). + +The source archive is now `20241206rev2` instead of `20241206`, and the same +is true of affected images on x86, where `vcfg` is set in `target.cfg`. + +Errata +====== + +On ThinkPad T480/T480S, headphone output works; the internal speaker is disabled +but audio is not automatically redirected to the headphone jack. This switching +can be done manually, for example in the `pavucontrol` utility: + +Output Devices -> Select Headphones on the built-in audio. + +Pavucontrol will specify that the headphones are not connected, but you can +select it anyway and it will work. This will be fixed in a subsequent revision, +and the corrected images re-uploaded to the existing Libreboot 20241206 release. From da5734ac3426a2a690a56bce0d3a8693f62eca26 Mon Sep 17 00:00:00 2001 From: ezntek Date: Mon, 9 Dec 2024 19:05:02 +0800 Subject: [PATCH 019/279] add thinkpad_acpi notices for the T440p, W541 and T480/T480s --- site/docs/install/t440p_external.md | 8 ++++ site/docs/install/t480.md | 68 +++++++++++++++++------------ site/docs/install/w541_external.md | 14 +++++- site/faq.md | 45 ++++++++++++------- 4 files changed, 88 insertions(+), 47 deletions(-) diff --git a/site/docs/install/t440p_external.md b/site/docs/install/t440p_external.md index 0bf7166..6339ba2 100644 --- a/site/docs/install/t440p_external.md +++ b/site/docs/install/t440p_external.md @@ -99,6 +99,14 @@ You should now be able to see the two flash chips near the RAM.\ You can now proceed to [flashing](/docs/install/spi.html) this machine. +`thinkpad_acpi` issues {#thinkpad-acpi} +--------------------------------------- + +It has been reported by that `thinkpad_acpi` does not load correctly on the T440p. + +If you encounter this, check [this page](https://libreboot.org/faq#thinkpad-acpi) +for details as to how to fix this. + Errata ====== diff --git a/site/docs/install/t480.md b/site/docs/install/t480.md index b21e9f3..8eea63f 100644 --- a/site/docs/install/t480.md +++ b/site/docs/install/t480.md @@ -1,9 +1,9 @@ --- -title: Lenovo ThinkPad T480/T480S information +title: Lenovo ThinkPad T480/T480s information x-toc-enable: true ... -Libreboot supports both the T480 and T480S variants. It is available in +Libreboot supports both the T480 and T480s variants. It is available in the *Libreboot 20241206* release or later. **[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md), @@ -16,19 +16,19 @@ OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)** | ***Specifications*** | | |----------------------------|------------------------------------------------| -| **Manufacturer** | Lenovo | -| **Name** | ThinkPad T480 | -| **Variants** | ThinkPad T480, ThinkPad T480S | +| **Manufacturer** | Lenovo | +| **Name** | ThinkPad T480 | +| **Variants** | ThinkPad T480, ThinkPad T480s | | **Released** | 2018 | -| **Chipset** | Intel Kaby Lake Refresh | -| **CPU** | Intel Kaby Lake Refresh | -| **Graphics** | Intel or Intel+Nvidia | -| **Memory** | DDR4 DIMMs; max 40GB (T480S), 64GB(T480) | -| **Architecture** | x86\_64 | -| **Original boot firmware** | Lenovo UEFI firmware | -| **Intel ME/AMD PSP** | Present. Can be disabled with me\_cleaner. | -| **Intel Boot Guard** | [Pwned](deguard.md). Disabled using the deguard utility. | -| **Flash chip** | SOIC-8 16MB/128Mbit system firmware | +| **Chipset** | Intel Kaby Lake Refresh | +| **CPU** | Intel Kaby Lake Refresh | +| **Graphics** | Intel or Intel+Nvidia | +| **Memory** | DDR4 DIMMs; max 40GB (T480s), 64GB(T480) | +| **Architecture** | x86\_64 | +| **Original boot firmware** | Lenovo UEFI firmware | +| **Intel ME/AMD PSP** | Present. Can be disabled with me\_cleaner. | +| **Intel Boot Guard** | [Pwned](deguard.md). Disabled using the deguard utility.| +| **Flash chip** | SOIC-8 16MB/128Mbit system firmware | ``` @@ -43,9 +43,9 @@ P*: Partially works with blobs | ***Features*** | | |---------------------------------------------------|----| -| **Internal flashing with original boot firmware** | N | +| **Internal flashing with original boot firmware** | N | | **Display (if Intel GPU)** | W+ | -| **Display (discrete CPU, SeaBIOS payload only)** | N | +| **Display (discrete CPU, SeaBIOS payload only)** | N | | **Audio** | W+ | | **RAM Init** | W* | @@ -56,7 +56,7 @@ P*: Partially works with blobs | **SeaBIOS with GRUB** | Works | -Regarding memory: T480S (S model) has 8GB onboard RAM, and an available DIMM +Regarding memory: T480s (S model) has 8GB onboard RAM, and an available DIMM slot on which an additional 32GB SODIMM can be installed. The regular T480 has two DIMM slots, allowing 2x32GB DDR4 SODIMMs. @@ -74,10 +74,10 @@ source](../build/), or alternatively an image from Libreboot 20241206 or higher. Official information about the T480 can be found here:\ -...and information about the T480S can be found here:\ +...and information about the T480s can be found here:\ -This port is implemented in Libreboot by merging Mate Kukri's T480/T480S +This port is implemented in Libreboot by merging Mate Kukri's T480/T480s patchset. See: - as of 5 December 2024, Libreboot's code matches that of patchset 22. @@ -118,6 +118,16 @@ you've inserted manually. If it says "Unplugged", try it anyway. The HDA Verb may be incorrect. This will be investigated and a hotfix patch made to the Libreboot 20241206 images. +`thinkpad_acpi` issues {#thinkpad-acpi} +--------------------------------------- + +It has been reported that `thinkpad_acpi` does not load correctly on the T480. +This should also be the case for the T480s. + +If you encounter this issue, check +[this page](https://libreboot.org/faq#thinkpad-acpi) for details at so how +to fix this. + Build ROM image from source --------------------------- @@ -126,7 +136,7 @@ The build target, when building from source, is thus: ./mk -b coreboot t480_fsp_16mb ./mk -b coreboot t480s_fsp_16mb -**NOTE: The T480 and T480S may be similar, but they do have several critical +**NOTE: The T480 and T480s may be similar, but they do have several critical differences in their wiring, so you MUST flash the correct image. Please choose one of the above build targets accordingly.** @@ -161,7 +171,7 @@ Absolutely unsigned Intel ME! ----------------------------- Libreboot already disables the Intel ME by default, using `me_cleaner`, but -the T480/T480S specifically have an additional quirk: +the T480/T480s specifically have an additional quirk: One of the benefits of [deguard](deguard.md) for Intel MEv11 is that it sets the ME in such a state where you can run unsigned code in there. This is how @@ -170,7 +180,7 @@ restrictions; more information about deguard is available on a dedicated page. The deguard utility could also be used to enable the red-unlock hack, which would permit unsigned execution of new CPU microcode, though much more -research is needed. Because of these two facts, this makes the T480/T480S the +research is needed. Because of these two facts, this makes the T480/T480s the most freedom-feasible of all relatively modern x86 laptops. With deguard, you have complete control of the flash. This is unprecedented on @@ -279,12 +289,12 @@ which then allows you to see the inner mainboard: ThinkPad T480 PCB **WARNING: PLEASE MAKE SURE to remove the battery before flashing. The T480 -and T480S can both contain INTERNAL batteries, and the T480 has an additional +and T480s can both contain INTERNAL batteries, and the T480 has an additional external battery. Remove the internal battery via the connector, like so (T480):** ThinkPad T480 internal battery -On the T480S (S model) the internal battery is much larger, and the connector +On the T480s (S model) the internal battery is much larger, and the connector on it is built into the battery, so it is necessary to carefully remove the entire battery; on regular T480 (non-S model) the internal battery can be isolated via the connector as depicted above. @@ -302,7 +312,7 @@ To be clear: the system flash (16MB) is what you put Libreboot on. The Thunderbolt firmware flash is much smaller, so you'll know because flashprog will complain about wrong flash size if you're trying to flash the wrong one. -On the T480S (S model), the flashes are in slightly different places but in +On the T480s (S model), the flashes are in slightly different places but in both machines, the system flash (for Libreboot) is toward the centre, near the memory. @@ -320,7 +330,7 @@ UART ---- A serial console is possible via the line-out (headphone jack). Not yet tested -on the T480S (S model), nor implemented, but it is working on the regular +on the T480s (S model), nor implemented, but it is working on the regular T480 (non-S model). **TODO: show photo and wiring diagram here.** @@ -343,7 +353,7 @@ TX/RX lines as you wish, to a suitable UART adapter; any 3.3v-rated TTL adapter should work. The Raspberry Pi Pico can be used for this, which is handy because that can also be used as a serprog-based NOR flasher! -The T480S (S model) schematics is a bit different and the signals are +The T480s (S model) schematics is a bit different and the signals are properly muxed. Note that this is not to be confused with `spkmodem`, which has not been tested on these boards (but could theoretically be possible too). @@ -359,7 +369,7 @@ possible, quite feasible to design/manufacture and already supported in the Libreboot firmware in principle, since than PCI-E lane is enabled in the devicetree) Mate Kukri came up with this idea. It's a great idea, so it's written here. -This mod is possible on both the T480 and T480S, though on T480S there would +This mod is possible on both the T480 and T480s, though on T480s there would be less clearance; using a smaller internal battery and having a makeshift NVMe caddy in the remaining space would be how to go about it there. On the regular T480, the existing caddy area could easily fit two NVMe drives. @@ -367,7 +377,7 @@ regular T480, the existing caddy area could easily fit two NVMe drives. Errata ====== -On ThinkPad T480/T480S, headphone output works; the internal speaker is disabled +On ThinkPad T480/T480s, headphone output works; the internal speaker is disabled but audio is not automatically redirected to the headphone jack. This switching can be done manually, for example in the `pavucontrol` utility: diff --git a/site/docs/install/w541_external.md b/site/docs/install/w541_external.md index e5f9ece..a5c4149 100644 --- a/site/docs/install/w541_external.md +++ b/site/docs/install/w541_external.md @@ -3,8 +3,8 @@ title: ThinkPad W541/W540 external flashing x-toc-enable: true ... -NOTE: The same image for W541 also works on W541, as it's the exact same -mainboard. +NOTE: The same image for W541 also works on the W540, as the motherboard is +identical. Buy Libreboot preinstalled ========================== @@ -117,6 +117,16 @@ used when flashing either of the chips. You can now proceed to [flashing](/docs/install/spi.html) this machine. +`thinkpad_acpi` issues {#thinkpad-acpi} +--------------------------------------- + +It has been reported by a user that `thinkpad_acpi` does not load correctly on +the T440p. Since the W541/W540/T540p are also haswell machines, you may be +affected by this issue. + +If you encounter this, check [this page](https://libreboot.org/faq#thinkpad-acpi) +for details as to how to fix this. + Errata ====== diff --git a/site/faq.md b/site/faq.md index 2609e54..f3f4cd2 100644 --- a/site/faq.md +++ b/site/faq.md @@ -17,7 +17,7 @@ sure to re-enable them after you're finished. See: [Disabling /dev/mem protection](docs/install/devmem.md) Buy Libreboot pre-installed -========== +============================= If you want professional installation, Minifree Ltd sells [Libreboot pre-installed](https://minifree.org/) on select hardware, and it also provides @@ -169,7 +169,7 @@ Hardware compatibility ====================== What systems are compatible with libreboot? ------------------------------------------------------------------------------------ +-------------------------------------------- Any system can easily be added, so *compatibility* merely refers to whatever boards are integrated in the `lbmk` build system, which libreboot uses. @@ -576,7 +576,7 @@ This will change the default inside that ROM image, and then you can re-flash it. How do I pad a ROM before flashing? --------------------------------------- +------------------------------------- It is advisable to simply use a larger ROM image. This section was written mostly for ASUS KCMA-D8 and KGPE-D16 mainboards, where previously we only @@ -616,7 +616,7 @@ padded 16MiB image do the following: With padding removed cbfstool will be able to operate on the image as usual. Do I need to install a bootloader when installing a distribution? ---------------------------------------------------------------------------------------------------- +----------------------------------------------------------------- Most libreboot setups integrate the GRUB bootloader already, as a *[payload](http://www.coreboot.org/Payloads)*. This means that the GRUB @@ -635,7 +635,7 @@ then the normal MBR bootsector is used on your HDD or SSD, like you would expect. So the above paragraphs only apply to the GRUB payload. Do I need to re-flash when I re-install a distribution? -------------------------------------------------------------------------------------------- +------------------------------------------------------- Not anymore. Recent versions of libreboot (using the GRUB payload) will automatically switch to a GRUB configuration on the HDD or SSD, if it @@ -653,26 +653,39 @@ What does a flash chip look like? You can find photos of various chip types on the following page:\ [External 25xx NOR flashing guide](docs/install/spi.md) -Inability to modprobe thinkpad\_acpi on Haswell -=============================================== +Inability to load `thinkpad_acpi` on post-haswell systems {#thinkpad-acpi} +========================================================================== -This was reported by a user, running Debian 11 with -kernel `5.19.0-0.deb11.2-amd64`. The `thinkpad_acpi` module was not loading, -with the following message: +Reported by a user on Debian 11 (on a ThinkPad T440p) and a user +on Void Linux (ThinkPad T480), Linux may fail to load `thinkpad_acpi`. -``` -modprobe: ERROR: could not insert 'thinkpad_acpi': "No such device" -``` +It is suspected that at least these mainboards are affected: -Battery info in `/sys` was absent, because of this. The user reported that -the following workaround was effective (in Debian). + * [ThinkPad W541](https://libreboot.org/docs/install/w541_external.html) + * [ThinkPad T440p](https://libreboot.org/docs/install/t440p_external.html) + * [ThinkPad T480/T480s](https://libreboot.org/docs/install/t480.html) -Add this line to `/etc/modprobe.d/thinkpad_acpi.conf`: +This may result the following effects, including or not limited to: + + * Temperature reporting not working + * Battery info not working. + * Fan speed reporting not working + * Fan control not working + +For these systems, add the line ``` options thinkpad_acpi force_load=1 ``` +to any file in `/etc/modprobe.d`. You can also add + +``` +thinkpad_acpi.force_load=1 +``` + +to your kernel parameters (in GRUB, or your preferred linux-capable bootloader). + tlp --- From 30387872fa07d6df25e7d50d98ed0e75c7d72d04 Mon Sep 17 00:00:00 2001 From: ezntek Date: Mon, 9 Dec 2024 19:05:54 +0800 Subject: [PATCH 020/279] add raspi pico to SOIC-8 diagram --- site/docs/install/spi.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/site/docs/install/spi.md b/site/docs/install/spi.md index b3264d3..c7dc643 100644 --- a/site/docs/install/spi.md +++ b/site/docs/install/spi.md @@ -131,6 +131,16 @@ Take note of the ttyACMx. Flashrom is now usable spispeed=32M usually works, but since it's not much faster it's probably not worth it. The 12Mbps USB port is limiting the actual speed here. +Raspberry Pi Pico SOIC-8 wiring +------------------------------- + +When using a Raspberry Pi Pico to program a SOIC-8 flash chip with +`pico-serprog`, you may use the following diagram, which contains the +Raspberry Pi Pins and the pinouts of the typical SOIC-8 chip to wire up +your programmer: + +[SOIC-8 to Pico pinout diagram](https://av.libreboot.org/rpi_pico/soic8_pico_pinouts.jpg) + Do not use CH341A! ================== From 91f61408638ca90b42d7f1ac702c99c5683b70f1 Mon Sep 17 00:00:00 2001 From: ezntek Date: Mon, 9 Dec 2024 19:18:26 +0800 Subject: [PATCH 021/279] make thinkpad_acpi modprobe error clearer, fix minor typos in T480 page --- site/docs/install/t480.md | 6 +++--- site/faq.md | 7 ++++++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/site/docs/install/t480.md b/site/docs/install/t480.md index 8eea63f..4dad3f9 100644 --- a/site/docs/install/t480.md +++ b/site/docs/install/t480.md @@ -124,9 +124,9 @@ will be investigated and a hotfix patch made to the Libreboot 20241206 images. It has been reported that `thinkpad_acpi` does not load correctly on the T480. This should also be the case for the T480s. -If you encounter this issue, check -[this page](https://libreboot.org/faq#thinkpad-acpi) for details at so how -to fix this. +If you encounter this issue, check\ +[this page](https://libreboot.org/faq#thinkpad-acpi) +for details as to how to fix this. Build ROM image from source --------------------------- diff --git a/site/faq.md b/site/faq.md index f3f4cd2..82de46a 100644 --- a/site/faq.md +++ b/site/faq.md @@ -657,7 +657,12 @@ Inability to load `thinkpad_acpi` on post-haswell systems {#thinkpad-acpi} ========================================================================== Reported by a user on Debian 11 (on a ThinkPad T440p) and a user -on Void Linux (ThinkPad T480), Linux may fail to load `thinkpad_acpi`. +on Void Linux (ThinkPad T480), Linux (or modprobe) may fail to load +`thinkpad_acpi`. + +``` +modprobe: ERROR: could not insert 'thinkpad_acpi': "No such device" +``` It is suspected that at least these mainboards are affected: From b29821a4b382b4e999e9cf7785fc77006dca8a5f Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Mon, 9 Dec 2024 16:38:32 +0000 Subject: [PATCH 022/279] fix links in recent commits the committer linked to /faq instead of /faq.html also, internal site links should be relative links, and link to the markdown files. the static site generater that we use auto-converts links Signed-off-by: Leah Rowe --- site/docs/install/t440p_external.md | 2 +- site/docs/install/t480.md | 2 +- site/docs/install/w541_external.md | 2 +- site/faq.md | 6 +++--- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/site/docs/install/t440p_external.md b/site/docs/install/t440p_external.md index 6339ba2..81e96ae 100644 --- a/site/docs/install/t440p_external.md +++ b/site/docs/install/t440p_external.md @@ -104,7 +104,7 @@ You can now proceed to [flashing](/docs/install/spi.html) this machine. It has been reported by that `thinkpad_acpi` does not load correctly on the T440p. -If you encounter this, check [this page](https://libreboot.org/faq#thinkpad-acpi) +If you encounter this, check [this page](../../faq.md#thinkpad-acpi) for details as to how to fix this. Errata diff --git a/site/docs/install/t480.md b/site/docs/install/t480.md index 4dad3f9..fc6fa2f 100644 --- a/site/docs/install/t480.md +++ b/site/docs/install/t480.md @@ -125,7 +125,7 @@ It has been reported that `thinkpad_acpi` does not load correctly on the T480. This should also be the case for the T480s. If you encounter this issue, check\ -[this page](https://libreboot.org/faq#thinkpad-acpi) +[this page](../../faq.md#thinkpad-acpi) for details as to how to fix this. Build ROM image from source diff --git a/site/docs/install/w541_external.md b/site/docs/install/w541_external.md index a5c4149..36d17cc 100644 --- a/site/docs/install/w541_external.md +++ b/site/docs/install/w541_external.md @@ -124,7 +124,7 @@ It has been reported by a user that `thinkpad_acpi` does not load correctly on the T440p. Since the W541/W540/T540p are also haswell machines, you may be affected by this issue. -If you encounter this, check [this page](https://libreboot.org/faq#thinkpad-acpi) +If you encounter this, check [this page](../../faq.md#thinkpad-acpi) for details as to how to fix this. Errata diff --git a/site/faq.md b/site/faq.md index 82de46a..800476d 100644 --- a/site/faq.md +++ b/site/faq.md @@ -666,9 +666,9 @@ modprobe: ERROR: could not insert 'thinkpad_acpi': "No such device" It is suspected that at least these mainboards are affected: - * [ThinkPad W541](https://libreboot.org/docs/install/w541_external.html) - * [ThinkPad T440p](https://libreboot.org/docs/install/t440p_external.html) - * [ThinkPad T480/T480s](https://libreboot.org/docs/install/t480.html) + * [ThinkPad W541](docs/install/w541_external.md) + * [ThinkPad T440p](docs/install/t440p_external.md) + * [ThinkPad T480/T480s](docs/install/t480.md) This may result the following effects, including or not limited to: From 8d40609ed7cf38ad8400eafd699ab68b11334849 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Mon, 9 Dec 2024 16:43:55 +0000 Subject: [PATCH 023/279] made the new pico soic8 image inline Signed-off-by: Leah Rowe --- site/docs/install/spi.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/docs/install/spi.md b/site/docs/install/spi.md index c7dc643..ba93502 100644 --- a/site/docs/install/spi.md +++ b/site/docs/install/spi.md @@ -139,7 +139,7 @@ When using a Raspberry Pi Pico to program a SOIC-8 flash chip with Raspberry Pi Pins and the pinouts of the typical SOIC-8 chip to wire up your programmer: -[SOIC-8 to Pico pinout diagram](https://av.libreboot.org/rpi_pico/soic8_pico_pinouts.jpg) +![SOIC-8 to Pico pinout diagram](https://av.libreboot.org/rpi_pico/soic8_pico_pinouts.jpg) Do not use CH341A! ================== From a776d13bc4c70a288d35b32769298233dbda3294 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Mon, 9 Dec 2024 16:52:29 +0000 Subject: [PATCH 024/279] updated t1650 internal flashing instructions Signed-off-by: Leah Rowe --- site/docs/install/t1650.md | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/site/docs/install/t1650.md b/site/docs/install/t1650.md index 3228d5b..91ab489 100644 --- a/site/docs/install/t1650.md +++ b/site/docs/install/t1650.md @@ -40,7 +40,7 @@ P*: Partially works with blobs | ***Features*** | | |---------------------------------------------------|----| -| **Internal flashing with original boot firmware** | ? | +| **Internal flashing with original boot firmware** | W* | | **Display (if Intel GPU)** | W+ | | **Display (discrete CPU, SeaBIOS payload only)** | W* | | **Audio** | W+ | @@ -133,6 +133,21 @@ Flash a ROM image (software) If you're already running Libreboot, and you don't have flash protection turned on, [internal flashing](../install/) is possible. +Internal flashing is *also* possible from the factory BIOS, if you set the +service mode jumper. This shorts `HDA_SDO` (Soft Descriptor Override), which +disables the ME after early bringup and disables IFD-based flash protections. + +Observe, below the PCI slots: + + + +Here is a close-up: + + + +Simply short those pins, on the header, using a jumper. When you do this, all +flash protections will be disabled. + Flash a ROM image (hardware) ----------------- From e8c2795b6a59e53c7d2bb97f8c07752f755b2eba Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Tue, 10 Dec 2024 01:34:15 +0000 Subject: [PATCH 025/279] resize the t1650 images Signed-off-by: Leah Rowe --- site/docs/install/t1650.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/site/docs/install/t1650.md b/site/docs/install/t1650.md index 91ab489..6f10b0e 100644 --- a/site/docs/install/t1650.md +++ b/site/docs/install/t1650.md @@ -139,11 +139,11 @@ disables the ME after early bringup and disables IFD-based flash protections. Observe, below the PCI slots: - + Here is a close-up: - + Simply short those pins, on the header, using a jumper. When you do this, all flash protections will be disabled. From a2cace6ea0489b96b5c6b08102969ae5c8a1d2e4 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Tue, 10 Dec 2024 11:08:57 +0000 Subject: [PATCH 026/279] uboot x86 page: write about thinkpad x60/t60 Signed-off-by: Leah Rowe --- site/docs/uboot/uboot-x86.md | 37 ++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/site/docs/uboot/uboot-x86.md b/site/docs/uboot/uboot-x86.md index 00219d2..2021b94 100644 --- a/site/docs/uboot/uboot-x86.md +++ b/site/docs/uboot/uboot-x86.md @@ -132,6 +132,43 @@ UEFI SecureBoot with a Linux UKI could achieve similar results in a security sense to Libreboot's GRUB hardening setup, though the latter is more flexible, albeit not widely used by the mainstream, but it does work (I use it myself!). +ThinkPad X60/T60 +================ + +The 32-bit U-Boot payload is only useful for 32-bit setups, and 32-bit UEFI +isn't really that common on x86; the 64-bit U-Boot payload is much more useful, +in this context. + +Most ThinkPad X60/T60 have 32-bit-only CPUs in them, so the 32-bit U-Boot +payload is used. If you have a 64-bit CPU (Core 2 Duo instead of Core Duo), +namely Core 2 Duo L9400, T5600 or T7200, you might be able to use the 64-bit +payload instead, for full 64-bit UEFI, but this is currently not tested and it +is not configured. + +To enable this, on compatible CPUs, make the following modifications to the +build system and compile a custom image: + +Check `config/coreboot/x60/target.cfg` (change `x60` to what you use if it +differs), and you'll find something like this: + + build_depend="seabios/default grub/default u-boot/i386coreboot" + payload_uboot_i386="y" + +In the above example, you would change it to: + + build_depend="seabios/default grub/default u-boot/amd64coreboot" + payload_uboot_amd64="y" + +You can then re-compile the image, using +standard [build instructions](../build/). For example on X60 you would use +the following build target: + + ./mk -b coreboot x60 + +Using a full UEFI setup on such old hardware is quite novel and might be +interesting in the future, as more distros stop supporting BIOS-based methods, +or where the latter may become untested in the future. + Bugs ==== From 762f1516fe6ca5fe492d702afdcc585e7dc07e84 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Tue, 10 Dec 2024 23:27:51 +0000 Subject: [PATCH 027/279] Tidy up the T480 page Also add instructions for testing the ThunderBolt patch that Mate Kukri wrote (currently unstable). Signed-off-by: Leah Rowe --- .../t480-thunderbolt-20241206-unstable.patch | 136 ++++++++++ site/docs/install/t480.md | 245 +++++++++++------- 2 files changed, 294 insertions(+), 87 deletions(-) create mode 100644 site/docs/install/t480-thunderbolt-20241206-unstable.patch diff --git a/site/docs/install/t480-thunderbolt-20241206-unstable.patch b/site/docs/install/t480-thunderbolt-20241206-unstable.patch new file mode 100644 index 0000000..d69c343 --- /dev/null +++ b/site/docs/install/t480-thunderbolt-20241206-unstable.patch @@ -0,0 +1,136 @@ +From 67b0219a665462ae71f6ba5104edc55ad6245ca7 Mon Sep 17 00:00:00 2001 +From: Mate Kukri +Date: Thu, 5 Dec 2024 20:42:40 +0000 +Subject: [PATCH] thunderbolt fix-ish + +it shows up, but resume is no dice. + +Change-Id: I2d91a1d290b35e7ea3a1193b4be7b4ba936e4a15 +--- + src/mainboard/lenovo/sklkbl_thinkpad/Kconfig | 1 + + src/mainboard/lenovo/sklkbl_thinkpad/dsdt.asl | 13 +++++++++++++ + .../lenovo/sklkbl_thinkpad/variants/t480/gpio.c | 8 ++++---- + .../sklkbl_thinkpad/variants/t480/overridetree.cb | 4 ++++ + .../lenovo/sklkbl_thinkpad/variants/t480s/gpio.c | 8 ++++---- + .../sklkbl_thinkpad/variants/t480s/overridetree.cb | 4 ++++ + 6 files changed, 30 insertions(+), 8 deletions(-) + +diff --git a/src/mainboard/lenovo/sklkbl_thinkpad/Kconfig b/src/mainboard/lenovo/sklkbl_thinkpad/Kconfig +index 21076315ab..0766c03716 100644 +--- a/src/mainboard/lenovo/sklkbl_thinkpad/Kconfig ++++ b/src/mainboard/lenovo/sklkbl_thinkpad/Kconfig +@@ -19,6 +19,7 @@ config BOARD_LENOVO_SKLKBL_THINKPAD_COMMON + select SOC_INTEL_COMMON_BLOCK_HDA_VERB + select SPD_READ_BY_WORD + select SYSTEM_TYPE_LAPTOP ++ select DRIVERS_INTEL_DTBT + + config BOARD_LENOVO_E460 + bool +diff --git a/src/mainboard/lenovo/sklkbl_thinkpad/dsdt.asl b/src/mainboard/lenovo/sklkbl_thinkpad/dsdt.asl +index 237500775f..849540d32d 100644 +--- a/src/mainboard/lenovo/sklkbl_thinkpad/dsdt.asl ++++ b/src/mainboard/lenovo/sklkbl_thinkpad/dsdt.asl +@@ -35,4 +35,17 @@ DefinitionBlock( + } + + #include ++ ++ Scope (\_SB) ++ { ++ External (\TBTS, MethodObj) ++ ++ Method (MPTS, 1, Serialized) ++ { ++ If (CondRefOf (\TBTS)) ++ { ++ \TBTS() ++ } ++ } ++ } + } +diff --git a/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480/gpio.c b/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480/gpio.c +index f7c29e1f39..edfa09fbb7 100644 +--- a/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480/gpio.c ++++ b/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480/gpio.c +@@ -86,7 +86,7 @@ static const struct pad_config gpio_table[] = { + PAD_NC(GPP_C18, NONE), + PAD_NC(GPP_C19, NONE), + PAD_CFG_GPO(GPP_C20, 0, DEEP), /* EPRIVACY_ON */ +- PAD_CFG_GPO(GPP_C21, 0, DEEP), /* TBT_FORCE_PWR */ ++ PAD_CFG_GPO(GPP_C21, 1, DEEP), /* TBT_FORCE_PWR */ + PAD_CFG_GPI_SCI(GPP_C22, NONE, DEEP, EDGE_SINGLE, INVERT), /* -EC_SCI */ + PAD_CFG_GPI_SCI(GPP_C23, NONE, DEEP, EDGE_SINGLE, INVERT), /* -EC_WAKE */ + +@@ -191,9 +191,9 @@ static const struct pad_config gpio_table[] = { + PAD_NC(GPP_G1, NONE), + PAD_NC(GPP_G2, NONE), + PAD_NC(GPP_G3, NONE), +- PAD_CFG_GPO(GPP_G4, 0, DEEP), /* TBT_RTD3_PWR_EN */ +- PAD_CFG_GPO(GPP_G5, 0, DEEP), /* TBT_FORCE_USB_PWR */ +- PAD_CFG_GPO(GPP_G6, 0, DEEP), /* -TBT_PERST */ ++ PAD_CFG_GPO(GPP_G4, 1, DEEP), /* TBT_RTD3_PWR_EN */ ++ PAD_CFG_GPO(GPP_G5, 1, DEEP), /* TBT_FORCE_USB_PWR (TBT_RTD3_USB_PWR_EN) */ ++ PAD_CFG_GPO(GPP_G6, 1, DEEP), /* -TBT_PERST */ + PAD_CFG_GPI_SCI(GPP_G7, NONE, DEEP, LEVEL, INVERT), /* -TBT_PCIE_WAKE */ + }; + +diff --git a/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480/overridetree.cb b/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480/overridetree.cb +index 2f0b20d91a..6d8725ad5a 100644 +--- a/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480/overridetree.cb ++++ b/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480/overridetree.cb +@@ -106,6 +106,10 @@ chip soc/intel/skylake + register "PcieRpAdvancedErrorReporting[8]" = "1" + register "PcieRpLtrEnable[8]" = "1" + register "PcieRpHotPlug[8]" = "1" ++ ++ chip drivers/intel/dtbt ++ device pci 0.0 on end ++ end + end + + # M.2 2280 caddy - x2 +diff --git a/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480s/gpio.c b/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480s/gpio.c +index a98dd2bc4e..732917ebfa 100644 +--- a/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480s/gpio.c ++++ b/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480s/gpio.c +@@ -82,7 +82,7 @@ static const struct pad_config gpio_table[] = { + PAD_NC(GPP_C18, NONE), + PAD_NC(GPP_C19, NONE), + PAD_CFG_GPO(GPP_C20, 0, DEEP), /* EPRIVACY_ON */ +- PAD_CFG_GPO(GPP_C21, 0, DEEP), /* TBT_FORCE_PWR */ ++ PAD_CFG_GPO(GPP_C21, 1, DEEP), /* TBT_FORCE_PWR */ + PAD_CFG_GPI_SCI(GPP_C22, NONE, DEEP, EDGE_SINGLE, INVERT), /* -EC_SCI */ + PAD_CFG_GPI_SCI(GPP_C23, NONE, DEEP, EDGE_SINGLE, INVERT), /* -EC_WAKE */ + +@@ -187,9 +187,9 @@ static const struct pad_config gpio_table[] = { + PAD_NC(GPP_G1, NONE), + PAD_NC(GPP_G2, NONE), + PAD_NC(GPP_G3, NONE), +- PAD_CFG_GPO(GPP_G4, 0, DEEP), /* TBT_RTD3_PWR_EN */ +- PAD_CFG_GPO(GPP_G5, 0, DEEP), /* TBT_FORCE_USB_PWR */ +- PAD_CFG_GPO(GPP_G6, 0, DEEP), /* -TBT_PERST */ ++ PAD_CFG_GPO(GPP_G4, 1, DEEP), /* TBT_RTD3_PWR_EN */ ++ PAD_CFG_GPO(GPP_G5, 1, DEEP), /* TBT_FORCE_USB_PWR (TBT_RTD3_USB_PWR_EN) */ ++ PAD_CFG_GPO(GPP_G6, 1, DEEP), /* -TBT_PERST */ + PAD_CFG_GPI_SCI(GPP_G7, NONE, DEEP, LEVEL, INVERT), /* -TBT_PCIE_WAKE */ + }; + +diff --git a/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480s/overridetree.cb b/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480s/overridetree.cb +index cea5e485d2..9b952215c5 100644 +--- a/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480s/overridetree.cb ++++ b/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480s/overridetree.cb +@@ -106,6 +106,10 @@ chip soc/intel/skylake + register "PcieRpAdvancedErrorReporting[4]" = "1" + register "PcieRpLtrEnable[4]" = "1" + register "PcieRpHotPlug[4]" = "1" ++ ++ chip drivers/intel/dtbt ++ device pci 0.0 on end ++ end + end + + # M.2 2280 SSD - x2 +-- +2.39.5 + diff --git a/site/docs/install/t480.md b/site/docs/install/t480.md index fc6fa2f..e76ecc6 100644 --- a/site/docs/install/t480.md +++ b/site/docs/install/t480.md @@ -81,6 +81,27 @@ This port is implemented in Libreboot by merging Mate Kukri's T480/T480s patchset. See: - as of 5 December 2024, Libreboot's code matches that of patchset 22. +Absolutely unsigned Intel ME! +----------------------------- + +Libreboot already disables the Intel ME by default, using `me_cleaner`, but +the T480/T480s specifically have an additional quirk: + +One of the benefits of [deguard](deguard.md) for Intel MEv11 is that it sets +the ME in such a state where you can run unsigned code in there. This is how +the Intel Boot Guard was disabled, because it is the ME that enforces such +restrictions; more information about deguard is available on a dedicated page. + +The deguard utility could also be used to enable the red-unlock hack, which +would permit unsigned execution of new CPU microcode, though much more +research is needed. Because of these two facts, this makes the T480/T480s the +most freedom-feasible of all relatively modern x86 laptops. + +With deguard, you have complete control of the flash. This is unprecedented on +recent Intel systems in Libreboot, so it's certainly a very interesting port! + +Libreboot uses both `me_cleaner` *and* `deguard` on the T480/T480s. + What works in this port: ----------------------- @@ -90,46 +111,13 @@ External video outputs and webcam also work. Microphone works, line-out works... everything works. UART also available via line-out jack (jumpers required on the mainboard). -The thunderbolt controller is currently unconfigured, so you can't use -Thunderbolt, but the thunderbolt and regular USB-C connector can both be -used for charging, and both can be used for video output (it shows up in xrandr -as a DisplayPort). NOTE: - is the patchset enabling -Thunderbolt, but it currently breaks on S3 resume from sleep, so it's not -included yet. This will be added to the Libreboot 20241206 release as a hotpatch -when it's ready, and in the next testing release after Libreboot 20241206. This -is true as of 6 December 2024. +There *are* a few minor exceptions as to what works; this will be covered in +other sections of this page. This port is *almost* perfect, but with some caveats. -Backlight controls work, via software control (e.g. `xbacklight` utility), but -the Fn keys for it don't currently work, as of 6 December 2024. +Build images from source +======================== -Nvidia dGPU doesn't work and is disabled as of 6 December 2024; the Intel graphics -are still available even on Nvidia models, so Intel graphics are used. - -WWAN slot untested. - -Headphone jack --------------- - -Sometimes the headphone jack might not work automatically. Simply install -the `pavucontrol` program. Under Output Devices, you can select the headphones -you've inserted manually. - -If it says "Unplugged", try it anyway. The HDA Verb may be incorrect. This -will be investigated and a hotfix patch made to the Libreboot 20241206 images. - -`thinkpad_acpi` issues {#thinkpad-acpi} ---------------------------------------- - -It has been reported that `thinkpad_acpi` does not load correctly on the T480. -This should also be the case for the T480s. - -If you encounter this issue, check\ -[this page](../../faq.md#thinkpad-acpi) -for details as to how to fix this. - -Build ROM image from source ---------------------------- +Please refer to the standard [build instructions](../build/) first. The build target, when building from source, is thus: @@ -167,25 +155,6 @@ If you're [building from source](../build/) via Libreboot's build system, these files are inserted during build. You only need to manually insert them, using the above linked guide, on the pre-compiled release images! -Absolutely unsigned Intel ME! ------------------------------ - -Libreboot already disables the Intel ME by default, using `me_cleaner`, but -the T480/T480s specifically have an additional quirk: - -One of the benefits of [deguard](deguard.md) for Intel MEv11 is that it sets -the ME in such a state where you can run unsigned code in there. This is how -the Intel Boot Guard was disabled, because it is the ME that enforces such -restrictions; more information about deguard is available on a dedicated page. - -The deguard utility could also be used to enable the red-unlock hack, which -would permit unsigned execution of new CPU microcode, though much more -research is needed. Because of these two facts, this makes the T480/T480s the -most freedom-feasible of all relatively modern x86 laptops. - -With deguard, you have complete control of the flash. This is unprecedented on -recent Intel systems in Libreboot, so it's certainly a very interesting port! - Set MAC address --------------- @@ -197,22 +166,6 @@ change the MAC address, please read [nvmutil documentation](../install/nvmutil.m argument when using it: `--platform sklkbl`** - otherwise, ifdtool will handle the IFD incorrectly! -WARNING about GPU compatibility -------------------------------- - -The Nvidia GPUs were tested, on models that have them. It is completely -dysfunctional and currently disabled in Libreboot. On models that have Nvidia, -the Intel graphics is still available so Libreboot uses Intel graphics -exclusively. - -The Intel GPU is fully supported with native source code (libgfxinit) in -coreboot, which Libreboot uses for initialisation. - -Use of Intel graphics is recommended, because it has much better (and libre) -driver support in Linux, and free initialisation code in coreboot, whereas -Nvidia is mostly all binary blobs (unless perhaps you use the nouveau driver in -Linux). - Thunderbolt issue (READ THIS BEFORE FLASHING) ------------------ @@ -316,19 +269,45 @@ On the T480s (S model), the flashes are in slightly different places but in both machines, the system flash (for Libreboot) is toward the centre, near the memory. -Backlight controls -------------------- +Post-installation +================= -The `xbacklight` (or equivalent in Wayland) can be used to manually control -the backlight; the buttons on the keyboard do not currently work, at least as -of 6 December 2024. +These next sections will tell you how to use certain hardware features, which +work a little bit differently due to idiosyncrasies of coreboot. -You could map the appropriate xbacklight command in Linux to a hotkey combo, -depending on your window manager or desktop environment. +How to use the headphone jack +-------------- + +Sometimes the headphone jack might not work automatically. Simply install +the `pavucontrol` program. Under Output Devices, you can select the headphones +you've inserted manually. + +If it says "Unplugged", try it anyway. The HDA Verb may be incorrect. This +will be investigated and a hotfix patch made to the Libreboot 20241206 images. + +How to use HDMI audio +------------------ + +You can get audio from Displayport/HDMI, but you must select it manually. +For example, you can select it in `pavucontrol` if you're using PulseAudio or +PipeWire. + +How to use backlight controls +----------------------------- + +Backlight controls work, via software control (e.g. `xbacklight` utility), but +the Fn keys for it don't currently work, as of 6 December 2024. + +You can set the backlight manually, or use a hotkey, depending on your window +manager or desktop environment. UART ---- +To our knowledge, this functionality is *only* available in coreboot-based +firmware such as Libreboot. It is completely unsupported on the original +firmware! + A serial console is possible via the line-out (headphone jack). Not yet tested on the T480s (S model), nor implemented, but it is working on the regular T480 (non-S model). @@ -377,12 +356,104 @@ regular T480, the existing caddy area could easily fit two NVMe drives. Errata ====== -On ThinkPad T480/T480s, headphone output works; the internal speaker is disabled -but audio is not automatically redirected to the headphone jack. This switching -can be done manually, for example in the `pavucontrol` utility: +Some features either don't work, or are untested, when running Libreboot on +the ThinkPad T480 or T480s. -Output Devices -> Select Headphones on the built-in audio. +NFC support in T480 +------------------- + +Some T480 models might have NFC support but this is untested in Libreboot, and +probably dosen't work in current Libreboot releases. + +The PCH's NFC device is unsupported in Linux anyway. + +Touchscreen on T480 +------------------- + +Some T480 machines have touchscreens. These are untested; the touch functionality +probably doesn't work yet, in Libreboot. + +The digitizer is simply a USB device, which *is* enabled, but it's just untested. + +Smartcard reader +---------------- + +The smartcard reader is enabled but it is still untested. If you have one, +please test it and report back to the Libreboot project. + +Thunderbolt not supported yet +----------------------------- + +Thunderbolt is a way to get PCI-E on a USB port. With it, you can use +high-bandwidth devices such as 10Gbps network interfaces. + +The thunderbolt controller is currently unconfigured, so you can't use +Thunderbolt, but the thunderbolt and regular USB-C connector can both be +used for charging, and both can be used for video output (it shows up in xrandr +as a DisplayPort). + +[t480-thunderbolt-20241206-unstable.patch](This patch) can be added, enabling +Thunderbolt, but be warned: it is completely untested, as of Libreboot 20241206. +This patch is *NOT* included in the release, because it breaks on S3 resume, +and may cause a kernel panic. Also: currently testing only reveals that the +ThunderBolt controller shows up, and it was confirmed that USB devices do +work on the port, but everything else is UNTESTED. + +You also need the [gerrit patch](https://review.coreboot.org/c/coreboot/+/75286) +adding a Thunderbolt driver to coreboot. + +To apply these patches, do the following in a fresh clone of `lbmk.git`: + +``` +git reset --hard b910424b5df8ed7c931a7b8f5cc8e34eacf0ca3e # 20241206rev2 +./mk -f coreboot next +cd src/coreboot/next +wget https://libreboot.org/docs/install/t480-thunderbolt-20241206-unstable.patch +git fetch https://review.coreboot.org/coreboot refs/changes/86/75286/12 && git cherry-pick FETCH_HEAD +git am t480-thunderbolt-20241206-unstable.patch +cd - +./mk -u coreboot t480s_fsp_16mb +./mk -u coreboot t480_fsp_16mb +``` + +You can now follow standard [build instructions](../build/). + +NOTE: If you remove src/coreboot/next, you must apply the patches again. +To make it easier, you can instead do this from a fresh `lbmk.git` (do this +instead of running the commands above): + +``` +git checkout 20241206-t480-thunderbolt-unstable +``` + +The branch named `20241206-t480-thunderbolt-unstable` already has the above +patches applied, including the configuration changes made by `./mk -u`, and +you can follow the same build instructions. In this lbmk branch, that +gerrit patch above (`refs/changes/86/75286/12`) is already included. + +Whether you use the lbmk branch, or you add the patches manually as above, +you can then flash the resulting image and boot it. + +**AGAIN: This will likely cause kernel panics, and it will break on resume +from S3 (resume from sleep). If you do test this, please report whether +the Thunderbolt devices actually work, but remember that you must NOT suspend +or put your machine to sleep.** + +Nvidia dGPU not supported +------------------------- + +Nvidia dGPU doesn't work and is disabled as of 6 December 2024; the Intel graphics +are still available even on Nvidia models, so Intel graphics are used. + +WWAN slot untested. + +`thinkpad_acpi` issues {#thinkpad-acpi} +--------------------------------------- + +It has been reported that `thinkpad_acpi` does not load correctly on the T480. +This should also be the case for the T480s. + +If you encounter this issue, check\ +[this page](../../faq.md#thinkpad-acpi) +for details as to how to fix this. -Pavucontrol will specify that the headphones are not connected, but you can -select it anyway and it will work. This will be fixed in a subsequent revision, -and the corrected images re-uploaded to the existing Libreboot 20241206 release. From 95d5b067cfb98fb98113c51ece2c243b63cf4e5d Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Tue, 10 Dec 2024 23:42:48 +0000 Subject: [PATCH 028/279] adjust the t480 thunderbolt notes Signed-off-by: Leah Rowe --- site/docs/install/t480.md | 37 ++++++++++++++++++++++++++++--------- 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/site/docs/install/t480.md b/site/docs/install/t480.md index e76ecc6..a70db31 100644 --- a/site/docs/install/t480.md +++ b/site/docs/install/t480.md @@ -402,7 +402,27 @@ work on the port, but everything else is UNTESTED. You also need the [gerrit patch](https://review.coreboot.org/c/coreboot/+/75286) adding a Thunderbolt driver to coreboot. -To apply these patches, do the following in a fresh clone of `lbmk.git`: +To apply these patches, do the following in a fresh clone of `lbmk.git` and do: + +``` +git checkout 20241206-t480-thunderbolt-unstable +``` + +In it, you'll find this commit: + +``` +commit 3881160b863ff53df9064a29a25aab55c76ee9c4 (HEAD -> 20241206-t480-thunderbolt-unstable) +Author: Leah Rowe +Date: Tue Dec 10 23:35:47 2024 +0000 + + experimental/unstable t480 thunderbolt support + + Signed-off-by: Leah Rowe +``` + +This was created by the following steps, applying the patches referenced above +and amending the coreboot configs for T480/T480s, within lbmk, from a fresh +clone of lbmk (Git repository): ``` git reset --hard b910424b5df8ed7c931a7b8f5cc8e34eacf0ca3e # 20241206rev2 @@ -411,21 +431,20 @@ cd src/coreboot/next wget https://libreboot.org/docs/install/t480-thunderbolt-20241206-unstable.patch git fetch https://review.coreboot.org/coreboot refs/changes/86/75286/12 && git cherry-pick FETCH_HEAD git am t480-thunderbolt-20241206-unstable.patch +git format-patch -n2 +mv 0001-drivers-intel-dtbt-Add-discrete-Thunderbolt-driver.patch ../../../config/coreboot/next/patches/0010-drivers-intel-dtbt-Add-discrete-Thunderbolt-driver.patch +mv 0002-thunderbolt-fix-ish.patch ../../../config/coreboot/next/patches/0011-thunderbolt-fix-ish.patch cd - ./mk -u coreboot t480s_fsp_16mb ./mk -u coreboot t480_fsp_16mb +git add config/coreboot/next/patches/ +git add config/coreboot/t480_fsp_16mb/ +git add config/coreboot/t480s_fsp_16mb/ +git commit -s -m "experimental/unstable t480 thunderbolt support" ``` You can now follow standard [build instructions](../build/). -NOTE: If you remove src/coreboot/next, you must apply the patches again. -To make it easier, you can instead do this from a fresh `lbmk.git` (do this -instead of running the commands above): - -``` -git checkout 20241206-t480-thunderbolt-unstable -``` - The branch named `20241206-t480-thunderbolt-unstable` already has the above patches applied, including the configuration changes made by `./mk -u`, and you can follow the same build instructions. In this lbmk branch, that From 9b41e070bc4e90f389363c81902b38681d47a031 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Tue, 10 Dec 2024 23:43:48 +0000 Subject: [PATCH 029/279] fix link Signed-off-by: Leah Rowe --- site/docs/install/t480.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/docs/install/t480.md b/site/docs/install/t480.md index a70db31..e20316c 100644 --- a/site/docs/install/t480.md +++ b/site/docs/install/t480.md @@ -392,7 +392,7 @@ Thunderbolt, but the thunderbolt and regular USB-C connector can both be used for charging, and both can be used for video output (it shows up in xrandr as a DisplayPort). -[t480-thunderbolt-20241206-unstable.patch](This patch) can be added, enabling +[This patch](t480-thunderbolt-20241206-unstable.patch) can be added, enabling Thunderbolt, but be warned: it is completely untested, as of Libreboot 20241206. This patch is *NOT* included in the release, because it breaks on S3 resume, and may cause a kernel panic. Also: currently testing only reveals that the From 7e8e045a0092e7a9ad941f794b5540152da5c957 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Wed, 11 Dec 2024 02:07:04 +0000 Subject: [PATCH 030/279] 20241206 rev3 notes (3050micro nvme fix) Signed-off-by: Leah Rowe --- site/news/libreboot20241206.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/site/news/libreboot20241206.md b/site/news/libreboot20241206.md index bbd2559..9c21deb 100644 --- a/site/news/libreboot20241206.md +++ b/site/news/libreboot20241206.md @@ -387,6 +387,28 @@ ARM64). The source archive is now `20241206rev2` instead of `20241206`, and the same is true of affected images on x86, where `vcfg` is set in `target.cfg`. +Revision 3 +---------- + +See commit ID `3b6b283eabe7a655c861d1543aeae49d27566f53` and the two commits +before that. + +This revision disables PCI-E Re-plug (hotplug feature) for the NVMe SSD on +Dell OptiPlex 3050 Micro, to prevent the device from being renamed randomly; +such renaming will cause a system crash if booting Linux from the NVMe. + +In my case, I was running RAID1 (SATA+NVMe) and every few days, the RAID1 got +unsynced; I simply re-synced and it was fine, but what if that was a RAID0? It +would possibly corrupt the entire array. + +This revision should prevent the issue from occuring. Without this patch, +the `nvme0n1` device (as an example) might randomly rename to `nvme0n2`, because +Linux would see it as a new device. + +This same fix was made to the ThinkPad T480/T480s to fix the same issue there, +which manifested during S3 resume, but that bug never made it into the release +because it was fixed *before* the initial release of Libreboot 20241206. + Errata ====== From 67c9386dc93ab6dd50741086cc2a21a6985d2c75 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Thu, 12 Dec 2024 05:49:18 +0000 Subject: [PATCH 031/279] tidy up redundant information the info in question is present clearly on the T480 page. it's better to leave such information on the dedicated page made for that machine. Signed-off-by: Leah Rowe --- site/news/libreboot20241206.md | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/site/news/libreboot20241206.md b/site/news/libreboot20241206.md index 9c21deb..7cfe3c7 100644 --- a/site/news/libreboot20241206.md +++ b/site/news/libreboot20241206.md @@ -408,16 +408,3 @@ Linux would see it as a new device. This same fix was made to the ThinkPad T480/T480s to fix the same issue there, which manifested during S3 resume, but that bug never made it into the release because it was fixed *before* the initial release of Libreboot 20241206. - -Errata -====== - -On ThinkPad T480/T480S, headphone output works; the internal speaker is disabled -but audio is not automatically redirected to the headphone jack. This switching -can be done manually, for example in the `pavucontrol` utility: - -Output Devices -> Select Headphones on the built-in audio. - -Pavucontrol will specify that the headphones are not connected, but you can -select it anyway and it will work. This will be fixed in a subsequent revision, -and the corrected images re-uploaded to the existing Libreboot 20241206 release. From a4c441f642002b74e895f0f1f7db0dab333ad5b1 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Thu, 12 Dec 2024 17:13:26 +0000 Subject: [PATCH 032/279] 20241206 rev3 build notes Signed-off-by: Leah Rowe --- site/news/libreboot20241206.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/site/news/libreboot20241206.md b/site/news/libreboot20241206.md index 7cfe3c7..6905106 100644 --- a/site/news/libreboot20241206.md +++ b/site/news/libreboot20241206.md @@ -408,3 +408,5 @@ Linux would see it as a new device. This same fix was made to the ThinkPad T480/T480s to fix the same issue there, which manifested during S3 resume, but that bug never made it into the release because it was fixed *before* the initial release of Libreboot 20241206. + +The ROM images were all re-uploaded, compiled from the rev3 tarball, because it was discovered that the rev2 tarballs had a GRUB built showing the old Libreboot 20241008 version number; the actual code in GRUB matched the code for 20241206, but it was a cached GRUB build from just before updating the version number for release. This is because the rev2 ROM image tarballs were done manually, to avoid a full re-build of every target in lbmk. To avoid all doubt, all ROM images have been re-compiled with the version number corrected, from the rev3 tag. From e36d7b7ea2519a22278b1078fc0a3413b9847c54 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Fri, 13 Dec 2024 04:30:19 +0000 Subject: [PATCH 033/279] update some important links Signed-off-by: Leah Rowe --- site/docs/install/dell3050.md | 6 ++++++ site/docs/install/dell9020.md | 3 ++- site/docs/install/t440p_external.md | 4 ++-- site/docs/install/t480.md | 6 ++++++ site/docs/install/w541_external.md | 4 ++-- site/docs/install/x230_external.md | 4 ++-- 6 files changed, 20 insertions(+), 7 deletions(-) diff --git a/site/docs/install/dell3050.md b/site/docs/install/dell3050.md index 398281d..e457d26 100644 --- a/site/docs/install/dell3050.md +++ b/site/docs/install/dell3050.md @@ -49,6 +49,12 @@ P*: Partially works with blobs | **GRUB (libgfxinit only)** | Works | | **SeaBIOS** | Broken | +Buy pre-installed +================= + +**Dell OptiPlex 3050 Micro is available to purchase with Libreboot preinstalled. +See: ** + Introduction ============ diff --git a/site/docs/install/dell9020.md b/site/docs/install/dell9020.md index 5a1273e..2aac895 100644 --- a/site/docs/install/dell9020.md +++ b/site/docs/install/dell9020.md @@ -102,7 +102,8 @@ Buy Libreboot preinstalled You can buy this machine professionally serviced, with Libreboot preinstalled and your choice of Linux/BSD system. Many upgrades are also available. See: - +**Minifree now sells the Libreboot 3050 Micro, instead of the Libreboot +9020 SFF. See: ** Sales are conducted to provide funding for the Libreboot project. Leah Rowe who runs Minifree, is also Libreboot's founder and lead developer. diff --git a/site/docs/install/t440p_external.md b/site/docs/install/t440p_external.md index 81e96ae..8c54780 100644 --- a/site/docs/install/t440p_external.md +++ b/site/docs/install/t440p_external.md @@ -6,8 +6,8 @@ x-toc-enable: true Buy Libreboot preinstalled ========================== -This laptop is available to buy with Libreboot pre-installed: - +**Minifree now sells the Libreboot T480, instead of the Libreboot T440p. See: +** Introduction ============ diff --git a/site/docs/install/t480.md b/site/docs/install/t480.md index e20316c..1a0e96a 100644 --- a/site/docs/install/t480.md +++ b/site/docs/install/t480.md @@ -65,6 +65,12 @@ ports; he is also the author of the deguard utility, which is used to disable the Intel Boot Guard on these machines; disabling the Boot Guard was necessary in order to get coreboot working! +Buy pre-installed +================= + +**ThinkPad T480/T480S is available to purchase with Libreboot pre-installed. See: +** + Introduction ============ diff --git a/site/docs/install/w541_external.md b/site/docs/install/w541_external.md index 36d17cc..b7480fa 100644 --- a/site/docs/install/w541_external.md +++ b/site/docs/install/w541_external.md @@ -9,8 +9,8 @@ identical. Buy Libreboot preinstalled ========================== -This laptop is available to buy with Libreboot pre-installed: - +**Minifree now sells the Libreboot T480, instead of the Libreboot W541. See: +** Introduction ============ diff --git a/site/docs/install/x230_external.md b/site/docs/install/x230_external.md index 94bf138..814db86 100644 --- a/site/docs/install/x230_external.md +++ b/site/docs/install/x230_external.md @@ -3,8 +3,8 @@ title: ThinkPad X230/X230T external flashing x-toc-enable: true ... -This machine is available to purchase with Libreboot pre-installed: - +**Minifree now sells the Libreboot T480, instead of the Libreboot X230. See: +** NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) now, as of 27 January 2024, which is a fork of flashrom. From dbe9dc6fe809b61cf5ead18801232b2405dcf63e Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 14 Dec 2024 04:42:06 +0000 Subject: [PATCH 034/279] update safety advice for ifdtool/inject also tidy up the ivy_has_common guide. the .uk one was in english anyway so i removed that one. reference the platform option needed in ifdtool, on kabylake Signed-off-by: Leah Rowe --- site/docs/install/ivy_has_common.md | 49 +++++-- site/docs/install/ivy_has_common.uk.md | 179 ------------------------- site/docs/install/nvmutil.md | 28 +++- site/freedom-status.uk.md | 2 +- 4 files changed, 62 insertions(+), 196 deletions(-) delete mode 100644 site/docs/install/ivy_has_common.uk.md diff --git a/site/docs/install/ivy_has_common.md b/site/docs/install/ivy_has_common.md index 08d5340..e3c459e 100644 --- a/site/docs/install/ivy_has_common.md +++ b/site/docs/install/ivy_has_common.md @@ -3,9 +3,21 @@ title: Insert vendor files not included in release images x-toc-enable: true ... -Please make sure to install [build dependencies](../build/) if following this -guide, and note that this guide assumes you use [lbmk.git](../git.md), not the -release archives, even if you're using release *ROM images*, which is fine. +**Install build dependencies first** +================================ + +**You will be compiling several small utilities from source code. This means +you need the compilers and various libraries.** + +**Please make sure to install [build dependencies](../build/)** before using this +guide, and note that this guide assumes you use [lbmk.git](../git.md). + +**Failure to adhere to this warning will result in vendor file insertion not +working. The insertion must work correctly, prior to Libreboot installation, +if your board requires it, otherwise your board simply will not boot.** + +Introduction +============ Coreboot is nominally free software, but requires certain vendor code on some boards, for certain functionalities; we cover this more thoroughly in @@ -23,13 +35,6 @@ on HP EliteBooks), VGA ROMs (e.g. Nvidia GPU ROM for Dell Latitude E6400), and so on. Without these, your machine may not boot correctly, or not boot at all! -Therefore, you should just follow this guide if in any doubt. Otherwise, the -freedom status page lists all boards that require vendor files, and it says -what they are. This is because Libreboot cannot directly distribute some of them, -but they are extracted from vendor updates at build time, and inserted into -images; when those images are then archived for release, the non-redistributable -filejs are removed. - The same logic can be used after the fact, to re-download and re-insert these files; the page that you're reading now will tell you how to do so. @@ -38,7 +43,7 @@ vendor files inserted, nothing will happen. You only need to follow this guide if you use release ROMs; if you're building directly from source, using the Libreboot build system, then you can just flash the result.* -Injecting vendor files into ROM +Injecting vendor files ROMs tarball ------------------------------------ You must determine the correct board name, for your board, based on the list @@ -53,13 +58,25 @@ Run the injection script pointing to the release archive you downloaded: ./vendor inject libreboot-RELEASE_targetname.tar.xz +The script can automatically detect the board as long as you do not change the file name. +You can then find flash-ready ROMs in `/bin/release/` + +*This is the recommended way to do it, injecting into the tarball.* + +Injecting vendor files into single ROMs +--------------------------------------- + **You are strongly advised only to insert it on the tarball, because then checksums are verified to ensure that the vendor files were inserted correctly. Otherwise, you can do it manually on each individual image, specifying the board name with the instructions provided below:** -The script can automatically detect the board as long as you do not change the file name. -You can then find flash-ready ROMs in `/bin/release/` +**However, when injecting into the tarball in bulk like that, lbmk currently +cannot change the MAC addresses automatically, using the `-m` option mentioned +below.** + +**Therefore, if you want to rely on insertion into the tarball, you can just +copy the ROM you want and [change the MAC address manually](nvmutil.md).** Alternatively, you may patch only a single rom file, but you must supply the correct board target name as alluded to above. @@ -72,6 +89,12 @@ For example: ./vendor inject -r x230_libreboot.rom -b x230_12mb -m 00:f6:f0:40:71:fd +You are *strongly* advised to inject the tarballs instead. However, so long as +you're careful, injecting into single ROM images is perfectly safe. Just know +once more that the checksum verification is unavailable in the latter, so you +must absolutely ensure that you specified the correct board with the `-b` +option. + Check that the files were inserted ================================== diff --git a/site/docs/install/ivy_has_common.uk.md b/site/docs/install/ivy_has_common.uk.md deleted file mode 100644 index abf7b53..0000000 --- a/site/docs/install/ivy_has_common.uk.md +++ /dev/null @@ -1,179 +0,0 @@ ---- -title: Insert vendor files not included in release images -x-toc-enable: true -... - -Regarding vendorfile insertion: if unsure, just follow these instructions. -If a given target does not require vendor files, none will be inserted. - -**TODO: Re-translate this again to Ukrainian. It was translated before, but -the english page got heavily re-written.** - -Libreboot can't directly distribute *all* of these blobs, so some of them are -downloaded at build-time, and processed for insertion into the firmware images. -**On pre-compiled ROM images in releases, these files are removed, and can be -re-added using the same automation that was applied during the build process.** - -**NOTE: This page also applies to PM45 machine Dell Latitude E6400 if it -contains an Nvidia GPU (Libreboot vendor scripts can insert the VGA ROM)** - -This is not a general purpose installation guide, but you *should read it* -before installing Libreboot! *This* guide *must* be followed, no matter what -method you use to install Libreboot; even if you compile from source, you should -still read this page for later reference. - -For how to use an external programmer see the [25xx NOR flashing guide](/docs/install/spi.html) - -Introduction -============ - -**PLEASE MAKE SURE you have build dependencies installed first. Although you -do not need to re-compile release ROMs, you should follow these instructions -before reading the instructions below: -** - -Coreboot is nominally free software, but requires certain vendor code on some -boards, for certain functionalities; it differs per board, and some boards do -not require vendor code of any kind in the flash. We cover this more thoroughly in -the [Freedom Status](../../freedom-status.md) page and in the [Binary Blob -Reduction Policy](../../news/policy.md). - -Well, not all of these files are freely redistributable. Coreboot does provide -vendor files in some cases, if the vendor has allowed it. In other cases, -extraction from factory firmware is required, or you can extract them from -vendor-supplied updates - Libreboot's build system does the latter. - -When you [compile Libreboot ROM images from source](../build/), Libreboot will -automatically download any given vendor files required, for any given board -target. This is done without user intervention, and only when absolutely needed -to make the machine boot properly. - -The problem? ------------- - -Well, if the files cannot be freely redistributed, then we can't provide them. -So how do we handle *that*, in the context of Libreboot releases? - -The solution ------------- - -The answer is very simple: these files are **NOT** provided, at all! However, -the very same logic used by the build system can be run standalone, to re-insert -these vendor files on release ROMs. The `inject` script detects what files are -needed for your ROM image. - -The script will detect what board you're inserting on, or you can manually tell -it what board, and it will fetch them for you, inserting them, so that your -board is ready to flash - flashing it without these required files may result in -a brick. - -Vendor file locations --------------- - -During auto-download of files, they are saved to these locations within the -Libreboot build system: - -* ME firmware: `vendor/*/me.bin` - the `*` can be any given directory. Different ones will - be used by given boards, but the directory name may not match the board - target name. -* SMSC SCH5545 fan control firmware (for Dell T1650): `vendor/t1650/sch5545ec.bin` - - ditto 7010/9010 MT/SFF optiplex machines. -* SMSC KBC1126 embedded controller firmware, on HP EliteBooks: `ec/` -* Intel MRC firmware, provides raminit on HP EliteBook 820 G2 - -The above list refers to the *non-redistributable files*, and these are not -directly included in releases. These are auto-downloaded during the build. -The `me.bin` files are produced by extracting them from vendor updates and -neutering them with `me_cleaner` so that Intel ME is disabled during early boot. - -Inject vendor files into ROM ------------------------------------- - -You must determine the correct board name, for your board, based on the list -generated when running this command: - - ./mk -b coreboot list - -In order to inject the necessary files into a rom image, run the script from the root of lbmk and point to the rom image. - -If you only wish to flash a release rom then the process of injecting the necessary files is quite simple. -Run the injection script pointing to the release archive you downloaded: - - ./vendor inject /path/to/libreboot-20230319-18-g9f76c92_t440pmrc_12mb.tar.xz - -The script can automatically detect the board as long as you do not change the file name. -You can then find flash-ready ROMs in `/bin/release/` - -Alternatively, you may patch only a single rom file, but you must supply the -correct board target name as alluded to above. -For example: - - ./vendor inject -r x230_libreboot.rom -b x230_12mb - -Optionally, you can use this script to modify the mac address of the rom with the `-m` flag. -For example: - - ./vendor inject -r x230_libreboot.rom -b x230_12mb -m 00:f6:f0:40:71:fd - -Check that the files were inserted -================================== - -You *must* ensure that the files were inserted. - -Some examples of how to do that in lbmk: - - ./update trees -d coreboot TREENAME - -Now you find `cbutitls/default`, which is a directory containing `cbfstool` -and `ifdtool`. Do this on your ROM image (`libreboot.rom` in the example -below): - - ./cbutils/default/cbfstool libreboot.rom print - -You should check that the files were inserted in cbfs, if needed; for example, -EC firmware or MRC firmware. - -Next: - - ./cbutils/default/ifdtool -x libreboot.rom - -This creates several `.bin` files, one of which says `me` in it (Intel ME). -Run hexdump on it: - - hexdump flashregion_2_intel_me.bin - -Check the output. If it's all `0xFF` (all ones) or otherwise isn't a bunch -of code, then the Intel ME firmware wasn't inserted. - -You'll note the small size of the Intel ME, e.g. 84KB on sandybridge platforms. -This is because lbmk *automatically* neuters it, disabling it during -early boot. This is done using `me_cleaner`, which lbmk imports. - -NOTE: the MAC changer makes use of `nvmutil`, which you can read more about in -the [nvmutil documentation](nvmutil.md). - -Errata -====== - -NOTE: As of Libreboot releases from May 2024 onward, the Intel MRC is no longer -included for Haswell; MRC is a blob for raminit, but we now provide libre -raminit. The following targets no longer exist in the build system: - -* `t440pmrc_12mb` (use `t440plibremrc_12mb` instead) -* `t440pbmrc_12mb` (use `t440plibremrc_12mb` instead) -* `w541mrc_12mb` (use `w541_12mb` instead) -* `w541bmrc_12mb` (use `w541_12mb` instead) -* `dell9020sff_12mb` (use `dell9020sff_nri_12mb` instead) -* `dell9020sffbmrc` (use `dell9020sff_nri_12mb` instead) -* `dell9020mt_12mb` (use `dell9020mt_nri_12mb` instead) -* `dell9020mtbmrc` (use `dell9020mt_nri_12mb` instead) - -This is written as errata because some users may still be using older release -images but on the newer build system from May 2024 onward; you must use the -Libreboot 20240225 release if you want to inject MRC and so on, for these older -targets. - -Libreboot's [binary blob reduction policy](../../news/policy.md) is very strict, -and states: if a blob can be avoided, it must be avoided. Therefore, the MRC -is removed on Haswell and Libreboot will only use the libre raminit (called -NRI, short for Native Ram Initialisation). diff --git a/site/docs/install/nvmutil.md b/site/docs/install/nvmutil.md index 1746d8e..b15a8dd 100644 --- a/site/docs/install/nvmutil.md +++ b/site/docs/install/nvmutil.md @@ -170,12 +170,24 @@ with `make`, to get an ifdtool binary. To make internal flashing possible later on, you might do: - ifdtool --unlock rom.bin + ifdtool --unlock rom.bin # READ THE WARNING BELOW FIRST + +**WARNING: On ThinkPad T480/T480s and OptiPlex 3050 Micro, do this instead:** + + ifdtool --platform sklkbl --unlock rom.bin Running this command will create a modified image, named `rom.bin.new`. This file will have all regions set to read-write, per configuration in the Intel Flash Descriptor. +Note: if you want the original image to be modified, without needing to +keep track of `rom.bin.new` as mentioned above, use the -O switch. For example, +repeating the above command: + + ifdtool --unlock rom.bin -O rom.bin + +(add the `--platform` option if you need to) + In addition to unlocked regions, you may wish to *neuter* the Intel Management Engine, removing all the nasty spying features from it, using `me_cleaner`. See: @@ -188,7 +200,7 @@ article, so you should read their documentation. Now run this: - ifdtool -x rom.bin + ifdtool -x rom.bin # For T480/3050micro, add: --platform sklkbl Several files will be created, and the one you need to operate on is named `flashregion_3_gbe.bin` so please @@ -198,7 +210,7 @@ Read the notes below about how to use the `nvmutil` program, operating on this file. When you're done, you can insert the modified GbE file back into your ROM image, like so: - ifdtool -i gbe:flashregion_3_gbe.bin rom.bin + ifdtool -i gbe:flashregion_3_gbe.bin rom.bin # For T480/3050micro, add: --platform sklkbl This will create the file `rom.bin.new`, which contains your modified GbE section with the NVM images inside; this @@ -215,6 +227,16 @@ region, like so: flashprog -p internal --ifd -i gbe -w rom.bin.new +**WARNING: If using `--ifd` in flashprog, note that flashprog probably doesn't +have anything similar to the `--platform` option in ifdtool. Therefore, you +way wish to specify the regions manually. You can do this quite simply, by:** + + ifdtool -f layout.txt rom.bin # For T480/3050micro, add: --platform sklkbl + +and instead of `--ifd` in flashprog, use: + + flashprog -p internal -l layout.txt -i gbe -w rom.bin.new + If you're running flashprog from host CPU on the target system, and it's dual flash, you can just flash the concatenated image, which you created earlier by running diff --git a/site/freedom-status.uk.md b/site/freedom-status.uk.md index a6ac32a..df989c1 100644 --- a/site/freedom-status.uk.md +++ b/site/freedom-status.uk.md @@ -211,7 +211,7 @@ Git, ні в випусках. Де необхідно, Libreboot надає оригінального образа продавця, в регіоні ME інтегральної схеми флеш-пам'яті). Ви можете дізнатись про це більше на наступній сторінці: -[docs/install/ivy_has_common.uk.md](docs/install/ivy_has_common.uk.md) +[docs/install/ivy_has_common.md](docs/install/ivy_has_common.md) Прошивка ME є *обов'язковою* на майже всіх платформах Intel, або машина *вимкнеться* після 30 хвилин. В нейтралізованому налаштуванні, код BringUp From b621f4fcf72bd98d2e4cd35cb7a737c5fe00997f Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 14 Dec 2024 04:53:29 +0000 Subject: [PATCH 035/279] fix link Signed-off-by: Leah Rowe --- site/docs/install/ivy_has_common.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/docs/install/ivy_has_common.md b/site/docs/install/ivy_has_common.md index e3c459e..a416393 100644 --- a/site/docs/install/ivy_has_common.md +++ b/site/docs/install/ivy_has_common.md @@ -10,7 +10,7 @@ x-toc-enable: true you need the compilers and various libraries.** **Please make sure to install [build dependencies](../build/)** before using this -guide, and note that this guide assumes you use [lbmk.git](../git.md). +guide, and note that this guide assumes you use [lbmk.git](../../git.md). **Failure to adhere to this warning will result in vendor file insertion not working. The insertion must work correctly, prior to Libreboot installation, From db8b4b3fe653ea53d23051e949b0408858d134ec Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 15 Dec 2024 08:35:14 +0000 Subject: [PATCH 036/279] add another t480 mf link Signed-off-by: Leah Rowe --- site/news/libreboot20241206.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/site/news/libreboot20241206.md b/site/news/libreboot20241206.md index 6905106..647f1e7 100644 --- a/site/news/libreboot20241206.md +++ b/site/news/libreboot20241206.md @@ -59,9 +59,11 @@ Board support The following boards have been added since the Libreboot 20241008 release: * **[Lenovo ThinkPad T480](../docs/install/t480.md)** support, implemented by - Mate Kukri with testing and hardware logs provided by Leah Rowe. + Mate Kukri with testing and hardware logs provided by Leah Rowe. - You can also + [buy T480 with Libreboot pre-installed](https://minifree.org/product/libreboot-t480/) * **[Lenovo ThinkPad T480S](../docs/install/t480.md)** support, implemented by - Mate Kukri with testing and hardware logs provided by Leah Rowe. + Mate Kukri with testing and hardware logs provided by Leah Rowe. - You can also + [buy T480s with Libreboot pre-installed](https://minifree.org/product/libreboot-t480/) * **[Dell OptiPlex 780 USFF](../docs/install/dell780.md)** support, implemented by Nicholas Chin with testing and hardware logs provided by Lorenzo Aloe. * **[Dell OptiPlex 780 MT](../docs/install/dell780.md)** support, implemented by From 5c92e8f18871b449c0511a3770cb285a4a356c02 Mon Sep 17 00:00:00 2001 From: Tim_B Date: Sun, 15 Dec 2024 18:59:47 +0100 Subject: [PATCH 037/279] Create contact-fr.md page --- site/contact-fr.md | 80 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 site/contact-fr.md diff --git a/site/contact-fr.md b/site/contact-fr.md new file mode 100644 index 0000000..e15a042 --- /dev/null +++ b/site/contact-fr.md @@ -0,0 +1,80 @@ +--- +title: Contact +x-toc-enable: true +... + +Où acheter du matériel avec Libreboot pré-installé +========== + +Si vous souhaitez une installation professionnelle, Minifree Ltd vend des ordinateurs avec [Libreboot pré-installé](https://minifree.org/). L'entreprise propose également [un service d'installation de Libreboot](https://minifree.org/product/installation-service/) si vous voulez l'installer sur votre propre machine. + +Leah Rowe, fondateur et principal développeur du projet Libreboot, est également propriétaire de Minifree Ltd. Les ventes contribuent à financer le développement du projet Libreboot. + +Si vous installez Libreboot vous-même, un support est disponible via différents canaux de communication (IRC, mail, etc.) : + + +Suport utilisateur +============ + +IRC et Reddit sont recommandés pour demander de l'aide (IRC est à privilégier) : + + +Mail +============ + +Libreboot dispose d'une liste de diffusion : + +L'adresse mail est [~libreboot/libreboot@lists.sr.ht](mailto:~libreboot/libreboot@lists.sr.ht) + +Discussion sur le developpement +====================== + +Pour participer au développement, consultez la pag [GIT](git.md) du projet. Vous y trouverez des instructions détaillées sur l'envoi de patchs via pull request. + +IRC chatroom +============ +Le chat IRC est le principal moyen de contact pour le projet Libreboot via `#libreboot` sur Libera IRC. + +Webchat: + + +Libera est un des plus grands réseaux IRC utilisé pour les projets en lien avec le logiciel libre. Vous trouverez plus d'information ici : + +Si vous souhaitez vous connecter via votre client préféré ( comme weechat ou irssi), veuillez utiliser ces informations : + +* Server: `irc.libera.chat` +* Channel: `#libreboot` +* Port (TLS): `6697` +* Port (non-TLS): `6667` + +Nous vous recommandons d'utiliser le port `6697` avec l'encryption TLS activée. + +Il est recommandé d'utiliser SASL pour l'authentification. Ces pages vous indiqueront comment l'utiliser : + +* WeeChat SASL guide: +* Irssi SASL guide: +* HexChat SASL guide: + +De manière générale, reportez-vous à la documentation de votre logiciel IRC. + + +Réseaux sociaux +============ + +Libreboot existe officiellement sur différents réseaux sociaux. + +Mastodon +-------- + +Le fondateur et principal developpeur, Leah Rowe, est sur Mastodon: + +* + +Leah peut également être contacté par mail : +[leah@libreboot.org](mailto:leah@libreboot.org) + +Reddit +------ + +Généralement utilisé pour le support mais aussi pour l'annonces des dernières nouveautés : + From 66f217fba1e35d8d9f0c061591b8b551dcfdbddf Mon Sep 17 00:00:00 2001 From: Tim_B Date: Mon, 16 Dec 2024 11:48:10 +0100 Subject: [PATCH 038/279] Update french translation for the index page --- site/index.fr.md | 129 +++++++++++++++-------------------------------- 1 file changed, 42 insertions(+), 87 deletions(-) diff --git a/site/index.fr.md b/site/index.fr.md index 6cd3944..342efde 100644 --- a/site/index.fr.md +++ b/site/index.fr.md @@ -1,128 +1,83 @@ --- title: Projet Libreboot x-toc-enable: true -... +--- -Libreboot est un micrologiciel de démarrage [libéré](https://writefreesoftware.org/) -qui initialise le matériel (càd le contrôleur mémoire, CPU, -périphériques) sur [des ordinateurs x86/ARM spécifiques](docs/install/) -et lance un chargeur d'amorçage pour votre système d'exploitation. [Linux](docs/linux/) et [BSD](docs/bsd/) sont bien supportés. C'est un -remplacement pour le micrologiciel UEFI/BIOS propriétaire. -Des canaux d'aide sont disponibles -dans le canal [\#libreboot](https://web.libera.chat/#libreboot) sur le serveur IRC [Libera](https://libera.chat/). +Le projet Libreboot fournit un firmware [libre et Open-Source](https://writefreesoftware.org/) basé sur Coreboot, remplaçant le BIOS/UEFI propriétaire sur des [cartes mères Intel/AMD x86 et ARM](docs/install/), pour des ordinateurs de bureau et des ordinateurs portables. +Il initialise le matériel (le contrôleur de mémoire, le CPU, les périphériques) et lance un bootloader pour votre système d’exploitation. Les systèmes [Linux](docs/linux/) et [BSD](docs/bsd/) sont bien pris en charge. De l’aide est disponible sur [\#Libreboot](https://web.libera.chat/#Libreboot) via [Libera](https://libera.chat/). La page des tâches répertorie les projets en cours (les contributions sont les bienvenues si vous souhaitez y travailler vous-même). - -You can also [buy Libreboot preinstalled](https://minifree.org/) from Minifree Ltd, -on select hardware, aswell as send your compatible hardware -for [Libreboot preinstallation](https://minifree.org/product/installation-service/). -The founder and lead developer of Libreboot, Leah Rowe, also owns and operates -Minifree; sales provide funding for Libreboot. + -**NOUVELLE VERSION: La dernière version est [Libreboot 20241206](news/libreboot20241206.md), sortie +Vous pouvez également acheter du matériel avec [Libreboot pré-installé](https://minifree.org/) via l'entreprise Minifree Ltd, +ou envoyer votre propre ordinateur [pour y installer Libreboot](https://minifree.org/product/installation-service/). + +Leah Rowe, fondateur et principal développeur du projet Libreboot, est également propriétaire de Minifree Ltd. Les ventes contribuent à financer le développement du projet Libreboot. + +**NOUVELLE VERSION: La dernière version est [Libreboot 20241206](news/Libreboot20241206.md), sortie le 6 December 2024.** Pourquoi devriez-vous utiliser *Libreboot*? ----------------------------------- -Libreboot vous donne des [libertés](https://writefreesoftware.org/) -que nous n'auriez pas autrement avec d'autre micrologiciel de démarrage. Il est -extremement [puissant](docs/linux/grub_hardening.md) -et [configurable](docs/maintain) pour plein de cas d'utilisations. +Libreboot vous offre des [libertés](https://writefreesoftware.org/) que vous n’auriez pas avec d’autres micrologiciels de démarrage. [Puissant](docs/linux/grub_hardening.md) et hautement [configurable](docs/maintain), il répond à de nombreux cas d’utilisation. -Vous avez des droits. Un droit à la vie privée, liberté de pensée, liberté d'espression et le droit de lire. Dans ce contexte là, Libreboot vous permet d'avoir ces droits. -Votre liberté compte. -Le [Droit à la réparation](https://en.wikipedia.org/wiki/Right_to_repair) est important. -Beaucoup de personnes utilisent un micrologiciel de -démarrage propriétare (non libre), même -si ils utilisent [un système d'exploitation libre](https://www.openbsd.org/). -Les micrologiciels propriétaires [contiennent](faq.html#intel) souvent -des [portes dérobées](faq.html#amd) et peuvent être instable. Libreboot -a été fondé en Décembre 2013 avec le but de rendre le libre -au niveau du micrologiciel accessible pour les utilisateurs non-techniques. +Vous avez des droits : droit à la vie privée, liberté de pensée, liberté d’expression et droit à l’information. Dans ce cadre, Libreboot vous permet de préserver ces droits. Votre liberté est essentielle. Le [droit à la réparation](https://fr.wikipedia.org/wiki/Droit_%C3%A0_la_r%C3%A9paration) est également crucial. Beaucoup de personnes utilisent des micrologiciels propriétaires (non libres), même lorsqu’elles utilisent [un système d'exploitation libre](https://www.openbsd.org/). Ces micrologiciels sont souvent instables et [contiennent](faq.html#intel) parfois des [portes dérobées](faq.html#amd). -Libreboot utilise [coreboot](https://www.coreboot.org) pour -[l'initialisation matérielle](https://doc.coreboot.org/getting_started/architecture.html) -Coreboot est renommé comme être difficilement installable par des utilisateurs -non technique; il se charge seulement de l'initialisation basique -puis bascule sur un programme de [charge utile](https://doc.coreboot.org/payloads.html) -(par ex. [GRUB](https://www.gnu.org/software/grub/), -[Tianocore](https://www.tianocore.org/)), qui doit lui aussi être configuré. -*Libreboot règle ce problème*; c'est une *distribution de coreboot* avec -un [système de compilation automatisé](docs/builds/), crééant des -*images ROM* complètes pour une installation plus robuste. De la documentation est disponible. -De quelle façon Libreboot diffère de Coreboot? +Libreboot, fondé en décembre 2013, a pour objectif de rendre le micrologiciel libre accessible même aux utilisateurs non techniques. + +Libreboot s’appuie sur [Coreboot](https://www.Coreboot.org) pour +[l'initialisation matérielle](https://doc.Coreboot.org/getting_started/architecture.html). Coreboot est réputé complexe à installer, en particulier pour les utilisateurs non techniques ; il se limite à l’initialisation matérielle de base avant de transmettre le contrôle à une [charge utile](https://doc.Coreboot.org/payloads.html) (comme [GRUB](https://www.gnu.org/software/grub/) ou [Tianocore](https://www.tianocore.org/)), qui nécessite également une configuration. Libreboot simplifie ce processus : il s’agit d’une distribution de Coreboot dotée d’un [système de compilation automatisé](docs/builds/), capable de créer des images ROM complètes pour une installation plus simple et fiable. + +Une documentation détaillée est disponible. + + +Quelles sont les différences entre Libreboot et Coreboot? ------------------------------------------------ - + -Contrairement à l'opinion populaire, le but principal de Libreboot n'est -pas de fournir un Coreboot déblobbé; ceci n'est simplement qu'une -des politiques de Libreboot, une importante certes, mais qui n'est qu'un -aspect mineur de Libreboot. +Contrairement à l'opinion populaire, le but principal de Libreboot n'est pas de fournir un Coreboot sans blobs propriétaires ; ceci n'est qu'une des politiques de Libreboot, certes importante, mais qui reste un aspect mineur de son projet. -De la même façon que *Alpine Linux* est une distribution Linux, Libreboot -est une *distribution coreboot*. Si vous voulez compilé une image ROM -en partant des bases, vous devez alors effectuer une configuration experte -de Coreboot, GRUB et n'importe quel autre logiciel dont vous avez besoin -afin de préparer la ROM. Avec *Libreboot*, -vous pouvez télécharger la source depuis Git ou une archive, exécuter -and a script etça compilera une image ROM entières. Le système de compilation -automatisé de Libreboot nommé `lbmk` (Libreboot MaKe), compile ces images -ROM automatiquement, sans besoin d'entrées utilisateur or intervention -requise. La configuration est faite à l'avance. +De la même façon qu’Alpine Linux est une distribution Linux, Libreboot est une distribution Coreboot. Si vous voulez compiler une image ROM à partir de zéro, vous devrez effectuer une configuration experte de Coreboot, GRUB et de tout autre logiciel nécessaire pour préparer la ROM. Avec Libreboot, vous pouvez télécharger le code source depuis Git ou une archive, exécuter un script, et cela générera une image ROM complète. Le système de compilation automatisé de Libreboot, nommé `lbmk` (Libreboot MaKe), compile ces images ROM automatiquement. Aucune intervention n'est requise, car la configuration est préparée à l'avance. -Si vous devriez compiler du coreboot classique sans utiliser le système -de build automatisé de Libreboot, ça demanderait bien plus d'effort et -de connaissances techniques décente pour écrire une configuration qui marche. +Si vous deviez compiler Coreboot classique sans utiliser le système de compilation automatisé de Libreboot, cela nécessiterait bien plus d'efforts et de connaissances techniques pour créer une configuration fonctionnelle. -Les versions de Libreboot fournissent ces images ROM pré-compilés et vous -pouvez les installez simplement, sans connaissance ou compétence particulière -à savoir, sauf [suivre des instructions simplifiés écrite pour des utilisateurs non techniques](docs/install/). +Les versions de Libreboot fournissent des images ROM pré-compilées que vous pouvez installer facilement, [sans connaissances ou compétences particulières](docs/install/). Comment aider ----------- - + -The *single* biggest way you can help it to *add* new mainboards to Libreboot, -by submitting a config. Anything coreboot supports can be integrated in -Libreboot, with ROM images provided in releases. See: +La meilleure façon d'aider le projet est d’ajouter de nouvelles cartes mères au projet Libreboot en soumettant une configuration. Tout ce qui est pris en charge par Coreboot peut être intégré à Libreboot, avec des images ROM fournies dans les versions publiées. Voir : -* [Apply to become a board maintainer/tester](docs/maintain/testing.md) -* [Porting guide for new mainboards](docs/maintain/porting.md) -* [Libreboot build system documentation](docs/maintain/) +* [Postuler pour devenir mainteneur/testeur de cartes mères](docs/maintain/testing.md) +* [Guide de portage pour nouvelles cartes mèress](docs/maintain/porting.md) +* [Documentation du système de compilation Libreboot](docs/maintain/) -After that, there is build system maintenance (see above), and *documentation* -which we take seriously. Documentation is critical, in any project. +Ensuite, il y a la maintenance du système de compilation (voir ci-dessus) ainsi que la **documentation**, que nous prenons très au sérieux. La documentation est essentielle dans tout projet. -*User support* is also critical. Stick around on IRC, and if you're competent -to help someone with their issue (or wily enough to learn with them), that is -a great service to the project. A lot of people also ask for user support -on the `r/libreboot` subreddit. +Le support utilisateur est également crucial. Restez actif sur IRC et, si vous êtes dans la capacité d'aider quelqu'un avec son problème, cela rendra un grand service au projet. De nombreuses personnes demandent également du support utilisateur sur le subreddit r/Libreboot. -Vous pouvez allez voir les bugs listés sur le [traqueur de bugs](https://codeberg.org/libreboot/lbmk/issues). +Vous pouvez allez voir les bugs listés sur le [traqueur de bugs](https://codeberg.org/Libreboot/lbmk/issues). -Si vous trouvez un bug et avez un correctif, [voici les instructions pour envoyer des patchs](git.md), et vous pouvez aussi nous les signaler. -Par ailleurs, ce site est écrit en Markdown et hébergé dans un [dépôt séparé](https://codeberg.org/libreboot/lbwww) où +Vous pouvez nous signaler les bugs que vous trouverez. Vous pouvez également proposer un correctif en [suivant ces instructions pour envoyer des patchs](git.md), +Par ailleurs, ce site est écrit en Markdown et hébergé dans un [dépôt séparé](https://codeberg.org/Libreboot/lbwww) où vous pouvez envoyer vos patchs. La discussion sur le dévéloppement de Libreboot et le support utilisateur -se font toutes sur le canal IRC. Plus d'information est disponible sur +se font toutes sur le canal IRC. Plus d'informations sont disponibles sur la [page de contact](contact.md). -Translations needed, for libreboot.org +Aide pour la traduction -------------------------------------- -Libreboot currently has translated Web pages in Ukrainian and French (but not -for all pages, yet, on either language). +Libreboot dispose actuellement de pages Web traduites en ukrainien et en français. -If you want to help with translations, you can translate pages, update existing -translations and submit your translated versions. For instructions, please -read: +Si vous souhaitez participer à le traduction, vous pouvez traduire des pages, mettre à jour les traductions existantes et soumettre vos versions traduites. Pour les instructions, veuillez lire : -[How to submit translations for libreboot.org](news/translations.md) +[Comment proposer une traduction pour Libreboot.org](news/translations.md) -Even if someone is already working on translations in a given language, we can -always use multiple people. The more the merrier! +Et même si quelqu'un travaille déjà sur des traductions dans une langue donnée, nous pouvons travailler à plusieurs. Plus on est de fous, plus on rit ! \ No newline at end of file From cbb250dfda50c5c9fa154789d5adcf024b00c32b Mon Sep 17 00:00:00 2001 From: Tim_B Date: Mon, 16 Dec 2024 11:53:23 +0100 Subject: [PATCH 039/279] Update french translation for the index page --- site/index.fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/index.fr.md b/site/index.fr.md index 342efde..376aa24 100644 --- a/site/index.fr.md +++ b/site/index.fr.md @@ -12,7 +12,7 @@ Il initialise le matériel (le contrôleur de mémoire, le CPU, les périphériq Vous pouvez également acheter du matériel avec [Libreboot pré-installé](https://minifree.org/) via l'entreprise Minifree Ltd, ou envoyer votre propre ordinateur [pour y installer Libreboot](https://minifree.org/product/installation-service/). -Leah Rowe, fondateur et principal développeur du projet Libreboot, est également propriétaire de Minifree Ltd. Les ventes contribuent à financer le développement du projet Libreboot. +Leah Rowe, fondateur et principal développeur du projet Libreboot, est également propriétaire de Minifree Ltd. Les ventes contribuent à financer le développement du projet Libreboot **NOUVELLE VERSION: La dernière version est [Libreboot 20241206](news/Libreboot20241206.md), sortie le 6 December 2024.** From 69957dc6dd7492ab154618de49617ce72c4391c0 Mon Sep 17 00:00:00 2001 From: Tim_B Date: Mon, 16 Dec 2024 11:53:59 +0100 Subject: [PATCH 040/279] Update french translation for the index page --- site/index.fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/index.fr.md b/site/index.fr.md index 376aa24..342efde 100644 --- a/site/index.fr.md +++ b/site/index.fr.md @@ -12,7 +12,7 @@ Il initialise le matériel (le contrôleur de mémoire, le CPU, les périphériq Vous pouvez également acheter du matériel avec [Libreboot pré-installé](https://minifree.org/) via l'entreprise Minifree Ltd, ou envoyer votre propre ordinateur [pour y installer Libreboot](https://minifree.org/product/installation-service/). -Leah Rowe, fondateur et principal développeur du projet Libreboot, est également propriétaire de Minifree Ltd. Les ventes contribuent à financer le développement du projet Libreboot +Leah Rowe, fondateur et principal développeur du projet Libreboot, est également propriétaire de Minifree Ltd. Les ventes contribuent à financer le développement du projet Libreboot. **NOUVELLE VERSION: La dernière version est [Libreboot 20241206](news/Libreboot20241206.md), sortie le 6 December 2024.** From 332d9fa8d339d3b8ce2a67aa2730a35f3a503f5b Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Tue, 17 Dec 2024 05:34:11 +0000 Subject: [PATCH 041/279] 20241206rev4 notes Signed-off-by: Leah Rowe --- site/news/libreboot20241206.md | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/site/news/libreboot20241206.md b/site/news/libreboot20241206.md index 647f1e7..49ff590 100644 --- a/site/news/libreboot20241206.md +++ b/site/news/libreboot20241206.md @@ -353,6 +353,17 @@ for reading, and have a wonderful day! Revisions ========= +Occasionally, stable releases such as this one may contain minor (or critical) +issues that went unnoticed during testing. When this occurs, critical or +otherwise desirable fixes are implemented, while not fundamentally altering +the substance of the original release. + +When this occurs, the ROM image and source code archives are entirely re-built, +and re-uploaded, replacing the old one. Patch files are provided alongside the +updated source archive, so that you can revert (from it) back to the older +revisions if you wish; by doing this, you can therefore also re-create the +original release archive, for reference. + Revision 1 ---------- @@ -412,3 +423,26 @@ which manifested during S3 resume, but that bug never made it into the release because it was fixed *before* the initial release of Libreboot 20241206. The ROM images were all re-uploaded, compiled from the rev3 tarball, because it was discovered that the rev2 tarballs had a GRUB built showing the old Libreboot 20241008 version number; the actual code in GRUB matched the code for 20241206, but it was a cached GRUB build from just before updating the version number for release. This is because the rev2 ROM image tarballs were done manually, to avoid a full re-build of every target in lbmk. To avoid all doubt, all ROM images have been re-compiled with the version number corrected, from the rev3 tag. + +Revision 4 +---------- + +All current ROM/src archives in this release match changes up to rev4. + +Rev4 fixed a bug: GRUB was not allowing the background image to be changed, +despite rules in `grub.cfg` that made one in CBFS load before memdisk. This fix +was implemented by no longer inserting background images into GRUB's memdisk, +instead inserting them into CBFS. + +This way, you can remove what's in CBFS and replace it with your own, if that's +what you want to do. + +To celebrate this fix, the default background logo was also changed. The old +one was a white silhouette of the Libreboot logo, whereas the new one is of +the same shape but shoes a rainbow-coloured gradient instead of all-white. This +rainbow logo was also used in U-Boot on the very initial Libreboot 20241206 +release, and it's also used for the main website logo at the time of this +revision. + +Basically, this fix was done as an excuse just to do another revision update, +to change the logo! The actual bug was actually quite minor and irrelevant. From 3da0fb028f583bde136da43c4f070f54ad0a34f5 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Tue, 17 Dec 2024 06:15:37 +0000 Subject: [PATCH 042/279] rainbow shoes Signed-off-by: Leah Rowe --- site/news/libreboot20241206.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/news/libreboot20241206.md b/site/news/libreboot20241206.md index 49ff590..f1b147b 100644 --- a/site/news/libreboot20241206.md +++ b/site/news/libreboot20241206.md @@ -439,7 +439,7 @@ what you want to do. To celebrate this fix, the default background logo was also changed. The old one was a white silhouette of the Libreboot logo, whereas the new one is of -the same shape but shoes a rainbow-coloured gradient instead of all-white. This +the same shape but shows a rainbow-coloured gradient instead of all-white. This rainbow logo was also used in U-Boot on the very initial Libreboot 20241206 release, and it's also used for the main website logo at the time of this revision. From 207c6414458b7baf2879b938bdd491b4ed66f5da Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Tue, 17 Dec 2024 12:29:27 +0000 Subject: [PATCH 043/279] Revert "make it rainbow" I actually like the rainbow logo, but I re-considered: It does look a bit *gay*, which I'm 100% supportive of, but Libreboot has many users from many different countries, not all of them accepting. If someone in such a country looks at libreboot.org, it might turn a few heads and could even get them into trouble. Libreboot doesn't need to look like a pride symbol. It just needs to provide free boot firmware. This reverts commit 7e1fa9ff12009b5d309b17a317c772dea6bae352. --- site/favicon.ico | Bin 6977 -> 2076 bytes site/global.css | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/site/favicon.ico b/site/favicon.ico index c9191b964c1cfa40cce95ff6202a6753f841b97d..212bb32e106621165baf5e5f8ac5ee4e20bea700 100644 GIT binary patch literal 2076 zcmV+%2;=vOP)lFGbIH7U;eM9rG+d2B&cuSzAY*& z+HSOk(`3p1;=fQGy1ToH5J0$WY-sd)@=RMsokL`){EHVI72Vw2jMopzfrtVuv^Q_w z)YsShc=;Hq>92FLZd|(#Pehgsur@I<5g!}3f7_mQOV)#X4+aMZ;k@x`$#S5os%kxN zL-}7z9o%!^>7ysPIk_`cq1b@DbLsp=u0+GAh{&ZdWn*s5q0|8Zj))HI;?~yIo7Zk| zD0M(seEISv5gOy;Kwn>< z#c^{^mpf=o^!E0WMe*s=r;Ln@&3YTTUK<*#8(?#hg@N4F$<~po4pZi2=eT%YT3b^~ z^{iP-N=PJ&qP(n}k~M3cot*;en93?j)|6>UtD%uY76s%$O4gK}J9U-_LPdE6C2Pu3 zl9Gual$MlIvZhQJv7w~6gh$D;Hnk!`06iWaB`Yg4iwJ?TvNEodh5n$h5@=;5r^&K0 zwL)Ku2#3~|R_>B@;@~lnS`}TLUCMu!=OS4siAB=+0B8~#|5f1}S%H255L<|dfGDc= zFC`9<<>Bn!+|*3O0#tUDzbdSAvUKG&9jxpk!y~Yd&{-hjqM@OI_ZyitOqS~36g2;* zsw1m`F%7dLCu}XO&!0Z$l9j2n)d4bg;Ht?PQrA zK8~gfmJfp+mN7Ump!9p$)l1gCt-Euwb1()(Rsr(!@>lOn>Al-`pFe+2RtL~|J$vfR zY9vefk8-gwG4R%8)c_M8s()8Gym^viu0yy-; z`?Vy=N=`~3<+hm0n>g+8ZgObsG>XD&6ZL_1;&V; zIG8T+)M4MYJ&1-Y9>tI-pcsUngYO|dWA?kTu@PsTTpgShel5j#=Csr_##TU{$VO87 z_~GLf*@O6^STY#xM(%>gQ2LXct%Z$~t%HY)8;Voqzbq)dZ#CG&cz1D+4Gs>oK~`mD zC7T3c?VzYa2*#kX*8f#Se_$-DRQ`7t`_bZ*G@NjY8X|iou9yl*I zkAIzJWo01(vP2dRge-AeAq+t&PfJOCaOXbm7f||(oCF)R=GOc*Y*SN{=KoaKQynmQ zAs$EY6qpA>I9L3WENkj^U2PqIOL2$ER`w(s_(i-?VuUcXZDx)~vL=>C_C_KT8XSVl zgb+}~h-kiEKCIEC^anYtCP-9_wj-jdyR(~Ql~Qy)aZVO5SiJlbN0B97)a&W)KC<@^n@sKA zyc02m{~6%3;5}w8YGZ>eoFXQoqr9vPp@97cI7R}J5|hy1MdgT2gdR_e)$R^rEfEC> zlsJux9w+B+z_mJIfyFGmz=r0Mm8k_suM5U-%e>ltM@I+Z3)lfLlZOG$=*TF>m1x`| zOZiXoBO@aWruzH(jaBuhg0z(C{_T5@A2_-}%ZNuWqP}_c24fGxA7Rpr-r7BnH8nOe zR1|0?^osNOT{}arDkvzJe^{E5h3*jH0}eyZuToO7E}T8jUo@b70$)DQ-=t(I{89?t zB>oa~!TOGpm6?%Az5#>1O@?{c}~|g!lwSoKT=-@o&Ak1r6j^oO)pP)F@ePt!;!4*onAk1CkK)UsAHv z|E<*C-i{niZ za}`!q)v&4>R#n5Qsv1^R!>YzbTgXJ35)>Qi@ zE8uxvYOlv7y%?gUZn1_{ot;ujUYV}OEc=Krxz8OQb+0Bwi#4q3Y^_f>^re?2U-lCh z`kM{=YFOt+4Qs}{Px*$w`#FjxG#0ys8dkNnu$DdF2Ykvu{X!5ewDZ$8wp|UY+EQ50 z_CoLX$wOzXD4J{LCWEFM)Uc{8g|+C}KI%*U;TMX0(o11c5QG|5b*iu$jnDbMEBx0U zkDYM1VRgDDmn;aD28$=mtAR+MMe$yr@+{ABoJ8qe*SpKjX3Tr3S04KRpgTYi4&8s9QVpvbrEwXjaezP%7g?7GmrfOJKQ5?9}068dkM7UGGy#?ULvDkk7c+ z?e26PLJjNeRekQQ_Zu3WPx-o`p^N=l5G{5Kr3p=_VV$)a*5=b;tMzZcktJ(id+1$KDU zZLXE{vfji<5CqYtHneHBosCV1p@vl*JxFSt#-P#qgsrHG5f&+m~yV!Oigc{cWs#KC;Ka@*R6o(s__X%GS zMQ5wmyWNc*aknfvTntgbfzVPL+eQs*`x~c&uSqOQaF`$eZx@%b5z%);d(zxW3 z0~A@2gb;NWEPK9}mseT#Y;)#4)rN+yb&)lDwrN;(U3;G7NkDKMMfL?h6a-I|H7hRl z4@Cy^?Ofl*uHB|#Rees=aT;|6sU#3IKIeOa;;E1%=lhf17|b)~ zdy8ByfTA4b5Qli0HO`_00Gv3T%Q^yVBe3cy0ClN#g$R{Xf6f8wD$Bf$*O1dA3T>LEx5hXC zXWS%AHCWqAYx%kcf*5IX%feS7m_Nxw9OnRIS+R6n+Z!FUiC7qE&@mc6p)L^@ou_nXPok}8&u{9ma`8rJUR#=~^l&$(LY=nzmIK%7t`*)t2*I?CPwU$1L z#rY2&S1YWK08KOUW52Z=4spN!8-i#&;8yC2RrkCHT`$%JVBxawr)ih4K6)$XOR6T` zN7%Fq*kS)5`}M8$8KhO!n<>_dE=Y@oD}NX#%@I7+s#Rj*bQob92d2KjX<&c(dX9yM zYp^C%_hlK$uAp<}ci9Qpgbm2 z;d1eL`klby+59z}^bb&jMXlwZNCJv9CVy20D^{{&!#8uRd_6T-wW>!H ziN)Re^B8rQP{u1lG_F!9AgxS=@qVRvoP)!^t--1lRfIx&WnXAsg}v#8NB|Rj6|DH1 zYMzy@%zJvpK@RkPzm6NKs{Iu^KLm62S0mmdu?mggl8}Hh(YU8+G2N3F$2idab*KZ< zT16=7l|9e`Zhkq;--7WGrdYB3u|k0v{|+TZahzw@ez^uKscw^@b1U5PLJ)(f zCswTlRD!GGt1AAh$d7S&^%tnYimJVp=5XEj!mjsYtO!?xDUO~oUfg}kf5`jXJfge3{el!hMqKHtObEARLbN=?@e{8C{Dlct?W?*P)C)R*>wg4xz9-YAv2uAo;kTl3Pk>3e z#))Gu0SXqf1vOH~4Hw|?MGBXE4qW!xfb!f@Bt;LHDrC5^srLg;9{FL=AsyS!Gn+MP zur7#7wMI|{fIaUI*L(wLgPEiO2@xpqX)2WJYaUJ?{9e!j4bv#vu9a-Ql{g1Z{)1Ah?;~8k=_$iph*iJ)3cg3I_KRx+P^7ci zr^zccE!=(u?7kT0c7v~0qy$&0Sd-5hfG}0n05wGs`7*^5-wc}9VEr#{Ru~^7%fJtP z&|uk!6bSLc06Pp^(tw?9SX_Xm9Yj!?lkkKHO?uX1@*i&|0HbEkxELJ8KmM&isKMHN zfxcZ{gD4@s1qSi-q=Xp>v60;W|Uv zF!T$d7lc7B3`(KMg%CJ@sfEx;P*tYGc%Pn4_giVYY(tnm<01^;t)Bv9Wa6}wb)*Js zgFto5-e?@Fy%R3JR(O{W6!u(U7zF66&@F`ZB96TRdZSV3=R#fzMX^b61qYg@L^M^b zi3(PE-eUTSu|XUy&#CTH@aVSy!eV0qL8!qxHxoYcO=F-$VAo~vgfx;)51Qe`GMCL!gEiZM8NOfktk(d*(nauH-wD@W z2O^AxD)h@#vEmd+rGllZ6@eR9twA9S3!yB8^Or=ZqTh-Tk-$nQq+gH%WE)7kfv=4AlnYCB9z)IdjQfe;0wPTKH+1a)tVMHKrdFV z1k>oAam8Z2WK^lfQ)I6o!c_|Srom-Ma5W-4Q%!w!TFCYzMGnrCKl6Ex@pV7rhehyp89bu7X0WNRoV38i^N`>eb6*wHu5) zm%*2uztn(c$zxRveH^F5RfTC1um%8xA-wg&fL+g>=xQ86i4xKvj58U;3oB*K+qh`3VBBV2K% z7%P`zhtiUrvS41mKk(^r}m&8_^@kZDPR`s}~RJkI2qw#eAjhxE=Z7YHm zztyL}-R}n9_lIcl32k!&#wL&Lw{teg0+UC+;9uL=-WUVfFr?WIA`DNx zzZtH(2EO3apg9NF4Z@W&t_V<^8tGM1dJ`dw85c3@f_{Q)GXvBFgOB56)Nn3Mf|D87 zbO~sQtlS6d&%oM!Xz$IK_T98D|3+*w^p&ac^w~dRFuV^yml}&(Z&j$E-J%=DU7Z@> zrT5099ha_+z*Wt-((g1iR*ikET2x|)vfShVHLVKcSnYtA-Y0)fO@aoBQ?T|Jth@zI z{{d(lqy=N?DOxxGF(&9l)$)UkI8(jUi1qX7KXf(O$<;Q6}To$y-qXp&lgEF0AO$kdI#b7 zpTgRIfY}WQFe$U|vv7Mp8WUH8m8!LT^r!K~(+DOkHs%e$Rs~B}^EDBHmwYE&cQpwr zSG_g@SD6A-Vr8Og=BEUxgUt?5Q^r;CT$5AZEO51<2+&`HwP)ez??T+Db)i#?5)3nm`>Ge`I2J!pBbF_L%^i(9d1>yR!7w;$owMw(hq@cOhA?HEg&1u zxVlqJeSB8UxcXJNHn~YKc`eEeRy;g#0Mx*(cR_OpnE41**#K{$ba7le4ToO?EBgTj zs>+PRiPMH{2vq;_0&vAwVfK6|;;V*D0&WUe z=bv$f2!N?kQDja#}o( zj0<|PLQQ5}>58kw%??llFbMG09FCMQR7ijzA_NUgSNd~KTr}1QGUM9~uKp(2^C5te zGOhwW`B(U3zYQ>T3fyXOgYT6+yR-;D@paIdo9eG7pIOdX8sUo7sZy~jiT&t)98p9w zzu_jq1k)2a94+Crf>uG9&*tM9R}lmNNC+E9=!hhgW_-aPx5Jrvxa;S^&Q$}{{$avn z-v*jjx>C0^SS$G&pxksdyzmPqVVYPOx=jmEE2e#IO6BUMk$yoXou4WN3WaA2I8(y0 z0B02p6}4@fw-wGYXRn4YHA`Zi+MZ zf2$oS1Puna5AOU4FfEb-JpH3^_TPw8;9PLVnk^5O51#e1i!ty^Uj+;E6Y$Jlxnwf} z)CAPoH8^%mIDJN0??P`)>77yXWeBUFJw;7MU1p^N^-3tr%z*vKW@Zjfw?7|={Bww{1z)Ihh`KUYL%ienipk{hD9j0L(Vfy1g zgMax8m_&g%9Ym1IrfoR3q|*PkEZzY(e-~&Q)Izxe4}KN+US$QiZNT#CM`v{gg_nOC zT(=vL4NilTS4F)ZyzY(go4*e0r$Mzkbs2=Ym@;o^={tl06T-kC> zCkWdBD0*cduO3BVtbOkWH++7qR;9utKML!Q0?@WC8n&@LHmoX2ujmJ_-Y5#d_kS$h zbs1HeSyzVB{nk+7Wj_k{y#_=8z>3k1nigzwkfoJyBVg}1y_>ot^vyTB1 zjd#bjjS&OD_WC$M6wbjlx4~t10&`#%AvD1|c=V6q)cq5&!j=Q8SN14_S4D-YP=QZ> zH~7e#U}uNtmOXcWb?_9t_^05+AplaN+BW*;VZZFB|81>-d+vhWmxGz7dYVlJkNpE2 zy>9}ltp!&4AW=%UOSp0me9WzI=cRDTBD5Qz%50k5$n)?s@UowW?h0dbT4u&Mwuy#5 z_X9t$00iK!OW~@kB2d+BWf7_;-U!dWZTuH(m+yw9 zRs>1eh@RiDi-R{k6`=}&aofkJm1J8&wJU>nzZ@2JfNxB8p$>q@AAmzo093wQu_eJ8 zlmmt#=kgu!>W=~%Kn7wtKgo0xuMYn6QTWl{0+BIP3m6f$ixds3`I-UXng+bvJ}?ve z6ytbo8Q$_{@L>#<@3^)F*s@@C%bu2@lux`7KIcx5jCeHwvx#tJaV!M>{4MZ1e-8kH zj9yL1HiD|sq-TLo-2tvyJ=LbjV5NjNKM8BYDW}G4S+HW-tH9UX1s`}7NV5tT!ud%O zRQ&+2`dfJ06X})9T-Gsyu+22uXc7nlz;zBf4mufR4LDiA(`!&_C8wKn9dE=~V0(a- zE8P1YaO>U#)TY8^;6xw3>yKb{9RM08qwU&kOGSTG4*b9|RSBrJZKnX{XKSUk)F6 zX#z+Z5hyCZXM?No@E`vLZ#)36e;S+t0E6-K*_;&-wzX=oqQ45j_g)LP?f^+J#cCBt ze*F>n%O~K*eefPv!BPhfmiJTaS5#PRQLxc;4hAX#9g*AXQ@?#HOtoRZ)m}tt;vYt zpobsa4?$x(KA+7QYSm!PQmy8I7d4@ifuxI71K)ob)&i+L`%xcwORhrJO1HJ{YB;6I_ZZQrn&C8<^o7L=n()wKW(;Cq0JdFR>>{4#K|hHAQMu&OVU1Mos% zFI5R}2KZ;-FMw8R6DF&tzZ$G5yKA%vg$!e*;s!v7DuJhf2O>~(h%$(_Mn>HUwQ8`Y z^s7^9$(6uo0y(fBcocYBgb72G0xi=V^`A3cwQ8`SU-m;D3d3|^!~`qWbY|LZT&o5v zO^2Zjr6?+bjQge#5sfe*Y*e-C97}70Hm(}1TD5AhYSm!Xs==yNs|Ksq|7ZO-YhUV! TXMfH~00000NkvXXu0mjfoz66C diff --git a/site/global.css b/site/global.css index 41d0414..e80c1af 100644 --- a/site/global.css +++ b/site/global.css @@ -89,7 +89,7 @@ html, ul, #TOC div.title,h1.title { background:url("/favicon.ico") no-repeat; background-size:auto 99%; - min-height:3em + min-height:2em } div.title {background-position:right} h1.title {padding:0 4em} From 63db2df0febcca7bf4a2e8187cb9ee0673418253 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Tue, 17 Dec 2024 14:37:36 +0000 Subject: [PATCH 044/279] t480 update notes (ec uart) Signed-off-by: Leah Rowe --- site/docs/install/t480.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/site/docs/install/t480.md b/site/docs/install/t480.md index 1a0e96a..360e3c5 100644 --- a/site/docs/install/t480.md +++ b/site/docs/install/t480.md @@ -234,6 +234,15 @@ write protections](../linux/grub_hardening.md) on an existing Libreboot setup. You must also make a dump of the NOR flash, before updating Lenovo's firmware, and once again before flashing Libreboot, being sure you have good dumps.** +**T480: Make sure to use the `n24ur39w` release, when updating Lenovo firmware. +Or downgrade to this version. This is because the EC UART support in coreboot +specifically taps into the EC code of that release. See:\ +\ +and it can be downloaded here:\ +\ +NOTE: T480s (S model) doesn't have EC UART support yet, so it doesn't matter +yet which version you update to on the S model.** + Please ensure also that you've already dealt with the Thunderbolt issue, which is described above. From 52da2a4d01a3105c43b817d09290ea95f56e452e Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Tue, 17 Dec 2024 18:40:57 +0000 Subject: [PATCH 045/279] rev5/6 20241206 notes Signed-off-by: Leah Rowe --- site/news/libreboot20241206.md | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/site/news/libreboot20241206.md b/site/news/libreboot20241206.md index f1b147b..b9d6958 100644 --- a/site/news/libreboot20241206.md +++ b/site/news/libreboot20241206.md @@ -427,8 +427,6 @@ The ROM images were all re-uploaded, compiled from the rev3 tarball, because it Revision 4 ---------- -All current ROM/src archives in this release match changes up to rev4. - Rev4 fixed a bug: GRUB was not allowing the background image to be changed, despite rules in `grub.cfg` that made one in CBFS load before memdisk. This fix was implemented by no longer inserting background images into GRUB's memdisk, @@ -446,3 +444,22 @@ revision. Basically, this fix was done as an excuse just to do another revision update, to change the logo! The actual bug was actually quite minor and irrelevant. + +Revision 5 and 6 +---------------- + +All current ROM/src archives in this release match changes up to rev6. + +I decided afterall to keep using the boring all-grey silhouette logo in GRUB. +I also made the same decision for U-Boot. + +The plain logo is less eye catching and looks less out of place, and it's +uncontroversial in every way. This revision still contains the fix allowing +GRUB backgrounds to be changed. Rev5 made this change to GRUB and Rev6 made +it to U-Boot. All ROM images were re-compiled to rev6, and re-uploaded. + +A minor change, to be sure. I need Libreboot to be as trouble-free as possible +to everyone, and some countries are culturally hostile to the particular +colour gradient used by the old logo (from rev4); even if I preferred that +logo, I want those users to have no trouble at all using Libreboot in public. +Libreboot's only purpose is to provide free boot firmware. From 4aea280c60a82cd95c9a822913110505d30354b3 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Tue, 17 Dec 2024 18:55:49 +0000 Subject: [PATCH 046/279] remove one of the u-boot photos just show the qemu screenshot Signed-off-by: Leah Rowe --- site/docs/uboot/uboot-x86.md | 4 +--- site/news/libreboot20241206.md | 4 +--- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/site/docs/uboot/uboot-x86.md b/site/docs/uboot/uboot-x86.md index 2021b94..bb0f637 100644 --- a/site/docs/uboot/uboot-x86.md +++ b/site/docs/uboot/uboot-x86.md @@ -6,7 +6,7 @@ x-toc-enable: true Introduction ============ - + U-Boot is available as a coreboot payload, in Libreboot 20241206 and later, on x86 boards; on ARM it has been available since late 2022 Libreboot releases. @@ -28,8 +28,6 @@ reliably boot many Linux and BSD systems. Availability ------------ - - Do this in lbmk.git (Libreboot's build system) to check whether your board has U-Boot enabled: diff --git a/site/news/libreboot20241206.md b/site/news/libreboot20241206.md index b9d6958..8b39856 100644 --- a/site/news/libreboot20241206.md +++ b/site/news/libreboot20241206.md @@ -31,7 +31,7 @@ system; on ARM(chromebooks), we provide *U-Boot* (as a coreboot payload). U-Boot UEFI payload on x86\_64 ------------------------------ - + For Libreboot 20241206, today's release, U-Boot is *also* provided as an optional coreboot payload on x86 machines. This provides a sensible UEFI @@ -54,8 +54,6 @@ Summarised list of changes Board support ------------- - - The following boards have been added since the Libreboot 20241008 release: * **[Lenovo ThinkPad T480](../docs/install/t480.md)** support, implemented by From 2a4b7d594316706ccae39f2e52a4f3aa926b659e Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Tue, 17 Dec 2024 19:39:05 +0000 Subject: [PATCH 047/279] move 20241206 rev notes to own page this release is pretty crazy. a lot more revisions are planned for the 6 december release. move the revnotes to a dedicated page, in anticipation of many more revisions (in my head there are about 30 additional changes planned). Signed-off-by: Leah Rowe --- site/news/libreboot20241206.Revisions.md | 119 +++++++++++++++++++++++ site/news/libreboot20241206.md | 118 +++------------------- 2 files changed, 130 insertions(+), 107 deletions(-) create mode 100644 site/news/libreboot20241206.Revisions.md diff --git a/site/news/libreboot20241206.Revisions.md b/site/news/libreboot20241206.Revisions.md new file mode 100644 index 0000000..87d02c9 --- /dev/null +++ b/site/news/libreboot20241206.Revisions.md @@ -0,0 +1,119 @@ +--- +title: Libreboot 20241206 release revisions +x-toc-enable: true +... + +This article concerns Libreboot 20241206. For general information about that +release, please read +the [Libreboot 20241206 release announcement](libreboot20241206.md). + +Occasionally, stable releases such as this one may contain minor (or critical) +issues that went unnoticed during testing. When this occurs, critical or +otherwise desirable fixes are implemented, while not fundamentally altering +the substance of the original release. + +When this occurs, the ROM image and source code archives are entirely re-built, +and re-uploaded, replacing the old one. Patch files are provided alongside the +updated source archive, so that you can revert (from it) back to the older +revisions if you wish; by doing this, you can therefore also re-create the +original release archive, for reference. + +Revision 1 (8 December 2024) +---------- + +A bug was found whereby `seabios_` images are created twice, This was fixed in +the revision `e3b77b132e6b5981c09bc1ce282afaae64058ab3`. This bug caused vendor +file insertion to fail on release images, because the `vendorhashes` file would +list the file twice, but one of the hashes would be wrong. + +This is because the build system wrongly created U-Boot-only images first with +that name, because the `add_uboot` function in `rom.sh` unconditionally created +images with U-Boot in them; the function also creates ARM64 images, where U-Boot +is the primary payload. + +On x86 machines, SeaBIOS should be the main payload, chainloading U-Boot. + +The build system would then create the actual `seabios_` image, replacing the +other one, on x86 machines. + +So, the command to create the first image was removed. However, just before +uploading `rev1` images, it was discovered that this would cause no U-Boot +images to be built for ARM64 devices, which lead to Revision 2: + +Revision 2 (8 December 2024) +---------- + +See commit ID `b910424b5df8ed7c931a7b8f5cc8e34eacf0ca3e`. + +Revision 1 was reverted, and replaced with the following logic instead: + +In `add_uboot`, the instruction to create a ROM image was changed so that it +only creates one where U-Boot is the primary payload (which is the case for +ARM64). + +The source archive is now `20241206rev2` instead of `20241206`, and the same +is true of affected images on x86, where `vcfg` is set in `target.cfg`. + +Revision 3 (11 December 2024) +---------- + +See commit ID `3b6b283eabe7a655c861d1543aeae49d27566f53` and the two commits +before that. + +This revision disables PCI-E Re-plug (hotplug feature) for the NVMe SSD on +Dell OptiPlex 3050 Micro, to prevent the device from being renamed randomly; +such renaming will cause a system crash if booting Linux from the NVMe. + +In my case, I was running RAID1 (SATA+NVMe) and every few days, the RAID1 got +unsynced; I simply re-synced and it was fine, but what if that was a RAID0? It +would possibly corrupt the entire array. + +This revision should prevent the issue from occuring. Without this patch, +the `nvme0n1` device (as an example) might randomly rename to `nvme0n2`, because +Linux would see it as a new device. + +This same fix was made to the ThinkPad T480/T480s to fix the same issue there, +which manifested during S3 resume, but that bug never made it into the release +because it was fixed *before* the initial release of Libreboot 20241206. + +The ROM images were all re-uploaded, compiled from the rev3 tarball, because it was discovered that the rev2 tarballs had a GRUB built showing the old Libreboot 20241008 version number; the actual code in GRUB matched the code for 20241206, but it was a cached GRUB build from just before updating the version number for release. This is because the rev2 ROM image tarballs were done manually, to avoid a full re-build of every target in lbmk. To avoid all doubt, all ROM images have been re-compiled with the version number corrected, from the rev3 tag. + +Revision 4 (17 December 2024) +---------- + +Rev4 fixed a bug: GRUB was not allowing the background image to be changed, +despite rules in `grub.cfg` that made one in CBFS load before memdisk. This fix +was implemented by no longer inserting background images into GRUB's memdisk, +instead inserting them into CBFS. + +This way, you can remove what's in CBFS and replace it with your own, if that's +what you want to do. + +To celebrate this fix, the default background logo was also changed. The old +one was a white silhouette of the Libreboot logo, whereas the new one is of +the same shape but shows a rainbow-coloured gradient instead of all-white. This +rainbow logo was also used in U-Boot on the very initial Libreboot 20241206 +release, and it's also used for the main website logo at the time of this +revision. + +Basically, this fix was done as an excuse just to do another revision update, +to change the logo! The actual bug was actually quite minor and irrelevant. + +Revision 5 and 6 (17 December 2024) +---------------- + +All current ROM/src archives in this release match changes up to rev6. + +I decided afterall to keep using the boring all-grey silhouette logo in GRUB. +I also made the same decision for U-Boot. + +The plain logo is less eye catching and looks less out of place, and it's +uncontroversial in every way. This revision still contains the fix allowing +GRUB backgrounds to be changed. Rev5 made this change to GRUB and Rev6 made +it to U-Boot. All ROM images were re-compiled to rev6, and re-uploaded. + +A minor change, to be sure. I need Libreboot to be as trouble-free as possible +to everyone, and some countries are culturally hostile to the particular +colour gradient used by the old logo (from rev4); even if I preferred that +logo, I want those users to have no trouble at all using Libreboot in public. +Libreboot's only purpose is to provide free boot firmware. diff --git a/site/news/libreboot20241206.md b/site/news/libreboot20241206.md index 8b39856..49543f4 100644 --- a/site/news/libreboot20241206.md +++ b/site/news/libreboot20241206.md @@ -351,113 +351,17 @@ for reading, and have a wonderful day! Revisions ========= -Occasionally, stable releases such as this one may contain minor (or critical) -issues that went unnoticed during testing. When this occurs, critical or -otherwise desirable fixes are implemented, while not fundamentally altering -the substance of the original release. +Several revisions have been made to this release, since the original release. +With stable releases, it's normal to make such revisions, when critical bugs +are discovered, or desirable changes are otherwise identified. -When this occurs, the ROM image and source code archives are entirely re-built, -and re-uploaded, replacing the old one. Patch files are provided alongside the -updated source archive, so that you can revert (from it) back to the older -revisions if you wish; by doing this, you can therefore also re-create the -original release archive, for reference. +When these changes are made, the release is re-compiled, with the newly amended +binaries and sources re-uploaded, replacing what was there before. Individual +patch files are also provided, so that you can (using them as reference) revert +the source archive back to previous revisions. -Revision 1 ----------- +Please see: [Libreboot 20241206 release revisions](libreboot20241206.Revisions.md) -A bug was found whereby `seabios_` images are created twice, This was fixed in -the revision `e3b77b132e6b5981c09bc1ce282afaae64058ab3`. This bug caused vendor -file insertion to fail on release images, because the `vendorhashes` file would -list the file twice, but one of the hashes would be wrong. - -This is because the build system wrongly created U-Boot-only images first with -that name, because the `add_uboot` function in `rom.sh` unconditionally created -images with U-Boot in them; the function also creates ARM64 images, where U-Boot -is the primary payload. - -On x86 machines, SeaBIOS should be the main payload, chainloading U-Boot. - -The build system would then create the actual `seabios_` image, replacing the -other one, on x86 machines. - -So, the command to create the first image was removed. However, just before -uploading `rev1` images, it was discovered that this would cause no U-Boot -images to be built for ARM64 devices, which lead to Revision 2: - -Revision 2 ----------- - -See commit ID `b910424b5df8ed7c931a7b8f5cc8e34eacf0ca3e`. - -Revision 1 was reverted, and replaced with the following logic instead: - -In `add_uboot`, the instruction to create a ROM image was changed so that it -only creates one where U-Boot is the primary payload (which is the case for -ARM64). - -The source archive is now `20241206rev2` instead of `20241206`, and the same -is true of affected images on x86, where `vcfg` is set in `target.cfg`. - -Revision 3 ----------- - -See commit ID `3b6b283eabe7a655c861d1543aeae49d27566f53` and the two commits -before that. - -This revision disables PCI-E Re-plug (hotplug feature) for the NVMe SSD on -Dell OptiPlex 3050 Micro, to prevent the device from being renamed randomly; -such renaming will cause a system crash if booting Linux from the NVMe. - -In my case, I was running RAID1 (SATA+NVMe) and every few days, the RAID1 got -unsynced; I simply re-synced and it was fine, but what if that was a RAID0? It -would possibly corrupt the entire array. - -This revision should prevent the issue from occuring. Without this patch, -the `nvme0n1` device (as an example) might randomly rename to `nvme0n2`, because -Linux would see it as a new device. - -This same fix was made to the ThinkPad T480/T480s to fix the same issue there, -which manifested during S3 resume, but that bug never made it into the release -because it was fixed *before* the initial release of Libreboot 20241206. - -The ROM images were all re-uploaded, compiled from the rev3 tarball, because it was discovered that the rev2 tarballs had a GRUB built showing the old Libreboot 20241008 version number; the actual code in GRUB matched the code for 20241206, but it was a cached GRUB build from just before updating the version number for release. This is because the rev2 ROM image tarballs were done manually, to avoid a full re-build of every target in lbmk. To avoid all doubt, all ROM images have been re-compiled with the version number corrected, from the rev3 tag. - -Revision 4 ----------- - -Rev4 fixed a bug: GRUB was not allowing the background image to be changed, -despite rules in `grub.cfg` that made one in CBFS load before memdisk. This fix -was implemented by no longer inserting background images into GRUB's memdisk, -instead inserting them into CBFS. - -This way, you can remove what's in CBFS and replace it with your own, if that's -what you want to do. - -To celebrate this fix, the default background logo was also changed. The old -one was a white silhouette of the Libreboot logo, whereas the new one is of -the same shape but shows a rainbow-coloured gradient instead of all-white. This -rainbow logo was also used in U-Boot on the very initial Libreboot 20241206 -release, and it's also used for the main website logo at the time of this -revision. - -Basically, this fix was done as an excuse just to do another revision update, -to change the logo! The actual bug was actually quite minor and irrelevant. - -Revision 5 and 6 ----------------- - -All current ROM/src archives in this release match changes up to rev6. - -I decided afterall to keep using the boring all-grey silhouette logo in GRUB. -I also made the same decision for U-Boot. - -The plain logo is less eye catching and looks less out of place, and it's -uncontroversial in every way. This revision still contains the fix allowing -GRUB backgrounds to be changed. Rev5 made this change to GRUB and Rev6 made -it to U-Boot. All ROM images were re-compiled to rev6, and re-uploaded. - -A minor change, to be sure. I need Libreboot to be as trouble-free as possible -to everyone, and some countries are culturally hostile to the particular -colour gradient used by the old logo (from rev4); even if I preferred that -logo, I want those users to have no trouble at all using Libreboot in public. -Libreboot's only purpose is to provide free boot firmware. +Many revisions are planned in the run-up to next year's stable release ETA Summer +of 2025. In particular, there is much work that still needs to be done on the +U-Boot payloads (x86 and ARM64). From ca4a6756e3e0961255814b948ef888648761d000 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Tue, 17 Dec 2024 20:00:19 +0000 Subject: [PATCH 048/279] clean up an errant reference Signed-off-by: Leah Rowe --- site/news/libreboot20241206.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/news/libreboot20241206.md b/site/news/libreboot20241206.md index 49543f4..f7bbb37 100644 --- a/site/news/libreboot20241206.md +++ b/site/news/libreboot20241206.md @@ -40,7 +40,7 @@ information available on the [U-Boot x86 page](../docs/uboot/uboot-x86.md). This means that you can have a UEFI boot environment, even on machines where the original vendor firmware never supported it. For example, the ThinkPad X200 -in the photo is running U-Boot, and booting a distro via U-Boot's UEFI +runs U-Boot virtually bug-free, and it can boot Linux distros via U-Boot's UEFI implementation; that machine could not originally do UEFI. This page lists all changes made since the *Libreboot 20241008* release. Since From 3ed4b4f6b3523054c8a27a7b3d6208cc7b8a6d27 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Tue, 17 Dec 2024 20:02:21 +0000 Subject: [PATCH 049/279] context Signed-off-by: Leah Rowe --- site/news/libreboot20241206.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/site/news/libreboot20241206.md b/site/news/libreboot20241206.md index f7bbb37..e7fa259 100644 --- a/site/news/libreboot20241206.md +++ b/site/news/libreboot20241206.md @@ -44,9 +44,9 @@ runs U-Boot virtually bug-free, and it can boot Linux distros via U-Boot's UEFI implementation; that machine could not originally do UEFI. This page lists all changes made since the *Libreboot 20241008* release. Since -it's a stable release, there has been a more conservative focus on fixing bugs -and in general polishing, though several interesting features have been added, -in addition to numerous new mainboards. +Libreboot 20241206 is a stable release, there has been a more conservative focus +on fixing bugs and in general polishing, though several interesting features +have been added, in addition to numerous new mainboards. Summarised list of changes ========================== From 8576804b30485e1c1ca71b5562a366dd721f812e Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Wed, 18 Dec 2024 05:40:30 +0000 Subject: [PATCH 050/279] t480 tb notes, plus notes about touchscreen Signed-off-by: Leah Rowe --- site/docs/install/t480.md | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/site/docs/install/t480.md b/site/docs/install/t480.md index 360e3c5..a2c1fe7 100644 --- a/site/docs/install/t480.md +++ b/site/docs/install/t480.md @@ -195,7 +195,20 @@ NOR flash is on a T480: This page shows how to do that: - +\ +**WARNING! Please follow the guide PRECISELY, if you follow it, but please +only follow it if your ThunderBolt is already broken. If it isn't, use +Lenovo's software-based updater. If you do the external method, you MUST be +very careful; the guide there for example says to disable ThunderBolt assist. +It also says to erase first, then flash the `null.bin` (file with zeroes in +it), then BOOT, and when it boots, power off and re-connect clip again and +then flash the padded TBT.bin - whereas, for example, if you simply flashed +a padded TBT.bin and nothing else first, and boot, it will be perma-bricked, +in that the CPU won't come out of reset (it'll bootloop). We don't yet know +how to recover from this brick scenario. So all of this is to say: flashing +the ThunderBolt externally is EXTREMELY HAZARDOUS, and should be done with +the UTMOST CARE, ideally NOT AT ALL. -- ALSO: the guide only covers T480, +but should be similar on T480s and other ThinkPad models.** You unbrick the Thunderbolt controller by pulling the firmware from Lenovo's update, from Lenovo's update utility. Once extracted, you then pad it properly @@ -209,6 +222,13 @@ flash IC. AGAIN: This is not the Libreboot flash IC. This is separate to the system flash. Read on to know how to reprogram the main system flash! +**AGAIN: It is extremely easy to permanently brick the ThunderBolt controller, +rendering your system completely unbootable, if you use the external recovery +method. If you're still able to fix it with a software-based flasher like the +one Lenovo provides, please use that at all - or simply don't fix it at all, +because the machine will at least still charge while it has the ThunderBolt +issue, where older firmware is used.** + Flash a ROM image (software) ----------------------- @@ -385,8 +405,7 @@ The PCH's NFC device is unsupported in Linux anyway. Touchscreen on T480 ------------------- -Some T480 machines have touchscreens. These are untested; the touch functionality -probably doesn't work yet, in Libreboot. +The touchscreen was tested, and confirmed working. Not all models have it. The digitizer is simply a USB device, which *is* enabled, but it's just untested. From 71cc1104e0311d3869bf6182a34720aabb118b0d Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Wed, 18 Dec 2024 05:45:29 +0000 Subject: [PATCH 051/279] stragglers Signed-off-by: Leah Rowe --- site/docs/install/t480.md | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/site/docs/install/t480.md b/site/docs/install/t480.md index a2c1fe7..81245f1 100644 --- a/site/docs/install/t480.md +++ b/site/docs/install/t480.md @@ -327,6 +327,12 @@ You can get audio from Displayport/HDMI, but you must select it manually. For example, you can select it in `pavucontrol` if you're using PulseAudio or PipeWire. +Touchscreen on T480 +------------------- + +The touchscreen was tested, and confirmed working. Not all models have it, +but it does indeed work perfectly on ones that do. + How to use backlight controls ----------------------------- @@ -402,13 +408,6 @@ probably dosen't work in current Libreboot releases. The PCH's NFC device is unsupported in Linux anyway. -Touchscreen on T480 -------------------- - -The touchscreen was tested, and confirmed working. Not all models have it. - -The digitizer is simply a USB device, which *is* enabled, but it's just untested. - Smartcard reader ---------------- From 777ea30c5968796901f6993a64cb017d5928b970 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Wed, 18 Dec 2024 05:50:01 +0000 Subject: [PATCH 052/279] correction we don't know either way. remove this note. Signed-off-by: Leah Rowe --- site/docs/install/t480.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/site/docs/install/t480.md b/site/docs/install/t480.md index 81245f1..5ed2250 100644 --- a/site/docs/install/t480.md +++ b/site/docs/install/t480.md @@ -429,8 +429,7 @@ as a DisplayPort). Thunderbolt, but be warned: it is completely untested, as of Libreboot 20241206. This patch is *NOT* included in the release, because it breaks on S3 resume, and may cause a kernel panic. Also: currently testing only reveals that the -ThunderBolt controller shows up, and it was confirmed that USB devices do -work on the port, but everything else is UNTESTED. +ThunderBolt controller shows up. You also need the [gerrit patch](https://review.coreboot.org/c/coreboot/+/75286) adding a Thunderbolt driver to coreboot. From 4811a7683e1f111ca2d2611915b082bd1fe9f080 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Wed, 18 Dec 2024 06:16:24 +0000 Subject: [PATCH 053/279] note about prepping t480 usb bios updater Signed-off-by: Leah Rowe --- site/docs/install/t480.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/site/docs/install/t480.md b/site/docs/install/t480.md index 5ed2250..f0cb737 100644 --- a/site/docs/install/t480.md +++ b/site/docs/install/t480.md @@ -263,8 +263,22 @@ and it can be downloaded here:\ NOTE: T480s (S model) doesn't have EC UART support yet, so it doesn't matter yet which version you update to on the S model.** +Prep a USB stick with it: + + geteltorito -o t480_bios_update.img /path/to/your/downloaded.iso + +Now DD it to the raw USB flash device: + + dd if=t480_bios_update.img of=/dev/sdX bs=4M conv=fsync status=progress + +You must disable SecureBoot, and enable legacy/CSM boot, and boot it in BIOS +mode, not UEFI mode. Make sure your battery is well-charged, and boot it with +a battery and with the power supply plugged in. Select *option 2* in the menu, +to update your BIOS, which also updates the EC firmware. This is the Lenovo +BIOS/UEFI updater. Once you've updated, you can flash Libreboot. + Please ensure also that you've already dealt with the Thunderbolt issue, which -is described above. +is described above. After all of this, you can flash Libreboot. Find videos online of how to disassemble this, and/or find Lenovo's own service manual online. Otherwise, observe: From 8e3508c31340feac8bb7d5afed83542dd482f518 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Fri, 20 Dec 2024 16:27:35 +0000 Subject: [PATCH 054/279] make libreboot.org text bigger on high dpi screens, the text looks far too small add a section for higher screen resolution, increasing the font size, and increase it for existing widths this makes the site much more readable on my 27" 1440p monitor. Signed-off-by: Leah Rowe --- site/global.css | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/site/global.css b/site/global.css index e80c1af..5cd4935 100644 --- a/site/global.css +++ b/site/global.css @@ -18,14 +18,21 @@ { html { - font-size: 0.95em; + font-size: 1.05em; } } @media (min-width:90em) { html { - font-size: 1.05em; + font-size: 1.15em; + } +} +@media (min-width:110em) +{ + html + { + font-size: 1.25em; } } From 40b8dec8531542141dface7e8b277415cd2a74de Mon Sep 17 00:00:00 2001 From: awwpotato Date: Sat, 21 Dec 2024 12:30:30 -0800 Subject: [PATCH 055/279] t480 wwan nvme works --- site/docs/install/t480.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/site/docs/install/t480.md b/site/docs/install/t480.md index f0cb737..2348e62 100644 --- a/site/docs/install/t480.md +++ b/site/docs/install/t480.md @@ -112,10 +112,10 @@ What works in this port: ----------------------- Intel graphics, internal screen, ethernet, USB, WLAN, HDA verbs (e.g. headphone -jack), S3 suspend/resume, M2 NVMe SSDs and SATA, **all works perfectly**. -External video outputs and webcam also work. Microphone works, line-out works... -everything works. UART also available via line-out jack (jumpers required on -the mainboard). +jack), S3 suspend/resume, M2 NVMe SSDs and SATA, NVMe sdd in WWAN slot, **all +works perfectly**. External video outputs and webcam also work. Microphone works, +line-out works... everything works. UART also available via line-out jack +(jumpers required on the mainboard). There *are* a few minor exceptions as to what works; this will be covered in other sections of this page. This port is *almost* perfect, but with some caveats. @@ -510,7 +510,7 @@ Nvidia dGPU not supported Nvidia dGPU doesn't work and is disabled as of 6 December 2024; the Intel graphics are still available even on Nvidia models, so Intel graphics are used. -WWAN slot untested. +NVMe SSD in WWAN slot works, other cards are untested. `thinkpad_acpi` issues {#thinkpad-acpi} --------------------------------------- From a69a1260c8324702eb457ffcd28172a21ab33e95 Mon Sep 17 00:00:00 2001 From: awwpotato Date: Tue, 24 Dec 2024 12:12:49 -0800 Subject: [PATCH 056/279] add note about keying of SSD --- site/docs/install/t480.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/site/docs/install/t480.md b/site/docs/install/t480.md index 2348e62..30bb54d 100644 --- a/site/docs/install/t480.md +++ b/site/docs/install/t480.md @@ -112,9 +112,9 @@ What works in this port: ----------------------- Intel graphics, internal screen, ethernet, USB, WLAN, HDA verbs (e.g. headphone -jack), S3 suspend/resume, M2 NVMe SSDs and SATA, NVMe sdd in WWAN slot, **all -works perfectly**. External video outputs and webcam also work. Microphone works, -line-out works... everything works. UART also available via line-out jack +jack), S3 suspend/resume, M2 NVMe SSDs and SATA, B+M key NVMe SSDs in WWAN slot, +**all works perfectly**. External video outputs and webcam also work. Microphone +works, line-out works... everything works. UART also available via line-out jack (jumpers required on the mainboard). There *are* a few minor exceptions as to what works; this will be covered in @@ -510,7 +510,7 @@ Nvidia dGPU not supported Nvidia dGPU doesn't work and is disabled as of 6 December 2024; the Intel graphics are still available even on Nvidia models, so Intel graphics are used. -NVMe SSD in WWAN slot works, other cards are untested. +B+M key NVMe SSDs in WWAN slot works, other cards are untested. `thinkpad_acpi` issues {#thinkpad-acpi} --------------------------------------- From 443078014dc15c9dd40b428fe245623277e23db2 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Wed, 25 Dec 2024 08:55:21 +0000 Subject: [PATCH 057/279] Remove legacy "./update trees" command from docs We only use ./mk now. Signed-off-by: Leah Rowe --- site/docs/install/dell9020.md | 2 +- site/docs/install/hp8200sff.md | 2 +- site/docs/maintain/porting.uk.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/site/docs/install/dell9020.md b/site/docs/install/dell9020.md index 2aac895..a573869 100644 --- a/site/docs/install/dell9020.md +++ b/site/docs/install/dell9020.md @@ -176,7 +176,7 @@ Then flash the ROM image. You can find nvramtool under `src/coreboot/default/util/nvramtool`. Do this in lbmk if you don't already havse `src/coreboot/default/`: - ./update trees -f coreboot default + ./mk -f coreboot default Then do this: diff --git a/site/docs/install/hp8200sff.md b/site/docs/install/hp8200sff.md index 8897646..6e5b7ed 100644 --- a/site/docs/install/hp8200sff.md +++ b/site/docs/install/hp8200sff.md @@ -266,7 +266,7 @@ the *ROM* by using the `-C` option in nvramtool. You can find this under the directory `src/coreboot/default/util/nvramtool` when downloading coreboot inside of lbmk by running the command: - ./update trees -f coreboot default + ./mk -f coreboot default Go in there and type `make` to build nvramtool. Simply run nvramtool without arguments, and it will show a list of options. diff --git a/site/docs/maintain/porting.uk.md b/site/docs/maintain/porting.uk.md index bae34b4..3d02519 100644 --- a/site/docs/maintain/porting.uk.md +++ b/site/docs/maintain/porting.uk.md @@ -64,7 +64,7 @@ libreboot як `плата.` Ви можете потім легко модифікувати існуючі конфігурації coreboot для вашої плати через lbmk. - ./update trees -m coreboot t420s_12mb + ./mk -m coreboot t420s_12mb Цей сценарій надать інтерфейс curses, через який ви можете легко модифікувати потрібні змінні та налаштування. From 2ac7deeefc4fdafecb4ba23a3dce271637f9a75a Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Wed, 25 Dec 2024 08:59:53 +0000 Subject: [PATCH 058/279] Remove legacy "./vendor" command from docs We only use ./mk now. Signed-off-by: Leah Rowe --- site/docs/install/ivy_has_common.md | 6 +++--- site/docs/install/t420_external.md | 6 +++--- site/docs/install/t440p_external.md | 6 +++--- site/docs/install/w541_external.md | 6 +++--- site/docs/install/x230_external.md | 6 +++--- site/docs/maintain/index.md | 7 ------- 6 files changed, 15 insertions(+), 22 deletions(-) diff --git a/site/docs/install/ivy_has_common.md b/site/docs/install/ivy_has_common.md index a416393..0fb7b51 100644 --- a/site/docs/install/ivy_has_common.md +++ b/site/docs/install/ivy_has_common.md @@ -56,7 +56,7 @@ In order to inject the necessary files into a rom image, run the script from the If you only wish to flash a release rom then the process of injecting the necessary files is quite simple. Run the injection script pointing to the release archive you downloaded: - ./vendor inject libreboot-RELEASE_targetname.tar.xz + ./mk inject libreboot-RELEASE_targetname.tar.xz The script can automatically detect the board as long as you do not change the file name. You can then find flash-ready ROMs in `/bin/release/` @@ -82,12 +82,12 @@ Alternatively, you may patch only a single rom file, but you must supply the correct board target name as alluded to above. For example: - ./vendor inject -r x230_libreboot.rom -b x230_12mb + ./mk inject -r x230_libreboot.rom -b x230_12mb Optionally, you can use this script to modify the mac address of the rom with the `-m` flag. For example: - ./vendor inject -r x230_libreboot.rom -b x230_12mb -m 00:f6:f0:40:71:fd + ./mk inject -r x230_libreboot.rom -b x230_12mb -m 00:f6:f0:40:71:fd You are *strongly* advised to inject the tarballs instead. However, so long as you're careful, injecting into single ROM images is perfectly safe. Just know diff --git a/site/docs/install/t420_external.md b/site/docs/install/t420_external.md index b7b9536..9ff3d32 100644 --- a/site/docs/install/t420_external.md +++ b/site/docs/install/t420_external.md @@ -25,19 +25,19 @@ In order to inject the necessary files into a rom image, run the script from the If you only wish to flash a release rom then the process of injecting the necessary files is quite simple. Run the injection script pointing to the release archive you downloaded: - ./vendor inject /path/to/libreboot-20230423_t420_8mb.tar.xz + ./mk inject /path/to/libreboot-20230423_t420_8mb.tar.xz The script can automatically detect the board as long as you do not change the file name. You can then find flash-ready ROMs in `/bin/release/` Alternatively, you may patch only a single rom file. - ./vendor inject -r t420_libreboot.rom -b t420_8mb + ./mk inject -r t420_libreboot.rom -b t420_8mb Optionally, you can use this script to modify the mac address of the rom with the `-m` flag. For example: - ./vendor inject -r t420_libreboot.rom -b t420_8mb -m 00:f6:f0:40:71:fd + ./mk inject -r t420_libreboot.rom -b t420_8mb -m 00:f6:f0:40:71:fd Disassembly ----------- diff --git a/site/docs/install/t440p_external.md b/site/docs/install/t440p_external.md index 8c54780..d10fdc9 100644 --- a/site/docs/install/t440p_external.md +++ b/site/docs/install/t440p_external.md @@ -40,7 +40,7 @@ In order to inject the necessary files into a rom image, run the script from the If you only wish to flash a release rom then the process of injecting the necessary files is quite simple. Run the injection script pointing to the release archive you downloaded: - ./vendor inject /path/to/libreboot-RELEASE_targetname.tar.xz + ./mk inject /path/to/libreboot-RELEASE_targetname.tar.xz The script can automatically detect the board as long as you do not change the file name. You can then find flash-ready ROMs in `/bin/release/` @@ -48,12 +48,12 @@ You can then find flash-ready ROMs in `/bin/release/` Alternatively, you may patch only a single rom file. For example: - ./vendor inject -r t440p_libreboot.rom -b t440plibremrc_12mb + ./mk inject -r t440p_libreboot.rom -b t440plibremrc_12mb Optionally, you can use this script to modify the mac address of the rom with the `-m` flag. For example: - ./vendor inject -r t440p_libreboot.rom -b t440plibremrc_12mb -m 00:f6:f0:40:71:fd + ./mk inject -r t440p_libreboot.rom -b t440plibremrc_12mb -m 00:f6:f0:40:71:fd NOTE: this makes use of `nvmutil`, which you can read more about in the [nvmutil documentation](nvmutil.md). diff --git a/site/docs/install/w541_external.md b/site/docs/install/w541_external.md index b7480fa..4f49f46 100644 --- a/site/docs/install/w541_external.md +++ b/site/docs/install/w541_external.md @@ -43,7 +43,7 @@ In order to inject the necessary files into a rom image, run the script from the If you only wish to flash a release rom then the process of injecting the necessary files is quite simple. Run the injection script pointing to the release archive you downloaded: - ./vendor inject /path/to/libreboot-RELEASE_targetname.tar.xz + ./mk inject /path/to/libreboot-RELEASE_targetname.tar.xz The script can automatically detect the board as long as you do not change the file name. You can then find flash-ready ROMs in `/bin/release/` @@ -51,12 +51,12 @@ You can then find flash-ready ROMs in `/bin/release/` Alternatively, you may patch only a single rom file. For example: - ./vendor inject -r w541_libreboot.rom -b w541_12mb + ./mk inject -r w541_libreboot.rom -b w541_12mb Optionally, you can use this script to modify the mac address of the rom with the `-m` flag. For example: - ./vendor inject -r w541_libreboot.rom -b w541_12mb -m 00:f6:f0:40:71:fd + ./mk inject -r w541_libreboot.rom -b w541_12mb -m 00:f6:f0:40:71:fd NOTE: this makes use of `nvmutil`, which you can read more about in the [nvmutil documentation](nvmutil.md). diff --git a/site/docs/install/x230_external.md b/site/docs/install/x230_external.md index 814db86..8bbc59e 100644 --- a/site/docs/install/x230_external.md +++ b/site/docs/install/x230_external.md @@ -36,7 +36,7 @@ The script can determine the board automatically if you have not changed the nam In order to inject the necessary files into a rom image, run the script from the root of lbmk and point to the rom image. Run the injection script pointing to the release archive you downloaded: - ./vendor inject /path/to/libreboot-20230319-18-g9f76c92_t440_12mb.tar.xz + ./mk inject /path/to/libreboot-20230319-18-g9f76c92_t440_12mb.tar.xz The script can automatically detect the board as long as you do not change the file name. You can then find flash-ready ROMs in `/bin/release/` @@ -44,12 +44,12 @@ You can then find flash-ready ROMs in `/bin/release/` Alternatively, you may patch only a single rom file. For example: - ./vendor inject -r x230_libreboot.rom -b x230_12mb + ./mk inject -r x230_libreboot.rom -b x230_12mb Optionally, you can use this script to modify the mac address of the rom with the `-m` flag. For example: - ./vendor inject -r x230_libreboot.rom -b x230_12mb -m 00:f6:f0:40:71:fd + ./mk inject -r x230_libreboot.rom -b x230_12mb -m 00:f6:f0:40:71:fd NOTE: this makes use of `nvmutil`, which you can read more about in the [nvmutil documentation](nvmutil.md). diff --git a/site/docs/maintain/index.md b/site/docs/maintain/index.md index c2477a9..292ae01 100644 --- a/site/docs/maintain/index.md +++ b/site/docs/maintain/index.md @@ -1329,13 +1329,6 @@ Special commands available (not provided by files under `script/`): ./mk inject ./mk -d coreboot TARGET # also downloads vendor files -The `vendor` commands are handled by the `build` script, calling functions -inside `include/vendor.sh`, and the `./mk release` logic is handled -directly by the `build` script. - -More information about `./vendor` commands can be found -here: [inserting vendor files](../install/ivy_has_internal.md) - Information about `./mk release` is written elsewhere on this page. You can also know what build system revision you have by running: From 71b502349ab488f0e91403049181102286eb35e2 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Wed, 25 Dec 2024 09:08:24 +0000 Subject: [PATCH 059/279] Remove legacy "./build" command from the docs We only use ./mk now. Signed-off-by: Leah Rowe --- site/docs/build/index.uk.md | 4 ---- site/docs/maintain/index.md | 13 +++---------- site/docs/maintain/porting.uk.md | 2 +- site/docs/misc/emulation.md | 8 ++++++-- site/docs/uboot/index.md | 2 +- site/news/hp2170p.md | 8 -------- site/news/hp8470p_and_dell_t1650.md | 13 ------------- 7 files changed, 11 insertions(+), 39 deletions(-) diff --git a/site/docs/build/index.uk.md b/site/docs/build/index.uk.md index de7ca0a..a2df30d 100644 --- a/site/docs/build/index.uk.md +++ b/site/docs/build/index.uk.md @@ -143,10 +143,6 @@ Check: `config/dependencies/` for list of supported distros. Однак, вам потрібно буде написано свій власний сценарій для встановлення залежностей побудови. -libreboot Make (lbmk) автоматично виконує всі необхідні команди; наприклад, -`./build roms` автоматично виконає `./build grub`, -якщо затребувані утиліти для GRUB не збудовано, для виготовлення корисних навантажень. - В якості результату, ви тепер можете (після встановлення правильних залежностей побудови) виконати лише одну команду, з свіжого Git clone, для побудови образів ROM: diff --git a/site/docs/maintain/index.md b/site/docs/maintain/index.md index 292ae01..715c6d2 100644 --- a/site/docs/maintain/index.md +++ b/site/docs/maintain/index.md @@ -105,7 +105,7 @@ XBMK\_RELEASE If set to `y`, it signals to `script/roms` that a release is being built, and it will honour `release="n"` in target.cfg files. You could also set this -yourself, when doing regular builds, if you wanted to test how `./build roms` +yourself when doing regular builds, if you wanted to test how `./mk -b coreboot` behaves running it in release mode. Do this if you want to: export XBMK_RELEASE=y @@ -1309,16 +1309,9 @@ Scripts in root directory of lbmk build --------------- -This is the main script. Symlinks `vendor` and `update` also point to it, as -does `mk`. Direct use of this script is considered deprecate, because in a -future audit, it will be removed; the `./mk` commands will be used, -exclusively, so please use only `./mk` as directed here and elsewhere. +This is the main build script. -Take any given file under `script/` and you can do: - - ./build file # (THIS IS NOT A VALID COMMAND) - -For example: +Example commands: ./mk -b coreboot ./mk diff --git a/site/docs/maintain/porting.uk.md b/site/docs/maintain/porting.uk.md index 3d02519..3d216f5 100644 --- a/site/docs/maintain/porting.uk.md +++ b/site/docs/maintain/porting.uk.md @@ -79,7 +79,7 @@ libreboot як `плата.` Тепер ви можете побудувати та випробувати rom для `плати.` Як тільки ви завершили це, ви можете спробувати прошивку отриманого rom на вашу плату в якості випробування. - ./build roms t420s_12mb + ./mk -b coreboot t420s_12mb Якщо ви пробуєте прошити цей rom і це провалюється, тоді існує дві можливих причини: diff --git a/site/docs/misc/emulation.md b/site/docs/misc/emulation.md index 23d7d5f..2fd4433 100644 --- a/site/docs/misc/emulation.md +++ b/site/docs/misc/emulation.md @@ -17,7 +17,11 @@ Building and Testing Libreboot can be built for qemu just like any other board. - ./build roms qemu_x86_12mb + ./mk -b coreboot qemu_x86_12mb + +There is also a target that has 64-but U-Boot payload: + + ./mk -b coreboot qemu_x86_64_12mb In order to test the resulting roms, you must have qemu installed on the host machine. Test the roms by pointing qemu to the rom in bios mode. @@ -29,7 +33,7 @@ For example: There is basic support for an arm64 virtual machine as well, although the payloads are not as developed as the x86 one: - ./build roms qemu_arm64_12mb + ./mk -b coreboot qemu_arm64_12mb ``` qemu-system-aarch64 -bios bin/qemu_arm64_12mb/uboot_payload_qemu_arm64_12mb_libgfxinit_corebootfb.rom \ diff --git a/site/docs/uboot/index.md b/site/docs/uboot/index.md index ff8f340..f5ac9a8 100644 --- a/site/docs/uboot/index.md +++ b/site/docs/uboot/index.md @@ -23,7 +23,7 @@ and the build dependencies are installed like so, from `lbmk/` as root: ./mk dependencies debian -This installs everything needed for `./build roms`, and part of the +This installs everything needed for `./mk -b coreboot`, and part of the build process makes use of coreboot's own cross-compile toolchain. [QEMU x86/ARM64 virtual machines](../misc/emulation.md) are also diff --git a/site/news/hp2170p.md b/site/news/hp2170p.md index ebce09a..f8f5656 100644 --- a/site/news/hp2170p.md +++ b/site/news/hp2170p.md @@ -22,14 +22,6 @@ It was added in this patch: Information about the board can be found on the coreboot documentation: -This will be available in the next Libreboot release. For now, you -can [download Libreboot from Git](../git.md) and [build from -source](../docs/build/) if you wish to use this board. Read those instructions -first; with build dependencies then installed, you can build the board like -so: - - ./build roms hp2170p_16mb - Installation instructions are being written for Libreboot, but you can refer to the coreboot instructions for now. diff --git a/site/news/hp8470p_and_dell_t1650.md b/site/news/hp8470p_and_dell_t1650.md index 25b8a30..b59e2d2 100644 --- a/site/news/hp8470p_and_dell_t1650.md +++ b/site/news/hp8470p_and_dell_t1650.md @@ -32,14 +32,6 @@ these AMD variants, please [contact Leah Rowe](../docs/maintain/testing.html). Another quirk: SOIC16 flash IC, but it's 16MB in size (Winbond W25Q128). -This will be available in the next Libreboot release. For now, you -can [download Libreboot from Git](../git.md) and [build from -source](../docs/build/) if you wish to use this board. Read those instructions -first; with build dependencies then installed, you can build the board like -so: - - ./build roms hp8470pintel_16mb - There is currently no documentation on the coreboot website, but installation instructions will be written for the Libreboot website. @@ -73,11 +65,6 @@ is relied upon to execute the VGA Option ROM on an add-on graphics card (the one I had was Nvidia Quadro K420, tested with the `nouveau` driver under Debian Linux). -Here's how to build ROM images for this board (make sure you have performed -the [prerequisite steps](../docs/build/) first: - - ./build roms t1650_12mb - If you want GRUB-only setup, you could configure SeaBIOS bootorder to only load the GRUB payload, and disable the SeaBIOS menu. This can be done by only booting `img/grub2` from CBFS. More info available here: From f2dd78251c25dc748f68ca6190960512fd3c9f7e Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Thu, 26 Dec 2024 18:01:17 +0000 Subject: [PATCH 060/279] update 3050micro notes Signed-off-by: Leah Rowe --- site/docs/install/dell3050.md | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/site/docs/install/dell3050.md b/site/docs/install/dell3050.md index e457d26..56008c9 100644 --- a/site/docs/install/dell3050.md +++ b/site/docs/install/dell3050.md @@ -47,7 +47,7 @@ P*: Partially works with blobs | ***Payloads supported*** | | |----------------------------|-----------| | **GRUB (libgfxinit only)** | Works | -| **SeaBIOS** | Broken | +| **SeaBIOS** | Works | Buy pre-installed ================= @@ -64,6 +64,19 @@ source](../build/), or use a version newer than Libreboot 20240612.** Official information about the computer can be found here: +Warning regarding NVMe SSDs +--------------------------- + +Please use at least Libreboot +20241206 *[revision 3](../../news/libreboot20241206.Revisions.md#revision-3-11-december-2024)* +or higher. This is because older revisions contained a bug, where the NVMe +SSD would be *replugged* under Linux, randomly, leading to data loss. + +This is fixed in 20241206 rev3 or higher, by disabling PCI-E hotplug on the +NVMe SSD slot. + +See: [Libreboot 20241206 release](../../news/libreboot20241206.md) + Build ROM image from source --------------------------- From 2e2b6c7d52c0802c72e2805f0f924d5c447935f2 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Fri, 27 Dec 2024 01:33:55 +0000 Subject: [PATCH 061/279] Random docs cleanup Signed-off-by: Leah Rowe --- site/contrib.md | 2 - site/docs/install/devmem.md | 4 +- site/docs/install/ga-g41m-es2l.md | 5 +- site/docs/install/hp8200sff.md | 4 +- site/docs/install/hp8300usdt.md | 4 +- site/docs/install/hp9470m.md | 4 +- site/docs/install/kfsn4-dre.md | 4 +- site/docs/install/macbook21.md | 4 +- site/docs/install/nvmutil.md | 4 +- site/docs/install/r400.md | 8 +- site/docs/install/spi.md | 4 +- site/docs/install/spi_generic.md | 4 +- site/docs/install/t400.md | 4 +- site/docs/install/t440p_external.md | 4 +- site/docs/install/t500.md | 4 +- site/docs/install/t60_unbrick.md | 4 +- site/docs/install/w541_external.md | 4 +- site/docs/install/x200.md | 4 +- site/docs/install/x200.uk.md | 4 +- site/docs/install/x230_external.md | 4 +- site/docs/install/x60_unbrick.md | 4 +- site/docs/install/x60tablet_unbrick.md | 4 +- site/docs/linux/grub_hardening.md | 29 +++++- site/docs/maintain/index.md | 17 +++- site/docs/maintain/porting.md | 4 +- site/docs/maintain/porting.uk.md | 4 +- site/faq.md | 4 +- site/faq.uk.md | 4 +- site/news/audit3.md | 4 +- site/news/audit4.md | 4 +- site/news/safety.md | 4 +- site/tasks/index.md | 120 +++++-------------------- 32 files changed, 156 insertions(+), 129 deletions(-) diff --git a/site/contrib.md b/site/contrib.md index 6416247..55d6a72 100644 --- a/site/contrib.md +++ b/site/contrib.md @@ -286,8 +286,6 @@ Helped write the [FAQ section about DMA](../faq.md#hddssd-firmware), and provide general advice in the early days of the project. Peter was a coreboot developer in those days, and a major developer in the *libusb* project (which flashrom makes heavy use of). -NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) -now, as of 27 January 2024. Peter also wrote the *bucts* utility used to set Backup Control (BUC) Top Swap (TS) bit on i945 laptops such as ThinkPad X60/T60, which is useful for a diff --git a/site/docs/install/devmem.md b/site/docs/install/devmem.md index d4ded98..554dd3b 100644 --- a/site/docs/install/devmem.md +++ b/site/docs/install/devmem.md @@ -26,7 +26,9 @@ FLASH ERRORS (and workarounds) ======================= **NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) -now, as of 27 January 2024, which is a fork of flashrom.** +now, as of 27 January 2024, which is a fork of flashrom. +The reason why was explained, in +the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** This section relates to installing libreboot on supported targets. diff --git a/site/docs/install/ga-g41m-es2l.md b/site/docs/install/ga-g41m-es2l.md index a63301d..a1398cf 100644 --- a/site/docs/install/ga-g41m-es2l.md +++ b/site/docs/install/ga-g41m-es2l.md @@ -164,5 +164,8 @@ NOTE: If you don't flash both chips, the recovery program from the default factory BIOS will kick in and your board will be soft bricked. Make sure that you flash both chips! -NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) +**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) now, as of 27 January 2024, which is a fork of flashrom. +The reason why was explained, in +the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** + diff --git a/site/docs/install/hp8200sff.md b/site/docs/install/hp8200sff.md index 6e5b7ed..7e00111 100644 --- a/site/docs/install/hp8200sff.md +++ b/site/docs/install/hp8200sff.md @@ -146,8 +146,10 @@ between the pins until you can see the normal BIOS boot screen. ![](https://av.libreboot.org/hp8200sff/fdo\_screwdriver.jpg) -NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) +**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) now, as of 27 January 2024, which is a fork of flashrom. +The reason why was explained, in +the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** Now, run this command: diff --git a/site/docs/install/hp8300usdt.md b/site/docs/install/hp8300usdt.md index 0585c8b..6a3c378 100644 --- a/site/docs/install/hp8300usdt.md +++ b/site/docs/install/hp8300usdt.md @@ -81,8 +81,10 @@ crystal (small metal cylinder) and the power cable for the optical drive. Boot into an OS of your choice (that has flashprog support). -NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) +**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) now, as of 27 January 2024, which is a fork of flashrom. +The reason why was explained, in +the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** The BIOS should no longer impose any write-protections. You can now use `flashprog -p internal` freely. diff --git a/site/docs/install/hp9470m.md b/site/docs/install/hp9470m.md index f26209b..9168f0d 100644 --- a/site/docs/install/hp9470m.md +++ b/site/docs/install/hp9470m.md @@ -91,6 +91,8 @@ Some part of the board might turn on when programming. If programming fails, you might have to attach the laptop to a charger. Make sure the laptop powers off before running flashprog. No LEDs should be lit. -NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) +**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) now, as of 27 January 2024, which is a fork of flashrom. +The reason why was explained, in +the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** diff --git a/site/docs/install/kfsn4-dre.md b/site/docs/install/kfsn4-dre.md index e11ea92..21c979d 100644 --- a/site/docs/install/kfsn4-dre.md +++ b/site/docs/install/kfsn4-dre.md @@ -54,8 +54,10 @@ for building a high-powered workstation. Powered by libreboot. Flashing instructions can be found at [../install/\#flashprog](../install/) -NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) +**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) now, as of 27 January 2024, which is a fork of flashrom. +The reason why was explained, in +the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** Form factor {#formfactor} =========== diff --git a/site/docs/install/macbook21.md b/site/docs/install/macbook21.md index 5ebd843..3be1fb5 100644 --- a/site/docs/install/macbook21.md +++ b/site/docs/install/macbook21.md @@ -105,8 +105,10 @@ MacBook2,1 can always be flashed internally, even if running Apple firmware: sudo flashprog -p internal:laptop=force_I_want_a_brick,boardmismatch=force -w your.rom -NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) +**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) now, as of 27 January 2024, which is a fork of flashrom. +The reason why was explained, in +the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** The MacBook1,1 can't be flashed internally if running the Apple EFI firmware. You must flash externally. diff --git a/site/docs/install/nvmutil.md b/site/docs/install/nvmutil.md index b15a8dd..3d1beee 100644 --- a/site/docs/install/nvmutil.md +++ b/site/docs/install/nvmutil.md @@ -114,8 +114,10 @@ entire next section to it: Use flashprog ------------ -NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) +**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) now, as of 27 January 2024, which is a fork of flashrom. +The reason why was explained, in +the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** If you wish to operate on the GbE section that's already flashed, you should *dump* the current full ROM image. diff --git a/site/docs/install/r400.md b/site/docs/install/r400.md index eac5e37..5c5fa71 100644 --- a/site/docs/install/r400.md +++ b/site/docs/install/r400.md @@ -80,8 +80,10 @@ modified descriptor: see [../install/ich9utils.md](../install/ich9utils.md)* Flashing instructions can be found at [../install/\#flashprog](../install/#flashprog) -NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) +**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) now, as of 27 January 2024, which is a fork of flashrom. +The reason why was explained, in +the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** EC update {#ecupdate} ========= @@ -176,8 +178,10 @@ Use this to find out: flashprog -p internal -NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) +**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) now, as of 27 January 2024, which is a fork of flashrom. +The reason why was explained, in +the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** MAC address {#macaddress} =========== diff --git a/site/docs/install/spi.md b/site/docs/install/spi.md index ba93502..bee0573 100644 --- a/site/docs/install/spi.md +++ b/site/docs/install/spi.md @@ -19,8 +19,10 @@ operates Minifree Ltd; sales provide funding for the Libreboot project. Introduction ============ -NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) +**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) now, as of 27 January 2024, which is a fork of flashrom. +The reason why was explained, in +the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** **[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md), OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)** diff --git a/site/docs/install/spi_generic.md b/site/docs/install/spi_generic.md index 5de2868..9bd3cd7 100644 --- a/site/docs/install/spi_generic.md +++ b/site/docs/install/spi_generic.md @@ -3,8 +3,10 @@ title: Generic SPI Flashing Guide x-toc-enable: true ... -NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) +**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) now, as of 27 January 2024, which is a fork of flashrom. +The reason why was explained, in +the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** **[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md), OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)** diff --git a/site/docs/install/t400.md b/site/docs/install/t400.md index 3596e0b..8af030d 100644 --- a/site/docs/install/t400.md +++ b/site/docs/install/t400.md @@ -79,8 +79,10 @@ modified descriptor: see [../install/ich9utils.md](../install/ich9utils.md)* Flashing instructions can be found at [../install/\#flashprog](../install/#flashprog) -NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) +**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) now, as of 27 January 2024, which is a fork of flashrom. +The reason why was explained, in +the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** EC update {#ecupdate} ========= diff --git a/site/docs/install/t440p_external.md b/site/docs/install/t440p_external.md index d10fdc9..b81b5ba 100644 --- a/site/docs/install/t440p_external.md +++ b/site/docs/install/t440p_external.md @@ -12,8 +12,10 @@ Buy Libreboot preinstalled Introduction ============ -NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) +**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) now, as of 27 January 2024, which is a fork of flashrom. +The reason why was explained, in +the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** **[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md), OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)** diff --git a/site/docs/install/t500.md b/site/docs/install/t500.md index fbd067d..78014f8 100644 --- a/site/docs/install/t500.md +++ b/site/docs/install/t500.md @@ -81,8 +81,10 @@ modified descriptor: see [../install/ich9utils.md](../install/ich9utils.md)* Flashing instructions can be found at [../install/\#flashprog](../install/#flashprog) -NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) +**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) now, as of 27 January 2024, which is a fork of flashrom. +The reason why was explained, in +the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** EC update {#ecupdate} ========= diff --git a/site/docs/install/t60_unbrick.md b/site/docs/install/t60_unbrick.md index f4200a4..e12010e 100644 --- a/site/docs/install/t60_unbrick.md +++ b/site/docs/install/t60_unbrick.md @@ -3,8 +3,10 @@ title: ThinkPad T60 Recovery guide x-toc-enable: true ... -NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) +**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) now, as of 27 January 2024, which is a fork of flashrom. +The reason why was explained, in +the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** "Unbricking" means flashing a known-good (working) ROM. The problem: you can't boot the system, making this difficult. In this situation, diff --git a/site/docs/install/w541_external.md b/site/docs/install/w541_external.md index 4f49f46..83eed5a 100644 --- a/site/docs/install/w541_external.md +++ b/site/docs/install/w541_external.md @@ -15,8 +15,10 @@ Buy Libreboot preinstalled Introduction ============ -NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) +**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) now, as of 27 January 2024, which is a fork of flashrom. +The reason why was explained, in +the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** **[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md), OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)** diff --git a/site/docs/install/x200.md b/site/docs/install/x200.md index 109246c..e9ce29d 100644 --- a/site/docs/install/x200.md +++ b/site/docs/install/x200.md @@ -79,8 +79,10 @@ modified descriptor: see [../install/ich9utils.md](../install/ich9utils.md)* Flashing instructions can be found at [../install/\#flashprog](../install/#flashprog) -NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) +**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) now, as of 27 January 2024, which is a fork of flashrom. +The reason why was explained, in +the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** EC update {#ecupdate} ========= diff --git a/site/docs/install/x200.uk.md b/site/docs/install/x200.uk.md index 3ea6113..b1ce8af 100644 --- a/site/docs/install/x200.uk.md +++ b/site/docs/install/x200.uk.md @@ -71,8 +71,10 @@ X200S та X201S; знову ж таки, це неперевірено. *Шви Інструкції з перепрошивки можна знайти за адресою [../install/\#flashprog](../install/#flashprog) -NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) +**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) now, as of 27 January 2024, which is a fork of flashrom. +The reason why was explained, in +the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** Оновлення EC {#ecupdate} ========= diff --git a/site/docs/install/x230_external.md b/site/docs/install/x230_external.md index 8bbc59e..67bec81 100644 --- a/site/docs/install/x230_external.md +++ b/site/docs/install/x230_external.md @@ -6,8 +6,10 @@ x-toc-enable: true **Minifree now sells the Libreboot T480, instead of the Libreboot X230. See: ** -NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) +**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) now, as of 27 January 2024, which is a fork of flashrom. +The reason why was explained, in +the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** **[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md), OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)** diff --git a/site/docs/install/x60_unbrick.md b/site/docs/install/x60_unbrick.md index 2c0263a..74107d0 100644 --- a/site/docs/install/x60_unbrick.md +++ b/site/docs/install/x60_unbrick.md @@ -3,8 +3,10 @@ title: ThinkPad X60 Recovery guide x-toc-enable: true ... -NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) +**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) now, as of 27 January 2024, which is a fork of flashrom. +The reason why was explained, in +the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** "Unbricking" means flashing a known-good (working) ROM. The problem: you can't boot the system, making this difficult. In this situation, diff --git a/site/docs/install/x60tablet_unbrick.md b/site/docs/install/x60tablet_unbrick.md index 110a912..f3ab37c 100644 --- a/site/docs/install/x60tablet_unbrick.md +++ b/site/docs/install/x60tablet_unbrick.md @@ -3,8 +3,10 @@ title: ThinkPad X60 Tablet Recovery guide x-toc-enable: true ... -NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) +**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) now, as of 27 January 2024, which is a fork of flashrom. +The reason why was explained, in +the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** "Unbricking" means flashing a known-good (working) ROM. The problem: you can't boot the system, making this difficult. In this situation, diff --git a/site/docs/linux/grub_hardening.md b/site/docs/linux/grub_hardening.md index efdf128..903ee9c 100644 --- a/site/docs/linux/grub_hardening.md +++ b/site/docs/linux/grub_hardening.md @@ -82,9 +82,16 @@ See: [build from source](../build/) IFD-based flash protection -------------------------- +**NOTE: This CAN cause bricks on a lot of machines. You should use this with +care. The FLILL and/or PRx based methods are more reliable - also SMM methods. +You can reconfigure coreboot and enable the chipset-based flash protection there +which accomplishes the same result, and the benefit is that it can't easily +be overridden by an evel maid attack e.g. can't simply set the service jumper +on desktops.** + The simplest way is to just do this: - ifdtool -x libreboot.rom -O libreboot.rom + ifdtool --lock libreboot.rom -O libreboot.rom If you did the step before, to compile `cbfstool`, you can find ifdtool in the `elf/` directory, e.g. `elf/ifdtool/default/ifdtool`. Use the ifdtool @@ -219,6 +226,26 @@ things like graphics cards. More information is available here: If you're using a graphics card, you *need* VGA option ROMs at least. +GRUBSEA +------- + +Another option is to make it so that GRUB is the primary payload on your board. +In this setup, SeaBIOS and U-Boot are still available. + +For your board's `target.cfg`, add this: + + payload_grubsea="y" + +E.g. `config/coreboot/x200_8mb/target.cfg` + +You should only do this on setups that have native graphics initialisation +e.g. Intel graphics, or where no VGA/GOP ROM is required either on-card or +in the flash (e.g. Intel graphics on Alderlake machines). + +If you can't use GRUB as a primary payload, then you can use SeaGRUB as above +and disable the SeaBIOS menu, making SeaBIOS load only GRUB; SeaGRUB is useful +because GRUB will piggyback off of the VGA setup done by SeaBIOS first. + GPG keys ======== diff --git a/site/docs/maintain/index.md b/site/docs/maintain/index.md index 715c6d2..c5519dd 100644 --- a/site/docs/maintain/index.md +++ b/site/docs/maintain/index.md @@ -3,8 +3,10 @@ title: lbmk maintenance manual x-toc-enable: true ... -NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) +**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) now, as of 27 January 2024, which is a fork of flashrom. +The reason why was explained, in +the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** In addition to this manual, you should also refer to [porting.md](porting.md) and [testing.md](testing.md). @@ -709,6 +711,7 @@ as: * `rev="ad983eeec76ecdb2aff4fb47baeee95ade012225"` (example entry) * `xarch="i386-elf"` (example entry) * `payload_grub="y"` (example entry) +* `payload_grubsea="y"` * `payload_seabios="y"` (example entry) * `payload_memtest="y"` (example entry) * `payload_uboot="y"` (example entry) @@ -757,6 +760,18 @@ hence `xarch`. The `payload_grub` entry specifies whether or not GRUB is to be included in ROM images. +The `payload_grubsea` entry specifies that GRUB shall be the primary payload, +instead of SeaBIOS; SeaGRUB is disabled in this setup. You should only use this +where an Intel graphics device is present, or otherwise where native graphics +initialisation is present; it is also feasible on Intel Alderlake platforms, +but only where an Intel GPU is present; where a given system can use other +graphics devices, they must be unplugged or otherwise disabled. For example, you +must remove the graphics card on your desktop machine and only use the Intel +graphics, where it is available. Because of this, `payload_grubsea` is not +currently enabled by default (and SeaBIOS is more stable so it's a nice fallback +in case a bug in GRUB would otherwise brick your machine, because you can +bypass it and use SeaBIOS). + The `payload_seabios` entry specifies whether or not SeaBIOS is to be included in ROM images. If GRUB is also enabled, standalone SeaBIOS images will be created alongside SeaGRUB images. SeaGRUB is where SeaBIOS automatically diff --git a/site/docs/maintain/porting.md b/site/docs/maintain/porting.md index 294757b..e464e9b 100644 --- a/site/docs/maintain/porting.md +++ b/site/docs/maintain/porting.md @@ -2,8 +2,10 @@ title: Porting guide for new mainboards ... -NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) +**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) now, as of 27 January 2024, which is a fork of flashrom. +The reason why was explained, in +the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** NOTE: This page is largely Intel-centric, at present. It should be revised to cover more vendors. [Patches welcome!](../../git.md) diff --git a/site/docs/maintain/porting.uk.md b/site/docs/maintain/porting.uk.md index 3d216f5..faaaa73 100644 --- a/site/docs/maintain/porting.uk.md +++ b/site/docs/maintain/porting.uk.md @@ -2,8 +2,10 @@ title: Керівництво перенесення ... -NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) +**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) now, as of 27 January 2024, which is a fork of flashrom. +The reason why was explained, in +the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** Це керівнитво передбачається для тих, хто має дуже низький рівень знань про прошивку загалом та coreboot окремо. diff --git a/site/faq.md b/site/faq.md index 800476d..bc6c583 100644 --- a/site/faq.md +++ b/site/faq.md @@ -3,8 +3,10 @@ title: Frequently Asked Questions x-toc-enable: true ... -NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) +**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) now, as of 27 January 2024, which is a fork of flashrom. +The reason why was explained, in +the [Libreboot 20240225 release](news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** AKA Frequently Questioned Answers diff --git a/site/faq.uk.md b/site/faq.uk.md index 83a36ac..fb79bdf 100644 --- a/site/faq.uk.md +++ b/site/faq.uk.md @@ -3,8 +3,10 @@ title: Часті питання x-toc-enable: true ... -NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) +**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) now, as of 27 January 2024, which is a fork of flashrom. +The reason why was explained, in +the [Libreboot 20240225 release](news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** Також відомо як Відповіді на часті питання diff --git a/site/news/audit3.md b/site/news/audit3.md index 865c1b0..74553ea 100644 --- a/site/news/audit3.md +++ b/site/news/audit3.md @@ -2,8 +2,10 @@ % Leah Rowe % 20 October 2023 -NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) +**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) now, as of 27 January 2024, which is a fork of flashrom. +The reason why was explained, in +the [Libreboot 20240225 release](libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** Introduction ============ diff --git a/site/news/audit4.md b/site/news/audit4.md index bb205a8..7ab72d6 100644 --- a/site/news/audit4.md +++ b/site/news/audit4.md @@ -2,8 +2,10 @@ % Leah Rowe % 31 December 2023 -NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) +**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) now, as of 27 January 2024, which is a fork of flashrom. +The reason why was explained, in +the [Libreboot 20240225 release](libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** Introduction ============ diff --git a/site/news/safety.md b/site/news/safety.md index c748973..193213d 100644 --- a/site/news/safety.md +++ b/site/news/safety.md @@ -9,8 +9,10 @@ does not need vendor files, the resulting ROM images will be identical and therefore nothing will have happened. The inject script is designed to insert certain files, only if required on a given mainboard.** -NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) +**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) now, as of 27 January 2024, which is a fork of flashrom. +The reason why was explained, in +the [Libreboot 20240225 release](libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** Introduction ============ diff --git a/site/tasks/index.md b/site/tasks/index.md index 383a767..c86f27d 100644 --- a/site/tasks/index.md +++ b/site/tasks/index.md @@ -3,16 +3,10 @@ title: Jobs that need doing x-toc-enable: true ... -NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) +**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) now, as of 27 January 2024, which is a fork of flashrom. - -This page contains a curated list of tasks that are to be worked on, or tasks -that are being worked on. This is intended to complement -the [issue pages](https://codeberg.org/libreboot/lbmk/issues/). - -Many of these entries will pertain to *lbmk*, which is Libreboot's build -system, but some entries may relate to documentation, or organisational -changes. +The reason why was explained, in +the [Libreboot 20240225 release](../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** If you want to work on some of these yourself, patches are always welcome! Please read the [code review page](../git.md), which provides guidance on @@ -62,52 +56,23 @@ audits are done in Libreboot, see: * [Libreboot build system audit 1](../news/audit.md) * [Libreboot build system audit 2](../news/audit2.md) * [Libreboot build system audit 3](../news/audit3.md) +* [Libreboot build system audit 4](../news/audit4.md) +* [Libreboot build system audit 5](../news/audit5.md) +* [Libreboot build system audit 6](../news/audit6.md) Auditing can often be pedantic, and seem petty. You might commit a patch that -reduces the sloccount by only 1 line, maybe 3, but they all add up. Audit 3 -contained hundreds of changes, small changes, that together accounted for -about 1000 lines of code removed, while not affecting functionality in any way. +reduces the sloccount by only 1 line, maybe 3, but they all add up. -This will always remain on the TODO list, because there will always be a need -for auditing, as is true of any codebase. It is always possible to fix more -bugs or improve a piece of code. As they say: the code is never finished. +I say again: -Port vendor scripts to Heads -============================ - -Ironically, one of the first entries on this page pertains to a competing -project. - -I promised the Heads project that I'd port Libreboot's vendorfile download and -inject scripts to the Heads build system. Libreboot provides these scripts for -automatically downloading certain firmwares at build time, as and when -required for a given mainboard. These are provided by the vendor, e.g. SMSC -SCH5545 Environment Control (EC) firmware used for fan control on Dell -Precision T1650. - -Heads has such logic, but it's not as developed as the logic in Libreboot, -which was originally inspired by the Heads logic and then greatly expanded upon. - -I'm putting this here on the Libreboot TODO page, so that I always see it. And -I'm keeping it at the top of the page. This TODO entry is still relevant to -Libreboot, because it concerns work that I will do in my official capacity, -representing Libreboot while helping the (friendly) competition. - -See: - -Heads is a really cool project, offering Linux-based kexec payloads on -supported hardware. It's another coreboot distro, and their build system design -even works similarly to Libreboot's (though they heavily use Makefiles whereas -Libreboot exclusively uses shell scripts and uses a much simpler design). Heads -provides many advanced security features like measured boot, even things like -TOTP-based authentication using secrets stored in the TPM. - -Very, very, very^2 cool project, and Libreboot has plans to integrate some -of the same functionalitiys within it (see other notes on this page). +Code equals bugs, so fewer lines of code will cause fewer bugs. Interesting board ports ======================= +**Any board port is interesting. These are just a few that happened to be +noticed at a given time. The list below is by no means complete!** + Libreboot can support any board from coreboot, in principle. It would also be feasible to integrate other (libre) boot firmware, if desirable. The list below is not exhaustive, it just lists boards that are interesting to us at this time: @@ -375,57 +340,11 @@ oreboot is still a good project. (though, whenever possible, lbmk should stick to coreboot, to keep things simpler - are there efforts to implement oreboot ports in coreboot/C?) -UEFI payload -============ - -A UEFI payload in Libreboot is highly desirable, because it would basically -enable any distro or BSD to Just Work. - -MrChromebox distribution ------------------------- - -MrChromebox is another coreboot distro, similar in spirit to Libreboot. - -Of interest: Mrchromebox provides Tianocore-based UEFI setups on chromebooks, -and we could probably integrate some of that in Libreboot. Tianocore is -essentially bloatware, and really a liability for the Libreboot project due -to its complexity, though MrChromebox targets a very different audience. - -Chromebooks (x86) +LoongArch support ----------------- -Start supporting x86 chromebooks in Libreboot. We don't support any. -There is already MrChromebox, we could just track that, but use our own -payloads instead of Tianocore. - -Specifically: lbmk could have a feature added to it where it re-uses configs -from MrChromebox, with logic to automatically disable the payload. In lbmk, -coreboot configs do not enable payloads at all, because payloads are -compiled by lbmk and added after the fact - this is why we have `elf/` -containing coreboot images without payloads, and `bin/` which contains the -full ROMs, with payloads inside. This design is much more flexible, and permits -builds to be re-used more efficiently so as to reduce overall build time, when -compiling for multiple mainboards. - -U-Boot SPL and UEFI on x86 --------------------------- - -Simon Glass has been working extensively on x86 support for U-Boot, to be used -as a coreboot payload. This work is of interest to the Libreboot project, -because we provide UEFI on ARM but not on x86. - -U-Boot also provides SPL which can be used to execute other software in the -flash, and it's often used to boot a Linux kernel; since U-Boot provides a -UEFI implementation, it's perfect. - -U-Boot is the preferred choice of UEFI implementation on x86, for Libreboot -purposes, because U-Boot uses a coding style similar to Linux and can more -easily import Linux drivers which are high quality, and Linux functionality -in general, for anything that we need. - -Since we already provide U-Boot on ARM (thanks to the continued work done by -Alper Nebi Yasak), U-Boot on x86 would then create a situation whereby Libreboot -is consistent across platforms, at least for UEFI-based setups. +Ariadne Conill has been working on bringup for coreboot. Work also being done +with edk2; U-Boot also desirable here. RockPro64 --------- @@ -445,6 +364,11 @@ For UEFI purposes, U-Boot seems more mature, and it offers other features like SPL. As already stated, this is the preferred UEFI implementation for Libreboot, but uefistub is listed too because it's interesting. +Probably useless, since U-Boot is more complete. We may aswell use U-Boot, but +uefistub will remain mentioned here for the time being. The context for +uefistub is linuxboot-only setups; this is where uefistub can truly shine, +specifically on ARM64 devices. + Videos (plus RISCV) ------ @@ -466,6 +390,10 @@ The talks go all the way back to 2018. They're all worth watching. Linuxboot ========= +**NOTE: Stali Linux is a useful base, on top of which any Linux-based setup +could be built. With a stripped down kernel, it already provides a sensible +build system for ARM64 and AMD64.** + See for inspiration: [Heads project](https://osresearch.net/) and [Ownerboot project](https://sr.ht/~amjoseph/ownerboot/), these are other coreboot distros similar to Libreboot, but they provide Linux-based payloads. From aad0b223e054d0591274dc0fcfa29618fca8933b Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 29 Dec 2024 14:52:45 +0000 Subject: [PATCH 062/279] update t480/3050 errata (tpm and 8254 timer) Signed-off-by: Leah Rowe --- site/docs/install/dell3050.md | 41 +++++++++++++++++++++++++++++++++++ site/docs/install/t480.md | 38 ++++++++++++++++++++++++++++++++ 2 files changed, 79 insertions(+) diff --git a/site/docs/install/dell3050.md b/site/docs/install/dell3050.md index 56008c9..e5f6e98 100644 --- a/site/docs/install/dell3050.md +++ b/site/docs/install/dell3050.md @@ -174,3 +174,44 @@ Observe the following photo of the flash (SOIC-8): You can otherwise flash internally, including from factory firmware(if the service jumper is set). + +Errata +====== + +TPM disabled +------------ + +The TPM is disabled on this device, to prevent hanging/boot delay in SeaBIOS, +due to buggy TPM drivers there. + +Legacy 8254 timer +----------------- + +Legacy 8254 timer enabled in coreboot, to prevent SeaBIOS from hanging. + +HyperThreading on 3050 Micro +-------------------------- + +Also called SMT. This is a feature where you get 2 threads on a single core. +It can improve performance in some workloads, but is actually a performance +liability in others, depending on your OS kernel/scheduler and the actual +workload. + +It is a security liability, due to the Spectre/Meltdown attacks, so we +recommend turning it off, at the very least from your running operating system. +On *this* platform, you can easily turn it off from coreboot. + +**Libreboot disables HyperThreading by default**, from Libreboot 20241206 rev8 +onward, on this board. To turn it back on, please [build from source](../build/) +and before running the build command, do this: + + ./mk -m coreboot t480_vfsp_16mb # replace t480 with t480s if needed + +In the menu that appears, go *Chipset -> Enable Hyperthreading* and turn it on. +Then exit from the menu, saving the config where prompted. You will see this +menu twice, because there are *two* configs for each of these boards. + +SMT is rarely of benefit in practise, but can be useful in some circumstances. +For example, if you're compiling a large codebase from source that takes hours, +SMT increases the building speed by about 15 percent; for example, a 3 hour +build job might take about 2 hours and 40 minutes instead. diff --git a/site/docs/install/t480.md b/site/docs/install/t480.md index f0cb737..48a8880 100644 --- a/site/docs/install/t480.md +++ b/site/docs/install/t480.md @@ -414,6 +414,44 @@ Errata Some features either don't work, or are untested, when running Libreboot on the ThinkPad T480 or T480s. +TPM disabled +------------ + +The TPM is disabled on this device, to prevent hanging/boot delay in SeaBIOS, +due to buggy TPM drivers there. + +Legacy 8254 timer +----------------- + +Legacy 8254 timer enabled in coreboot, to prevent SeaBIOS from hanging. + +HyperThreading on T480/T480s +---------------------- + +Also called SMT. This is a feature where you get 2 threads on a single core. +It can improve performance in some workloads, but is actually a performance +liability in others, depending on your OS kernel/scheduler and the actual +workload. + +It is a security liability, due to the Spectre/Meltdown attacks, so we +recommend turning it off, at the very least from your running operating system. +On *this* platform, you can easily turn it off from coreboot. + +**Libreboot disables HyperThreading by default**, from Libreboot 20241206 rev8 +onward, on this board. To turn it back on, please [build from source](../build/) +and before running the build command, do this: + + ./mk -m coreboot t480_vfsp_16mb # replace t480 with t480s if needed + +In the menu that appears, go *Chipset -> Enable Hyperthreading* and turn it on. +Then exit from the menu, saving the config where prompted. You will see this +menu twice, because there are *two* configs for each of these boards. + +SMT is rarely of benefit in practise, but can be useful in some circumstances. +For example, if you're compiling a large codebase from source that takes hours, +SMT increases the building speed by about 15 percent; for example, a 3 hour +build job might take about 2 hours and 40 minutes instead. + NFC support in T480 ------------------- From 007136a010c4d620d381532914e0d0b60eb79b72 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 29 Dec 2024 15:12:25 +0000 Subject: [PATCH 063/279] thoUART t480 Signed-off-by: Leah Rowe --- site/docs/install/t480.md | 41 +++++++++++++-------------------------- 1 file changed, 14 insertions(+), 27 deletions(-) diff --git a/site/docs/install/t480.md b/site/docs/install/t480.md index 48a8880..d079828 100644 --- a/site/docs/install/t480.md +++ b/site/docs/install/t480.md @@ -356,40 +356,27 @@ the Fn keys for it don't currently work, as of 6 December 2024. You can set the backlight manually, or use a hotkey, depending on your window manager or desktop environment. -UART +UART (T480 only. Not T480S) ---- -To our knowledge, this functionality is *only* available in coreboot-based -firmware such as Libreboot. It is completely unsupported on the original -firmware! +**NOT supported on the S model (T480s). Please only do it on a T480.** -A serial console is possible via the line-out (headphone jack). Not yet tested -on the T480s (S model), nor implemented, but it is working on the regular -T480 (non-S model). +The EC on ThinkPad T480 has a UART available, and it is enabled in coreboot, +as used by Libreboot. However, you must use a *specific* EC firmware version. +Please read notes elsewhere in this page regarding Lenovo UEFI/EC BIOS updates; +an exact version number is referenced, which you must install prior to Libreboot +installation. -**TODO: show photo and wiring diagram here.** +Ways to flash the EC firmware from Libreboot have not yet been established. Now, +please observe the following photo: -Use baud rate 115200 in your favourite serial terminal client, e.g. GNU Screen. +ThinkPad T480 UART jumpers -Next to the headphone jack on the T480, you will find pads for two 0ohm jumpers, -normally unpopulated, but you can bridge each jumper yourself using a 0ohm 0201 -jumper; alternatively, simply strip a bit a wire (30awg solid core) and carefully -solder the wire across each of the pad jumpers, then carefully using a pair -of side cutters to cut off the excess wire, being careful not to rip the pads! +You will solder zero-ohm jumps on the indicated footprints. These correspond +to TX and RX, which are connected to the R and L lines on the headphone jack, +respectively; a ground will also be available. -If you do this, please make sure to have the latest EC firmware as of 5 -December 2024 (do not use older than what was latest on this day, and don't -use newer versions), because the code for this in coreboot targets a specific -area of code within the EC firmware. - -You can then wire a 3.5mm stereo plug. On the other end you will wire your -TX/RX lines as you wish, to a suitable UART adapter; any 3.3v-rated TTL -adapter should work. The Raspberry Pi Pico can be used for this, which is handy -because that can also be used as a serprog-based NOR flasher! - -The T480s (S model) schematics is a bit different and the signals are -properly muxed. Note that this is not to be confused with `spkmodem`, which -has not been tested on these boards (but could theoretically be possible too). +You can hook this up to any 3.3v TTL UART dongle, to get a serial console. Idea for 2nd NVMe mod ---------------------- From 58bab1695b02f1bc5045479330f262a3e8a3a957 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 29 Dec 2024 15:15:17 +0000 Subject: [PATCH 064/279] jumpers, not jumpjumpers, not jumpss Signed-off-by: Leah Rowe --- site/docs/install/t480.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/docs/install/t480.md b/site/docs/install/t480.md index d079828..a9d6131 100644 --- a/site/docs/install/t480.md +++ b/site/docs/install/t480.md @@ -372,7 +372,7 @@ please observe the following photo: ThinkPad T480 UART jumpers -You will solder zero-ohm jumps on the indicated footprints. These correspond +You will solder zero-ohm jumpers on the indicated footprints. These correspond to TX and RX, which are connected to the R and L lines on the headphone jack, respectively; a ground will also be available. From 6447f5d1831f0b431f7f8ff824b403b4c9c73c73 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 29 Dec 2024 15:33:54 +0000 Subject: [PATCH 065/279] also mention that they are 0201 jumpers Signed-off-by: Leah Rowe --- site/docs/install/t480.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/site/docs/install/t480.md b/site/docs/install/t480.md index a9d6131..c442125 100644 --- a/site/docs/install/t480.md +++ b/site/docs/install/t480.md @@ -376,6 +376,10 @@ You will solder zero-ohm jumpers on the indicated footprints. These correspond to TX and RX, which are connected to the R and L lines on the headphone jack, respectively; a ground will also be available. +You must solder the zero-ohm jumpers, for UART to work. They are *0201* type +jumpers, which are extremely small. Please only do this if you have *excellent* +soldering skills because it's easy to goof this up if you're not careful. + You can hook this up to any 3.3v TTL UART dongle, to get a serial console. Idea for 2nd NVMe mod From 19fab472018d2f8315b0236f163b7c7725f575be Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 29 Dec 2024 16:56:19 +0000 Subject: [PATCH 066/279] Notes pertaining to T480/3050 FSP licensing Signed-off-by: Leah Rowe --- site/docs/install/dell3050.md | 66 +++++++++++++++++++++++++++++- site/docs/install/t480.md | 75 ++++++++++++++++++++++++++++++++++- 2 files changed, 138 insertions(+), 3 deletions(-) diff --git a/site/docs/install/dell3050.md b/site/docs/install/dell3050.md index e5f6e98..c41487e 100644 --- a/site/docs/install/dell3050.md +++ b/site/docs/install/dell3050.md @@ -82,7 +82,7 @@ Build ROM image from source The build target, when building from source, is thus: - ./mk -b coreboot dell3050micro_fsp_16mb + ./mk -b coreboot dell3050micro_vfsp_16mb Mate Kukri's *deguard* utility disables the Intel Boot Guard on this machine. Libreboot uses this by default, along with `me_cleaner` to provide @@ -215,3 +215,67 @@ SMT is rarely of benefit in practise, but can be useful in some circumstances. For example, if you're compiling a large codebase from source that takes hours, SMT increases the building speed by about 15 percent; for example, a 3 hour build job might take about 2 hours and 40 minutes instead. + +Intel FSP copyright +=================== + +Abstract +-------- + +The initial Libreboot 20241206 release included Intel FSP directly inside the +ROM images. Intel provides the FSP under a license which states (and I +paraphrase): you must not modify it, but you can redistribute it freely, so +long as the license notice is retained. + +The FSP is a concatenation of three modules: FSP-T, FSP-S and FSP-M. T basically +does CAR, S is essentially romstage components, and M is raminit. Due to how +coreboot works, these components must be split into single components. Coreboot +doesn't use T by default (it implements CAR itself), but has the option to +use it. It will use M and S, only. + +Technically, the process of splitting FSP into these three files counts as +a modification. Furthermore, coreboot also rebases the M module by modifying +certain pointers, so that it can integrate with coreboot to provide raminit. + +Intel *themselves* own the copyright to the tool for splitting FSP, +at `3rdparty/fsp/Tools/SplitFspBin.py`, and it seems that they do intend for +the FSP to be used this way. However, until now, those using the Intel FSP +have built coreboot images from source, so the issue of modified distributions +didn't come up. + +By the strictest possible interpretation of Intel's licensing, Libreboot was +technically in violation. To mitigate this, Libreboot 20241206 *revision 8* and +newer, will no longer include the Intel FSP inside images. Instead, the vendor +inject script is used for inserting the FSP into release images, which is what +we already do for several other components. + +`_fsp` vs `_vfsp` targets +------------------------- + +The original 20241206 release images had `_fsp` in the file name. From rev8 +onward, `_vfsp` is specified instead. + +Libreboot's inject script verifies checksums on files, when inserting into the +images. Because of this, if we inject FSP after the fact, that means anyone +using the old images will find errors when they try. + +To mitigate this, the build targets containing `_fsp` in the name have been +retained, but these targets are set `release="n"` so that no ROM images are +provided in releases. The `_vfsp` images are provided pre-compiled, instead. + +With this re-design, modern lbmk (from Libreboot 20241206 rev8 onward) can still +reliably inject Intel ME into the old `_fsp` images, if you already downloaded +those before. + +Therefore, you must be especially careful to get this right. If you're running +the inject script into a tarball, it will generally detect the right one, but +inserting manually into individual image files is also possible; if you do this, +you must remember to correctly specify `dell3050micro_vfsp_16mb`, +or to specify the `_fsp` targets if you're doing this on older images. + +It is extremely unlikely that Intel would have ever cracked down on Libreboot +for its previous mistake, since many other projects exist that include FSP +directly in coreboot images, even commercially. However, Libreboot wishes to +respect Intel's license, in the +most [technically correct](https://www.youtube.com/watch?v=0ZEuWJ4muYc) way +possible. diff --git a/site/docs/install/t480.md b/site/docs/install/t480.md index c442125..33d1fad 100644 --- a/site/docs/install/t480.md +++ b/site/docs/install/t480.md @@ -127,8 +127,8 @@ Please refer to the standard [build instructions](../build/) first. The build target, when building from source, is thus: - ./mk -b coreboot t480_fsp_16mb - ./mk -b coreboot t480s_fsp_16mb + ./mk -b coreboot t480_vfsp_16mb + ./mk -b coreboot t480s_vfsp_16mb **NOTE: The T480 and T480s may be similar, but they do have several critical differences in their wiring, so you MUST flash the correct image. Please @@ -518,6 +518,14 @@ git add config/coreboot/t480s_fsp_16mb/ git commit -s -m "experimental/unstable t480 thunderbolt support" ``` +**NOTE: With the above change, or if using the branch referenced below, +the build targets will be `t480_fsp_16mb` and `t480s_fsp_16mb`, +not `t480_vfsp_16mb` and `t480s_vfsp_16mb`; see notes regarding fsp/vfsp +elsewhere on this page. This branch also does not contain other fixes from +Libreboot 20231206 rev8/newer, since it's based on 20241206 rev2. A rebase will +not be conducted; instead, ThunderBolt PCI-E support will simply be added in +a subsequent release, and revision to the 20241206 release.** + You can now follow standard [build instructions](../build/). The branch named `20241206-t480-thunderbolt-unstable` already has the above @@ -551,3 +559,66 @@ If you encounter this issue, check\ [this page](../../faq.md#thinkpad-acpi) for details as to how to fix this. +Intel FSP copyright +=================== + +Abstract +-------- + +The initial Libreboot 20241206 release included Intel FSP directly inside the +ROM images. Intel provides the FSP under a license which states (and I +paraphrase): you must not modify it, but you can redistribute it freely, so +long as the license notice is retained. + +The FSP is a concatenation of three modules: FSP-T, FSP-S and FSP-M. T basically +does CAR, S is essentially romstage components, and M is raminit. Due to how +coreboot works, these components must be split into single components. Coreboot +doesn't use T by default (it implements CAR itself), but has the option to +use it. It will use M and S, only. + +Technically, the process of splitting FSP into these three files counts as +a modification. Furthermore, coreboot also rebases the M module by modifying +certain pointers, so that it can integrate with coreboot to provide raminit. + +Intel *themselves* own the copyright to the tool for splitting FSP, +at `3rdparty/fsp/Tools/SplitFspBin.py`, and it seems that they do intend for +the FSP to be used this way. However, until now, those using the Intel FSP +have built coreboot images from source, so the issue of modified distributions +didn't come up. + +By the strictest possible interpretation of Intel's licensing, Libreboot was +technically in violation. To mitigate this, Libreboot 20241206 *revision 8* and +newer, will no longer include the Intel FSP inside images. Instead, the vendor +inject script is used for inserting the FSP into release images, which is what +we already do for several other components. + +`_fsp` vs `_vfsp` targets +------------------------- + +The original 20241206 release images had `_fsp` in the file name. From rev8 +onward, `_vfsp` is specified instead. + +Libreboot's inject script verifies checksums on files, when inserting into the +images. Because of this, if we inject FSP after the fact, that means anyone +using the old images will find errors when they try. + +To mitigate this, the build targets containing `_fsp` in the name have been +retained, but these targets are set `release="n"` so that no ROM images are +provided in releases. The `_vfsp` images are provided pre-compiled, instead. + +With this re-design, modern lbmk (from Libreboot 20241206 rev8 onward) can still +reliably inject Intel ME into the old `_fsp` images, if you already downloaded +those before. + +Therefore, you must be especially careful to get this right. If you're running +the inject script into a tarball, it will generally detect the right one, but +inserting manually into individual image files is also possible; if you do this, +you must remember to correctly specify `t480_vfsp_16mb` or `t480s_vfsp_16mb`, +or to specify the `_fsp` targets if you're doing this on older images. + +It is extremely unlikely that Intel would have ever cracked down on Libreboot +for its previous mistake, since many other projects exist that include FSP +directly in coreboot images, even commercially. However, Libreboot wishes to +respect Intel's license, in the +most [technically correct](https://www.youtube.com/watch?v=0ZEuWJ4muYc) way +possible. From bf443e2e4d1cb0f69ff7cbabc7a79a40aaf26736 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 29 Dec 2024 18:04:10 +0000 Subject: [PATCH 067/279] Rewrote the T480 thunderbolt flashing instructions Signed-off-by: Leah Rowe --- site/docs/install/t480.md | 190 ++++++++++++++++++++++++++++++-------- 1 file changed, 153 insertions(+), 37 deletions(-) diff --git a/site/docs/install/t480.md b/site/docs/install/t480.md index 33d1fad..f028690 100644 --- a/site/docs/install/t480.md +++ b/site/docs/install/t480.md @@ -177,57 +177,173 @@ Thunderbolt issue (READ THIS BEFORE FLASHING) The thunderbolt firmware on launch units had a bug where certain debug info is written on certain events, such as plugging in a charger to the USB-C -connector. This logging is stored in the Thunderbolt firmware's own SPI flash, +connector. Log data is stored in the Thunderbolt firmware's own SPI flash, which is separate from the main SPI flash containing the system firmware e.g. coreboot. -If that flash gets full, thunderbolt (on factory firmware) stops working and -fast charging stops working. It can be prevented by updating the Thunderbolt -firmware. You can do this from Lenovo's firmware, using these instructions: +This photo shows that flash chip on a ThinkPad T480: + +ThinkPad T480 NOR flash (thunderbolt firmware) + +It's also present on the T480S (S model), but in a different location; on +the S model, the main system flash is still located somewhere near the +centre of the board, and the ThunderBolt flash near the edge of the board, as +it is on the T480, but the T480/T480s use slightly different wiring and they +have a slightly different board layout. + +If that flash gets full, thunderbolt PCI-E stops working and fast charging +stops working, but slow charging still works. The issue can be prevented by +updating the firmware. See: If you're already affected by the bug, you can restore it to a working state -by flashing the Thunderbolt firmware externally. For example this is where its -NOR flash is on a T480: +by flashing the Thunderbolt firmware externally. You *cannot* fix the issue +with Lenovo's software-based flasher, if the issue is already present, so +you *must* flash externally in that case; you can also flash externally, even +if the issue is not yet present. -ThinkPad T480 NOR flash (thunderbolt firmware) - -This page shows how to do that: - -\ -**WARNING! Please follow the guide PRECISELY, if you follow it, but please -only follow it if your ThunderBolt is already broken. If it isn't, use -Lenovo's software-based updater. If you do the external method, you MUST be -very careful; the guide there for example says to disable ThunderBolt assist. -It also says to erase first, then flash the `null.bin` (file with zeroes in -it), then BOOT, and when it boots, power off and re-connect clip again and -then flash the padded TBT.bin - whereas, for example, if you simply flashed -a padded TBT.bin and nothing else first, and boot, it will be perma-bricked, -in that the CPU won't come out of reset (it'll bootloop). We don't yet know -how to recover from this brick scenario. So all of this is to say: flashing -the ThunderBolt externally is EXTREMELY HAZARDOUS, and should be done with -the UTMOST CARE, ideally NOT AT ALL. -- ALSO: the guide only covers T480, -but should be similar on T480s and other ThinkPad models.** - -You unbrick the Thunderbolt controller by pulling the firmware from Lenovo's -update, from Lenovo's update utility. Once extracted, you then pad it properly -so that it can be flashed manually, using a normal SPI flasher (the same one -that you would use to flash Libreboot). +The benefit of flashing it *externally* is that you would then no longer need +to boot Windows, because there is currently no way of doing it from Linux, and +Lenovo does not provide a *boot image* like they do for UEFI updates. So, to +use Lenovo's software-based flasher, you must install and boot Windows. We +always recommend using Free Software whenever possible, *so we always recommend +flashing the new firmware externally, as a matter of course.* Use the [25XX NOR flashing guide](spi.md) if you need to flash this chip. It's the same guide that you will use for the main system flash, which is a separate flash IC. -AGAIN: This is not the Libreboot flash IC. This is separate to the system flash. -Read on to know how to reprogram the main system flash! +The firmware can be extracted from Lenovo's updater, specifically the `.exe` +file. For your convenience, lbmk (Libreboot's build system) can download this +for you. Run the following commands in lbmk: -**AGAIN: It is extremely easy to permanently brick the ThunderBolt controller, -rendering your system completely unbootable, if you use the external recovery -method. If you're still able to fix it with a software-based flasher like the -one Lenovo provides, please use that at all - or simply don't fix it at all, -because the machine will at least still charge while it has the ThunderBolt -issue, where older firmware is used.** +(please install [build dependencies](../build/) first) + +Commands: + + ./mk -d coreboot t480s_vfsp_16mb + ./mk -d coreboot t480_vfsp_16mb + +You will find the files at these locations in lbmk: + +* `vendorfiles/t480/tb.bin` +* `vendorfiles/t480s/tb.bin` + +These have already been padded, to the correct size of 1MB, whereas the original +size (within the `.exe` file) was 256KB. + +These files are *also* generated, if you used the `./mk inject` command, +on a pre-compiled release image, as documented [here](ivy_has_common.md). + +**WARNING: DO NOT FLASH IT FIRST; YOU MUST PERFORM SOME PRE-REQUISITE STEPS +FIRST, BEFORE FLASHING `tb.bin`**: + +**Firstly, please note that this procedure has *only* been tested with Lenovo's +UEFI firmware installed on the main flash. Please ensure that you have also +switched Lenovo UEFI/EC firmware to the specific version referenced on this +page, for your board.** - for the rest of this, we will assume that you've not +yet flashed Libreboot, though there's no reason in principle why this can't +also work *after* you've flashed Libreboot; it's just that we only tested it +from Lenovo UEFI firmware. + +Now, *remove* the CR2032 battery (yellow coin-cell battery). Please also ensure +that you've disabled *ThunderBolt Assist* in the Lenovo UEFI setup menu. You +should also disable the internal battery, on T480 specifically (T480s only has +an internal battery). You should do this with no batteries connected anyway. + +Firstly, make *two dumps* of the flash, using [flashprog](spi.md) - and the +linked guide generally tells you how to dump/flash the chip. Make sure both +dumps have the same checksum, using e.g. `sha512sum`. + +Now, *erase* the flash. This example command is when using a Raspberry Pi Pico, +assuming that the device shows up as `/dev/ttyACM0` - please adapt accordingly +to whatever programmer you have: + + flashprog -p serprog:dev=/dev/ttyACM0 -E + +Note that the `-E` argument is what specifies that the chip should be *erased*. + +Now, you must create a file called `null.bin`, which contains all zeroes: + + dd if=/dev/zero of=null.bin bs=1M count=1 + +Please ensure (in hexdump) that the file does contain all zeroes, and that it +is 1MB in size. You will now flash it, again adapting the command below to +whatever programmer you have: + + flashprog -p serprog:dev=/dev/ttyACM0 -w null.bin + +**NOW, REMOVE the clip. Button it back up and turn the T480 on, with both +the battery and the charger connected, plugging in the battery first.** + +It *should* boot up and show the Lenovo boot screen. Give it a few moments. +When you've confirmed that it has booted the Lenovo firmware, *shut down* the +machine and remove the battery / power supply again. It *may take a while* to +boot Lenovo's firmware when doing this, so please be very patient. + +After you've confirmed that the machine boots, I say again: make sure to shut +it down fully, removing all batteries and power supplies. + +It is at this moment that you will externally flash the `tb.bin` file. Please +make sure to flash the correct one for your board: + +* T480: `vendorfiles/t480/tb.bin` +* T480s: `vendorfiles/t480s/tb.bin` + +Libreboot's automated build system has a lot more dependencies. If you want to +avoid installing them, and extract the file manually, you can. Simply download +the `.exe` file and do this: + + innoextract filename.exe + +The `innoextract` utility will probably be available in your distro's package +manager. You can otherwise find it here:\ + - credit goes to Daniel Scharrer for +writing this excellent software. + +A directory will be created with the extracted files. Inside it, you will +find a file named `TBT.bin`. You can pad it like so: + + dd if=/dev/null of=TBT.bin bs=1 seek=1048576 + +Note that the `seek` variable here matching 1MB flash size. If you encounter +a different flash size, adapt accordingly (the same applies when creating +the `null.bin` file). Libreboot's build system makes this size configurable +per board, on the theory that we may encounter other flash sizes in the future, +when we add more ThinkPads of this generation to Libreboot. + +Ok, so you have the file. Now you can flash it. + +Example: + + flashprog -p serprog:dev=/dev/ttyACM0 -w tb.bin + +Adapt `tb.bin` in the command above, to the actual one that you wish to flash. + +You *MUST* do it in the exact order as prescribed above. After flashing +the `tb.bin` image, un-clip and simply re-assemble. After you boot up, it should +once again show the boot screen, and USB-C / ThunderBolt will work perfectly. + +You can repeat the above steps to restore the old firmware version. This is why +you were instructed to make a backup, on the off-chance that you may wish to do +so for some reason in the future. + +Troubleshooting: + +If you accidentally flashed an incorrect firmware image, or you didn't properly +erase and boot first before flashing the new image, you can simply repeat the +steps again; on erase/null, you then boot up and *wait* and it'll eventually +show the boot screen again. If it doesn't work, just keep doing it until it does. + +Credits go +to [Adam McNutt](https://gitlab.com/MobileAZN/lenovo-t480-thunderbolt-firmware-fixes) +who originally provided such instructions, for the ThinkPad T480. The information +there was adapted for *this* guide, in the Libreboot documentation. Libreboot +may very well support other ThinkPads from the same generation, in a future +release after Libreboot 20241206, and many of those have this same issue; when +it does, Libreboot will document this fix for those machines too, and probably +move these instructions to a dedicated page on the website. Flash a ROM image (software) ----------------------- From 0893abd63554d6b71a0b756e0dba7d2ad0428ef4 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Mon, 30 Dec 2024 16:09:16 +0000 Subject: [PATCH 068/279] t480 uart: mention the 115200 baud rate Signed-off-by: Leah Rowe --- site/docs/install/t480.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/site/docs/install/t480.md b/site/docs/install/t480.md index f028690..66be2fe 100644 --- a/site/docs/install/t480.md +++ b/site/docs/install/t480.md @@ -496,7 +496,8 @@ You must solder the zero-ohm jumpers, for UART to work. They are *0201* type jumpers, which are extremely small. Please only do this if you have *excellent* soldering skills because it's easy to goof this up if you're not careful. -You can hook this up to any 3.3v TTL UART dongle, to get a serial console. +You can hook this up to any 3.3v TTL UART dongle, to get a serial console. The +correct baud rate is 115200. Idea for 2nd NVMe mod ---------------------- From 935e5aec1413a7b2d3ddff7d67c8a2974ea5c024 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Mon, 30 Dec 2024 17:28:53 +0000 Subject: [PATCH 069/279] install/spi: Document the Raspberry Pi Pico 2 Signed-off-by: Leah Rowe --- site/docs/install/spi.md | 12 ++++++++++-- site/docs/install/spi.zh-cn.md | 12 ++++++++++-- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/site/docs/install/spi.md b/site/docs/install/spi.md index bee0573..ef47d30 100644 --- a/site/docs/install/spi.md +++ b/site/docs/install/spi.md @@ -40,7 +40,7 @@ dump, erase and rewrite these flash chips. libreboot currently documents how to use these SPI programmers: -* Raspberry Pi Pico +* Raspberry Pi Pico / Pico 2 * Raspberry Pi (RPi) single-board computers * BeagleBone Black (BBB) * Libre Computer 'Le Potato' @@ -65,6 +65,13 @@ is called *external* because it's not the *internal* one on your mainboard. Raspberry Pi Pico ================= +**Pico 2 and other RP2530 dongles also supported, on Libreboot 20241206 rev8 +or higher. Releases before this only supported the original Pico, and other +RP2040 dongles; newer Libreboot releases now support both RP2040 and RP2530.** + +The pinout on Raspberry Pi Pico and Raspberry Pi Pico 2 are identical, but you +must take care to flash the correct image on either device. + ![Left to right: Raspberry Pi Pico and Pico H](https://av.libreboot.org/rpi_pico/two_picos.webp) If you don't already have a programmer, get this one! It's well engineered, @@ -101,7 +108,8 @@ do: This will automatically build the rpi-pico firmware, and the file will be at `bin/serprog_rp2040/serprog_pico.uf2` -and `bin/serprog_rp2040/serprog_pico_w.uf2`. +and `bin/serprog_rp2040/serprog_pico_w.uf2` - images with `pico2` in the +file name are for the Pico 2, and they can also be used. Disconnect the Pico and proceed to wire it to your [flash chip](/docs/install/spi.html#identify-which-flash-type-you-have). diff --git a/site/docs/install/spi.zh-cn.md b/site/docs/install/spi.zh-cn.md index 44f1a92..6cc0784 100644 --- a/site/docs/install/spi.zh-cn.md +++ b/site/docs/install/spi.zh-cn.md @@ -27,7 +27,7 @@ Introduction libreboot 目前记录了这些 SPI 编程器的使用方法: -* Raspberry Pi Pico +* Raspberry Pi Pico / Pico 2 * 树莓派(Raspberry Pi,RPi) * BeagleBone Black(BBB) * Libre Computer 'Le Potato' @@ -43,6 +43,13 @@ libreboot 目前记录了这些 SPI 编程器的使用方法: Raspberry Pi Pico ================= +**Pico 2 and other RP2530 dongles also supported, on Libreboot 20241206 rev8 +or higher. Releases before this only supported the original Pico, and other +RP2040 dongles; newer Libreboot releases now support both RP2040 and RP2530.** + +The pinout on Raspberry Pi Pico and Raspberry Pi Pico 2 are identical, but you +must take care to flash the correct image on either device. + ![Left to right: Raspberry Pi Pico and Pico H](https://av.libreboot.org/rpi_pico/two_picos.webp) If you don't already have a programmer, get this one! It's well engineered, @@ -75,7 +82,8 @@ do: This will automatically build the rpi-pico firmware, and the file will be at `bin/serprog_rp2040/serprog_pico.uf2` -and `bin/serprog_rp2040/serprog_pico_w.uf2`. +and `bin/serprog_rp2040/serprog_pico_w.uf2` - images with `pico2` in the +file name are for the Pico 2, and they can also be used. Disconnect the Pico and proceed to wire it to your [flash chip](/docs/install/spi.html#identify-which-flash-type-you-have). From 32c80dae9c9f370cbf205dae409dbd17d7a3591f Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Tue, 31 Dec 2024 15:20:18 +0000 Subject: [PATCH 070/279] mention refcode fix for hp 820 g2 Signed-off-by: Leah Rowe --- site/docs/install/hp820g2.md | 35 ++++++++++++++++++++++++++++------- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/site/docs/install/hp820g2.md b/site/docs/install/hp820g2.md index 966bca9..afd6454 100644 --- a/site/docs/install/hp820g2.md +++ b/site/docs/install/hp820g2.md @@ -73,13 +73,34 @@ Please build this from source with lbmk: ./mk -b coreboot hp820g2_12mb More information is available in the [build guide](../build/), including how -to install build dependencies. Building from source is required, because there -aren't any ROM images for this board, in regular Libreboot releases. The -reason is that the vendor inject scripts don't currently work, because coreboot -compresses the refcode when inserting it at build time, and the process of -compression is not yet reproducible; it's not feasible to do so, and making -it not be compressed in flash would not be ideal either, so this is simply -a source-only port in Libreboot. +to install build dependencies. + +Pre-compiled images now possible! +-------------------------------- + +From Libreboot 20241206 **revision 8** onwards, pre-compiled ROM images *are* +now available. Previous releases excluded images for this board, because vendor +file insertion was not reproducible, so you would get checksum errors. This +has been fixed with the following patch: + + + +The refcode is inserted uncompressed, whereas upstream uses LZMA compression. +We can't predict how the implementation will change in the future, and any +behavioural changes would probably affect the checksum on insertion. Older +releases also didn't handle `rmodtool` on refcode insertion, which is used +to make the file relocatable in CBFS. See: + + + +As of Libreboot 20241206 rev8, you can now use pre-compiled release images +and [insert vendor files](ivy_has_common.md). + +The lack of refcode compression costs about 110KB, because the refcode file is +about 180KB uncompressed, but would be about 70KB compressed in flash. We +insert it uncompressed, so it's 180KB in flash. This is a small sacrifice, +considering that you still have about 10MB of unused flash space left, at least +as of the 20241206 rev8 release. HP Sure Start ============= From 3b55fca2c913f5875860fc1397f0b316aa249727 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Tue, 31 Dec 2024 15:44:26 +0000 Subject: [PATCH 071/279] document t480/3050 pmc config Signed-off-by: Leah Rowe --- site/docs/install/dell3050.md | 22 ++++++++++++++++++++++ site/docs/install/t480.md | 22 ++++++++++++++++++++++ 2 files changed, 44 insertions(+) diff --git a/site/docs/install/dell3050.md b/site/docs/install/dell3050.md index c41487e..2b5f9f3 100644 --- a/site/docs/install/dell3050.md +++ b/site/docs/install/dell3050.md @@ -178,6 +178,28 @@ service jumper is set). Errata ====== +Power-on after power failure +---------------------------- + +Older Libreboot revisions made this machine always turn on, when plugging in +a power supply (charger brick), if a previous power loss was observed. This is +because coreboot sets a special register in the PMC that configures such +behaviour, but it was hardcoded to always-on. This is undesirable for most +people, so Libreboot 20241206 *revision 8* and newer releases contain the +following modification: + + + +If you wish to modify this behaviour again, you could modify the patch +referenced there; the actual location of the `.patch` file may change over +time, so you can basically just modify the coreboot source file +at `src/soc/intel/common/block/pmc/pmclib.c` (for the coreboot tree +under `src/coreboot/` in lbmk, pertaining to your board, which can be determined +by reading the `tree` variable in your board's `target.cfg` file within lbmk). + +Use the patch as reference, to modify the coreboot behaviour as you wish, and +re-compile [from source](../build/). + TPM disabled ------------ diff --git a/site/docs/install/t480.md b/site/docs/install/t480.md index 66be2fe..eada576 100644 --- a/site/docs/install/t480.md +++ b/site/docs/install/t480.md @@ -522,6 +522,28 @@ Errata Some features either don't work, or are untested, when running Libreboot on the ThinkPad T480 or T480s. +Power-on after power failure +---------------------------- + +Older Libreboot revisions made this machine always turn on, when plugging in +a power supply (charger brick), if a previous power loss was observed. This is +because coreboot sets a special register in the PMC that configures such +behaviour, but it was hardcoded to always-on. This is undesirable for most +people, so Libreboot 20241206 *revision 8* and newer releases contain the +following modification: + + + +If you wish to modify this behaviour again, you could modify the patch +referenced there; the actual location of the `.patch` file may change over +time, so you can basically just modify the coreboot source file +at `src/soc/intel/common/block/pmc/pmclib.c` (for the coreboot tree +under `src/coreboot/` in lbmk, pertaining to your board, which can be determined +by reading the `tree` variable in your board's `target.cfg` file within lbmk). + +Use the patch as reference, to modify the coreboot behaviour as you wish, and +re-compile [from source](../build/). + TPM disabled ------------ From 8cdb2f257cca740e90d06e9b3fdaa6974a71c835 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Tue, 31 Dec 2024 20:27:34 +0000 Subject: [PATCH 072/279] docs/build,ivy_common: mention cryptfs bug 139 characters is so 1992 Signed-off-by: Leah Rowe --- site/docs/build/index.md | 10 ++++++++++ site/docs/install/ivy_has_common.md | 10 ++++++++++ 2 files changed, 20 insertions(+) diff --git a/site/docs/build/index.md b/site/docs/build/index.md index 06ddc41..f16cf33 100644 --- a/site/docs/build/index.md +++ b/site/docs/build/index.md @@ -3,6 +3,16 @@ title: Build from source x-toc-enable: true ... +WARNING: cryptfs file name limits +================================= + +Do not run the build system on a cryptfs file system, because it has +very short file name limits and Libreboot's build system deals with very +long file names. We commonly get reports from this by Linux Mint users +who encrypt their home directory with cryptfs; use a serious distro like +Debian or Arch please. And use a decent file system; zfs or perhaps mdcrypt +with btrfs will do nicely. + WARNING: Flash from bin/, NOT elf/ ================================== diff --git a/site/docs/install/ivy_has_common.md b/site/docs/install/ivy_has_common.md index 0fb7b51..cff5b1f 100644 --- a/site/docs/install/ivy_has_common.md +++ b/site/docs/install/ivy_has_common.md @@ -3,6 +3,16 @@ title: Insert vendor files not included in release images x-toc-enable: true ... +WARNING: cryptfs file name limits +================================= + +Do not run the build system on a cryptfs file system, because it has +very short file name limits and Libreboot's build system deals with very +long file names. We commonly get reports from this by Linux Mint users +who encrypt their home directory with cryptfs; use a serious distro like +Debian or Arch please. And use a decent file system; zfs or perhaps mdcrypt +with btrfs will do nicely. + **Install build dependencies first** ================================ From ab51fb8ba6ad6b938ae4f22d46c49c9cd426db55 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Tue, 31 Dec 2024 21:43:01 +0000 Subject: [PATCH 073/279] t's eCryptfs, not cryptfs Signed-off-by: Leah Rowe --- site/docs/build/index.md | 4 ++-- site/docs/install/ivy_has_common.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/site/docs/build/index.md b/site/docs/build/index.md index f16cf33..9563af7 100644 --- a/site/docs/build/index.md +++ b/site/docs/build/index.md @@ -3,10 +3,10 @@ title: Build from source x-toc-enable: true ... -WARNING: cryptfs file name limits +WARNING: eCryptfs file name limits ================================= -Do not run the build system on a cryptfs file system, because it has +Do not run the build system on a eCryptfs file system, because it has very short file name limits and Libreboot's build system deals with very long file names. We commonly get reports from this by Linux Mint users who encrypt their home directory with cryptfs; use a serious distro like diff --git a/site/docs/install/ivy_has_common.md b/site/docs/install/ivy_has_common.md index cff5b1f..db64483 100644 --- a/site/docs/install/ivy_has_common.md +++ b/site/docs/install/ivy_has_common.md @@ -3,10 +3,10 @@ title: Insert vendor files not included in release images x-toc-enable: true ... -WARNING: cryptfs file name limits +WARNING: eCryptfs file name limits ================================= -Do not run the build system on a cryptfs file system, because it has +Do not run the build system on a eCryptfs file system, because it has very short file name limits and Libreboot's build system deals with very long file names. We commonly get reports from this by Linux Mint users who encrypt their home directory with cryptfs; use a serious distro like From c5273bc020247c78a3e406df2b330d1c7ed04506 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Tue, 31 Dec 2024 21:44:38 +0000 Subject: [PATCH 074/279] remove obsolete note Signed-off-by: Leah Rowe --- site/docs/build/index.md | 12 ------------ site/docs/build/index.uk.md | 20 ++++++++------------ 2 files changed, 8 insertions(+), 24 deletions(-) diff --git a/site/docs/build/index.md b/site/docs/build/index.md index 9563af7..e6316df 100644 --- a/site/docs/build/index.md +++ b/site/docs/build/index.md @@ -13,18 +13,6 @@ who encrypt their home directory with cryptfs; use a serious distro like Debian or Arch please. And use a decent file system; zfs or perhaps mdcrypt with btrfs will do nicely. -WARNING: Flash from bin/, NOT elf/ -================================== - -**WARNING: When you build a ROM image from the Libreboot build system, please -ensure that you flash the appropriate ROM image from `bin/`, NOT `elf/`. -The `elf/` coreboot ROMs do not contain payloads. Libreboot's build system -builds no-payload ROMs under `elf/`, and payloads separately under `elf/`. Then -it copies from `elf/` and inserts payloads from `elf/`, and puts the final ROM -images (containing payloads) in `bin/`. This design is more efficient, and -permits many configurations without needless duplication of work. More info -is available in the [lbmk maintenance manual](../maintain/)** - Introduction ============ diff --git a/site/docs/build/index.uk.md b/site/docs/build/index.uk.md index a2df30d..fb2b658 100644 --- a/site/docs/build/index.uk.md +++ b/site/docs/build/index.uk.md @@ -3,19 +3,15 @@ title: Побудова з джерельного коду x-toc-enable: true ... -WARNING: Flash from bin/, NOT elf/ -================================== +WARNING: eCryptfs file name limits +================================= -TODO: translate this section into ukrainian language - -**WARNING: When you build a ROM image from the Libreboot build system, please -ensure that you flash the appropriate ROM image from `bin/`, NOT `elf/`. -The `elf/` coreboot ROMs do not contain payloads. Libreboot's build system -builds no-payload ROMs under `elf/`, and payloads separately under `elf/`. Then -it copies from `elf/` and inserts payloads from `elf/`, and puts the final ROM -images (containing payloads) in `bin/`. This design is more efficient, and -permits many configurations without needless duplication of work. More info -is available in the [lbmk maintenance manual](../maintain/)** +Do not run the build system on a eCryptfs file system, because it has +very short file name limits and Libreboot's build system deals with very +long file names. We commonly get reports from this by Linux Mint users +who encrypt their home directory with cryptfs; use a serious distro like +Debian or Arch please. And use a decent file system; zfs or perhaps mdcrypt +with btrfs will do nicely. Introduction ============ From 965baf9bb0b16f10bd9cefc2bcd4115ca7408246 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Tue, 31 Dec 2024 21:46:55 +0000 Subject: [PATCH 075/279] another typo Signed-off-by: Leah Rowe --- site/docs/build/index.md | 2 +- site/docs/build/index.uk.md | 2 +- site/docs/install/ivy_has_common.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/site/docs/build/index.md b/site/docs/build/index.md index e6316df..f74faf4 100644 --- a/site/docs/build/index.md +++ b/site/docs/build/index.md @@ -10,7 +10,7 @@ Do not run the build system on a eCryptfs file system, because it has very short file name limits and Libreboot's build system deals with very long file names. We commonly get reports from this by Linux Mint users who encrypt their home directory with cryptfs; use a serious distro like -Debian or Arch please. And use a decent file system; zfs or perhaps mdcrypt +Debian or Arch please. And use a decent file system; ZFS or perhaps LUKS with btrfs will do nicely. Introduction diff --git a/site/docs/build/index.uk.md b/site/docs/build/index.uk.md index fb2b658..6a58bfb 100644 --- a/site/docs/build/index.uk.md +++ b/site/docs/build/index.uk.md @@ -10,7 +10,7 @@ Do not run the build system on a eCryptfs file system, because it has very short file name limits and Libreboot's build system deals with very long file names. We commonly get reports from this by Linux Mint users who encrypt their home directory with cryptfs; use a serious distro like -Debian or Arch please. And use a decent file system; zfs or perhaps mdcrypt +Debian or Arch please. And use a decent file system; ZFS or perhaps LUKS with btrfs will do nicely. Introduction diff --git a/site/docs/install/ivy_has_common.md b/site/docs/install/ivy_has_common.md index db64483..223491c 100644 --- a/site/docs/install/ivy_has_common.md +++ b/site/docs/install/ivy_has_common.md @@ -10,7 +10,7 @@ Do not run the build system on a eCryptfs file system, because it has very short file name limits and Libreboot's build system deals with very long file names. We commonly get reports from this by Linux Mint users who encrypt their home directory with cryptfs; use a serious distro like -Debian or Arch please. And use a decent file system; zfs or perhaps mdcrypt +Debian or Arch please. And use a decent file system; ZFS or perhaps LUKS with btrfs will do nicely. **Install build dependencies first** From 2c7d4c4df855f85f18ef5998b54ce423d543bfa4 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Tue, 31 Dec 2024 23:58:10 +0000 Subject: [PATCH 076/279] correction Signed-off-by: Leah Rowe --- site/docs/linux/grub_hardening.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/site/docs/linux/grub_hardening.md b/site/docs/linux/grub_hardening.md index 903ee9c..00d438b 100644 --- a/site/docs/linux/grub_hardening.md +++ b/site/docs/linux/grub_hardening.md @@ -239,8 +239,8 @@ For your board's `target.cfg`, add this: E.g. `config/coreboot/x200_8mb/target.cfg` You should only do this on setups that have native graphics initialisation -e.g. Intel graphics, or where no VGA/GOP ROM is required either on-card or -in the flash (e.g. Intel graphics on Alderlake machines). +e.g. Intel graphics (or FSP-based Intel graphics initialisation like on +Alderlake which sets up a similar framebuffer). If you can't use GRUB as a primary payload, then you can use SeaGRUB as above and disable the SeaBIOS menu, making SeaBIOS load only GRUB; SeaGRUB is useful From a1ff143fe641f7e79a19372ca5ed0dbf3c3c06f3 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Wed, 1 Jan 2025 16:52:00 +0000 Subject: [PATCH 077/279] docs/build: Mention MIPS XGCC for PCSX-Redux BIOS Signed-off-by: Leah Rowe --- site/docs/build/index.md | 16 ++++++++++++++++ site/docs/build/index.uk.md | 31 ++++++++++++------------------- 2 files changed, 28 insertions(+), 19 deletions(-) diff --git a/site/docs/build/index.md b/site/docs/build/index.md index f74faf4..ad3a168 100644 --- a/site/docs/build/index.md +++ b/site/docs/build/index.md @@ -23,6 +23,22 @@ libreboot from the available source code. The following document describes how `lbmk` works, and how you can make changes to it: [libreboot maintenance manual](../maintain/) +MIPS cross compiler +=================== + +Libreboot has support for the Sony PlayStation (PS1/PSX), based on +the PCSX-Redux Open BIOS. If you're doing a full release build, and/or +specifically building the PSX BIOS, you need a MIPS cross compiler. + +Arch-based systems have a mipsel cross compiler available from AUR, and most +Debian-based systems have a mipsel cross compiler in apt; for these, the normal +dependencies installation command will provide them. We know Void Linux and +Fedora don't have a MIPS compiler, for instance. + +If your distro doesn't have the MIPS compiler available, +the [PlayStation](../install/playstation.md) page provides instructions for +manual installation; please do this in addition to the normal dependencies. + Multi-threaded builds ===================== diff --git a/site/docs/build/index.uk.md b/site/docs/build/index.uk.md index 6a58bfb..21f727c 100644 --- a/site/docs/build/index.uk.md +++ b/site/docs/build/index.uk.md @@ -31,28 +31,21 @@ libreboot з доступного джерельного коду. Наступний документ описує те, як працює `lbmk`, і як ви можете робити зміни до нього: [керівництво обслуговування libreboot](../maintain/) -Release status -============== +MIPS cross compiler +=================== -Information about status will be reported during builds; if a board is -marked as stable, the build proceeds without further input. If the board is -marked anything other, a warning appears asking if you wish to proceed; to -disable these warnings, do this before building (not recommended): +Libreboot has support for the Sony PlayStation (PS1/PSX), based on +the PCSX-Redux Open BIOS. If you're doing a full release build, and/or +specifically building the PSX BIOS, you need a MIPS cross compiler. - export XBMK_STATUS=n +Arch-based systems have a mipsel cross compiler available from AUR, and most +Debian-based systems have a mipsel cross compiler in apt; for these, the normal +dependencies installation command will provide them. We know Void Linux and +Fedora don't have a MIPS compiler, for instance. -In Libreboot, we specify: `stable`, `unstable`, `broken` or `untested`. -The "unstable" marking means that the board boots mostly/entirely reliably -annd should be safe to use, but may have a few issues, but nothing which would, -for example, cause safety issues e.g. thermal, data reliability etc. - -The `broken` setting means that a given board will likely brick if flashed. -The `untested` setting means untested. - -Release status is always set with regards to the current lbmk revision, on -the theory that the current revision is being used to generate a full release. -The setting is decided on a board-by-board basis, taking its various quirks -and idiosynrasies into account. +If your distro doesn't have the MIPS compiler available, +the [PlayStation](../install/playstation.md) page provides instructions for +manual installation; please do this in addition to the normal dependencies. Multi-threaded builds ===================== From 4d7f0dbb9dd5ad1c84adc9d40fbb36f44ec5a557 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Wed, 1 Jan 2025 16:53:19 +0000 Subject: [PATCH 078/279] XBMK_THREADS, not LBMK_THREADS Signed-off-by: Leah Rowe --- site/docs/build/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/docs/build/index.md b/site/docs/build/index.md index ad3a168..adf5ea1 100644 --- a/site/docs/build/index.md +++ b/site/docs/build/index.md @@ -59,7 +59,7 @@ Environmental variables Please read about environmental variables in [the build instructions](../maintain/), before running lbmk. You should set your variables accordingly, though you do not technically need to; some -of them may be useful, e.g. `LBMK_THREADS` (sets the number of build threads). +of them may be useful, e.g. `XBMK_THREADS` (sets the number of build threads). Sources ======= From 6c57ce1586aebdbc79255f1cc023e3eca1e494b4 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Wed, 1 Jan 2025 17:09:20 +0000 Subject: [PATCH 079/279] docs/build: Update fedora38 reference to fedora41 Signed-off-by: Leah Rowe --- site/docs/build/index.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/site/docs/build/index.md b/site/docs/build/index.md index adf5ea1..8508c9a 100644 --- a/site/docs/build/index.md +++ b/site/docs/build/index.md @@ -157,12 +157,16 @@ or or - ./mk dependencies fedora38 + ./mk dependencies fedora41 or ./mk dependencies arch +NOTE: For versioned files, such as `fedora41`, typically other versions will +be available too, e.g. `fedora38`. Make sure to check `config/dependencies/`, +so that you know whether or not a file is available for your distro. + NOTE: In case of Ubuntu 20.04 LTS or derived distros for that specific release, use the dedicated configuration file: From c3ad859ea09a00ad6d2709d109daf1d63ab2bdf3 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Fri, 3 Jan 2025 01:07:20 +0000 Subject: [PATCH 080/279] update the freedom-status page Signed-off-by: Leah Rowe --- site/freedom-status.md | 13 ++++++++++++- site/freedom-status.uk.md | 13 ++++++++++++- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/site/freedom-status.md b/site/freedom-status.md index a1f67d0..8a1dc3d 100644 --- a/site/freedom-status.md +++ b/site/freedom-status.md @@ -240,13 +240,16 @@ Intel/x86 Neutered ME required on these targets: -`dell9020mt_nri_12mb`, `dell9020sff_nri_12mb`, `e5420_6mb`, `e5520_6mb`, `e5530_12mb`, `e6220_10mb`, `e6230_12mb`, `e6320_10mb`, `e6330_12mb`, `e6420_10mb`, `e6430_12mb`, `e6520_10mb`, `e6530_12mb`, `hp2170p_16mb`, `hp2560p_8mb`, `hp2570p_16mb`, `hp8200sff_4mb`, `hp8200sff_8mb`, `hp820g2_12mb`, `hp8300cmt_16mb`, `hp8300usdt_16mb`, `hp8460pintel_8mb`, `hp8470pintel_16mb`, `hp8560w_8mb`, `hp9470m_16mb`, `t1650_12mb`, `t420_8mb`, `t420s_8mb`, `t430_12mb`, `t440plibremrc_12mb`, `t520_8mb`, `t530_12mb`, `w530_12mb`, `w541_12mb`, `x220_8mb`, `x230_12mb`, `x230_16mb`, `x230t_12mb`, `x230t_16mb` +`dell9020mt_nri_12mb`, `dell9020sff_nri_12mb`, `e5420_6mb`, `e5520_6mb`, `e5530_12mb`, `e6220_10mb`, `e6230_12mb`, `e6320_10mb`, `e6330_12mb`, `e6420_10mb`, `e6430_12mb`, `e6520_10mb`, `e6530_12mb`, `hp2170p_16mb`, `hp2560p_8mb`, `hp2570p_16mb`, `hp8200sff_4mb`, `hp8200sff_8mb`, `hp820g2_12mb`, `hp8300cmt_16mb`, `hp8300usdt_16mb`, `hp8460pintel_8mb`, `hp8470pintel_16mb`, `hp8560w_8mb`, `hp9470m_16mb`, `t1650_12mb`, `t420_8mb`, `t420s_8mb`, `t430_12mb`, `t440plibremrc_12mb`, `t520_8mb`, `t530_12mb`, `w530_12mb`, `w541_12mb`, `x220_8mb`, `x230_12mb`, `x230_16mb`, `x230t_12mb`, `x230t_16mb`, `dell3050micro_fsp_16mb`, `dell3050micro_vfsp_16mb`, `t480_fsp_16mb`, `t480_vfsp_16mb`, `t480s_fsp_16mb`, `t480s_vfsp_16mb` As stated, Libreboot provides this in a state where the ME is no longer a threat to security. It initialises itself, but then does nothing, so it's disabled. This is done using `me_cleaner`. See: +On MEv11-based platforms, such as the ThinkPad T480 and Dell OptiPlex 3050 Micro, +we also use [deguard](docs/install/deguard.md) to disable the Intel Boot Guard. + ### KBC1126 EC firmware (HP laptops): This applies to the following targets: `hp2170p_16mb`, `hp2560p_8mb`, @@ -261,6 +264,14 @@ it during the build process. Libreboot 20230423 onwards does scrub EC firmware and provide functionality in a special script, to insert them with `cbfstool` at the correct offset as defined by coreboot config for each board. +### Intel FSP + +Provides romstage and raminit, used by coreboot on some boards. In Libreboot, +we use it for the following build targets: + +`t480_fsp_16mb`, `t480_vfsp_16mb`, `t480s_fsp_16mb`, `t480s_vfsp_16mb`, +`dell3050micro_fsp_16mb`, `dell3050micro_vfsp_16mb` + ### SMSC SCH5545 Environmental Control This is a tiny firmware required for fan control, on Dell Precision T1650. diff --git a/site/freedom-status.uk.md b/site/freedom-status.uk.md index df989c1..1132e8d 100644 --- a/site/freedom-status.uk.md +++ b/site/freedom-status.uk.md @@ -331,13 +331,16 @@ Intel/x86 Нейтралізований ME потрібен на цих цілях: -`dell9020mt_nri_12mb`, `dell9020sff_nri_12mb`, `e5420_6mb`, `e5520_6mb`, `e5530_12mb`, `e6220_10mb`, `e6230_12mb`, `e6320_10mb`, `e6330_12mb`, `e6420_10mb`, `e6430_12mb`, `e6520_10mb`, `e6530_12mb`, `hp2170p_16mb`, `hp2560p_8mb`, `hp2570p_16mb`, `hp8200sff_4mb`, `hp8200sff_8mb`, `hp820g2_12mb`, `hp8300cmt_16mb`, `hp8300usdt_16mb`, `hp8460pintel_8mb`, `hp8470pintel_16mb`, `hp8560w_8mb`, `hp9470m_16mb`, `t1650_12mb`, `t420_8mb`, `t420s_8mb`, `t430_12mb`, `t440plibremrc_12mb`, `t520_8mb`, `t530_12mb`, `w530_12mb`, `w541_12mb`, `x220_8mb`, `x230_12mb`, `x230_16mb`, `x230t_12mb`, `x230t_16mb` +`dell9020mt_nri_12mb`, `dell9020sff_nri_12mb`, `e5420_6mb`, `e5520_6mb`, `e5530_12mb`, `e6220_10mb`, `e6230_12mb`, `e6320_10mb`, `e6330_12mb`, `e6420_10mb`, `e6430_12mb`, `e6520_10mb`, `e6530_12mb`, `hp2170p_16mb`, `hp2560p_8mb`, `hp2570p_16mb`, `hp8200sff_4mb`, `hp8200sff_8mb`, `hp820g2_12mb`, `hp8300cmt_16mb`, `hp8300usdt_16mb`, `hp8460pintel_8mb`, `hp8470pintel_16mb`, `hp8560w_8mb`, `hp9470m_16mb`, `t1650_12mb`, `t420_8mb`, `t420s_8mb`, `t430_12mb`, `t440plibremrc_12mb`, `t520_8mb`, `t530_12mb`, `w530_12mb`, `w541_12mb`, `x220_8mb`, `x230_12mb`, `x230_16mb`, `x230t_12mb`, `x230t_16mb`, `dell3050micro_fsp`, `dell3050micro_vfsp_16mb`, `t480_fsp_16mb`, `t480_vfsp_16mb`, `t480s_fsp_16mb`, `t480s_vfsp_16mb` Як заявлено, Libreboot надає це в стані, де ME більше не є загрозою для безпеки. Він ініціалізує себе, але потім нічого не робить, тому його вимкнено. Це зроблено використовуючи `me_cleaner`. Дивіться: +On MEv11-based platforms, such as the ThinkPad T480 and Dell OptiPlex 3050 Micro, +we also use [deguard](docs/install/deguard.md) to disable the Intel Boot Guard. + ### KBC1126 EC firmware (HP laptops): This applies to the following targets: `hp2170p_16mb`, `hp2560p_8mb`, @@ -352,6 +355,14 @@ it during the build process. Libreboot 20230423 onwards does scrub EC firmware and provide functionality in a special script, to insert them with `cbfstool` at the correct offset as defined by coreboot config for each board. +### Intel FSP + +Provides romstage and raminit, used by coreboot on some boards. In Libreboot, +we use it for the following build targets: + +`t480_fsp_16mb`, `t480_vfsp_16mb`, `t480s_fsp_16mb`, `t480s_vfsp_16mb`, +`dell3050micro_fsp_16mb`, `dell3050micro_vfsp_16mb` + ### SMSC SCH5545 Environmental Control This is a tiny firmware required for fan control, on Dell Precision T1650. From 9d018b474a661b8ca3f69843ce4d2c7702435462 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Fri, 3 Jan 2025 05:24:44 +0000 Subject: [PATCH 081/279] update the vendorfile injection guide the script was re-written recently, adding a bunch of safety changes. Signed-off-by: Leah Rowe --- site/docs/install/dell3050.md | 6 - site/docs/install/ivy_has_common.md | 187 +++++++++++++++++++++------- site/docs/install/latitude.md | 2 +- site/docs/install/t420_external.md | 24 +--- site/docs/install/t440p_external.md | 31 +---- site/docs/install/t480.md | 13 ++ site/docs/install/w541_external.md | 32 +---- site/docs/install/x230_external.md | 31 +---- site/docs/maintain/index.md | 3 +- site/news/e6400nvidia.md | 13 ++ 10 files changed, 190 insertions(+), 152 deletions(-) diff --git a/site/docs/install/dell3050.md b/site/docs/install/dell3050.md index 2b5f9f3..2581234 100644 --- a/site/docs/install/dell3050.md +++ b/site/docs/install/dell3050.md @@ -289,12 +289,6 @@ With this re-design, modern lbmk (from Libreboot 20241206 rev8 onward) can still reliably inject Intel ME into the old `_fsp` images, if you already downloaded those before. -Therefore, you must be especially careful to get this right. If you're running -the inject script into a tarball, it will generally detect the right one, but -inserting manually into individual image files is also possible; if you do this, -you must remember to correctly specify `dell3050micro_vfsp_16mb`, -or to specify the `_fsp` targets if you're doing this on older images. - It is extremely unlikely that Intel would have ever cracked down on Libreboot for its previous mistake, since many other projects exist that include FSP directly in coreboot images, even commercially. However, Libreboot wishes to diff --git a/site/docs/install/ivy_has_common.md b/site/docs/install/ivy_has_common.md index 223491c..c7fc9de 100644 --- a/site/docs/install/ivy_has_common.md +++ b/site/docs/install/ivy_has_common.md @@ -3,6 +3,13 @@ title: Insert vendor files not included in release images x-toc-enable: true ... +**PLEASE MAKE SURE you read and follow the instructions on this page, prior +to flashing Libreboot, if required for your mainboard; failure to heed this +warning can and will result in a soft-brick, which would then necessitate +recovery via [external flashing](spi.md) - regardless, you are advised to +also read the external flashing guide just in caes, and have an external +flasher handy in case you need it.** + WARNING: eCryptfs file name limits ================================= @@ -45,22 +52,22 @@ on HP EliteBooks), VGA ROMs (e.g. Nvidia GPU ROM for Dell Latitude E6400), and so on. Without these, your machine may not boot correctly, or not boot at all! -The same logic can be used after the fact, to re-download and re-insert these -files; the page that you're reading now will tell you how to do so. +If in doubt, you should simply follow these instructions. If your board +doesn't need vendor files, the tar archive won't be modified. -*If in doubt, just follow these instructions anyway; if your board doesn't need -vendor files inserted, nothing will happen. You only need to follow this guide -if you use release ROMs; if you're building directly from source, using the -Libreboot build system, then you can just flash the result.* +MAC address +----------- -Injecting vendor files ROMs tarball +Regardless of whether your board needs vendorfiles or not, you can also use +this command to change the MAC address on systems with Intel GbE regions in +the flash, where an Intel gigabit ethernet device is used. + +For example, a Lenovo ThinkPad X200 doesn't need any files added, but can still +have the mac address changed; please continue reading! + +Injecting vendor files into tarballs ------------------------------------ -You must determine the correct board name, for your board, based on the list -generated when running this command: - - ./mk -b coreboot list - In order to inject the necessary files into a rom image, run the script from the root of lbmk and point to the rom image. If you only wish to flash a release rom then the process of injecting the necessary files is quite simple. @@ -68,51 +75,125 @@ Run the injection script pointing to the release archive you downloaded: ./mk inject libreboot-RELEASE_targetname.tar.xz +Where a GbE region is present in the flash, you can also use the above command +to change the MAC address, by modifying it like so: + + ./mk inject libreboot-RELEASE_targetname.tar.xz setmac + +Note that `setmac`, without additional argument, will *randomise* the MAC +address, setting a *local*, *unicast* MAC address. You can specify a custom +MAC address, like so: + + ./mk inject libreboot-RELEASE_targetname.tar.xz setmac 00:1f:16:00:01:02 + +The above MAC address is a random example; please make sure to use one that matches +your board, if you wish. You can also use randomisation this way; the `?` character +will be randomised, e.g.: + + ./mk inject libreboot-RELEASE_targetname.tar.xz setmac ??:??:??:??:??:?? + +You can mix and match arbitrary characters with random ones, e.g.: + + ./mk inject libreboot-RELEASE_targetname.tar.xz setmac 0?:??:12:?a:6?:69 + The script can automatically detect the board as long as you do not change the file name. -You can then find flash-ready ROMs in `/bin/release/` -*This is the recommended way to do it, injecting into the tarball.* +On Libreboot 20241206 rev8 or newer, releases newer than the 20241206 series, +and in the latest lbmk Git repository branch revisions (`master` branch), the +commands above *directly modify the tarball*. -Injecting vendor files into single ROMs ---------------------------------------- +Older versions left the tarball unmodified, and extracted the modified images +to `bin/release/` - on current behaviour, you inject the tarball and then +extract the tarball yourself afterward, to flash the modified images. -**You are strongly advised only to insert it on the tarball, because then -checksums are verified to ensure that the vendor files were inserted correctly. -Otherwise, you can do it manually on each individual image, specifying the -board name with the instructions provided below:** +Behaviour changes in Libreboot 20241206 rev8 +-------------------------------------------- -**However, when injecting into the tarball in bulk like that, lbmk currently -cannot change the MAC addresses automatically, using the `-m` option mentioned -below.** +*Older* versions of this script would have produced the injected images under +the `bin/release/` directory, and/or allow you to do it on specific ROM images. -**Therefore, if you want to rely on insertion into the tarball, you can just -copy the ROM you want and [change the MAC address manually](nvmutil.md).** +The *current* version, pertaining to this documentation, *only* supports injecting +tarballs, because the tarball-based mechanism verifies checksums on images, +after insertion. -Alternatively, you may patch only a single rom file, but you must supply the -correct board target name as alluded to above. -For example: +The older versions of this script would have left the tarball unmodified, while +producing `bin/release/` containing your images. - ./mk inject -r x230_libreboot.rom -b x230_12mb +The *current* version, pertaining to this documentation, modifies the tarball +itself. You can inject and un-inject. To un-inject, you can do: -Optionally, you can use this script to modify the mac address of the rom with the `-m` flag. -For example: + ./mk inject libreboot-RELEASE_targetname.tar.xz nuke - ./mk inject -r x230_libreboot.rom -b x230_12mb -m 00:f6:f0:40:71:fd +Running the `nuke` command will remove vendorfiles, and re-generate a file inside +the archive named `vendorhashes`. When running regular inject, not `nuke`, +the `vendorfiles` file is removed after insertion; this way, subsequent +injections are avoided, by detecting whether they're needed on the basis of +that file. -You are *strongly* advised to inject the tarballs instead. However, so long as -you're careful, injecting into single ROM images is perfectly safe. Just know -once more that the checksum verification is unavailable in the latter, so you -must absolutely ensure that you specified the correct board with the `-b` -option. +The nuke command is available because Libreboot's build system uses it when +producing release archives. You otherwise shouldn't use `nuke` yourself, except +for testing purposes or if you're just curious. + +Libreboot 20241206 rev8 have different command structure for the inject script. +Older versions could insert into lone ROM images, with a special command, and +generally didn't have good error checking. The new version of this script is +much safer and easier to use. **These changes are also present in the latest +lbmk git repository.** + +ALSO: Non-injected images do, on Libreboot 20241206 rev8 or higher, have 1 byte +of padding - yes, *1 byte* - at the end, to make flashprog fail to flash it due +to size mismatch versus chip size, and the words `DO_NOT_FLASH` are inserted +into the file name. With both of these things, the user is unlikely to flash +an image that hasn't been injected. + +After injection, the `DO_NOT_FLASH` file name prefix is removed, as is the +padding, so that the injected images are ready to flash, and the tarball is +re-generated with these images. + +ALSO: If vendorfiles are not needed, or if an error occurs, modification of +the tarball is avoided and it's left alone, UNLESS the following condition is +met: + +If no errors occured, but no vendor files are needed, you can still inject a +new MAC address, where there is a GbE region. If there isn't a GbE region, +such modification is skipped (some boards don't have Intel gigabit ethernet, +and might have a different ethernet adapter instead). + +When vendor files are inserted and/or a MAC address is inserted, the tarball +is re-generated. MAC address insertion is handled with [nvmutil](nvmutil.md); +the steps there are applied automatically. + +Older release images, prior to 20241206 rev8, do not have `DO_NOT_FLASH` or +the 1-byte padding, so watch out! However, this script, the new version, is +backwards compatible with older releases. + +That's one possible use for the `nuke` command, running it yourself. If you're +distributing the older release images, you could inject them, and then nuke +them; doing so will re-generate the `vendorhashes` file, *and* retroactively +pad them (and add `DO_NOT_FLASH` to the image file names). It would be pointless +for Libreboot to retroactively modify the official images in this way, since +20241206 rev8 and newer already has this done to it. Just be careful when +using the older tarballs. Check that the files were inserted ================================== +Automatic verification +---------------------- + You *must* ensure that the files were inserted. The inject command automatically verifies checksums of the complete images, when you run it directly on a -release tarball, but not when running it manually on an individual image; -checking it manually is useful for the latter, but you should probably just -insert it into the tarball. +release tarball. + +If there was an error, and/or the checksums didn't match, then the tarball won't +be modified. If you're using newer release images with `DO_NOT_FLASH` and +the one-byte padding (as described above), that's a good indicator, but older +release images didn't have this modification. + +Manual inspection +----------------- + +You could check the files manually, if you're paranoid, after insertion. Some examples of how to do that in lbmk: @@ -129,7 +210,15 @@ below): ./elf/cbfstool/TREENAME/cbfstool libreboot.rom print You should check that the files were inserted in cbfs, if needed; for example, -EC firmware or MRC firmware. +EC firmware or MRC firmware, perhaps FSP. + +FSP is redistributable by Intel, but not with modification. Since coreboot has +to de-concatenate FSP into its modules, and modify pointers in the FSP-M module, +for raminit, Libreboot treats FSP modules like other injectable vendor files. + +(in the original 20241206 release, FSP was directly baked in; the change +described above was applied in Libreboot 20241206 and newer, and the 3050micro +image from Libreboot 20241008 was removed from Libreboot's rsync server) Next: @@ -140,16 +229,15 @@ Run hexdump on it: hexdump flashregion_2_intel_me.bin -Check the output. If it's all `0xFF` (all ones) or otherwise isn't a bunch -of code, then the Intel ME firmware wasn't inserted. +Check the output. If it's all `0xFF` (all ones) or zeroes or otherwise isn't a +bunch of code, then the Intel ME firmware wasn't inserted. You could also run +the `me_cleaner` program on this file, to see if it gives you any information, +if you're not savvy enough to look at stuff in hexdump. You'll note the small size of the Intel ME, e.g. 84KB on sandybridge platforms. This is because lbmk *automatically* neuters it, disabling it during early boot. This is done using `me_cleaner`, which lbmk imports. -NOTE: the MAC changer makes use of `nvmutil`, which you can read more about in -the [nvmutil documentation](nvmutil.md). - Errata ====== @@ -166,6 +254,11 @@ raminit. The following targets no longer exist in the build system: * `dell9020mt_12mb` (use `dell9020mt_nri_12mb` instead) * `dell9020mtbmrc` (use `dell9020mt_nri_12mb` instead) +FSP images are also no longer baked in on release images, from +Libreboot 20241206 rev8 or higher (or releases newer than the 20241206 series), +but the machines that use them still need them; they are injected instead, +using the commands shown above on this very page. + This is written as errata because some users may still be using older release images but on the newer build system from May 2024 onward; you must use the Libreboot 20240225 release if you want to inject MRC and so on, for these older @@ -175,3 +268,5 @@ Libreboot's [binary blob reduction policy](../../news/policy.md) is very strict, and states: if a blob can be avoided, it must be avoided. Therefore, the MRC is removed on Haswell and Libreboot will only use the libre raminit (called NRI, short for Native Ram Initialisation). + +The four freedoms are absolute. diff --git a/site/docs/install/latitude.md b/site/docs/install/latitude.md index 67722f6..bccca6a 100644 --- a/site/docs/install/latitude.md +++ b/site/docs/install/latitude.md @@ -47,7 +47,7 @@ Latitude E6400 Vendor files not required for Dell Latitude E6400 if you have the Intel GPU. If you have the Nvidia model, please use the `e6400nvidia_4mb` target, and -make sure to run the inject script. +make sure to run the [inject script](ivy_has_common.md) prior to flashing. E6400 nvidia issues ------------------- diff --git a/site/docs/install/t420_external.md b/site/docs/install/t420_external.md index 9ff3d32..dee8906 100644 --- a/site/docs/install/t420_external.md +++ b/site/docs/install/t420_external.md @@ -18,26 +18,12 @@ The following instructions expect you to have these on hand: Preparing a release Rom ----------------------- -You must patch the release rom with the necessary vendor files *and then* flash it to your board. +**Please follow this prior to flashing, or you may brick your machine.** -In order to inject the necessary files into a rom image, run the script from the root of lbmk and point to the rom image. - -If you only wish to flash a release rom then the process of injecting the necessary files is quite simple. -Run the injection script pointing to the release archive you downloaded: - - ./mk inject /path/to/libreboot-20230423_t420_8mb.tar.xz - -The script can automatically detect the board as long as you do not change the file name. -You can then find flash-ready ROMs in `/bin/release/` - -Alternatively, you may patch only a single rom file. - - ./mk inject -r t420_libreboot.rom -b t420_8mb - -Optionally, you can use this script to modify the mac address of the rom with the `-m` flag. -For example: - - ./mk inject -r t420_libreboot.rom -b t420_8mb -m 00:f6:f0:40:71:fd +Please [inject vendor files](ivy_has_common.md) prior to flashing. You can also +use this guide to change the built-in MAC address for your Intel Gigabit +Ethernet device; doing so is advisable, because otherwise you will have a +default, generic MAC address. Disassembly ----------- diff --git a/site/docs/install/t440p_external.md b/site/docs/install/t440p_external.md index b81b5ba..042a751 100644 --- a/site/docs/install/t440p_external.md +++ b/site/docs/install/t440p_external.md @@ -32,33 +32,12 @@ You can now follow the rest of the instructions. Preparing a release Rom ----------------------- -You must patch the release rom with the necessary vendor files *and then* flash it to your board. +**Please follow this prior to flashing, or you may brick your machine.** -Lbmk includes a script that will automatically inject the necessary files into a rom file. -The script can determine the board automatically if you have not changed the name, but you can also manually set the board name with the `-b` flag. - -In order to inject the necessary files into a rom image, run the script from the root of lbmk and point to the rom image. - -If you only wish to flash a release rom then the process of injecting the necessary files is quite simple. -Run the injection script pointing to the release archive you downloaded: - - ./mk inject /path/to/libreboot-RELEASE_targetname.tar.xz - -The script can automatically detect the board as long as you do not change the file name. -You can then find flash-ready ROMs in `/bin/release/` - -Alternatively, you may patch only a single rom file. -For example: - - ./mk inject -r t440p_libreboot.rom -b t440plibremrc_12mb - -Optionally, you can use this script to modify the mac address of the rom with the `-m` flag. -For example: - - ./mk inject -r t440p_libreboot.rom -b t440plibremrc_12mb -m 00:f6:f0:40:71:fd - -NOTE: this makes use of `nvmutil`, which you can read more about in -the [nvmutil documentation](nvmutil.md). +Please [inject vendor files](ivy_has_common.md) prior to flashing. You can also +use this guide to change the built-in MAC address for your Intel Gigabit +Ethernet device; doing so is advisable, because otherwise you will have a +default, generic MAC address. Splitting The Rom ----------------- diff --git a/site/docs/install/t480.md b/site/docs/install/t480.md index eada576..8cd01ba 100644 --- a/site/docs/install/t480.md +++ b/site/docs/install/t480.md @@ -87,6 +87,16 @@ This port is implemented in Libreboot by merging Mate Kukri's T480/T480s patchset. See: - as of 5 December 2024, Libreboot's code matches that of patchset 22. +Preparing a release Rom +----------------------- + +**Please follow this prior to flashing, or you may brick your machine.** + +Please [inject vendor files](ivy_has_common.md) prior to flashing. You can also +use this guide to change the built-in MAC address for your Intel Gigabit +Ethernet device; doing so is advisable, because otherwise you will have a +default, generic MAC address. + Absolutely unsigned Intel ME! ----------------------------- @@ -701,6 +711,9 @@ for details as to how to fix this. Intel FSP copyright =================== +If you just want to inject Intel FSP and ME into your image, ready for +flashing, please read [the guide](ivy_has_common.md). + Abstract -------- diff --git a/site/docs/install/w541_external.md b/site/docs/install/w541_external.md index 83eed5a..49e378b 100644 --- a/site/docs/install/w541_external.md +++ b/site/docs/install/w541_external.md @@ -35,33 +35,12 @@ You can now follow the rest of the instructions. Preparing a release Rom ----------------------- -You must patch the release rom with the necessary vendor files *and then* flash it to your board. +**Please follow this prior to flashing, or you may brick your machine.** -Lbmk includes a script that will automatically inject the necessary files into a rom file. -The script can determine the board automatically if you have not changed the name, but you can also manually set the board name with the `-b` flag. - -In order to inject the necessary files into a rom image, run the script from the root of lbmk and point to the rom image. - -If you only wish to flash a release rom then the process of injecting the necessary files is quite simple. -Run the injection script pointing to the release archive you downloaded: - - ./mk inject /path/to/libreboot-RELEASE_targetname.tar.xz - -The script can automatically detect the board as long as you do not change the file name. -You can then find flash-ready ROMs in `/bin/release/` - -Alternatively, you may patch only a single rom file. -For example: - - ./mk inject -r w541_libreboot.rom -b w541_12mb - -Optionally, you can use this script to modify the mac address of the rom with the `-m` flag. -For example: - - ./mk inject -r w541_libreboot.rom -b w541_12mb -m 00:f6:f0:40:71:fd - -NOTE: this makes use of `nvmutil`, which you can read more about in -the [nvmutil documentation](nvmutil.md). +Please [inject vendor files](ivy_has_common.md) prior to flashing. You can also +use this guide to change the built-in MAC address for your Intel Gigabit +Ethernet device; doing so is advisable, because otherwise you will have a +default, generic MAC address. Splitting The Rom ----------------- @@ -76,7 +55,6 @@ Flash the top chip with top.rom, and tho bottom chip with bottom.rom. Don't worry about knowing which chip is which on a standard setup; flashprog will let you know if the image size is incorrect for the chip you're flashing. - Disassembly ----------- diff --git a/site/docs/install/x230_external.md b/site/docs/install/x230_external.md index 67bec81..aa4bf27 100644 --- a/site/docs/install/x230_external.md +++ b/site/docs/install/x230_external.md @@ -30,31 +30,12 @@ You can now follow the rest of the instructions. Preparing a release Rom ----------------------- -You must patch the release rom with the necessary vendor files *and then* flash it to your board. +**Please follow this prior to flashing, or you may brick your machine.** -Lbmk includes a script that will automatically inject the necessary files into a rom image. -The script can determine the board automatically if you have not changed the name, but you can also manually set the board name with the `-b` flag. - -In order to inject the necessary files into a rom image, run the script from the root of lbmk and point to the rom image. -Run the injection script pointing to the release archive you downloaded: - - ./mk inject /path/to/libreboot-20230319-18-g9f76c92_t440_12mb.tar.xz - -The script can automatically detect the board as long as you do not change the file name. -You can then find flash-ready ROMs in `/bin/release/` - -Alternatively, you may patch only a single rom file. -For example: - - ./mk inject -r x230_libreboot.rom -b x230_12mb - -Optionally, you can use this script to modify the mac address of the rom with the `-m` flag. -For example: - - ./mk inject -r x230_libreboot.rom -b x230_12mb -m 00:f6:f0:40:71:fd - -NOTE: this makes use of `nvmutil`, which you can read more about in -the [nvmutil documentation](nvmutil.md). +Please [inject vendor files](ivy_has_common.md) prior to flashing. You can also +use this guide to change the built-in MAC address for your Intel Gigabit +Ethernet device; doing so is advisable, because otherwise you will have a +default, generic MAC address. Splitting The Rom ----------------- @@ -69,8 +50,6 @@ Flash the top chip with top.rom, and tho bottom chip with bottom.rom. Don't worry about knowing which chip is which on a standard setup; flashprog will let you know if the image size is incorrect for the chip you're flashing. - - Disassembly ----------- diff --git a/site/docs/maintain/index.md b/site/docs/maintain/index.md index c5519dd..a72d70e 100644 --- a/site/docs/maintain/index.md +++ b/site/docs/maintain/index.md @@ -1497,7 +1497,8 @@ Helper functions for downloading and injecting vendor files. How to use: ./mk inject ARGUMENTS ./mk -d coreboot TARGET -Refer elsewhere in the documentation for how to handle vendor files. +Refer elsewhere in the documentation for how to handle vendor files, and/or +read [the guide](../install/ivy_has_common.md). script/ ======= diff --git a/site/news/e6400nvidia.md b/site/news/e6400nvidia.md index 348e076..d65b4a3 100644 --- a/site/news/e6400nvidia.md +++ b/site/news/e6400nvidia.md @@ -31,6 +31,19 @@ than Libreboot 20231021 only support the Intel GPU variant.** The 6400 XFR testing+photo was provided, courtesy Mark Cornick (`mcornick` on Libreboot IRC). +Preparing a release Rom +----------------------- + +NOTE: Not strictly required on Intel graphics models, but still useful for +changing the MAC address. + +**Please follow this prior to flashing, or you may brick your machine.** + +Please [inject vendor files](ivy_has_common.md) prior to flashing. You can also +use this guide to change the built-in MAC address for your Intel Gigabit +Ethernet device; doing so is advisable, because otherwise you will have a +default, generic MAC address. + Dell Latitude E6400 with Nvidia GPU =================================== From 12b4f64b1b6a5495dc74870de3cbda8f8d78d1fc Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Fri, 3 Jan 2025 06:58:04 +0000 Subject: [PATCH 082/279] further cleanup i moved the section about fsp injection to the actual vendor inject guide and i've generally cleaned up the documentation Signed-off-by: Leah Rowe --- site/docs/build/index.md | 5 +- site/docs/build/index.uk.md | 5 +- site/docs/install/d945gclf.md | 6 +-- site/docs/install/dell3050.md | 64 ++--------------------- site/docs/install/dell7010.md | 6 +-- site/docs/install/dell780.md | 8 +-- site/docs/install/dell9020.md | 8 +-- site/docs/install/ga-g41m-es2l.md | 6 +-- site/docs/install/hp2170p.md | 6 +-- site/docs/install/hp8200sff.md | 6 +-- site/docs/install/hp820g2.md | 6 +-- site/docs/install/hp8460p.md | 6 +-- site/docs/install/hp8470p.md | 6 +-- site/docs/install/hp8560w.md | 6 +-- site/docs/install/ich9utils.md | 3 +- site/docs/install/ivy_has_common.md | 78 +++++++++++++++++++++++++++-- site/docs/install/kfsn4-dre.md | 6 +-- site/docs/install/macbook21.md | 6 +-- site/docs/install/r400.md | 6 +-- site/docs/install/t1650.md | 6 +-- site/docs/install/t400.md | 6 +-- site/docs/install/t480.md | 73 ++------------------------- site/docs/install/t500.md | 6 +-- site/docs/install/x200.md | 6 +-- site/faq.md | 4 ++ site/faq.uk.md | 6 +++ site/news/audit3.md | 2 +- site/news/libreboot20231021.md | 4 +- site/news/libreboot20240126.md | 2 +- site/news/libreboot20240612.md | 10 ++-- site/news/policy.de.md | 4 +- site/news/policy.md | 6 +-- site/news/safety.md | 43 +++++++++++++++- site/tasks/index.md | 2 +- 34 files changed, 208 insertions(+), 215 deletions(-) diff --git a/site/docs/build/index.md b/site/docs/build/index.md index 8508c9a..201c455 100644 --- a/site/docs/build/index.md +++ b/site/docs/build/index.md @@ -9,9 +9,8 @@ WARNING: eCryptfs file name limits Do not run the build system on a eCryptfs file system, because it has very short file name limits and Libreboot's build system deals with very long file names. We commonly get reports from this by Linux Mint users -who encrypt their home directory with cryptfs; use a serious distro like -Debian or Arch please. And use a decent file system; ZFS or perhaps LUKS -with btrfs will do nicely. +who encrypt their home directory with eCryptfs; regular LUKS encryption will +do nicely. Introduction ============ diff --git a/site/docs/build/index.uk.md b/site/docs/build/index.uk.md index 21f727c..a1cca95 100644 --- a/site/docs/build/index.uk.md +++ b/site/docs/build/index.uk.md @@ -9,9 +9,8 @@ WARNING: eCryptfs file name limits Do not run the build system on a eCryptfs file system, because it has very short file name limits and Libreboot's build system deals with very long file names. We commonly get reports from this by Linux Mint users -who encrypt their home directory with cryptfs; use a serious distro like -Debian or Arch please. And use a decent file system; ZFS or perhaps LUKS -with btrfs will do nicely. +who encrypt their home directory with eCryptfs; regular LUKS encryption will +do nicely. Introduction ============ diff --git a/site/docs/install/d945gclf.md b/site/docs/install/d945gclf.md index d1aad19..7254918 100644 --- a/site/docs/install/d945gclf.md +++ b/site/docs/install/d945gclf.md @@ -24,12 +24,12 @@ x-toc-enable: true | **Flash chip** | SOIC-8 512KiB | ``` -W+: Works without blobs; +W+: Works without vendor firmware; N: Doesn't work; -W*: Works with blobs; +W*: Works with vendor firmware; U: Untested; P+: Partially works; -P*: Partially works with blobs +P*: Partially works with vendor firmware ``` | ***Features*** | | Notes | diff --git a/site/docs/install/dell3050.md b/site/docs/install/dell3050.md index 2581234..7bb6198 100644 --- a/site/docs/install/dell3050.md +++ b/site/docs/install/dell3050.md @@ -28,12 +28,12 @@ OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)** ``` -W+: Works without blobs; +W+: Works without vendor firmware; N: Doesn't work; -W*: Works with blobs; +W*: Works with vendor firmware; U: Untested; P+: Partially works; -P*: Partially works with blobs +P*: Partially works with vendor firmware ?: UNKNOWN AT THIS TIME ``` @@ -237,61 +237,3 @@ SMT is rarely of benefit in practise, but can be useful in some circumstances. For example, if you're compiling a large codebase from source that takes hours, SMT increases the building speed by about 15 percent; for example, a 3 hour build job might take about 2 hours and 40 minutes instead. - -Intel FSP copyright -=================== - -Abstract --------- - -The initial Libreboot 20241206 release included Intel FSP directly inside the -ROM images. Intel provides the FSP under a license which states (and I -paraphrase): you must not modify it, but you can redistribute it freely, so -long as the license notice is retained. - -The FSP is a concatenation of three modules: FSP-T, FSP-S and FSP-M. T basically -does CAR, S is essentially romstage components, and M is raminit. Due to how -coreboot works, these components must be split into single components. Coreboot -doesn't use T by default (it implements CAR itself), but has the option to -use it. It will use M and S, only. - -Technically, the process of splitting FSP into these three files counts as -a modification. Furthermore, coreboot also rebases the M module by modifying -certain pointers, so that it can integrate with coreboot to provide raminit. - -Intel *themselves* own the copyright to the tool for splitting FSP, -at `3rdparty/fsp/Tools/SplitFspBin.py`, and it seems that they do intend for -the FSP to be used this way. However, until now, those using the Intel FSP -have built coreboot images from source, so the issue of modified distributions -didn't come up. - -By the strictest possible interpretation of Intel's licensing, Libreboot was -technically in violation. To mitigate this, Libreboot 20241206 *revision 8* and -newer, will no longer include the Intel FSP inside images. Instead, the vendor -inject script is used for inserting the FSP into release images, which is what -we already do for several other components. - -`_fsp` vs `_vfsp` targets -------------------------- - -The original 20241206 release images had `_fsp` in the file name. From rev8 -onward, `_vfsp` is specified instead. - -Libreboot's inject script verifies checksums on files, when inserting into the -images. Because of this, if we inject FSP after the fact, that means anyone -using the old images will find errors when they try. - -To mitigate this, the build targets containing `_fsp` in the name have been -retained, but these targets are set `release="n"` so that no ROM images are -provided in releases. The `_vfsp` images are provided pre-compiled, instead. - -With this re-design, modern lbmk (from Libreboot 20241206 rev8 onward) can still -reliably inject Intel ME into the old `_fsp` images, if you already downloaded -those before. - -It is extremely unlikely that Intel would have ever cracked down on Libreboot -for its previous mistake, since many other projects exist that include FSP -directly in coreboot images, even commercially. However, Libreboot wishes to -respect Intel's license, in the -most [technically correct](https://www.youtube.com/watch?v=0ZEuWJ4muYc) way -possible. diff --git a/site/docs/install/dell7010.md b/site/docs/install/dell7010.md index dc4fb1e..08a1d44 100644 --- a/site/docs/install/dell7010.md +++ b/site/docs/install/dell7010.md @@ -33,12 +33,12 @@ OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)** ``` -W+: Works without blobs; +W+: Works without vendor firmware; N: Doesn't work; -W*: Works with blobs; +W*: Works with vendor firmware; U: Untested; P+: Partially works; -P*: Partially works with blobs +P*: Partially works with vendor firmware ?: UNKNOWN AT THIS TIME ``` diff --git a/site/docs/install/dell780.md b/site/docs/install/dell780.md index 1772b11..22e4a37 100644 --- a/site/docs/install/dell780.md +++ b/site/docs/install/dell780.md @@ -29,12 +29,12 @@ Dell OptiPlex 780 ``` -W+: Works without blobs; +W+: Works without vendor firmware; N: Doesn't work; -W*: Works with blobs; +W*: Works with vendor firmware; U: Untested; P+: Partially works; -P*: Partially works with blobs +P*: Partially works with vendor firmware ?: UNKNOWN AT THIS TIME ``` @@ -78,7 +78,7 @@ lack `_truncate` in the file name. 100% FREE ========= -This mainboard does not rely on any binary blobs in the flash. It is using +This mainboard is entirely free software in the main boot flash. It is using the Intel X4X / ICH10 platform, same as on the already supported Gigabyte GA-G41M-ES2L mainboard. diff --git a/site/docs/install/dell9020.md b/site/docs/install/dell9020.md index a573869..e1baa8a 100644 --- a/site/docs/install/dell9020.md +++ b/site/docs/install/dell9020.md @@ -37,12 +37,12 @@ OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)** ``` -W+: Works without blobs; +W+: Works without vendor firmware; N: Doesn't work; -W*: Works with blobs; +W*: Works with vendor firmware; U: Untested; P+: Partially works; -P*: Partially works with blobs +P*: Partially works with vendor firmware ?: UNKNOWN AT THIS TIME ``` @@ -84,7 +84,7 @@ Please note however that the native raminit (libre raminit) provided by Libreboot does not yet support ECC. You *may* be able to use ECC modules, but you won't actually have functioning ECC. -ECC support currently requires `mrc.bin`, which is a blob for raminit. +ECC support currently requires `mrc.bin`, which is vendor firmware for raminit. Libreboot removed this some time ago, instead favouring only the libre raminit. Patches are welcome, otherwise you can use an older revision of Libreboot with `mrc.bin` if you need ECC; it's unknown whether both the Haswell and diff --git a/site/docs/install/ga-g41m-es2l.md b/site/docs/install/ga-g41m-es2l.md index a1398cf..ecf1fa7 100644 --- a/site/docs/install/ga-g41m-es2l.md +++ b/site/docs/install/ga-g41m-es2l.md @@ -24,12 +24,12 @@ GA-G41M-ES2L | **Flash chip** | 2x8Mbit | ``` -W+: Works without blobs; +W+: Works without vendor firmware; N: Doesn't work; -W*: Works with blobs; +W*: Works with vendor firmware; U: Untested; P+: Partially works; -P*: Partially works with blobs +P*: Partially works with vendor firmware ``` | ***Features*** | | diff --git a/site/docs/install/hp2170p.md b/site/docs/install/hp2170p.md index 90c233b..a1e53f1 100644 --- a/site/docs/install/hp2170p.md +++ b/site/docs/install/hp2170p.md @@ -30,12 +30,12 @@ OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)** ``` -W+: Works without blobs; +W+: Works without vendor firmware; N: Doesn't work; -W*: Works with blobs; +W*: Works with vendor firmware; U: Untested; P+: Partially works; -P*: Partially works with blobs +P*: Partially works with vendor firmware ``` | ***Features*** | | diff --git a/site/docs/install/hp8200sff.md b/site/docs/install/hp8200sff.md index 7e00111..83239e2 100644 --- a/site/docs/install/hp8200sff.md +++ b/site/docs/install/hp8200sff.md @@ -26,12 +26,12 @@ OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)** | **Flash chip** | SOIC-8 8MiB | ``` -W+: Works without blobs; +W+: Works without vendor firmware; N: Doesn't work; -W*: Works with blobs; +W*: Works with vendor firmware; U: Untested; P+: Partially works; -P*: Partially works with blobs +P*: Partially works with vendor firmware ``` | ***Features*** | | diff --git a/site/docs/install/hp820g2.md b/site/docs/install/hp820g2.md index afd6454..e8da1b2 100644 --- a/site/docs/install/hp820g2.md +++ b/site/docs/install/hp820g2.md @@ -35,12 +35,12 @@ OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)** ``` -W+: Works without blobs; +W+: Works without vendor firmware; N: Doesn't work; -W*: Works with blobs; +W*: Works with vendor firmware; U: Untested; P+: Partially works; -P*: Partially works with blobs +P*: Partially works with vendor firmware ``` | ***Features*** | | diff --git a/site/docs/install/hp8460p.md b/site/docs/install/hp8460p.md index 414a78e..f4a7c22 100644 --- a/site/docs/install/hp8460p.md +++ b/site/docs/install/hp8460p.md @@ -31,12 +31,12 @@ OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)** ``` -W+: Works without blobs; +W+: Works without vendor firmware; N: Doesn't work; -W*: Works with blobs; +W*: Works with vendor firmware; U: Untested; P+: Partially works; -P*: Partially works with blobs +P*: Partially works with vendor firmware ``` | ***Features*** | | diff --git a/site/docs/install/hp8470p.md b/site/docs/install/hp8470p.md index 85afd7f..0997c8b 100644 --- a/site/docs/install/hp8470p.md +++ b/site/docs/install/hp8470p.md @@ -31,12 +31,12 @@ OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)** ``` -W+: Works without blobs; +W+: Works without vendor firmware; N: Doesn't work; -W*: Works with blobs; +W*: Works with vendor firmware; U: Untested; P+: Partially works; -P*: Partially works with blobs +P*: Partially works with vendor firmware ``` | ***Features*** | | diff --git a/site/docs/install/hp8560w.md b/site/docs/install/hp8560w.md index e5a261a..ebd7eca 100644 --- a/site/docs/install/hp8560w.md +++ b/site/docs/install/hp8560w.md @@ -31,12 +31,12 @@ OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)** ``` -W+: Works without blobs; +W+: Works without vendor firmware; N: Doesn't work; -W*: Works with blobs; +W*: Works with vendor firmware; U: Untested; P+: Partially works; -P*: Partially works with blobs +P*: Partially works with vendor firmware ``` | ***Features*** | | diff --git a/site/docs/install/ich9utils.md b/site/docs/install/ich9utils.md index 2be3496..20c2625 100644 --- a/site/docs/install/ich9utils.md +++ b/site/docs/install/ich9utils.md @@ -10,7 +10,8 @@ can modify the ifd file with coreboot's ifdtool. You can use nvmutil to modify the GbE NVM MAC address** **If all you want to do is change the MAC address, you might use `nvmutil` -instead. See: [nvmutil documentation](../install/nvmutil.md).** +instead. See: [nvmutil documentation](../install/nvmutil.md), or use +the [inject script](ivy_has_common.md).** The documentation below is *still valid*, if you actually want to use ich9utils. You can find it in older Libreboot releases, up to Libreboot 20230625. The only diff --git a/site/docs/install/ivy_has_common.md b/site/docs/install/ivy_has_common.md index c7fc9de..ee877d1 100644 --- a/site/docs/install/ivy_has_common.md +++ b/site/docs/install/ivy_has_common.md @@ -10,15 +10,18 @@ recovery via [external flashing](spi.md) - regardless, you are advised to also read the external flashing guide just in caes, and have an external flasher handy in case you need it.** +Even if your board doesn't need vendor firmware inserted, you can also use this +guide to change the GbE MAC address in the flash, if your board has an Intel +Gigabit Ethernet device (where an Intel Flash Descriptor is used). + WARNING: eCryptfs file name limits ================================= Do not run the build system on a eCryptfs file system, because it has very short file name limits and Libreboot's build system deals with very long file names. We commonly get reports from this by Linux Mint users -who encrypt their home directory with cryptfs; use a serious distro like -Debian or Arch please. And use a decent file system; ZFS or perhaps LUKS -with btrfs will do nicely. +who encrypt their home directory with eCryptfs; regular LUKS encryption will +do nicely. **Install build dependencies first** ================================ @@ -41,7 +44,7 @@ boards, for certain functionalities; we cover this more thoroughly in the [Freedom Status](../../freedom-status.md) page and in the [Binary Blob Reduction Policy](../../news/policy.md). -Libreboot can't directly distribute *all* of these blobs, so some of them are +Libreboot can't directly distribute *all* of these files, so some of them are downloaded at build-time, and processed for insertion into the firmware images. **On pre-compiled ROM images in releases, these files are removed, and can be re-added using the same automation that was applied during the build process.** @@ -238,6 +241,73 @@ You'll note the small size of the Intel ME, e.g. 84KB on sandybridge platforms. This is because lbmk *automatically* neuters it, disabling it during early boot. This is done using `me_cleaner`, which lbmk imports. +Intel FSP copyright +=================== + +If you just want to inject Intel FSP and ME into your image, ready for +flashing, please read [the guide](ivy_has_common.md). + +Abstract +-------- + +The initial Libreboot 20241206 release included Intel FSP directly inside the +ROM images. Intel provides the FSP under a license which states (and I +paraphrase): you must not modify it, but you can redistribute it freely, so +long as the license notice is retained. + +The FSP is a concatenation of three modules: FSP-T, FSP-S and FSP-M. T basically +does CAR, S is essentially romstage components, and M is raminit. Due to how +coreboot works, these components must be split into single components. Coreboot +doesn't use T by default (it implements CAR itself), but has the option to +use it. It will use M and S, only. + +Technically, the process of splitting FSP into these three files counts as +a modification. Furthermore, coreboot also rebases the M module by modifying +certain pointers, so that it can integrate with coreboot to provide raminit. + +Intel *themselves* own the copyright to the tool for splitting FSP, +at `3rdparty/fsp/Tools/SplitFspBin.py`, and it seems that they do intend for +the FSP to be used this way. However, until now, those using the Intel FSP +have built coreboot images from source, so the issue of modified distributions +didn't come up. + +By the strictest possible interpretation of Intel's licensing, Libreboot was +technically in violation. To mitigate this, Libreboot 20241206 *revision 8* and +newer, will no longer include the Intel FSP inside images. Instead, the vendor +inject script is used for inserting the FSP into release images, which is what +we already do for several other components. + +`_fsp` vs `_vfsp` targets +------------------------- + +The original 20241206 release images had `_fsp` in the file name. From rev8 +onward, `_vfsp` is specified instead. + +Libreboot's inject script verifies checksums on files, when inserting into the +images. Because of this, if we inject FSP after the fact, that means anyone +using the old images will find errors when they try. + +To mitigate this, the build targets containing `_fsp` in the name have been +retained, but these targets are set `release="n"` so that no ROM images are +provided in releases. The `_vfsp` images are provided pre-compiled, instead. + +With this re-design, modern lbmk (from Libreboot 20241206 rev8 onward) can still +reliably inject Intel ME into the old `_fsp` images, if you already downloaded +those before. + +Therefore, you must be especially careful to get this right. If you're running +the inject script into a tarball, it will generally detect the right one, but +inserting manually into individual image files is also possible; if you do this, +you must remember to correctly specify `t480_vfsp_16mb` or `t480s_vfsp_16mb`, +or to specify the `_fsp` targets if you're doing this on older images. + +It is extremely unlikely that Intel would have ever cracked down on Libreboot +for its previous mistake, since many other projects exist that include FSP +directly in coreboot images, even commercially. However, Libreboot wishes to +respect Intel's license, in the +most [technically correct](https://www.youtube.com/watch?v=0ZEuWJ4muYc) way +possible. + Errata ====== diff --git a/site/docs/install/kfsn4-dre.md b/site/docs/install/kfsn4-dre.md index 21c979d..d5e854a 100644 --- a/site/docs/install/kfsn4-dre.md +++ b/site/docs/install/kfsn4-dre.md @@ -24,12 +24,12 @@ x-toc-enable: true | **Flash chip** | PLCC 1MiB (Upgradable to 2MiB) | ``` -W+: Works without blobs; +W+: Works without vendor firmware; N: Doesn't work; -W*: Works with blobs; +W*: Works with vendor firmware; U: Untested; P+: Partially works; -P*: Partially works with blobs +P*: Partially works with vendor firmware ``` | ***Features*** | | diff --git a/site/docs/install/macbook21.md b/site/docs/install/macbook21.md index 3be1fb5..52e2cac 100644 --- a/site/docs/install/macbook21.md +++ b/site/docs/install/macbook21.md @@ -27,12 +27,12 @@ x-toc-enable: true | **Flash chip** | SOIC-8 2MiB (Upgradable to 16MiB) | ``` -W+: Works without blobs; +W+: Works without vendor firmware; N: Doesn't work; -W*: Works with blobs; +W*: Works with vendor firmware; U: Untested; P+: Partially works; -P*: Partially works with blobs +P*: Partially works with vendor firmware ``` | ***Features*** | | diff --git a/site/docs/install/r400.md b/site/docs/install/r400.md index 5c5fa71..875bddb 100644 --- a/site/docs/install/r400.md +++ b/site/docs/install/r400.md @@ -28,12 +28,12 @@ x-toc-enable: true | **Flash chip** | SOIC-8/SOIC-16 4MiB/8MiB (Upgradable to 16MiB) | ``` -W+: Works without blobs; +W+: Works without vendor firmware; N: Doesn't work; -W*: Works with blobs; +W*: Works with vendor firmware; U: Untested; P+: Partially works; -P*: Partially works with blobs +P*: Partially works with vendor firmware ``` | ***Features*** | | diff --git a/site/docs/install/t1650.md b/site/docs/install/t1650.md index 6f10b0e..84b410a 100644 --- a/site/docs/install/t1650.md +++ b/site/docs/install/t1650.md @@ -29,12 +29,12 @@ OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)** ``` -W+: Works without blobs; +W+: Works without vendor firmware; N: Doesn't work; -W*: Works with blobs; +W*: Works with vendor firmware; U: Untested; P+: Partially works; -P*: Partially works with blobs +P*: Partially works with vendor firmware ?: UNKNOWN AT THIS TIME ``` diff --git a/site/docs/install/t400.md b/site/docs/install/t400.md index 8af030d..62a67da 100644 --- a/site/docs/install/t400.md +++ b/site/docs/install/t400.md @@ -27,12 +27,12 @@ x-toc-enable: true | **Flash chip** | SOIC-8/SOIC-16/WSON-8 4MiB/8MiB (Upgradable to 16MiB) | ``` -W+: Works without blobs; +W+: Works without vendor firmware; N: Doesn't work; -W*: Works with blobs; +W*: Works with vendor firmware; U: Untested; P+: Partially works; -P*: Partially works with blobs +P*: Partially works with vendor firmware ``` | ***Features*** | | diff --git a/site/docs/install/t480.md b/site/docs/install/t480.md index 8cd01ba..8580165 100644 --- a/site/docs/install/t480.md +++ b/site/docs/install/t480.md @@ -32,12 +32,12 @@ OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)** ``` -W+: Works without blobs; +W+: Works without vendor firmware; N: Doesn't work; -W*: Works with blobs; +W*: Works with vendor firmware; U: Untested; P+: Partially works; -P*: Partially works with blobs +P*: Partially works with vendor firmware ?: UNKNOWN AT THIS TIME ``` @@ -707,70 +707,3 @@ This should also be the case for the T480s. If you encounter this issue, check\ [this page](../../faq.md#thinkpad-acpi) for details as to how to fix this. - -Intel FSP copyright -=================== - -If you just want to inject Intel FSP and ME into your image, ready for -flashing, please read [the guide](ivy_has_common.md). - -Abstract --------- - -The initial Libreboot 20241206 release included Intel FSP directly inside the -ROM images. Intel provides the FSP under a license which states (and I -paraphrase): you must not modify it, but you can redistribute it freely, so -long as the license notice is retained. - -The FSP is a concatenation of three modules: FSP-T, FSP-S and FSP-M. T basically -does CAR, S is essentially romstage components, and M is raminit. Due to how -coreboot works, these components must be split into single components. Coreboot -doesn't use T by default (it implements CAR itself), but has the option to -use it. It will use M and S, only. - -Technically, the process of splitting FSP into these three files counts as -a modification. Furthermore, coreboot also rebases the M module by modifying -certain pointers, so that it can integrate with coreboot to provide raminit. - -Intel *themselves* own the copyright to the tool for splitting FSP, -at `3rdparty/fsp/Tools/SplitFspBin.py`, and it seems that they do intend for -the FSP to be used this way. However, until now, those using the Intel FSP -have built coreboot images from source, so the issue of modified distributions -didn't come up. - -By the strictest possible interpretation of Intel's licensing, Libreboot was -technically in violation. To mitigate this, Libreboot 20241206 *revision 8* and -newer, will no longer include the Intel FSP inside images. Instead, the vendor -inject script is used for inserting the FSP into release images, which is what -we already do for several other components. - -`_fsp` vs `_vfsp` targets -------------------------- - -The original 20241206 release images had `_fsp` in the file name. From rev8 -onward, `_vfsp` is specified instead. - -Libreboot's inject script verifies checksums on files, when inserting into the -images. Because of this, if we inject FSP after the fact, that means anyone -using the old images will find errors when they try. - -To mitigate this, the build targets containing `_fsp` in the name have been -retained, but these targets are set `release="n"` so that no ROM images are -provided in releases. The `_vfsp` images are provided pre-compiled, instead. - -With this re-design, modern lbmk (from Libreboot 20241206 rev8 onward) can still -reliably inject Intel ME into the old `_fsp` images, if you already downloaded -those before. - -Therefore, you must be especially careful to get this right. If you're running -the inject script into a tarball, it will generally detect the right one, but -inserting manually into individual image files is also possible; if you do this, -you must remember to correctly specify `t480_vfsp_16mb` or `t480s_vfsp_16mb`, -or to specify the `_fsp` targets if you're doing this on older images. - -It is extremely unlikely that Intel would have ever cracked down on Libreboot -for its previous mistake, since many other projects exist that include FSP -directly in coreboot images, even commercially. However, Libreboot wishes to -respect Intel's license, in the -most [technically correct](https://www.youtube.com/watch?v=0ZEuWJ4muYc) way -possible. diff --git a/site/docs/install/t500.md b/site/docs/install/t500.md index 78014f8..5226153 100644 --- a/site/docs/install/t500.md +++ b/site/docs/install/t500.md @@ -27,12 +27,12 @@ x-toc-enable: true | **Flash chip** | SOIC-8/SOIC-16/WSON-8 4MiB/8MiB (Upgradable to 16MiB) | ``` -W+: Works without blobs; +W+: Works without vendor firmware; N: Doesn't work; -W*: Works with blobs; +W*: Works with vendor firmware; U: Untested; P+: Partially works; -P*: Partially works with blobs +P*: Partially works with vendor firmware ``` | ***Features*** | | diff --git a/site/docs/install/x200.md b/site/docs/install/x200.md index e9ce29d..8c65f11 100644 --- a/site/docs/install/x200.md +++ b/site/docs/install/x200.md @@ -25,12 +25,12 @@ x-toc-enable: true | **Flash chip** | SOIC-8/SOIC-16/WSON-8 4MiB/8MiB (Upgradable to 16MiB) | ``` -W+: Works without blobs; +W+: Works without vendor firmware; N: Doesn't work; -W*: Works with blobs; +W*: Works with vendor firmware; U: Untested; P+: Partially works; -P*: Partially works with blobs +P*: Partially works with vendor firmware ``` | ***Features*** | | diff --git a/site/faq.md b/site/faq.md index bc6c583..8a0e0db 100644 --- a/site/faq.md +++ b/site/faq.md @@ -679,6 +679,10 @@ This may result the following effects, including or not limited to: * Fan speed reporting not working * Fan control not working +**However, enabling it on the ThinkPad T480 may cause the following issues, +as of Libreboot 20241206rev8: it might turn off rfkill making you have to +manually unblock wlan, and the Fn keys through F9 to F12 may stop working.** + For these systems, add the line ``` diff --git a/site/faq.uk.md b/site/faq.uk.md index fb79bdf..dc3d784 100644 --- a/site/faq.uk.md +++ b/site/faq.uk.md @@ -693,6 +693,12 @@ GRUB (наприклад, флеш-накопичувач USB). Для Неможливість виконати modprobe thinkpad\_acpi на Haswell =============================================== +This pertains to ThinkPad T480, T440p and W541. + +**However, enabling it on the ThinkPad T480 may cause the following issues, +as of Libreboot 20241206rev8: it might turn off rfkill making you have to +manually unblock wlan, and the Fn keys through F9 to F12 may stop working.** + Про це повідомив користувач, який використовує Debian 11 з ядром `5.19.0-0.deb11.2-amd64`. Модуль `thinkpad_acpi` не завантажувався з таким повідомленням: diff --git a/site/news/audit3.md b/site/news/audit3.md index 74553ea..12b57c9 100644 --- a/site/news/audit3.md +++ b/site/news/audit3.md @@ -158,7 +158,7 @@ are also repeated below but in more detail: * Don't use the `-B` option in make commands. * Where no-microcode ROM images are provided, ensure that the ROM hashes still match when running the vendor inject script. This is only useful on the - Dell Latitude E6400, which is otherwise blob-free but (in Libreboot) + Dell Latitude E6400, which is otherwise entirely free software but (in Libreboot) comes with or without microcode updates, and with or without the Nvidia VGA ROM (handled by vendor inject/download scripts) for dGPU variants. Verification previously failed, under certain conditions, when inserting that VGA ROM. diff --git a/site/news/libreboot20231021.md b/site/news/libreboot20231021.md index 25ee50a..d8fdb64 100644 --- a/site/news/libreboot20231021.md +++ b/site/news/libreboot20231021.md @@ -303,7 +303,7 @@ logs, combined: * Don't use the `-B` option in make commands. * Where no-microcode ROM images are provided, ensure that the ROM hashes still match when running the vendor inject script. This is only useful on the - Dell Latitude E6400, which is otherwise blob-free but (in Libreboot) + Dell Latitude E6400, which is otherwise 100% free software but (in Libreboot) comes with or without microcode updates, and with or without the Nvidia VGA ROM (handled by vendor inject/download scripts) for dGPU variants. Verification previously failed, under certain conditions, when inserting that VGA ROM. @@ -346,7 +346,7 @@ logs, combined: * Don't support removal of microcode (during release time) on untested targets. Set `microcode_required="y"` on most boards, but leave it set to `"n"` on platfroms such as GM45 (ThinkPad X200/T400, Dell E6400, etc); anything that - can be blob-free, in other words. + can be entirely free software in the main boot flash, in other words. * Improved Dell Latitude E6400 support; the same image now provides iGPU and dGPU support, since it's SeaBIOS-only anyway, so a VGA ROM is inserted into the same ROM that also enables libgfxinit, enabling the Intel or Nvidia GPU diff --git a/site/news/libreboot20240126.md b/site/news/libreboot20240126.md index 9869c12..243b518 100644 --- a/site/news/libreboot20240126.md +++ b/site/news/libreboot20240126.md @@ -221,7 +221,7 @@ changes first): changed to match the 68\* naming scheme. * `config/vendor/sources`: document HP laptop ROM families, for certain models, according to name scheme 68SFC, 68SCE, 68ICE and 68ICF. Some of these boards - iare part of the same families, and use the same blobs. Patch courtesy of + iare part of the same families, and use the same files. Patch courtesy of Riku Viitanen. * `script/build/roms`: remove the `modify_coreboot_rom` function. Fake PIKE2008 ROMs are now inserted by defining option roms in the coreboot config, where diff --git a/site/news/libreboot20240612.md b/site/news/libreboot20240612.md index ed9808c..6a5550d 100644 --- a/site/news/libreboot20240612.md +++ b/site/news/libreboot20240612.md @@ -221,7 +221,7 @@ Feature changes * Print a two-line break before confirming the location of the generated release archive, when running release builds. This makes it more obvious to the operator. -* **Removed the MRC (raminit blob) on Intel Haswell** (4th generation) +* **Removed the MRC (vendor raminit code) on Intel Haswell** (4th generation) hardware, namely the ThinkPad T440p, W541, Dell OptiPlex 9020 MT and Dell OptiPlex 9020 SFF; the libre raminit now works well, and S3 works. * Removed all status checks from script/roms (formerly script/build/roms), @@ -360,7 +360,7 @@ The changes are, from newest to earliest: fixing a bug that was actually triggered, and a preventative bug fix as the original code wasn't correct either, even on AMD64 hosts (where it happened to compile anyway). -* include/vendor.sh: Skip a given blob if the path to it is `/dev/null` - this +* include/vendor.sh: Skip a given file if the path to it is `/dev/null` - this fixes a bug exposed by the previous change two bullet points down (fine grained error control), because VGA ROMs are handled but the KGPE-D16 target mitigates a crash bug when PIKE2008's option ROM is executed by SeaBIOS, by @@ -619,7 +619,7 @@ these changes relative to the old one: * 192e23b7 vbe: implement function 09h (get/set palette data) * 3722c21d vgasrc: round up save/restore size * 5d87ff25 vbe: Add VBE 2.0+ OemData field to struct vbe_info -* 163fd9f0 fix smbios blob length overflow +* 163fd9f0 fix smbios data length overflow * 82faf1d5 Add LBA 64bit support for reads beyond 2TB. * 3f082f38 Add AHCI Power ON + ICC_ACTIVE into port setup code * 3ae88886 esp-scsi: terminate DMA transfer when ESP data transfer completes @@ -802,7 +802,7 @@ The latest changes are listed first, going all the way down to earlier changes: * | f6cbc501 import nuke() from cbmk cdce8ba70b |/ * 7fbcb7be coreboot t440p/w541: enable nvme in grub_scan_disk -* 47f582d4 ./vendor download: skip if blob path is /dev/null +* 47f582d4 ./vendor download: skip if file path is /dev/null * e7cb10d6 do not allow dashes in coreboot target names * e9b9e825 ./vendor download: more fine-tuned error control * 0dd0dfaf vendor.sh: don't error on main targets @@ -919,7 +919,7 @@ The latest changes are listed first, going all the way down to earlier changes: * 190495d2 disable x301 for next release (for now) * 03fae0cf mrc.sh: remove redundant function extract_ref() * f66ceef6 print two line breaks before confirming release -* cc339741 remove haswell mrc blob (libre raminit stable now) +* cc339741 remove haswell mrc file (libre raminit stable now) * 05fbd392 remove all status checks. only handle release. * 8ba0fd83 git.sh: remove errant comment * d7ce26dc move script/*/* to script/ diff --git a/site/news/policy.de.md b/site/news/policy.de.md index c3b071a..1ad4405 100644 --- a/site/news/policy.de.md +++ b/site/news/policy.de.md @@ -107,9 +107,9 @@ The libreboot project has the following policy: to tell people how to *neuter* the ME, if possible on a given board. The `me_cleaner` program is very useful, and provides a much more secure ME configuration. -* Vendor blobs should *never* be deleted, even if they are unused. In the +* Such vendor files should *never* be deleted, even if they are unused. In the coreboot project, a set of `3rdparty` submodules are available, with vendor - blobs for init tasks on many boards. These must *all* be included in libreboot + files for init tasks on many boards. These must *all* be included in libreboot releases, even if unused. That way, even if the Libreboot build system does not yet integrate support for a given board, someone who downloads libreboot can still make changes to their local version of the build system, if they diff --git a/site/news/policy.md b/site/news/policy.md index 2777c0f..7db07c3 100644 --- a/site/news/policy.md +++ b/site/news/policy.md @@ -98,7 +98,7 @@ The libreboot project has the following policy: to tell people how to *neuter* the ME, if possible on a given board. The `me_cleaner` program is very useful, and provides a much more secure ME configuration. -* Vendor blobs should *never* be deleted, even if they are unused. In the +* Such vendor files should *never* be deleted, even if they are unused. In the coreboot project, a set of `3rdparty` submodules are available, with vendor code for init tasks on many boards. These must *all* be included in libreboot releases, even if unused. That way, even if the Libreboot build system does @@ -154,7 +154,7 @@ examples of how this very policy is implemented in Libreboot: * Newer Intel platforms have Intel ME, which is a coprocessor inside the machine that handles many functions including certain power management, and it can provides useful remote management features with Intel AMT for example. - This is a giant 5MB+ blob in the flash, and the ME has full access to your + This is a giant 5MB+ section in the flash, and the ME has full access to your RAM and other peripherals; more is documented about this in the Libreboot FAQ. On older ME4-based platforms such as Intel GM45 platforms, e.g. ThinkPad X200/T400, we remove the ME firmware entirely from the flash, leaving @@ -170,7 +170,7 @@ examples of how this very policy is implemented in Libreboot: actually run anything. ME Cleaner is required, instead of full removal, because the machines don't boot reliably without at least the BUP/ROMP modules present in flash. -* On Intel Haswell platform (Intel 4th gen), a binary blob is available for +* On Intel Haswell platform (Intel 4th gen), vendor firmware is available for memory controller initialisation, called the Intel *MRC* or System Agent. We previously included this in Libreboot; nowadays, we have free initialisation code written by Angel Pons. The libre code, called NRI (Native RAM diff --git a/site/news/safety.md b/site/news/safety.md index 193213d..ce6e1a9 100644 --- a/site/news/safety.md +++ b/site/news/safety.md @@ -2,6 +2,45 @@ % Leah Rowe % 7 July 2023 +New safety features +=============== + +NOTE: This page is mostly completely obsolete, as of 3 January 2025; changes +made in the vendor inject script for Libreboot 20241206 rev8 or higher (and +releases newer than the 20241206 series) make the script almost completely +safe to use, as described in the section pertaining to this on +the [main guide](../docs/install/ivy_has_common.md). + +To summarise, those new safety features are as follows: + +* Newer release ROMs (20241206rev8 or higher, or releases newer than 20241206 + series) have 1-byte padding on non-inject images, to trigger an error in + flashprog due to a size mismatch versus chip size, and they have the + words `DO_NOT_FLASH` in the image file names. (older release images don't + have this, so watch out) +* Injects directly into the *tarballs*, and replaces the given tarball with + one containing the injected images. Older versions left the tarball + untouched and outputted images to `bin/release/` (directory), whereas many + users wrongly believed they could use the tarball; the new version therefore + adheres accordingly to the user's natural expectation, in this regard. +* Avoids replacing the tarball, where errors are observed, and prints much more + pedantic error messages, to let the user know that they must *stop* and take + note. + +With this in mind, the original article written below is largely obsolete, and +the steps below (which would require extreme over-engineering) are probably not +going to be implemented. + +Now, continue reading the article below, if you wish! + +NOTE: The sections in the article below are *still* important to read, so please +do read it, and note that **you must +still [insert vendor files](../docs/install/ivy_has_common.md) regardless, +prior to Libreboot installation, if required on your board.** + +Article +======= + **Please also follow this guide if using Dell Latitude laptops.** **If unsure, just follow this guide. If you follow this guide on a board that @@ -113,8 +152,8 @@ BIOS region is coreboot. Per the issue page, I intend to implement the following regime in future Libreboot releases, on the affected machines: -* If BIOS region blob-free (no MRC/EC firmware needed): set IFD, GbE and BIOS - regions read-write by default, but lock the ME region. +* BIOS region doesn't need vendor files (no MRC/EC firmware needed): set IFD, + GbE and BIOS regions read-write by default, but lock the ME region. * If BIOS region requires vendor files: set IFD and GbE regions read-write by default, but lock the ME and BIOS regions. diff --git a/site/tasks/index.md b/site/tasks/index.md index c86f27d..4da9ffb 100644 --- a/site/tasks/index.md +++ b/site/tasks/index.md @@ -1404,7 +1404,7 @@ the way it's configured is very complicated. See: [Vendor file guide](../docs/install/ivy_has_common.html) The way the Libreboot build system works, the Intel ME and other firmware is -automatically downloaded at build time. At release time, blobs such as these +automatically downloaded at build time. At release time, files such as these are deleted, but an extra *insert* script is provided that can provide the same auto-download and auto-insert on release ROMs. From 6ae9714ecfba82c8a2ccae648f29350b5fe40606 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Fri, 3 Jan 2025 07:30:12 +0000 Subject: [PATCH 083/279] update links to the inject guide i was linking to the old safety.md article, which then linked to the inject guide, but the safety article is now obsolete, because i implemented a better regime than what was described there. so, i've updated all links to safety.md, replacing them with ivy_has_internal.md Signed-off-by: Leah Rowe --- site/docs/install/dell3050.md | 6 ++++-- site/docs/install/dell7010.md | 6 ++++-- site/docs/install/dell9020.md | 6 ++++-- site/docs/install/hp2170p.md | 6 ++++-- site/docs/install/hp2560p.md | 6 ++++-- site/docs/install/hp2570p.md | 6 ++++-- site/docs/install/hp8200sff.md | 6 ++++-- site/docs/install/hp820g2.md | 6 ++++-- site/docs/install/hp8300usdt.md | 6 ++++-- site/docs/install/hp8460p.md | 6 ++++-- site/docs/install/hp8470p.md | 6 ++++-- site/docs/install/hp8560w.md | 6 ++++-- site/docs/install/hp9470m.md | 6 ++++-- site/docs/install/index.md | 6 ++++-- site/docs/install/ivy_internal.md | 6 ++++-- site/docs/install/latitude.md | 8 ++++---- site/docs/install/spi.md | 6 ++++-- site/docs/install/spi.zh-cn.md | 2 +- site/docs/install/spi_generic.md | 6 ++++-- site/docs/install/t1650.md | 6 ++++-- site/docs/install/t420_external.md | 6 ++++-- site/docs/install/t440p_external.md | 8 +++++--- site/docs/install/t480.md | 6 ++++-- site/docs/install/w541_external.md | 6 ++++-- site/docs/install/x230_external.md | 6 ++++-- site/download.md | 6 ++++-- site/download.uk.md | 6 ++++-- site/news/e6400.uk.md | 6 ++++-- site/news/libreboot20221214.md | 6 ++++-- site/news/libreboot20230319.md | 6 ++++-- site/news/libreboot20230413.md | 6 ++++-- site/news/libreboot20230423.md | 6 ++++-- site/news/libreboot20230625.md | 6 ++++-- site/news/libreboot20231021.md | 6 ++++-- site/news/libreboot20231101.md | 6 ++++-- site/news/libreboot20231106.md | 6 ++++-- site/news/libreboot20240612.md | 6 ++++-- site/news/libreboot20241008.md | 6 ++++-- site/news/libreboot20241206.md | 6 ++++-- 39 files changed, 154 insertions(+), 80 deletions(-) diff --git a/site/docs/install/dell3050.md b/site/docs/install/dell3050.md index 7bb6198..64aa6b1 100644 --- a/site/docs/install/dell3050.md +++ b/site/docs/install/dell3050.md @@ -3,8 +3,10 @@ title: Dell OptiPlex 3050 Micro x-toc-enable: true ... -**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md), -OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)** +**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](ivy_has_common.md), OR +YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions +there, before flashing. For posterity, +[here is the link again](ivy_has_common.md).**
diff --git a/site/docs/install/dell7010.md b/site/docs/install/dell7010.md index 08a1d44..ca5fe95 100644 --- a/site/docs/install/dell7010.md +++ b/site/docs/install/dell7010.md @@ -6,8 +6,10 @@ x-toc-enable: true **This is only for the SFF variant. The MT variant is also supported, but for the MT variant, you must flash the [T1650 ROM image](t1650.md) instead.** -**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md), -OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)** +**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](ivy_has_common.md), OR +YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions +there, before flashing. For posterity, +[here is the link again](ivy_has_common.md).**
diff --git a/site/docs/install/dell9020.md b/site/docs/install/dell9020.md index e1baa8a..fb3289f 100644 --- a/site/docs/install/dell9020.md +++ b/site/docs/install/dell9020.md @@ -6,8 +6,10 @@ x-toc-enable: true **NOTE: Dell XE2 MT/SFF are also known to work, using the 9020 images. Same motherboards as the 9020 and 7020.** -**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md), -OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)** +**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](ivy_has_common.md), OR +YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions +there, before flashing. For posterity, +[here is the link again](ivy_has_common.md).**
diff --git a/site/docs/install/hp2170p.md b/site/docs/install/hp2170p.md index a1e53f1..9a31bfa 100644 --- a/site/docs/install/hp2170p.md +++ b/site/docs/install/hp2170p.md @@ -3,8 +3,10 @@ title: HP EliteBook 2170p x-toc-enable: true ... -**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md), -OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)** +**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](ivy_has_common.md), OR +YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions +there, before flashing. For posterity, +[here is the link again](ivy_has_common.md).**
diff --git a/site/docs/install/hp2560p.md b/site/docs/install/hp2560p.md index 70fd672..9d37d5b 100644 --- a/site/docs/install/hp2560p.md +++ b/site/docs/install/hp2560p.md @@ -3,8 +3,10 @@ title: HP EliteBook 2560p x-toc-enable: true ... -**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md), -OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)** +**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](ivy_has_common.md), OR +YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions +there, before flashing. For posterity, +[here is the link again](ivy_has_common.md).**
diff --git a/site/docs/install/hp2570p.md b/site/docs/install/hp2570p.md index f187603..2915f7b 100644 --- a/site/docs/install/hp2570p.md +++ b/site/docs/install/hp2570p.md @@ -3,8 +3,10 @@ title: HP EliteBook 2570p x-toc-enable: true ... -**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md), -OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)** +**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](ivy_has_common.md), OR +YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions +there, before flashing. For posterity, +[here is the link again](ivy_has_common.md).**
diff --git a/site/docs/install/hp8200sff.md b/site/docs/install/hp8200sff.md index 83239e2..72a31f4 100644 --- a/site/docs/install/hp8200sff.md +++ b/site/docs/install/hp8200sff.md @@ -3,8 +3,10 @@ title: HP Elite 8200 SFF/MT and 6200 Pro Business x-toc-enable: true ... -**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md), -OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)** +**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](ivy_has_common.md), OR +YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions +there, before flashing. For posterity, +[here is the link again](ivy_has_common.md).**
diff --git a/site/docs/install/hp820g2.md b/site/docs/install/hp820g2.md index e8da1b2..e773b57 100644 --- a/site/docs/install/hp820g2.md +++ b/site/docs/install/hp820g2.md @@ -3,8 +3,10 @@ title: HP EliteBook 820 G2 x-toc-enable: true ... -**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md), -OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)** +**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](ivy_has_common.md), OR +YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions +there, before flashing. For posterity, +[here is the link again](ivy_has_common.md).**
diff --git a/site/docs/install/hp8300usdt.md b/site/docs/install/hp8300usdt.md index 6a3c378..0f23182 100644 --- a/site/docs/install/hp8300usdt.md +++ b/site/docs/install/hp8300usdt.md @@ -3,8 +3,10 @@ title: HP Compaq Elite 8300 USDT x-toc-enable: true ... -**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md), -OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)** +**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](ivy_has_common.md), OR +YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions +there, before flashing. For posterity, +[here is the link again](ivy_has_common.md).**
diff --git a/site/docs/install/hp8460p.md b/site/docs/install/hp8460p.md index f4a7c22..4e86cbd 100644 --- a/site/docs/install/hp8460p.md +++ b/site/docs/install/hp8460p.md @@ -3,8 +3,10 @@ title: HP EliteBook 8460p x-toc-enable: true ... -**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md), -OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)** +**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](ivy_has_common.md), OR +YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions +there, before flashing. For posterity, +[here is the link again](ivy_has_common.md).**
diff --git a/site/docs/install/hp8470p.md b/site/docs/install/hp8470p.md index 0997c8b..5cc00de 100644 --- a/site/docs/install/hp8470p.md +++ b/site/docs/install/hp8470p.md @@ -3,8 +3,10 @@ title: HP EliteBook 8470p x-toc-enable: true ... -**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md), -OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)** +**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](ivy_has_common.md), OR +YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions +there, before flashing. For posterity, +[here is the link again](ivy_has_common.md).**
diff --git a/site/docs/install/hp8560w.md b/site/docs/install/hp8560w.md index ebd7eca..220ea33 100644 --- a/site/docs/install/hp8560w.md +++ b/site/docs/install/hp8560w.md @@ -3,8 +3,10 @@ title: HP EliteBook 8560w x-toc-enable: true ... -**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md), -OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)** +**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](ivy_has_common.md), OR +YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions +there, before flashing. For posterity, +[here is the link again](ivy_has_common.md).**
diff --git a/site/docs/install/hp9470m.md b/site/docs/install/hp9470m.md index 9168f0d..2266ef2 100644 --- a/site/docs/install/hp9470m.md +++ b/site/docs/install/hp9470m.md @@ -3,8 +3,10 @@ title: HP EliteBook Folio 9470m x-toc-enable: true ... -**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md), -OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)** +**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](ivy_has_common.md), OR +YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions +there, before flashing. For posterity, +[here is the link again](ivy_has_common.md).**
diff --git a/site/docs/install/index.md b/site/docs/install/index.md index 6c141c3..8a538c6 100644 --- a/site/docs/install/index.md +++ b/site/docs/install/index.md @@ -14,8 +14,10 @@ the `-r` option in flashprog instead `-w`, to read from the flash.** **SAFETY WARNING!** ==================================================================== -**IMPORTANT ADVICE: [PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING/UPDATING -LIBREBOOT](../../news/safety.md).**] +**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](ivy_has_common.md), OR +YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions +there, before flashing. For posterity, +[here is the link again](ivy_has_common.md).** **If you're using release ROMs, some files may be missing inside them, and must be added. See: [Inserting Vendor Files](ivy_has_common.md).** diff --git a/site/docs/install/ivy_internal.md b/site/docs/install/ivy_internal.md index 0a5fd0c..7adb989 100644 --- a/site/docs/install/ivy_internal.md +++ b/site/docs/install/ivy_internal.md @@ -3,8 +3,10 @@ title: Ivybridge internal flashing x-toc-enable: true ... -**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md), -OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)** +**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](ivy_has_common.md), OR +YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions +there, before flashing. For posterity, +[here is the link again](ivy_has_common.md).** Ch1p's guide ============ diff --git a/site/docs/install/latitude.md b/site/docs/install/latitude.md index bccca6a..e16fc9a 100644 --- a/site/docs/install/latitude.md +++ b/site/docs/install/latitude.md @@ -10,10 +10,10 @@ instructions on this page. Disable security before flashing ================================ -**[SAFETY WARNING: Always insert vendor files before flashing.](../../news/safety.md), -or look directly at [Injecting Vendor Files](ivy_has_common.md). If you flash -Libreboot without inserting vendor files, you will brick the machine; if you -do, please follow the external flashing instructions linked below.** +**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](ivy_has_common.md), OR +YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions +there, before flashing. For posterity, +[here is the link again](ivy_has_common.md).** Please also [disable /dev/mem protection](devmem.md), otherwise flashprog and dell-flash-unlock won't work. You can re-enable the protections after diff --git a/site/docs/install/spi.md b/site/docs/install/spi.md index ef47d30..21c6546 100644 --- a/site/docs/install/spi.md +++ b/site/docs/install/spi.md @@ -24,8 +24,10 @@ now, as of 27 January 2024, which is a fork of flashrom. The reason why was explained, in the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** -**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md), -OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)** +**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](ivy_has_common.md), OR +YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions +there, before flashing. For posterity, +[here is the link again](ivy_has_common.md).** This guide will teach you how to use various tools for externally reprogramming a 25xx NOR flash via SPI protocol. This is the most common type of flash IC for diff --git a/site/docs/install/spi.zh-cn.md b/site/docs/install/spi.zh-cn.md index 6cc0784..46b9abb 100644 --- a/site/docs/install/spi.zh-cn.md +++ b/site/docs/install/spi.zh-cn.md @@ -19,7 +19,7 @@ operates Minifree Ltd; sales provide funding for the Libreboot project. Introduction ============ -**[安装之前请先阅读这些指示](../../news/safety.md),否则你的机器可能会成砖:[安全措施](../../news/safety.md)** +**[安装之前请先阅读这些指示](ivy_has_common.md),否则你的机器可能会成砖:[安全措施](ivy_has_common.md)** 本指南将教你怎样使用各种工具,通过 SPI 协议对 25xx NOR flash 进行外部再编程。这是 coreboot 所支持的计算机中,最常见的 flash IC 类型。目前 libreboot 支持的每个系统,基本都使用这种类型的引导 flash;唯一的例外就是 ASUS KFSN4-DRE,它在 PLCC32 芯片座中使用了 LPC flash,你可以在供应商固件启动后,对其进行热切换,然后再内部刷入。十分简单! diff --git a/site/docs/install/spi_generic.md b/site/docs/install/spi_generic.md index 9bd3cd7..cea61cd 100644 --- a/site/docs/install/spi_generic.md +++ b/site/docs/install/spi_generic.md @@ -8,8 +8,10 @@ now, as of 27 January 2024, which is a fork of flashrom. The reason why was explained, in the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** -**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md), -OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)** +**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](ivy_has_common.md), OR +YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions +there, before flashing. For posterity, +[here is the link again](ivy_has_common.md).** There are a plethora of single board computers with which you can flash libreboot to a SOIC chip. Some users might be daunted by the price of a raspberry pi. diff --git a/site/docs/install/t1650.md b/site/docs/install/t1650.md index 84b410a..de439ec 100644 --- a/site/docs/install/t1650.md +++ b/site/docs/install/t1650.md @@ -3,8 +3,10 @@ title: Dell Precision T1650 x-toc-enable: true ... -**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md), -OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)** +**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](ivy_has_common.md), OR +YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions +there, before flashing. For posterity, +[here is the link again](ivy_has_common.md).**
diff --git a/site/docs/install/t420_external.md b/site/docs/install/t420_external.md index dee8906..c053962 100644 --- a/site/docs/install/t420_external.md +++ b/site/docs/install/t420_external.md @@ -3,8 +3,10 @@ title: ThinkPad T420 external flashing x-toc-enable: true ... -**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md), -OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)** +**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](ivy_has_common.md), OR +YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions +there, before flashing. For posterity, +[here is the link again](ivy_has_common.md).** Read the [Ivybridge/Haswell common guide](/docs/install/ivy_has_common.html) if you want more information. Please note, for Thinkpad T420, splitting the rom is not required. The following instructions expect you to have these on hand: diff --git a/site/docs/install/t440p_external.md b/site/docs/install/t440p_external.md index 042a751..2a274f3 100644 --- a/site/docs/install/t440p_external.md +++ b/site/docs/install/t440p_external.md @@ -17,10 +17,12 @@ now, as of 27 January 2024, which is a fork of flashrom. The reason why was explained, in the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** -**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md), -OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)** +**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](ivy_has_common.md), OR +YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions +there, before flashing. For posterity, +[here is the link again](ivy_has_common.md).** -Read the [Ivybridge/Haswell common guide](/docs/install/ivy_has_common.html) if you want more information. +Read the [Ivybridge/Haswell common guide](ivy_has_common.md) if you want more information. All of the following instructions assume that you've cloned lbmk and are operating from the root of that project. To do so, run diff --git a/site/docs/install/t480.md b/site/docs/install/t480.md index 8580165..f84db6d 100644 --- a/site/docs/install/t480.md +++ b/site/docs/install/t480.md @@ -6,8 +6,10 @@ x-toc-enable: true Libreboot supports both the T480 and T480s variants. It is available in the *Libreboot 20241206* release or later. -**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md), -OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)** +**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](ivy_has_common.md), OR +YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions +there, before flashing. For posterity, +[here is the link again](ivy_has_common.md).**
diff --git a/site/docs/install/w541_external.md b/site/docs/install/w541_external.md index 49e378b..097136f 100644 --- a/site/docs/install/w541_external.md +++ b/site/docs/install/w541_external.md @@ -20,8 +20,10 @@ now, as of 27 January 2024, which is a fork of flashrom. The reason why was explained, in the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** -**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md), -OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)** +**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](ivy_has_common.md), OR +YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions +there, before flashing. For posterity, +[here is the link again](ivy_has_common.md).** Read the [Ivybridge/Haswell common guide](/docs/install/ivy_has_common.html) if you want more information. All of the following instructions assume that you've cloned lbmk and are operating from the diff --git a/site/docs/install/x230_external.md b/site/docs/install/x230_external.md index aa4bf27..80bd2c4 100644 --- a/site/docs/install/x230_external.md +++ b/site/docs/install/x230_external.md @@ -11,8 +11,10 @@ now, as of 27 January 2024, which is a fork of flashrom. The reason why was explained, in the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** -**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md), -OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)** +**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](ivy_has_common.md), OR +YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions +there, before flashing. For posterity, +[here is the link again](ivy_has_common.md).** NOTE: Internal flashing (from vendor firmware) to Libreboot is possible, on this board, but the steps are a bit more complex than using an external flasher. diff --git a/site/download.md b/site/download.md index e1f42cb..5c6ba07 100644 --- a/site/download.md +++ b/site/download.md @@ -25,8 +25,10 @@ operates Minifree Ltd; sales provide funding for the Libreboot project. Safety warning -------------- -**IMPORTANT ADVICE: [PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING/UPDATING -LIBREBOOT](news/safety.md).** +**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](docs/install/ivy_has_common.md), +OR YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions +there, before flashing. For posterity, +[here is the link again](docs/install/ivy_has_common.md).** GPG signing key --------------- diff --git a/site/download.uk.md b/site/download.uk.md index b001d48..7d55784 100644 --- a/site/download.uk.md +++ b/site/download.uk.md @@ -25,8 +25,10 @@ operates Minifree Ltd; sales provide funding for the Libreboot project. Safety warning -------------- -**IMPORTANT ADVICE: [PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING/UPDATING -LIBREBOOT](news/safety.md).** +**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](docs/install/ivy_has_common.md), OR +YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions +there, before flashing. For posterity, +[here is the link again](docs/install/ivy_has_common.md).** Код підпису GPG --------------- diff --git a/site/news/e6400.uk.md b/site/news/e6400.uk.md index eb79c5a..d1fec10 100644 --- a/site/news/e6400.uk.md +++ b/site/news/e6400.uk.md @@ -2,8 +2,10 @@ % Лія Роу % 19 квітня 2023 року -**Please make sure to insert vendor files if using the Nvidia GPU model of -E6400. See: [flash safety](safety.md)** +**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](ivy_has_common.md), OR +YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions +there, before flashing. For posterity, +[here is the link again](../docs/install/ivy_has_common.md).** Вступ ============ diff --git a/site/news/libreboot20221214.md b/site/news/libreboot20221214.md index 16bb360..35a3039 100644 --- a/site/news/libreboot20221214.md +++ b/site/news/libreboot20221214.md @@ -9,8 +9,10 @@ in 2022. *This* new release, Libreboot 20221214, is released today on December This is marked as a *testing* release, but most/all boards should be fairly stable. -**IMPORTANT ADVICE: [PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING/UPDATING -LIBREBOOT](safety.md).** +**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](ivy_has_common.md), OR +YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions +there, before flashing. For posterity, +[here is the link again](../docs/install/ivy_has_common.md).** Build from source ----------------- diff --git a/site/news/libreboot20230319.md b/site/news/libreboot20230319.md index 20ca122..70b5922 100644 --- a/site/news/libreboot20230319.md +++ b/site/news/libreboot20230319.md @@ -7,8 +7,10 @@ See: [Libreboot 20230413 release announcement of 13 April 2023](libreboot20230413.md) - the `t440pmrc_12mb` and `w541mrc_12mb` images have been re-added, in the new release.** -**IMPORTANT ADVICE: [PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING/UPDATING -LIBREBOOT](safety.md).** +**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../docs/install/ivy_has_common.md), OR +YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions +there, before flashing. For posterity, +[here is the link again](../docs/install/ivy_has_common.md).** Introduction ============ diff --git a/site/news/libreboot20230413.md b/site/news/libreboot20230413.md index 657bf91..9e3182b 100644 --- a/site/news/libreboot20230413.md +++ b/site/news/libreboot20230413.md @@ -2,8 +2,10 @@ % Leah Rowe % 13 April 2023 -**IMPORTANT ADVICE: [PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING/UPDATING -LIBREBOOT](safety.md).** +**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../docs/install/ivy_has_common.md), OR +YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions +there, before flashing. For posterity, +[here is the link again](../docs/install/ivy_has_common.md).** Introduction ============ diff --git a/site/news/libreboot20230423.md b/site/news/libreboot20230423.md index 51229e7..a1491ea 100644 --- a/site/news/libreboot20230423.md +++ b/site/news/libreboot20230423.md @@ -2,8 +2,10 @@ % Leah Rowe % 23 April 2023 -**IMPORTANT ADVICE: [PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING/UPDATING -LIBREBOOT](safety.md).** +**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../docs/install/ivy_has_common.md), OR +YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions +there, before flashing. For posterity, +[here is the link again](../docs/install/ivy_has_common.md).** Introduction ============ diff --git a/site/news/libreboot20230625.md b/site/news/libreboot20230625.md index a0539a4..3acdca6 100644 --- a/site/news/libreboot20230625.md +++ b/site/news/libreboot20230625.md @@ -2,8 +2,10 @@ % Leah Rowe % 25 June 2023 -**IMPORTANT ADVICE: [PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING/UPDATING -LIBREBOOT](safety.md).** +**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../docs/install/ivy_has_common.md), OR +YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions +there, before flashing. For posterity, +[here is the link again](../docs/install/ivy_has_common.md).** Introduction ============ diff --git a/site/news/libreboot20231021.md b/site/news/libreboot20231021.md index d8fdb64..f37c461 100644 --- a/site/news/libreboot20231021.md +++ b/site/news/libreboot20231021.md @@ -2,8 +2,10 @@ % Leah Rowe % 21 October 2023 -**IMPORTANT ADVICE: [PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING/UPDATING -LIBREBOOT](safety.md).** +**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../docs/install/ivy_has_common.md), OR +YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions +there, before flashing. For posterity, +[here is the link again](../docs/install/ivy_has_common.md).** Introduction ============ diff --git a/site/news/libreboot20231101.md b/site/news/libreboot20231101.md index e690ef3..0d330be 100644 --- a/site/news/libreboot20231101.md +++ b/site/news/libreboot20231101.md @@ -2,8 +2,10 @@ % Leah Rowe % 1 November 2023 -**IMPORTANT ADVICE: [PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING/UPDATING -LIBREBOOT](safety.md).** +**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../docs/install/ivy_has_common.md), OR +YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions +there, before flashing. For posterity, +[here is the link again](../docs/install/ivy_has_common.md).** Introduction ============ diff --git a/site/news/libreboot20231106.md b/site/news/libreboot20231106.md index b791b3f..3e7a238 100644 --- a/site/news/libreboot20231106.md +++ b/site/news/libreboot20231106.md @@ -2,8 +2,10 @@ % Leah Rowe % 6 November 2023 -**IMPORTANT ADVICE: [PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING/UPDATING -LIBREBOOT](safety.md).** +**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../docs/install/ivy_has_common.md), OR +YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions +there, before flashing. For posterity, +[here is the link again](../docs/install/ivy_has_common.md).** Introduction ============ diff --git a/site/news/libreboot20240612.md b/site/news/libreboot20240612.md index 6a5550d..9c0f3d8 100644 --- a/site/news/libreboot20240612.md +++ b/site/news/libreboot20240612.md @@ -2,8 +2,10 @@ % Leah Rowe % 12 June 2024 -**IMPORTANT ADVICE: [PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING/UPDATING -LIBREBOOT](safety.md).** +**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../docs/install/ivy_has_common.md), OR +YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions +there, before flashing. For posterity, +[here is the link again](../docs/install/ivy_has_common.md).** Introduction ============ diff --git a/site/news/libreboot20241008.md b/site/news/libreboot20241008.md index f3ae86a..370a738 100644 --- a/site/news/libreboot20241008.md +++ b/site/news/libreboot20241008.md @@ -5,8 +5,10 @@ This is a *testing* release, whereas the current stable release on this day is *Libreboot 20240612*. -**IMPORTANT ADVICE: [PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING/UPDATING -LIBREBOOT](safety.md).** +**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../docs/install/ivy_has_common.md), OR +YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions +there, before flashing. For posterity, +[here is the link again](../docs/install/ivy_has_common.md).** Introduction ============ diff --git a/site/news/libreboot20241206.md b/site/news/libreboot20241206.md index e7fa259..5105762 100644 --- a/site/news/libreboot20241206.md +++ b/site/news/libreboot20241206.md @@ -6,8 +6,10 @@ Today's Libreboot 20241206 revision is a *stable release*, whereas the previous testing release was Libreboot 20241008, and the previous stable release was Libreboot 20240612. -**IMPORTANT ADVICE: [PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING/UPDATING -LIBREBOOT](safety.md).** +**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../docs/install/ivy_has_common.md), OR +YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions +there, before flashing. For posterity, +[here is the link again](../docs/install/ivy_has_common.md).** Introduction ============ From ec57019f3eda5e12849287c1e34f6ed1046bbb7c Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Fri, 3 Jan 2025 08:37:35 +0000 Subject: [PATCH 084/279] remove a pointless link the inject page links to itself! Signed-off-by: Leah Rowe --- site/docs/install/ivy_has_common.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/site/docs/install/ivy_has_common.md b/site/docs/install/ivy_has_common.md index ee877d1..f5b8911 100644 --- a/site/docs/install/ivy_has_common.md +++ b/site/docs/install/ivy_has_common.md @@ -244,8 +244,8 @@ early boot. This is done using `me_cleaner`, which lbmk imports. Intel FSP copyright =================== -If you just want to inject Intel FSP and ME into your image, ready for -flashing, please read [the guide](ivy_has_common.md). +A few boards use Intel FSP, for parts of the machine initialisation. More +information is available on the [freedom status](../../freedom-status.md) page. Abstract -------- From 8c2e77e0c742c3d1b7f3f9d78ca15ecf91d2ca75 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Fri, 3 Jan 2025 10:20:23 +0000 Subject: [PATCH 085/279] make the text SLIGHTLY smaller on lower res screens, it's a bit too big this is still decent on my 27" 1440p screen with my absolutely properly DPI scaled LXDE setup Signed-off-by: Leah Rowe --- site/global.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/site/global.css b/site/global.css index 5cd4935..af52c13 100644 --- a/site/global.css +++ b/site/global.css @@ -25,14 +25,14 @@ { html { - font-size: 1.15em; + font-size: 1.10em; } } @media (min-width:110em) { html { - font-size: 1.25em; + font-size: 1.15em; } } From 37c087228750af8b23b9cca4b93115d66dcc0d56 Mon Sep 17 00:00:00 2001 From: Integral Date: Fri, 3 Jan 2025 21:42:00 +0800 Subject: [PATCH 086/279] Fix typo: discrete CPU -> discrete GPU --- site/docs/install/dell7010.md | 2 +- site/docs/install/dell9020.md | 2 +- site/docs/install/t1650.md | 2 +- site/docs/install/t480.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/site/docs/install/dell7010.md b/site/docs/install/dell7010.md index ca5fe95..d2cd57d 100644 --- a/site/docs/install/dell7010.md +++ b/site/docs/install/dell7010.md @@ -48,7 +48,7 @@ P*: Partially works with vendor firmware |---------------------------------------------------|----| | **Internal flashing with original boot firmware** | W+ | | **Display (if Intel GPU)** | W+ | -| **Display (discrete CPU, SeaBIOS payload only)** | W* | +| **Display (discrete GPU, SeaBIOS payload only)** | W* | | **Audio** | W+ | | **RAM Init** | W+ | diff --git a/site/docs/install/dell9020.md b/site/docs/install/dell9020.md index fb3289f..00e390c 100644 --- a/site/docs/install/dell9020.md +++ b/site/docs/install/dell9020.md @@ -52,7 +52,7 @@ P*: Partially works with vendor firmware |---------------------------------------------------|----| | **Internal flashing with original boot firmware** | W+ | | **Display (if Intel GPU)** | W+ | -| **Display (discrete CPU, SeaBIOS payload only)** | W* | +| **Display (discrete GPU, SeaBIOS payload only)** | W* | | **Audio** | W+ | | **RAM Init** | W+ | diff --git a/site/docs/install/t1650.md b/site/docs/install/t1650.md index de439ec..3e77a08 100644 --- a/site/docs/install/t1650.md +++ b/site/docs/install/t1650.md @@ -44,7 +44,7 @@ P*: Partially works with vendor firmware |---------------------------------------------------|----| | **Internal flashing with original boot firmware** | W* | | **Display (if Intel GPU)** | W+ | -| **Display (discrete CPU, SeaBIOS payload only)** | W* | +| **Display (discrete GPU, SeaBIOS payload only)** | W* | | **Audio** | W+ | | **RAM Init** | W+ | diff --git a/site/docs/install/t480.md b/site/docs/install/t480.md index f84db6d..65310cb 100644 --- a/site/docs/install/t480.md +++ b/site/docs/install/t480.md @@ -47,7 +47,7 @@ P*: Partially works with vendor firmware |---------------------------------------------------|----| | **Internal flashing with original boot firmware** | N | | **Display (if Intel GPU)** | W+ | -| **Display (discrete CPU, SeaBIOS payload only)** | N | +| **Display (discrete GPU, SeaBIOS payload only)** | N | | **Audio** | W+ | | **RAM Init** | W* | From ed08e80f5972ed9e258d275024b356281958106e Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 4 Jan 2025 00:20:43 +0000 Subject: [PATCH 087/279] docs/build: mention gcc/gnat version match issue Signed-off-by: Leah Rowe --- site/docs/build/index.md | 27 +++++++++++++++++++++++++++ site/docs/build/index.uk.md | 27 +++++++++++++++++++++++++++ 2 files changed, 54 insertions(+) diff --git a/site/docs/build/index.md b/site/docs/build/index.md index 201c455..7f6c916 100644 --- a/site/docs/build/index.md +++ b/site/docs/build/index.md @@ -22,6 +22,33 @@ libreboot from the available source code. The following document describes how `lbmk` works, and how you can make changes to it: [libreboot maintenance manual](../maintain/) +Debian Trixie/Sid +================= + +Debian Trixie, the testing release as of 3 January 2025, and Debian Sid, +provide `gnat` and `gcc` as you expect, but `gnat` resolves to `gnat-13` and +installs `gcc-13` as a dependency, while `gcc` resolves to `gcc-14` and other +toolchain components correspond to this version. + +The GCC/GNAT versions need to match during build time, so Libreboot's build +system hacks the `PATH` environmental variable, setting up symlinks, matching +GNAT to GCC or GNAT to GCC. When you run `./mk dependencies debian`, you get +GNAT 13 and GCC 14. This seems to make most boards compile; in our testing, the +KGPE-D16 board failed to compile in this configuration. This PATH hack is only +done for compiling the coreboot crossgcc toolchain, and nothing else; after that, +coreboot's toolchain is used. + +For better reliability, you should, after running the dependencies script, +remove `gnat` and install `gnat-14` instead, which is available on this day +of 3 December 2025, but currently marked experimental. When you install +GNAT 14, GNAT 13 is removed but `gnat` (in `PATH`) still won't resolve to +anything. Libreboot *still* accomodates this, detecting and matching the GCC +and GNAT versions, which would in this instance match version 14 between them, +so that `gnat` and `gcc` are both in PATH at build time, resolving to v14.x. + +GNAT is used by coreboot, because some of the Intel graphics devices are +initialised natively, with code written in Ada spark (called `libgfxinit`). + MIPS cross compiler =================== diff --git a/site/docs/build/index.uk.md b/site/docs/build/index.uk.md index a1cca95..fd66a6c 100644 --- a/site/docs/build/index.uk.md +++ b/site/docs/build/index.uk.md @@ -30,6 +30,33 @@ libreboot з доступного джерельного коду. Наступний документ описує те, як працює `lbmk`, і як ви можете робити зміни до нього: [керівництво обслуговування libreboot](../maintain/) +Debian Trixie/Sid +================= + +Debian Trixie, the testing release as of 3 January 2025, and Debian Sid, +provide `gnat` and `gcc` as you expect, but `gnat` resolves to `gnat-13` and +installs `gcc-13` as a dependency, while `gcc` resolves to `gcc-14` and other +toolchain components correspond to this version. + +The GCC/GNAT versions need to match during build time, so Libreboot's build +system hacks the `PATH` environmental variable, setting up symlinks, matching +GNAT to GCC or GNAT to GCC. When you run `./mk dependencies debian`, you get +GNAT 13 and GCC 14. This seems to make most boards compile; in our testing, the +KGPE-D16 board failed to compile in this configuration. This PATH hack is only +done for compiling the coreboot crossgcc toolchain, and nothing else; after that, +coreboot's toolchain is used. + +For better reliability, you should, after running the dependencies script, +remove `gnat` and install `gnat-14` instead, which is available on this day +of 3 December 2025, but currently marked experimental. When you install +GNAT 14, GNAT 13 is removed but `gnat` (in `PATH`) still won't resolve to +anything. Libreboot *still* accomodates this, detecting and matching the GCC +and GNAT versions, which would in this instance match version 14 between them, +so that `gnat` and `gcc` are both in PATH at build time, resolving to v14.x. + +GNAT is used by coreboot, because some of the Intel graphics devices are +initialised natively, with code written in Ada spark (called `libgfxinit`). + MIPS cross compiler =================== From c3037165691d6d34bcce4b709336fd1d7726346c Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 4 Jan 2025 00:25:09 +0000 Subject: [PATCH 088/279] further debian trixie/sid instructions Signed-off-by: Leah Rowe --- site/docs/build/index.md | 10 ++++++++++ site/docs/build/index.uk.md | 10 ++++++++++ 2 files changed, 20 insertions(+) diff --git a/site/docs/build/index.md b/site/docs/build/index.md index 7f6c916..3b176d4 100644 --- a/site/docs/build/index.md +++ b/site/docs/build/index.md @@ -49,6 +49,16 @@ so that `gnat` and `gcc` are both in PATH at build time, resolving to v14.x. GNAT is used by coreboot, because some of the Intel graphics devices are initialised natively, with code written in Ada spark (called `libgfxinit`). +When updating from Debian stable to Debian Trixie(testing) or Sid, you should +also check for orphaned packages, using `aptitude search '~o'`. Do this, +removing what was leftover from the old release, and make sure to re-run the +Debian dependencies script, but do it like this: + + ./mk dependencies debian --reinstall + +NOTE: Ubuntu 24.10 also has the issue described above. Some other distros may +also have it, if they're based on Debian Testing/Sid or Ubuntu 24.10. + MIPS cross compiler =================== diff --git a/site/docs/build/index.uk.md b/site/docs/build/index.uk.md index fd66a6c..f6a8bb1 100644 --- a/site/docs/build/index.uk.md +++ b/site/docs/build/index.uk.md @@ -57,6 +57,16 @@ so that `gnat` and `gcc` are both in PATH at build time, resolving to v14.x. GNAT is used by coreboot, because some of the Intel graphics devices are initialised natively, with code written in Ada spark (called `libgfxinit`). +When updating from Debian stable to Debian Trixie(testing) or Sid, you should +also check for orphaned packages, using `aptitude search '~o'`. Do this, +removing what was leftover from the old release, and make sure to re-run the +Debian dependencies script, but do it like this: + + ./mk dependencies debian --reinstall + +NOTE: Ubuntu 24.10 also has the issue described above. Some other distros may +also have it, if they're based on Debian Testing/Sid or Ubuntu 24.10. + MIPS cross compiler =================== From b6929f8381e99e5d6d647092d1c45ed687eb1bf1 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 4 Jan 2025 00:28:30 +0000 Subject: [PATCH 089/279] further clarification Signed-off-by: Leah Rowe --- site/docs/build/index.md | 1 + site/docs/build/index.uk.md | 1 + 2 files changed, 2 insertions(+) diff --git a/site/docs/build/index.md b/site/docs/build/index.md index 3b176d4..6d35277 100644 --- a/site/docs/build/index.md +++ b/site/docs/build/index.md @@ -45,6 +45,7 @@ GNAT 14, GNAT 13 is removed but `gnat` (in `PATH`) still won't resolve to anything. Libreboot *still* accomodates this, detecting and matching the GCC and GNAT versions, which would in this instance match version 14 between them, so that `gnat` and `gcc` are both in PATH at build time, resolving to v14.x. +When we tested with this configuration, the KGPE-D16 images also compiled. GNAT is used by coreboot, because some of the Intel graphics devices are initialised natively, with code written in Ada spark (called `libgfxinit`). diff --git a/site/docs/build/index.uk.md b/site/docs/build/index.uk.md index f6a8bb1..1af1295 100644 --- a/site/docs/build/index.uk.md +++ b/site/docs/build/index.uk.md @@ -53,6 +53,7 @@ GNAT 14, GNAT 13 is removed but `gnat` (in `PATH`) still won't resolve to anything. Libreboot *still* accomodates this, detecting and matching the GCC and GNAT versions, which would in this instance match version 14 between them, so that `gnat` and `gcc` are both in PATH at build time, resolving to v14.x. +When we tested with this configuration, the KGPE-D16 images also compiled. GNAT is used by coreboot, because some of the Intel graphics devices are initialised natively, with code written in Ada spark (called `libgfxinit`). From 1e117c77af7f60e50d9c56e7b9053e0e4eb01bb4 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 4 Jan 2025 03:08:17 +0000 Subject: [PATCH 090/279] docs/build: tidy up debian trixie notes put them later in the guide, so that the user reads the guide in the exact order by which they would follow it. Signed-off-by: Leah Rowe --- site/docs/build/index.md | 108 +++++++++++++++++------------------ site/docs/build/index.uk.md | 111 ++++++++++++++++++------------------ 2 files changed, 111 insertions(+), 108 deletions(-) diff --git a/site/docs/build/index.md b/site/docs/build/index.md index 6d35277..9508b8e 100644 --- a/site/docs/build/index.md +++ b/site/docs/build/index.md @@ -22,60 +22,6 @@ libreboot from the available source code. The following document describes how `lbmk` works, and how you can make changes to it: [libreboot maintenance manual](../maintain/) -Debian Trixie/Sid -================= - -Debian Trixie, the testing release as of 3 January 2025, and Debian Sid, -provide `gnat` and `gcc` as you expect, but `gnat` resolves to `gnat-13` and -installs `gcc-13` as a dependency, while `gcc` resolves to `gcc-14` and other -toolchain components correspond to this version. - -The GCC/GNAT versions need to match during build time, so Libreboot's build -system hacks the `PATH` environmental variable, setting up symlinks, matching -GNAT to GCC or GNAT to GCC. When you run `./mk dependencies debian`, you get -GNAT 13 and GCC 14. This seems to make most boards compile; in our testing, the -KGPE-D16 board failed to compile in this configuration. This PATH hack is only -done for compiling the coreboot crossgcc toolchain, and nothing else; after that, -coreboot's toolchain is used. - -For better reliability, you should, after running the dependencies script, -remove `gnat` and install `gnat-14` instead, which is available on this day -of 3 December 2025, but currently marked experimental. When you install -GNAT 14, GNAT 13 is removed but `gnat` (in `PATH`) still won't resolve to -anything. Libreboot *still* accomodates this, detecting and matching the GCC -and GNAT versions, which would in this instance match version 14 between them, -so that `gnat` and `gcc` are both in PATH at build time, resolving to v14.x. -When we tested with this configuration, the KGPE-D16 images also compiled. - -GNAT is used by coreboot, because some of the Intel graphics devices are -initialised natively, with code written in Ada spark (called `libgfxinit`). - -When updating from Debian stable to Debian Trixie(testing) or Sid, you should -also check for orphaned packages, using `aptitude search '~o'`. Do this, -removing what was leftover from the old release, and make sure to re-run the -Debian dependencies script, but do it like this: - - ./mk dependencies debian --reinstall - -NOTE: Ubuntu 24.10 also has the issue described above. Some other distros may -also have it, if they're based on Debian Testing/Sid or Ubuntu 24.10. - -MIPS cross compiler -=================== - -Libreboot has support for the Sony PlayStation (PS1/PSX), based on -the PCSX-Redux Open BIOS. If you're doing a full release build, and/or -specifically building the PSX BIOS, you need a MIPS cross compiler. - -Arch-based systems have a mipsel cross compiler available from AUR, and most -Debian-based systems have a mipsel cross compiler in apt; for these, the normal -dependencies installation command will provide them. We know Void Linux and -Fedora don't have a MIPS compiler, for instance. - -If your distro doesn't have the MIPS compiler available, -the [PlayStation](../install/playstation.md) page provides instructions for -manual installation; please do this in addition to the normal dependencies. - Multi-threaded builds ===================== @@ -215,6 +161,60 @@ Technically, any Linux distribution can be used to build libreboot. However, you will have to write your own script for installing build dependencies. +Debian Trixie/Sid +----------------- + +Debian Trixie, the testing release as of 3 January 2025, and Debian Sid, +provide `gnat` and `gcc` as you expect, but `gnat` resolves to `gnat-13` and +installs `gcc-13` as a dependency, while `gcc` resolves to `gcc-14` and other +toolchain components correspond to this version. + +The GCC/GNAT versions need to match during build time, so Libreboot's build +system hacks the `PATH` environmental variable, setting up symlinks, matching +GNAT to GCC or GNAT to GCC. When you run `./mk dependencies debian`, you get +GNAT 13 and GCC 14. This seems to make most boards compile; in our testing, the +KGPE-D16 board failed to compile in this configuration. This PATH hack is only +done for compiling the coreboot crossgcc toolchain, and nothing else; after that, +coreboot's toolchain is used. + +GNAT is used by coreboot, because some of the Intel graphics devices are +initialised natively, with code written in Ada spark (called `libgfxinit`). + +When updating from Debian stable to Debian Trixie(testing) or Sid, you should +also check for orphaned packages, using `aptitude search '~o'`. Do this, +removing what was leftover from the old release, and make sure to re-run the +Debian dependencies script, but do it like this: + + ./mk dependencies debian --reinstall + +For better reliability, you should, after running the dependencies script, +remove `gnat` and install `gnat-14` instead, which is available on this day +of 3 December 2025, but currently marked experimental. When you install +GNAT 14, GNAT 13 is removed but `gnat` (in `PATH`) still won't resolve to +anything. Libreboot *still* accomodates this, detecting and matching the GCC +and GNAT versions, which would in this instance match version 14 between them, +so that `gnat` and `gcc` are both in PATH at build time, resolving to v14.x. +When we tested with this configuration, the KGPE-D16 images also compiled. + +NOTE: Ubuntu 24.10 also has the issue described above. Some other distros may +also have it, if they're based on Debian Testing/Sid or Ubuntu 24.10. + +MIPS cross compiler +------------------- + +Libreboot has support for the Sony PlayStation (PS1/PSX), based on +the PCSX-Redux Open BIOS. If you're doing a full release build, and/or +specifically building the PSX BIOS, you need a MIPS cross compiler. + +Arch-based systems have a mipsel cross compiler available from AUR, and most +Debian-based systems have a mipsel cross compiler in apt; for these, the normal +dependencies installation command will provide them. We know Void Linux and +Fedora don't have a MIPS compiler, for instance. + +If your distro doesn't have the MIPS compiler available, +the [PlayStation](../install/playstation.md) page provides instructions for +manual installation; please do this in addition to the normal dependencies. + Next, build ROM images ---------------------- diff --git a/site/docs/build/index.uk.md b/site/docs/build/index.uk.md index 1af1295..8e8f3e7 100644 --- a/site/docs/build/index.uk.md +++ b/site/docs/build/index.uk.md @@ -30,60 +30,6 @@ libreboot з доступного джерельного коду. Наступний документ описує те, як працює `lbmk`, і як ви можете робити зміни до нього: [керівництво обслуговування libreboot](../maintain/) -Debian Trixie/Sid -================= - -Debian Trixie, the testing release as of 3 January 2025, and Debian Sid, -provide `gnat` and `gcc` as you expect, but `gnat` resolves to `gnat-13` and -installs `gcc-13` as a dependency, while `gcc` resolves to `gcc-14` and other -toolchain components correspond to this version. - -The GCC/GNAT versions need to match during build time, so Libreboot's build -system hacks the `PATH` environmental variable, setting up symlinks, matching -GNAT to GCC or GNAT to GCC. When you run `./mk dependencies debian`, you get -GNAT 13 and GCC 14. This seems to make most boards compile; in our testing, the -KGPE-D16 board failed to compile in this configuration. This PATH hack is only -done for compiling the coreboot crossgcc toolchain, and nothing else; after that, -coreboot's toolchain is used. - -For better reliability, you should, after running the dependencies script, -remove `gnat` and install `gnat-14` instead, which is available on this day -of 3 December 2025, but currently marked experimental. When you install -GNAT 14, GNAT 13 is removed but `gnat` (in `PATH`) still won't resolve to -anything. Libreboot *still* accomodates this, detecting and matching the GCC -and GNAT versions, which would in this instance match version 14 between them, -so that `gnat` and `gcc` are both in PATH at build time, resolving to v14.x. -When we tested with this configuration, the KGPE-D16 images also compiled. - -GNAT is used by coreboot, because some of the Intel graphics devices are -initialised natively, with code written in Ada spark (called `libgfxinit`). - -When updating from Debian stable to Debian Trixie(testing) or Sid, you should -also check for orphaned packages, using `aptitude search '~o'`. Do this, -removing what was leftover from the old release, and make sure to re-run the -Debian dependencies script, but do it like this: - - ./mk dependencies debian --reinstall - -NOTE: Ubuntu 24.10 also has the issue described above. Some other distros may -also have it, if they're based on Debian Testing/Sid or Ubuntu 24.10. - -MIPS cross compiler -=================== - -Libreboot has support for the Sony PlayStation (PS1/PSX), based on -the PCSX-Redux Open BIOS. If you're doing a full release build, and/or -specifically building the PSX BIOS, you need a MIPS cross compiler. - -Arch-based systems have a mipsel cross compiler available from AUR, and most -Debian-based systems have a mipsel cross compiler in apt; for these, the normal -dependencies installation command will provide them. We know Void Linux and -Fedora don't have a MIPS compiler, for instance. - -If your distro doesn't have the MIPS compiler available, -the [PlayStation](../install/playstation.md) page provides instructions for -manual installation; please do this in addition to the normal dependencies. - Multi-threaded builds ===================== @@ -169,6 +115,63 @@ Check: `config/dependencies/` for list of supported distros. Однак, вам потрібно буде написано свій власний сценарій для встановлення залежностей побудови. +Debian Trixie/Sid +----------------- + +Debian Trixie, the testing release as of 3 January 2025, and Debian Sid, +provide `gnat` and `gcc` as you expect, but `gnat` resolves to `gnat-13` and +installs `gcc-13` as a dependency, while `gcc` resolves to `gcc-14` and other +toolchain components correspond to this version. + +The GCC/GNAT versions need to match during build time, so Libreboot's build +system hacks the `PATH` environmental variable, setting up symlinks, matching +GNAT to GCC or GNAT to GCC. When you run `./mk dependencies debian`, you get +GNAT 13 and GCC 14. This seems to make most boards compile; in our testing, the +KGPE-D16 board failed to compile in this configuration. This PATH hack is only +done for compiling the coreboot crossgcc toolchain, and nothing else; after that, +coreboot's toolchain is used. + +GNAT is used by coreboot, because some of the Intel graphics devices are +initialised natively, with code written in Ada spark (called `libgfxinit`). + +When updating from Debian stable to Debian Trixie(testing) or Sid, you should +also check for orphaned packages, using `aptitude search '~o'`. Do this, +removing what was leftover from the old release, and make sure to re-run the +Debian dependencies script, but do it like this: + + ./mk dependencies debian --reinstall + +For better reliability, you should, after running the dependencies script, +remove `gnat` and install `gnat-14` instead, which is available on this day +of 3 December 2025, but currently marked experimental. When you install +GNAT 14, GNAT 13 is removed but `gnat` (in `PATH`) still won't resolve to +anything. Libreboot *still* accomodates this, detecting and matching the GCC +and GNAT versions, which would in this instance match version 14 between them, +so that `gnat` and `gcc` are both in PATH at build time, resolving to v14.x. +When we tested with this configuration, the KGPE-D16 images also compiled. + +NOTE: Ubuntu 24.10 also has the issue described above. Some other distros may +also have it, if they're based on Debian Testing/Sid or Ubuntu 24.10. + +MIPS cross compiler +------------------- + +Libreboot has support for the Sony PlayStation (PS1/PSX), based on +the PCSX-Redux Open BIOS. If you're doing a full release build, and/or +specifically building the PSX BIOS, you need a MIPS cross compiler. + +Arch-based systems have a mipsel cross compiler available from AUR, and most +Debian-based systems have a mipsel cross compiler in apt; for these, the normal +dependencies installation command will provide them. We know Void Linux and +Fedora don't have a MIPS compiler, for instance. + +If your distro doesn't have the MIPS compiler available, +the [PlayStation](../install/playstation.md) page provides instructions for +manual installation; please do this in addition to the normal dependencies. + +Next, build ROM images +---------------------- + В якості результату, ви тепер можете (після встановлення правильних залежностей побудови) виконати лише одну команду, з свіжого Git clone, для побудови образів ROM: From b11a61c97c5618fc2aa03d3c2e57a8f91b0f8e31 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 4 Jan 2025 15:09:11 +0000 Subject: [PATCH 091/279] ivy_has_common: shorten the FSP section actually, remove it, because it's already mentioned under errata i've expanded the errata section a little bit, so as to convey the same information but more succinctly Signed-off-by: Leah Rowe --- site/docs/install/ivy_has_common.md | 76 +++-------------------------- 1 file changed, 8 insertions(+), 68 deletions(-) diff --git a/site/docs/install/ivy_has_common.md b/site/docs/install/ivy_has_common.md index f5b8911..88b8ede 100644 --- a/site/docs/install/ivy_has_common.md +++ b/site/docs/install/ivy_has_common.md @@ -241,73 +241,6 @@ You'll note the small size of the Intel ME, e.g. 84KB on sandybridge platforms. This is because lbmk *automatically* neuters it, disabling it during early boot. This is done using `me_cleaner`, which lbmk imports. -Intel FSP copyright -=================== - -A few boards use Intel FSP, for parts of the machine initialisation. More -information is available on the [freedom status](../../freedom-status.md) page. - -Abstract --------- - -The initial Libreboot 20241206 release included Intel FSP directly inside the -ROM images. Intel provides the FSP under a license which states (and I -paraphrase): you must not modify it, but you can redistribute it freely, so -long as the license notice is retained. - -The FSP is a concatenation of three modules: FSP-T, FSP-S and FSP-M. T basically -does CAR, S is essentially romstage components, and M is raminit. Due to how -coreboot works, these components must be split into single components. Coreboot -doesn't use T by default (it implements CAR itself), but has the option to -use it. It will use M and S, only. - -Technically, the process of splitting FSP into these three files counts as -a modification. Furthermore, coreboot also rebases the M module by modifying -certain pointers, so that it can integrate with coreboot to provide raminit. - -Intel *themselves* own the copyright to the tool for splitting FSP, -at `3rdparty/fsp/Tools/SplitFspBin.py`, and it seems that they do intend for -the FSP to be used this way. However, until now, those using the Intel FSP -have built coreboot images from source, so the issue of modified distributions -didn't come up. - -By the strictest possible interpretation of Intel's licensing, Libreboot was -technically in violation. To mitigate this, Libreboot 20241206 *revision 8* and -newer, will no longer include the Intel FSP inside images. Instead, the vendor -inject script is used for inserting the FSP into release images, which is what -we already do for several other components. - -`_fsp` vs `_vfsp` targets -------------------------- - -The original 20241206 release images had `_fsp` in the file name. From rev8 -onward, `_vfsp` is specified instead. - -Libreboot's inject script verifies checksums on files, when inserting into the -images. Because of this, if we inject FSP after the fact, that means anyone -using the old images will find errors when they try. - -To mitigate this, the build targets containing `_fsp` in the name have been -retained, but these targets are set `release="n"` so that no ROM images are -provided in releases. The `_vfsp` images are provided pre-compiled, instead. - -With this re-design, modern lbmk (from Libreboot 20241206 rev8 onward) can still -reliably inject Intel ME into the old `_fsp` images, if you already downloaded -those before. - -Therefore, you must be especially careful to get this right. If you're running -the inject script into a tarball, it will generally detect the right one, but -inserting manually into individual image files is also possible; if you do this, -you must remember to correctly specify `t480_vfsp_16mb` or `t480s_vfsp_16mb`, -or to specify the `_fsp` targets if you're doing this on older images. - -It is extremely unlikely that Intel would have ever cracked down on Libreboot -for its previous mistake, since many other projects exist that include FSP -directly in coreboot images, even commercially. However, Libreboot wishes to -respect Intel's license, in the -most [technically correct](https://www.youtube.com/watch?v=0ZEuWJ4muYc) way -possible. - Errata ====== @@ -327,7 +260,14 @@ raminit. The following targets no longer exist in the build system: FSP images are also no longer baked in on release images, from Libreboot 20241206 rev8 or higher (or releases newer than the 20241206 series), but the machines that use them still need them; they are injected instead, -using the commands shown above on this very page. +using the commands shown above on this very page. Older images with FSP baked +directly into release images had `_fsp` in the file names; newer images that +need it to be injected have `_vfsp` in the file name. Releases from Libreboot +20241206 release series at revision 8 or higher, or releases newer than the +20241206 series, no longer include `_fsp` images as they are set `release="n"` +in the build system; these releases include `_vfsp` images instead. Newer +targets added in the future, that need FSP, will also have `_vfsp` in the +file name, for consistency. This is written as errata because some users may still be using older release images but on the newer build system from May 2024 onward; you must use the From 2361a1de72810be49921fadd8f27696f0d88aaab Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 4 Jan 2025 15:12:34 +0000 Subject: [PATCH 092/279] ivy_has_common: Mention deguard there Signed-off-by: Leah Rowe --- site/docs/install/ivy_has_common.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/site/docs/install/ivy_has_common.md b/site/docs/install/ivy_has_common.md index 88b8ede..3786fea 100644 --- a/site/docs/install/ivy_has_common.md +++ b/site/docs/install/ivy_has_common.md @@ -239,7 +239,9 @@ if you're not savvy enough to look at stuff in hexdump. You'll note the small size of the Intel ME, e.g. 84KB on sandybridge platforms. This is because lbmk *automatically* neuters it, disabling it during -early boot. This is done using `me_cleaner`, which lbmk imports. +early boot. This is done using `me_cleaner`, which lbmk imports. If the platform +uses MEv11 with Intel Boot Guard, the boot guard is automatically disabled +by processing the MEv11 image with Mate Kukri's [deguard](deguard.md) utility. Errata ====== From c587cee2ac9f3e36f36b978da63279e7241ecb2a Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 4 Jan 2025 15:34:11 +0000 Subject: [PATCH 093/279] install/nvmutil: Safer cat/de-cat instructions Signed-off-by: Leah Rowe --- site/docs/install/nvmutil.md | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/site/docs/install/nvmutil.md b/site/docs/install/nvmutil.md index 3d1beee..d40e4bf 100644 --- a/site/docs/install/nvmutil.md +++ b/site/docs/install/nvmutil.md @@ -140,7 +140,16 @@ a single-flash setup. In that case, it's recommended to dump both chips, as `spi1.rom` and `spi2.rom`; you can then cat them together: - cat spi1.rom spi2.rom > rom.bin + cat spi1.rom spi2.rom > rom.bin # WARNING: see note below + +**WARNING: After concatenating the files, please ensure that you did so in +the correct order. In `hexdump -C rom.bin` you can check for the Intel Flash +Descriptor near the start of the file, for the bytes `5a a5 f0 0f`. You may +alternatively attempt extraction with `ifdtool -x rom.bin`, adding +the `--platform OPTION` option if needed, based on output from `--help` if +you need to (it lists platform strings for certain newer Intel platforms). If +ifdtool extraction fails, then that is another indication that you did not +cat the files correctly.** If your GbE region is locked (per IFD settings), you can dump and flash it using external flashing equipment. The Libreboot @@ -251,8 +260,11 @@ the `-p internal` parameter to something else. In this situation, you should re-split the file accordingly, if you have a dual-IC flash set, like so: - dd if=rom.bin.new of=spi2.rom bs=1M skip=8 - dd if=rom.bin.new of=spi1.rom bs=1M count=8 + dd if=rom.bin.new of=spi2.rom bs=1M skip=8 # WARNING: see note below + dd if=rom.bin.new of=spi1.rom bs=1M count=8 # WARNING: see note below + +**WARNING: The commands above assume SPI1 is 8MB and SPI2 is 4MB, making 12MB +total. Please adapt accordingly, for your own configuration.** These files would then be flashed externally, separately, using an external programmer. From 08f35ff1b6d5d8a8481a3fecf7c2b44f9a978982 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 4 Jan 2025 15:42:38 +0000 Subject: [PATCH 094/279] tidy up the vendor inject guide some of the wording was a bit long, and there was slight repetition in cases. streamline it a bit more, so that it reads more fluidly Signed-off-by: Leah Rowe --- site/docs/install/ivy_has_common.md | 37 ++++++++++++++++------------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/site/docs/install/ivy_has_common.md b/site/docs/install/ivy_has_common.md index 3786fea..9656757 100644 --- a/site/docs/install/ivy_has_common.md +++ b/site/docs/install/ivy_has_common.md @@ -39,24 +39,21 @@ if your board requires it, otherwise your board simply will not boot.** Introduction ============ -Coreboot is nominally free software, but requires certain vendor code on some -boards, for certain functionalities; we cover this more thoroughly in -the [Freedom Status](../../freedom-status.md) page and in the [Binary Blob -Reduction Policy](../../news/policy.md). +On *some* boards, but certainly not all of them, certain files are required from +the hardware vendor. Libreboot has strict [rules](../../news/policy.md) +governing this, and you can find more information on +the [Freedom Status](../../freedom-status.md) page. Libreboot can't directly distribute *all* of these files, so some of them are downloaded at build-time, and processed for insertion into the firmware images. **On pre-compiled ROM images in releases, these files are removed, and can be re-added using the same automation that was applied during the build process.** -Examples of vendor files can include, for example: Intel ME (disabled after -boot with me\_cleaner), Embedded Controller firmware (e.g. KBC1126 EC firmware -on HP EliteBooks), VGA ROMs (e.g. Nvidia GPU ROM for Dell Latitude E6400), -and so on. Without these, your machine may not boot correctly, or not boot at -all! +Examples of these files can be found on +the [Freedom Status](../../freedom-status.md) page. -If in doubt, you should simply follow these instructions. If your board -doesn't need vendor files, the tar archive won't be modified. +**If in doubt, you should simply follow these instructions. If your board +doesn't need vendor files, the tar archive won't be modified.** MAC address ----------- @@ -246,9 +243,14 @@ by processing the MEv11 image with Mate Kukri's [deguard](deguard.md) utility. Errata ====== +This section should not concern you, if you're using newer Libreboot releases. +This section largely concerns *bugs* which existed in older releases, pertaining +to this documentation, and design changes made accordingly. + NOTE: As of Libreboot releases from May 2024 onward, the Intel MRC is no longer -included for Haswell; MRC is a blob for raminit, but we now provide libre -raminit. The following targets no longer exist in the build system: +included for Haswell; MRC is a firmware for raminit, but we now provide native +raminit written by Angel Pons, for the coreboot project. The following targets +no longer exist in the build system: * `t440pmrc_12mb` (use `t440plibremrc_12mb` instead) * `t440pbmrc_12mb` (use `t440plibremrc_12mb` instead) @@ -276,9 +278,10 @@ images but on the newer build system from May 2024 onward; you must use the Libreboot 20240225 release if you want to inject MRC and so on, for these older targets. -Libreboot's [binary blob reduction policy](../../news/policy.md) is very strict, -and states: if a blob can be avoided, it must be avoided. Therefore, the MRC -is removed on Haswell and Libreboot will only use the libre raminit (called -NRI, short for Native Ram Initialisation). +Libreboot's [Binary Blob Reduction Policy](../../news/policy.md) is very strict, +and states: if it can be done with free software exclusively, then it should be +done with free software exclusively. Therefore, the MRC is removed on Haswell +and Libreboot will only use the libre raminit (called NRI, short for Native Ram +Initialisation). The four freedoms are absolute. From e6e952ac11b64f0dddf1beff68f36f07b48396ea Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 4 Jan 2025 17:07:27 +0000 Subject: [PATCH 095/279] docs/build: specify system requirements Signed-off-by: Leah Rowe --- site/docs/build/index.md | 96 +++++++++++++++++++++++++++++-------- site/docs/build/index.uk.md | 57 ++++++++++++++++++++++ 2 files changed, 132 insertions(+), 21 deletions(-) diff --git a/site/docs/build/index.md b/site/docs/build/index.md index 9508b8e..db16e1c 100644 --- a/site/docs/build/index.md +++ b/site/docs/build/index.md @@ -15,13 +15,66 @@ do nicely. Introduction ============ -libreboot's build system is named `lbmk`, short for `LibreBoot MaKe`, and this +Libreboot's build system is named `lbmk`, short for `LibreBoot MaKe`, and this document describes how to use it. With this guide, you can know how to compile libreboot from the available source code. The following document describes how `lbmk` works, and how you can make changes to it: [libreboot maintenance manual](../maintain/) +System requirements +=================== + +This concerns system requirements when *building* Libreboot. + +Operating system +---------------- + +Any sensible Linux distribution will do. Libreboot's build system is regularly +testing on all the major distros. Please do report bugs if you encounter +issues. + +Host CPU +-------- + +At least an Intel Core 2 Duo, though we recommend much faster CPUs if building +entire release archives, e.g. quad-core Haswell CPU or better. + +NOTE: x86 boards require an *x86_64* host CPU with appropriate host toolchains +and libraries. We don't yet cross-compile x86 payloads. + +NOTE2: ARM64 mainboards *are* cross compiled, so you can build for AArch64 +machines quite easily, from x86 or ARM64 machines. + +NOTE3: *32-bit* x86 (i686) machines can be used to compile Libreboot, but +MemTest86\+ is only compiled for 64-bit, and not cross compiled, so builds +are disabled when lbmk detects a 32-bit host CPU. + +Memory +------ + +At least 2GB per CPU core, ideally 4GB; for example, 16GB RAM is recommended +if you're compiling an a quad-core CPU. + +NOTE: `XBMK_THREADS` environmental variable defaults to 1 if unset. This sets +the number of build threads, which you should match to the number of cores. +For example, when you're building on a quad-core, do this prior to building: + + export XBMK_THREADS=4 + +Disk space +---------- + +About 20GB bare minimum, if only compiling for 1 board. The sources take up a +lot of space. However, Libreboot is always expanding as it's developed. + +At least 50GB of free disk space is therefor recommended. + +We *actually* recommend 100GB, because Libreboot will also have a Linux distro +in flash on a future release. On our testing, disk I/O does not seem to be a +major bottleneck, so any HDD or SSD will do, but we obviously recommend a +fast NVMe (PCI-E) SSD if you can. + Multi-threaded builds ===================== @@ -51,26 +104,6 @@ This version, if hosted live on libreboot.org, assumes that you are using the `lbmk` git repository, which you can download using the instructions on [the code review page](../../git.md). -A note about documentation (and this page) ------------------------------------------- - -From Libreboot 20231021 onwards, *all* releases (including 20231021) -have `lbwww.git` (the website) and `lbwww-img.git` (images for the website) -archived in the *src* tar archive for that release; older releases were hit -or miss, from 20210522 to 20230625, as to whether they came with documentation; -releases older than 20210522 generally always came with documentation. Modern -Libreboot documentation is written in Markdown (pandoc variant) - -If you're working with *release* documentation, you don't get the full HTML -files (such as the one you're viewing now, if you're reading *this* page in a -web browser), so either read the Markdown files directly, or compile them to -HTML using the [Untitled Static Site Generator](https://untitled.vimuser.org/) -(which is what the Libreboot project uses to generate HTML from those files). - -NOTE: `av.libreboot.org` is hardcoded as the domain name where images are -pointed to, in `lbwww.git`, so you will need to replace these references in -your local version, unless you're happy to just continue using those. - Git === @@ -261,3 +294,24 @@ example want to modify a config, e.g.: Or perhaps add a new board! The maintenance manual will teach you how the Libreboot build system (lbmk) works! + +A note about documentation (and this page) +========================================== + +From Libreboot 20231021 onwards, *all* releases (including 20231021) +have `lbwww.git` (the website) and `lbwww-img.git` (images for the website) +archived in the *src* tar archive for that release; older releases were hit +or miss, from 20210522 to 20230625, as to whether they came with documentation; +releases older than 20210522 generally always came with documentation. Modern +Libreboot documentation is written in Markdown (pandoc variant) + +If you're working with *release* documentation, you don't get the full HTML +files (such as the one you're viewing now, if you're reading *this* page in a +web browser), so either read the Markdown files directly, or compile them to +HTML using the [Untitled Static Site Generator](https://untitled.vimuser.org/) +(which is what the Libreboot project uses to generate HTML from those files). + +NOTE: `av.libreboot.org` is hardcoded as the domain name where images are +pointed to, in `lbwww.git`, so you will need to replace these references in +your local version, unless you're happy to just continue using those. + diff --git a/site/docs/build/index.uk.md b/site/docs/build/index.uk.md index 8e8f3e7..04223bb 100644 --- a/site/docs/build/index.uk.md +++ b/site/docs/build/index.uk.md @@ -3,6 +3,10 @@ title: Побудова з джерельного коду x-toc-enable: true ... +**TODO: This page needs to be re-translated. Much of the newer sections are +still in English, and there may be some differences aside from translation, +versus the English version.** + WARNING: eCryptfs file name limits ================================= @@ -30,6 +34,59 @@ libreboot з доступного джерельного коду. Наступний документ описує те, як працює `lbmk`, і як ви можете робити зміни до нього: [керівництво обслуговування libreboot](../maintain/) +System requirements +=================== + +This concerns system requirements when *building* Libreboot. + +Operating system +---------------- + +Any sensible Linux distribution will do. Libreboot's build system is regularly +testing on all the major distros. Please do report bugs if you encounter +issues. + +Host CPU +-------- + +At least an Intel Core 2 Duo, though we recommend much faster CPUs if building +entire release archives, e.g. quad-core Haswell CPU or better. + +NOTE: x86 boards require an *x86_64* host CPU with appropriate host toolchains +and libraries. We don't yet cross-compile x86 payloads. + +NOTE2: ARM64 mainboards *are* cross compiled, so you can build for AArch64 +machines quite easily, from x86 or ARM64 machines. + +NOTE3: *32-bit* x86 (i686) machines can be used to compile Libreboot, but +MemTest86\+ is only compiled for 64-bit, and not cross compiled, so builds +are disabled when lbmk detects a 32-bit host CPU. + +Memory +------ + +At least 2GB per CPU core, ideally 4GB; for example, 16GB RAM is recommended +if you're compiling an a quad-core CPU. + +NOTE: `XBMK_THREADS` environmental variable defaults to 1 if unset. This sets +the number of build threads, which you should match to the number of cores. +For example, when you're building on a quad-core, do this prior to building: + + export XBMK_THREADS=4 + +Disk space +---------- + +About 20GB bare minimum, if only compiling for 1 board. The sources take up a +lot of space. However, Libreboot is always expanding as it's developed. + +At least 50GB of free disk space is therefor recommended. + +We *actually* recommend 100GB, because Libreboot will also have a Linux distro +in flash on a future release. On our testing, disk I/O does not seem to be a +major bottleneck, so any HDD or SSD will do, but we obviously recommend a +fast NVMe (PCI-E) SSD if you can. + Multi-threaded builds ===================== From 9011218a8eeb7f2f3ea89e605f5331c959267f9c Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 4 Jan 2025 17:23:02 +0000 Subject: [PATCH 096/279] move system requirements to docs/maintain/ Signed-off-by: Leah Rowe --- site/docs/build/index.md | 52 ++---------------- site/docs/build/index.uk.md | 52 ++---------------- site/docs/maintain/index.md | 106 ++++++++++++++++++++++++++++++++++++ 3 files changed, 114 insertions(+), 96 deletions(-) diff --git a/site/docs/build/index.md b/site/docs/build/index.md index db16e1c..326308e 100644 --- a/site/docs/build/index.md +++ b/site/docs/build/index.md @@ -25,55 +25,11 @@ to it: [libreboot maintenance manual](../maintain/) System requirements =================== -This concerns system requirements when *building* Libreboot. +You must ensure that you have the correct operating system, CPU, RAM, disk space +and so on. -Operating system ----------------- - -Any sensible Linux distribution will do. Libreboot's build system is regularly -testing on all the major distros. Please do report bugs if you encounter -issues. - -Host CPU --------- - -At least an Intel Core 2 Duo, though we recommend much faster CPUs if building -entire release archives, e.g. quad-core Haswell CPU or better. - -NOTE: x86 boards require an *x86_64* host CPU with appropriate host toolchains -and libraries. We don't yet cross-compile x86 payloads. - -NOTE2: ARM64 mainboards *are* cross compiled, so you can build for AArch64 -machines quite easily, from x86 or ARM64 machines. - -NOTE3: *32-bit* x86 (i686) machines can be used to compile Libreboot, but -MemTest86\+ is only compiled for 64-bit, and not cross compiled, so builds -are disabled when lbmk detects a 32-bit host CPU. - -Memory ------- - -At least 2GB per CPU core, ideally 4GB; for example, 16GB RAM is recommended -if you're compiling an a quad-core CPU. - -NOTE: `XBMK_THREADS` environmental variable defaults to 1 if unset. This sets -the number of build threads, which you should match to the number of cores. -For example, when you're building on a quad-core, do this prior to building: - - export XBMK_THREADS=4 - -Disk space ----------- - -About 20GB bare minimum, if only compiling for 1 board. The sources take up a -lot of space. However, Libreboot is always expanding as it's developed. - -At least 50GB of free disk space is therefor recommended. - -We *actually* recommend 100GB, because Libreboot will also have a Linux distro -in flash on a future release. On our testing, disk I/O does not seem to be a -major bottleneck, so any HDD or SSD will do, but we obviously recommend a -fast NVMe (PCI-E) SSD if you can. +System requirements are documented in +the [lbmk maintenance manual](../maintain/#system-requirements). Multi-threaded builds ===================== diff --git a/site/docs/build/index.uk.md b/site/docs/build/index.uk.md index 04223bb..ed42272 100644 --- a/site/docs/build/index.uk.md +++ b/site/docs/build/index.uk.md @@ -37,55 +37,11 @@ libreboot з доступного джерельного коду. System requirements =================== -This concerns system requirements when *building* Libreboot. +You must ensure that you have the correct operating system, CPU, RAM, disk space +and so on. -Operating system ----------------- - -Any sensible Linux distribution will do. Libreboot's build system is regularly -testing on all the major distros. Please do report bugs if you encounter -issues. - -Host CPU --------- - -At least an Intel Core 2 Duo, though we recommend much faster CPUs if building -entire release archives, e.g. quad-core Haswell CPU or better. - -NOTE: x86 boards require an *x86_64* host CPU with appropriate host toolchains -and libraries. We don't yet cross-compile x86 payloads. - -NOTE2: ARM64 mainboards *are* cross compiled, so you can build for AArch64 -machines quite easily, from x86 or ARM64 machines. - -NOTE3: *32-bit* x86 (i686) machines can be used to compile Libreboot, but -MemTest86\+ is only compiled for 64-bit, and not cross compiled, so builds -are disabled when lbmk detects a 32-bit host CPU. - -Memory ------- - -At least 2GB per CPU core, ideally 4GB; for example, 16GB RAM is recommended -if you're compiling an a quad-core CPU. - -NOTE: `XBMK_THREADS` environmental variable defaults to 1 if unset. This sets -the number of build threads, which you should match to the number of cores. -For example, when you're building on a quad-core, do this prior to building: - - export XBMK_THREADS=4 - -Disk space ----------- - -About 20GB bare minimum, if only compiling for 1 board. The sources take up a -lot of space. However, Libreboot is always expanding as it's developed. - -At least 50GB of free disk space is therefor recommended. - -We *actually* recommend 100GB, because Libreboot will also have a Linux distro -in flash on a future release. On our testing, disk I/O does not seem to be a -major bottleneck, so any HDD or SSD will do, but we obviously recommend a -fast NVMe (PCI-E) SSD if you can. +System requirements are documented in +the [lbmk maintenance manual](../maintain/#system-requirements). Multi-threaded builds ===================== diff --git a/site/docs/maintain/index.md b/site/docs/maintain/index.md index a72d70e..211007d 100644 --- a/site/docs/maintain/index.md +++ b/site/docs/maintain/index.md @@ -69,6 +69,112 @@ Libreboot is [regularly](../../news/audit.md) [audited](../../news/audit2.md). Many people will be shocked by how *small* Libreboot is, at its core. You will be surprised by just how much can be done with so little. Continue reading! +System requirements +=================== + +This concerns system requirements when *building* Libreboot. + +Operating system +---------------- + +Any sensible Linux distribution will do. Libreboot's build system is regularly +testing on all the major distros. Please do report bugs if you encounter +issues. + +Host CPU +-------- + +At least an Intel Core 2 Duo, though we recommend much faster CPUs if building +entire release archives, e.g. quad-core Haswell CPU or better. + +NOTE: x86 boards require an *x86_64* host CPU with appropriate host toolchains +and libraries. We don't yet cross-compile x86 payloads. + +NOTE2: ARM64 mainboards *are* cross compiled, so you can build for AArch64 +machines quite easily, from x86 or ARM64 machines. + +NOTE3: *32-bit* x86 (i686) machines can be used to compile Libreboot, but +MemTest86\+ is only compiled for 64-bit, and not cross compiled, so builds +are disabled when lbmk detects a 32-bit host CPU. + +Memory +------ + +At least 2GB per CPU core, ideally 4GB; for example, 16GB RAM is recommended +if you're compiling an a quad-core CPU. + +NOTE: `XBMK_THREADS` environmental variable defaults to 1 if unset. This sets +the number of build threads, which you should match to the number of cores. +For example, when you're building on a quad-core, do this prior to building: + + export XBMK_THREADS=4 + +Disk space +---------- + +About 20GB bare minimum, if only compiling for 1 board. The sources take up a +lot of space. However, Libreboot is always expanding as it's developed. + +At least 50GB of free disk space is therefor recommended. + +We *actually* recommend 100GB, because Libreboot will also have a Linux distro +in flash on a future release. On our testing, disk I/O does not seem to be a +major bottleneck, so any HDD or SSD will do, but we obviously recommend a +fast NVMe (PCI-E) SSD if you can. +ystem requirements +=================== + +This concerns system requirements when *building* Libreboot. + +Operating system +---------------- + +Any sensible Linux distribution will do. Libreboot's build system is regularly +testing on all the major distros. Please do report bugs if you encounter +issues. + +Host CPU +-------- + +At least an Intel Core 2 Duo, though we recommend much faster CPUs if building +entire release archives, e.g. quad-core Haswell CPU or better. + +NOTE: x86 boards require an *x86_64* host CPU with appropriate host toolchains +and libraries. We don't yet cross-compile x86 payloads. + +NOTE2: ARM64 mainboards *are* cross compiled, so you can build for AArch64 +machines quite easily, from x86 or ARM64 machines. + +NOTE3: *32-bit* x86 (i686) machines can be used to compile Libreboot, but +MemTest86\+ is only compiled for 64-bit, and not cross compiled, so builds +are disabled when lbmk detects a 32-bit host CPU. + +Memory +------ + +At least 2GB per CPU core, ideally 4GB; for example, 16GB RAM is recommended +if you're compiling an a quad-core CPU. + +NOTE: `XBMK_THREADS` environmental variable defaults to 1 if unset. This sets +the number of build threads, which you should match to the number of cores. +For example, when you're building on a quad-core, do this prior to building: + + export XBMK_THREADS=4 + +Disk space +---------- + +About 20GB bare minimum, if only compiling for 1 board. The sources take up a +lot of space. However, Libreboot is always expanding as it's developed. + +At least 50GB of free disk space is therefor recommended. + +We *actually* recommend 100GB, because Libreboot will also have a Linux distro +in flash on a future release. On our testing, disk I/O does not seem to be a +major bottleneck, so any HDD or SSD will do, but we obviously recommend a +fast NVMe (PCI-E) SSD if you can. + + libreboot blob reduction policy ============================ From 00dacd33ef28baf4bceb5aa17f823f0bd8100818 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 4 Jan 2025 17:25:11 +0000 Subject: [PATCH 097/279] remove duplication Signed-off-by: Leah Rowe --- site/docs/maintain/index.md | 53 ------------------------------------- 1 file changed, 53 deletions(-) diff --git a/site/docs/maintain/index.md b/site/docs/maintain/index.md index 211007d..668f736 100644 --- a/site/docs/maintain/index.md +++ b/site/docs/maintain/index.md @@ -121,59 +121,6 @@ We *actually* recommend 100GB, because Libreboot will also have a Linux distro in flash on a future release. On our testing, disk I/O does not seem to be a major bottleneck, so any HDD or SSD will do, but we obviously recommend a fast NVMe (PCI-E) SSD if you can. -ystem requirements -=================== - -This concerns system requirements when *building* Libreboot. - -Operating system ----------------- - -Any sensible Linux distribution will do. Libreboot's build system is regularly -testing on all the major distros. Please do report bugs if you encounter -issues. - -Host CPU --------- - -At least an Intel Core 2 Duo, though we recommend much faster CPUs if building -entire release archives, e.g. quad-core Haswell CPU or better. - -NOTE: x86 boards require an *x86_64* host CPU with appropriate host toolchains -and libraries. We don't yet cross-compile x86 payloads. - -NOTE2: ARM64 mainboards *are* cross compiled, so you can build for AArch64 -machines quite easily, from x86 or ARM64 machines. - -NOTE3: *32-bit* x86 (i686) machines can be used to compile Libreboot, but -MemTest86\+ is only compiled for 64-bit, and not cross compiled, so builds -are disabled when lbmk detects a 32-bit host CPU. - -Memory ------- - -At least 2GB per CPU core, ideally 4GB; for example, 16GB RAM is recommended -if you're compiling an a quad-core CPU. - -NOTE: `XBMK_THREADS` environmental variable defaults to 1 if unset. This sets -the number of build threads, which you should match to the number of cores. -For example, when you're building on a quad-core, do this prior to building: - - export XBMK_THREADS=4 - -Disk space ----------- - -About 20GB bare minimum, if only compiling for 1 board. The sources take up a -lot of space. However, Libreboot is always expanding as it's developed. - -At least 50GB of free disk space is therefor recommended. - -We *actually* recommend 100GB, because Libreboot will also have a Linux distro -in flash on a future release. On our testing, disk I/O does not seem to be a -major bottleneck, so any HDD or SSD will do, but we obviously recommend a -fast NVMe (PCI-E) SSD if you can. - libreboot blob reduction policy ============================ From 43e7f2eff0f5f28103e87037dc28158a9e0e2a8c Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 4 Jan 2025 17:31:40 +0000 Subject: [PATCH 098/279] further expand the system requirement info Signed-off-by: Leah Rowe --- site/docs/maintain/index.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/site/docs/maintain/index.md b/site/docs/maintain/index.md index 668f736..e411010 100644 --- a/site/docs/maintain/index.md +++ b/site/docs/maintain/index.md @@ -81,6 +81,27 @@ Any sensible Linux distribution will do. Libreboot's build system is regularly testing on all the major distros. Please do report bugs if you encounter issues. +These distros, specifically, are the *most* well-tested: + +* Debian Linux +* Arch Linux +* Fedora Linux + +NOTE: Some patching is also done for non-glibc-based systems, such as +Alpine Linux, though we currently do not have an automated way to install +build dependencies for these distros. + +NOTE: **Linux** is assumed. BSD systems may work, for parts of the build system, +but BSD systems are currently not well-tested with lbmk. + +**Dependencies** +---------------- + +**Make sure you have dependencies installed!** + +**The [main build guide](../build) will tell you how to install dependencies, +such as GNU toolchains and various libraries.** + Host CPU -------- From a6026556c97d229fb7f43cad10a3d0eee51efbac Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 5 Jan 2025 07:58:32 +0000 Subject: [PATCH 099/279] ivy_has_common: document setmac keep Signed-off-by: Leah Rowe --- site/docs/install/ivy_has_common.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/site/docs/install/ivy_has_common.md b/site/docs/install/ivy_has_common.md index 9656757..edc53ca 100644 --- a/site/docs/install/ivy_has_common.md +++ b/site/docs/install/ivy_has_common.md @@ -75,6 +75,9 @@ Run the injection script pointing to the release archive you downloaded: ./mk inject libreboot-RELEASE_targetname.tar.xz +**NOTE: As of Libreboot 20241206 rev8 or newer, the above command will behave +the same way as if you declared `setmac` without argument, mentioned below:** + Where a GbE region is present in the flash, you can also use the above command to change the MAC address, by modifying it like so: @@ -86,6 +89,18 @@ MAC address, like so: ./mk inject libreboot-RELEASE_targetname.tar.xz setmac 00:1f:16:00:01:02 +The `setmac` command, without argument, is technically redundant, since MAC +addresses are randomised by default, every time you run the inject script. + +If you wish to *skip* changing the MAC address (not recommended), you can +use the `keep` argument, like so: + + ./mk inject libreboot-RELEASE_targetname.tar.xz setmac keep + +The `setmac` command works by inserting a reference GbE file, contained within +lbmk. The `keep` command makes lbmk *skip* changing your current GbE region; +it does not, for example, restore the reference GbE image from lbmk. + The above MAC address is a random example; please make sure to use one that matches your board, if you wish. You can also use randomisation this way; the `?` character will be randomised, e.g.: From 990f55056394103be65119b38f0e37def16fdcef Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 5 Jan 2025 11:24:54 +0000 Subject: [PATCH 100/279] ivy_has_common: document setmac restore Signed-off-by: Leah Rowe --- site/docs/install/ivy_has_common.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/site/docs/install/ivy_has_common.md b/site/docs/install/ivy_has_common.md index edc53ca..3541e0e 100644 --- a/site/docs/install/ivy_has_common.md +++ b/site/docs/install/ivy_has_common.md @@ -101,6 +101,16 @@ The `setmac` command works by inserting a reference GbE file, contained within lbmk. The `keep` command makes lbmk *skip* changing your current GbE region; it does not, for example, restore the reference GbE image from lbmk. +The `setmac` command, when not using `keep`, copied the default GbE file within +lbmk for that board, modifying the temporary copy and then inserting that. To +insert the *original file*, without modification, you can do this: + + ./mk inject libreboot-RELEASE_targetname.tar.xz setmac restore + +The `restore` setting does the same as `setmac` (without `keep`), but skips +running `nvmutil`; it also skips building nvmutil. Essentially, this will +restore the default MAC address from standard release images. + The above MAC address is a random example; please make sure to use one that matches your board, if you wish. You can also use randomisation this way; the `?` character will be randomised, e.g.: From a3158f3f97f949513916b8345a58c7645415cb01 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 5 Jan 2025 12:04:14 +0000 Subject: [PATCH 101/279] docs/maintain: Clearer introduction to PSDG policy Signed-off-by: Leah Rowe --- site/docs/maintain/index.md | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/site/docs/maintain/index.md b/site/docs/maintain/index.md index e411010..b5c64ab 100644 --- a/site/docs/maintain/index.md +++ b/site/docs/maintain/index.md @@ -143,23 +143,24 @@ in flash on a future release. On our testing, disk I/O does not seem to be a major bottleneck, so any HDD or SSD will do, but we obviously recommend a fast NVMe (PCI-E) SSD if you can. -libreboot blob reduction policy -============================ +Vendor code +=========== -The coreboot software is nominally free, but it requires additional files from -the vendor on many supported systems. These programs lack source code, and the -coreboot project does not control them, but they can be used to perform -specific initialization tasks. +The coreboot software is nominally free, but occasionally requires an +additional file or two from the vendor on a few systems. The libreboot +project *allows* them, only when they are absolutely required. -The libreboot project *allows* vendor code within coreboot, but there is *still* a -lot of nuance to precisely what is allowed. It is important that you understand -these nuances, when working on *libreboot*. +[Strict rules](../../news/policy.md) govern when this allowed, and +the [freedom status page](../../freedom-status.md) provides additional details. -[Please read the blob reduction guidelines](../../news/policy.md) and also -the [freedom status page](../../freedom-status.md). +Please read the files under `config/vendor/` in lbmk, in addition to +the file `include/vendor.sh`. These configuration files and this source code +within lbmk, implement the download and patching logic that enables such files +to be included on final build images, ready for installation on the target +machine. -Before *configuration* info, you will first be shown a brief overview of every -project that Libreboot imports, such as coreboot. +**Before *configuration* info, you will first be shown a brief overview of every +project that Libreboot imports, such as coreboot.** Environmental variables ======================= From 90804582a8df8824f82fd1757dd40487ddac34a1 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 5 Jan 2025 12:05:44 +0000 Subject: [PATCH 102/279] further clarification of intent people sometimes have very black-or-white thinking, so it's important to put them in the right frame of mind. libreboot's documentation is very carefully crafted along the narrative: if free software can be used, it must be used. the purpose of libreboot is precisely to provide free software exclusively, when possible, on any given mainboard. it is therefore paramount that any reference to PSDG must be made while stressing those values in the most unambiguous way possible, because otherwise people will make wrong assumptions; for example, our friends from massuchussets sometimes claim that we are a proprietary software project. which is laughable, but their propaganda is very powerful, so ours needs to be even stronger. Signed-off-by: Leah Rowe --- site/docs/maintain/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/site/docs/maintain/index.md b/site/docs/maintain/index.md index b5c64ab..e6f67dc 100644 --- a/site/docs/maintain/index.md +++ b/site/docs/maintain/index.md @@ -143,8 +143,8 @@ in flash on a future release. On our testing, disk I/O does not seem to be a major bottleneck, so any HDD or SSD will do, but we obviously recommend a fast NVMe (PCI-E) SSD if you can. -Vendor code -=========== +Use Free Software when possible +=============================== The coreboot software is nominally free, but occasionally requires an additional file or two from the vendor on a few systems. The libreboot From 7fddfaca820d075bf31dc60548b8b62825bacabd Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 5 Jan 2025 12:19:42 +0000 Subject: [PATCH 103/279] rename contact-fr.md to contact.fr.md that way, it appears on the language menu for the contact page Signed-off-by: Leah Rowe --- site/{contact-fr.md => contact.fr.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename site/{contact-fr.md => contact.fr.md} (100%) diff --git a/site/contact-fr.md b/site/contact.fr.md similarity index 100% rename from site/contact-fr.md rename to site/contact.fr.md From fd1a0ae3a2b3915abfafbf31baa233e2d4e034c2 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 5 Jan 2025 18:09:14 +0000 Subject: [PATCH 104/279] Vastly expanded the contrib page The "who" page is redundant and has been removed, since contrib listed the same information. I will re-redirect who->contrib in Libreboot's httpd Signed-off-by: Leah Rowe --- site/contrib.md | 388 +++++++++++++++++++++++++++++++++++++++++++++--- site/who.de.md | 58 -------- site/who.md | 44 ------ site/who.uk.md | 47 ------ 4 files changed, 364 insertions(+), 173 deletions(-) delete mode 100644 site/who.de.md delete mode 100644 site/who.md delete mode 100644 site/who.uk.md diff --git a/site/contrib.md b/site/contrib.md index 55d6a72..a2518b0 100644 --- a/site/contrib.md +++ b/site/contrib.md @@ -40,26 +40,12 @@ works on all aspects of libreboot, such as: that libreboot uses * Providing user support on IRC -Caleb La Grange ---------------- - -**Secondary developer, number two to Leah.** Caleb is a full time libreboot developer -with a narrower focus. Caleb focuses on several areas of development: - -* Build system. Caleb is responsible for improving and fixing the libreboot Make build -system. Specifically: automation, and reproducibility. -* Hardware modification. Caleb has a passion for hardware alteration; soldering, -desoldering, and testing libreboot software on the resulting hardware. -* Board porting. Anything supported in Coreboot can be ported to libreboot, Caleb -will test and port any board he can get his hands on. Additionally, anyone can -contact Caleb to generate libreboot roms for testing on their board. -* Documentation. Caleb actively maintains documentation on the above areas of -interest. Additionally, Caleb is responsible for disassembly guides with his own -pictures and diagrams for several boards. -* User support. Caleb is active on irc and willing to help any user interested in -using libreboot or in need of help. -* Project goals. Caleb collaborates with Leah on determining project goals. -Leah has the final say in every decision. +As leader of the project, my own contributions would be too vast to list here +succinctly, so just go look at literally the entire Git history. I write this +paragraph without arrogance; it is simply a fact that almost all of the commits +in Libreboot, by percentage, were written by me. I oversee Libreboot; I am its +BDFL, or at least its leader until the day when Libreboot will one day be +surpassed. Libreboot is otherwise my life-long passion, my baby. External projects ================= @@ -93,6 +79,13 @@ Libreboot uses U-Boot as the coreboot payload on supported ARM Chromebooks. Contributors in alphabetical order ================================== +Alexei Sorokin +-------------- + +Sent minor fixes to lbmk; improved sha512sum verification on images, config +improvements e.g. hide MEI device where neutered ME is used. General +improvements and tweaks. + Alper Nebi Yasak ---------------- @@ -117,15 +110,37 @@ now been heavily modified and forked into a formal project, by Leah Rowe: Alyssa's original work on the static site generator that Libreboot used to use; the Libreboot website is now built with Untitled) +Andrea Perotti +-------------- + +Sent several small fixes to Libreboot's dependencies scripts for Debian, Fedora +and Ubuntu distros. + Andrew Robbins -------------- Worked on large parts of Libreboot's old build system and related documentation. Andrew joined the Libreboot project as a full time developer during June 2017, -until his departure in March 2021. +until his departure in March 2021. Although the work was ultimately scrapped +in 2021, in favour of Libreboot's +current [lbmk design](docs/maintain/), he provided countless hours of work to +the project over the years, helping users on IRC and generally being a very +passionate Libreboot developer. + +Andrew was working on a build system re-write +that ultimately never reached a stable state, and he abandoned the project +after his work was replaced, but the feeling of disgust that he had was not +mutual. I, Leah Rowe, am very grateful to Andrew Robbins for his numerous contributions -over the years. +over the years. Anyone who contributes to Libreboot is a hero. Look at the +old Libreboot repository on [notabug](https://notabug.org/libreboot) to find +his contributions. + +Arsen Arsenović +--------------- + +Added the config for ThinkPad T430 to Libreboot. Arthur Heymans -------------- @@ -141,6 +156,56 @@ project. He still works on coreboot, to this day, and Libreboot greatly benefits from his work. His contributions to the coreboot project, and Libreboot, are invaluable. +Ben Westover +------------ + +Added info about internal flashing for Dell OptiPlex 9020, in the Libreboot +documentation. + +Caleb La Grange +--------------- + +Caleb contributed heavily to the Libreboot build system, and even implemented +the first version of +Libreboot's [vendor inject script](docs/install/ivy_has_common.md), back when +it was part of the erstwhile osboot project, which formally merged with +Libreboot in November 2022. + +Before Caleb came along, Libreboot didn't have any sort of structure in its +package management. The current `include/git.sh` script in Libreboot, which +uses a centralised set of configuration files, is ultimately derived from the +work that Caleb did. + +Caleb was the one who figured out how to auto-download and neuter the Intel ME +on ThinkPad T440p, where previous osboot versions had used one that had to be +extracted from a dump of the original firmware; the Heads project also made use +of his work, in their project, to add the ThinkPad T440p, since their build +system focuses a lot on reproducibility so they place an emphasis on auto +downloading such files, to get the same version each time. Caleb's work in +Libreboot was largely inspired by Heads, which did the same thing at that time +on the ThinkPad X230. Libreboot's checksum-based design was also implemented +by him; when inserting vendor files, checksums are verified on images, to +ensure that they match what was built in the original release, for each given +release. + +Caleb worked heavily on the Libreboot documentation, vastly improving much of +the installation instructions, and provided a lot of user support on IRC. + +In general, Caleb heavily audited the entire project. The very nature of its +design, now, is based directly on the work that he did, when looking at the +design of the build system. The various Libreboot build system audits that +started in 2023 were essentially turbo-charged versions of the same work he +was doing. + +Caleb has also been a good friend to me, Leah, and provided a lot of advice +during the osboot merger. I avoided a lot of stupid mistakes because of his +advice. + +Canberk TURAN +------------- + +Added Turkish Q keyboard layout to Libreboot's GRUB payload. + Damien Zammit ------------- @@ -152,6 +217,11 @@ Damien didn't work directly on Libreboot itself, but he worked heavily with Leah Rowe, integrating patches and new board ports into Libreboot, based on Damien's upstream work on coreboot. +Daniil Prokofev +--------------- + +Translated several Libreboot website pages into the Russian language. + Denis Carikli ------------- @@ -174,8 +244,56 @@ didn't work with ACPI based brightness controls. Others in coreboot later improved it, making ACPI-based backlight controls work properly, based on this earlier work. +Very cool guy!!! + +Eason aka ezntek +---------------- + +Sent a SOIC8 photo for Raspberry Pi Pico pinout, where previously only SOIC16 +info existed. Also added info about `thinkpad_acpi` Linux kernel module for +ThinkPad T480. + +I (Leah) worked with ezntek on some testing and he discovered several bugs +on the ThinkPad T480, while Mate and I were working on it for Libreboot. + +ezntek wrote this guide: + + +This guide was written based on my and other people's help, on IRC, while we +were in the process of adding the T480 to Libreboot. Several parts of this guide +were in fact used to improve the Libreboot guide, such as the info about how +to update the Lenovo UEFI firmware prior to Libreboot installation, by using +USB boot media instead of needing to boot Windows. + +Eason's guide also made number one on hacker news that day, and as a result, +many more people learned about Libreboot, especially its support for T480, +which helped to spread the news about the work. + +Absolute legend. One of Libreboot's many great champions. + +E. Blåsten +-------------- + +Documented several quirks of the MacBook2,1 and ThinkPad X200T, such as +swivel/rotation on X200T, and various alt keys on the MacBook to make it more +usable with Linux, when used on Libreboot. + +Also helped me (Leah) in a very fundamental way, in 2018. The help I got enabled +me to be who I am today. + +Fedja Beader +------------- + +Wrote several guides for Libreboot, including the original version of the +GRUB hardening guide. Wrote the info about the Linux kernel panic/netconsole +on Libreboot's FAQ. + +Also sent some small fixes to Libreboot's GRUB configuration, enabling USB +devices to boot more reliably. Also improved Libreboot's documentation +pertaining to Full Disk Encryption. + Ferass El Hafidi --------- +----------------- Added cstate 3 support on macbook21, enabling higher battery life and cooler CPU temperatures on idle usage. @@ -184,8 +302,28 @@ Also has a series of extensive improvements to the entire Libreboot system; for example, Ferass made the entire build system use POSIX `sh`, removing bashisms that previously plagued it. +Libreboot's original support for cross-compiling AArch64 coreboot was added +by him. He also submitted a few bug fixes to the GRUB configuration used by +Libreboot. + This is IRC nick `f_` on Libreboot IRC. Cool guy! +hslick +------ + +Documented Arch Linux ARM installation on ARM64 U-Boot targets. + +Integral +-------- + +Translated the Libreboot home page into Chinese language. + +Jason Lenz +---------- + +Sent instructions for installing Debian Linux on ARM64-based chromebooks +with Libreboot and Alper's U-Boot ARM64 payload. + Jeroen Quint ------------ @@ -193,6 +331,19 @@ Contributed several fixes to the libreboot documentation, relating to installing on Arch-based systems with full disk encryption on libreboot systems. +John Doe +-------- + +This person never gave their name, but they sent two patches: + +``` +* 676eb110c7f Perform the silentoldconfig step of seabios before full make +* acc57bda6df scripts: process git versions when lbmk is a worktree or submodule +``` + +Every contribution is appreciated. Every contributor gets their own entry in +the Libreboot Hall of Fame. + Joshua Gay ---------- @@ -210,6 +361,11 @@ Klemens Nanni Made many fixes and improvements to the GRUB configuration used in libreboot, and several tweaks to the build system. +Linear Cannon +------------- + +Added NetBSD support for `dell-flash-unlock`. + Lisa Marie Maginnis ------------------- @@ -225,6 +381,15 @@ in Libreboot, e.g. ASUS Chromebook C201PA - at the time, this was using Google's own Depthcharge payload, which you can find in 2016 Libreboot releases. +Livio +----- + +Sent a small enhancement for GRUB, allowing the user to turn on or off several +options at boot time, such as graphical options or spkmodem output, so that +these features can be included on every image, and used flexibly. + +Sent some small fixes to the QEMU target, fixing a bug in the SMBIOS info. + Lorenzo Aloe ------------ @@ -236,11 +401,67 @@ that OS is not natively supported. All round good guy, an honest and loyal fan. +Luke T. Shumaker +---------------- + +Sent a patch to Libreboot, fixing vboot on 32-bit (i686) hosts; it previously +only compiled on 64-bit x86 (amd64) machines. + Marcus Moeller -------------- Made the libreboot logo. +Mate Kukri +---------- + +Mate Kukri is a *major* contributor to Libreboot, and several of the upstreams +that it uses; he is a coreboot developer, and also contributes heavily to the +GNU GRUB project. + +Off the top of my head, here are just a few of the contributions that he has +made: + +* Wrote several enhancements for `pico-serprog`, based on the original work + done by [stacksmashing](https://github.com/stacksmashing), who also has + this very interesting [youtube channel](https://www.youtube.com/channel/UC3S8vxwRfqLBdIhgRlDRVzw); + Riku's work is heavily inspired by Mate's and stacksmashing's work. +* Ported the Dell OptiPlex 9020 SFF and MT, and provided several fixes on it + for the Libreboot project; several fixes that I (Leah) did were also based on + advice that he gave me. +* Wrote the [deguard](docs/install/deguard.md) utility for disabling Intel + Boot Guard on MEv11; this is used for the Dell OptiPlex 3050 Micro + and ThinkPad T480 ports. +* Ported the Dell OptiPlex 3050 Micro and Lenovo ThinkPad T480/T480s to + coreboot, directly providing Leah with advice when integrating these ports + into Libreboot. This work included heavy amounts of reverse engineering + Lenovo's EC firmware. +* Ported the ASUS H610M-K D4 motherboard to coreboot, an Alderlake machine that + Libreboot is interested in, for the release planned by April 2025; this + bullet-point is being written on 5 January 2025 prior to its addition in + Libreboot. +* Wrote the NVMe driver that Libreboot uses in GRUB, based upon work done for + the SeaBIOS project. + +Mate Kukri is a hero to the Libreboot project. Without him, Libreboot would not +be what it is today. + +Michael Reed +------------ + +Wrote Libreboot's original OpenBSD installation guide. + +Also sent fixes to the original static site generator that Alyssa wrote, upon +which the Untitled Static Site Generator was later based. + +Michał Masłowski +---------------- + +Sent several fixes to Libreboot's early build system, back in the early days +of the project. Also taught Leah how to use Git, because the very first revisions +were released only as tarballs, without Git history; the first commits in +the old repository were imports of those tarballs. + Nicholas Chin ------------- @@ -250,6 +471,25 @@ the `dell-flash-unlock` (formerly `e6400-flash-unlock`) utility, which can unlock the flash on these boards, allowing internal flashing of Libreboot directly from host OS running under the original Dell firmware. +Nicholas has ported many more Dell Latitude laptops to Libreboot, and he works +heavily on the upstream coreboot project. In fact, *every* Dell Latitude +board supported in Libreboot was done by him, at least as of 5 January 2025. + +Nicholas has provided countless hours of user support on the Libreboot IRC +channel and in those of projects which Libreboot uses, and submitted many +fixes to Libreboot, both in terms of code and documentation. + +He has advised me, Leah, on many occasions, teaching me things. Needless to +say, he is one of Libreboot's champions. + +Nicholas also contributes to coreboot heavily, to flashprog, and several +other projects that Libreboot uses. + +0xloem +------ + +Added info about LPC flashing on Libreboot's external flashing guide. + Patrick "P. J." McDermott --------------------------- @@ -258,6 +498,16 @@ relating to the [Intel Management Engine](../faq.md#intelme), in addition to making several improvements to the build system in libreboot. **Former libreboot project maintainer.** +Patrick Rudolph +--------------- + +Coreboot developer. Also wrote the xHCI GRUB driver, that Libreboot uses; +without it, several ports in Libreboot would not be feasible, unless they +excluded GRUB as a payload, because several newer Intel platforms no longer +have (or configure) EHCI controllers. Upstream GRUB currently has no xHCI +driver, but Patrick sent patches in 2020 that Libreboot later re-based, +on top of GRUB 2.12. + Paul Kocialkowski ----------------- @@ -265,6 +515,11 @@ Ported the ARM (Rockchip RK3288 SoC) based *Chromebook* laptops to libreboot. Also one of the main [Replicant](http://www.replicant.us/) developers. +He was also responsible for the original re-write of the Libreboot build +system, upon which Libreboot's effort from 2017-2021 was based; ultimately, +this work never became stable and the work was scrapped in 2021, in favour of +the current Libreboot build system design, named lbmk. + Paul Menzel ----------- @@ -279,12 +534,18 @@ Paul worked with Libreboot on this, sending patches to test periodically until the bug was fixed in coreboot, and then helped her integrate the fix in libreboot. +Peaksol +------- + +Translated several pages, including the SPI flashing guide, into Chinese +language. + Peter Stuge ----------- Helped write the [FAQ section about DMA](../faq.md#hddssd-firmware), and provided general advice in the early days of the project. Peter was a coreboot developer -in those days, and a major developer in the *libusb* project (which flashrom +in those days, and a major developer in the *libusb* project (which flashprog makes heavy use of). Peter also wrote the *bucts* utility used to set Backup Control (BUC) Top Swap @@ -306,6 +567,69 @@ about this in the hardware page: [HP Elite 8200 SFF](docs/install/hp8200sff.md) +Riku also ported the HP Elite 8300 USDT. + +Riku implemented MXM support as an INT15h handler in SeaBIOS, and wrote +some tooling for it, which enables the HP EliteBook 8560w port to work reliably +in Libreboot. + +Riku also added the HP Folio 9470m to Libreboot. + +Riku is also in charge of Libreboot's fork of `pico-serprog`, which is used +to provide serprog firmware on RP2040 and RP2530 devices. These devices can +be used to set up a cheap but reliable NOR flasher, which is now the default +recommended one for flashing Libreboot externally. Riku's fork contains several +enhancements, such as a higher default drive level of 12mA and the ability to +control multiple chip select pins, useful for flashing dual-chip Intel boards. + +Riku has submitted numerous bug fixes to many boards, and generally sent many +improvements for the build system and also the Libreboot documentation. He +also added the HP EliteBook 2560p to Libreboot. + +Riku also contributes to coreboot and flashprog, and several other projects +that Libreboot uses. + +samuraikid +---------- + +Added Portuguese keyboard layout to Libreboot's GRUB payload. + +semigel +------- + +Added BTRFS subvolume support to Libreboot's GRUB configuration, for auto-booting +various Linux distros. + +Simon Glass +----------- + +Simon Glass is principally responsible for the x86 U-Boot payload that Libreboot +now uses as a coreboot payload. Simon provided Leah with several critical patches +and advised Leah on several aspects of U-Boot's design, that helped a lot +when integrating it. + +Without him, Libreboot would not have a functioning U-Boot implementation on +x86. + +Snooze Function +--------------- + +Translated several pages on the Libreboot documentation into the German +language. + +StackSmashing +------------- + +Author of the original [pico-serprog](https://github.com/stacksmashing/pico-serprog) +project, upon which Libreboot's fork (maintained by Riku Viitanen) is based. + +StackSmashing didn't do this specifically for Libreboot, but their work is +outstanding, so their name is honoured here. + +StackSmashing also has a [YouTube channel](https://www.youtube.com/channel/UC3S8vxwRfqLBdIhgRlDRVzw) +with a lot of really cool videos on it about all things electronics, and hacking +of electronics. Check it out! + Steve Shenton ------------- @@ -381,6 +705,11 @@ Swiftgeek left the project in March 2021. I, Leah Rowe, wish him all the best in his endeavours, and I'm very grateful to his numerous contributions over the years. +Timothee Benedet +---------------- + +Translated several Libreboot website pages into the French language. + Timothy Pearson --------------- @@ -404,3 +733,14 @@ Intel platforms in Libreboot, when flashing it (now rewritten by others in Ada, for libgfxinit in coreboot, but originally it was written in C and included directly in coreboot; libgfxinit is a 3rdparty submodule of coreboot). + +Vladislav Shapovalov +-------------------- + +Translated several pages of the Libreboot website into Ukranian language. + +------------------------------------------------------------------------------- + +**Did we forget your name?** + +**If so, and you would like to be listed here, please contact the Libreboot project.** diff --git a/site/who.de.md b/site/who.de.md deleted file mode 100644 index 7e73469..0000000 --- a/site/who.de.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -title: Who develops libreboot? -x-toc-enable: true -... - -Der Zweck dieser Seite ist klar zu definieren wer am Libreboot Projekt -arbeitet, wer das Projekt betreibt, wie Entscheidungen getroffen werden, -und wie das Projekt grundsätzlich funktioniert. - -Informationen über die wichtigsten Beteiligten an Libreboot sind auf -dieser Seite zu finden, -dort sind diese Leute aufgeführt: [Liste der Beteiligten](contrib.md) - -Leah Rowe (Gründerin, Chef Entwicklerin) -=================================== - -Leah Rowe ist die Gründerin des Libreboot Projekts. Leah beaufsichtigt -die gesamte Libreboot Entwicklung, überprüft -externe Beiträge, and hat bei Entscheidungen das letzte Wort. -Leah ist Eigentümerin der libreboot.org Server, und betreibt diese von -ihrem Labor in Großbrittanien. - -Wenn Du mehr über Leah's Mitwirken an Libreboot erfahren möchtest, dann -kannst Du ihren Eintrag unter der -[Seite mit allen Mitwirkenden, Vergangenheit und Gegenwart](contrib.md) -lesen. - -Caleb La Grange -=============== - -Caleb ist online auch bekannt unter `shmalebx9`. -Caleb kümmert sich hauptsächlich um Verbesserungen am lbmk Build System, -das Hinzufügen neuer Boards sowie um die Dokumentation. - -Wenn Du mehr über Caleb's Mitwirken an Libreboot erfahren möchtest, dann -kannst Du seinen Eintrag unter der -[Seite mit allen Mitwirkenden, Vergangenheit und Gegenwart](contrib.md) -lesen. - -Alper Nebi Yasak -================ - -Alper kümmert sich um die Entwicklung der U-Boot Payload Unterstützung -in Libreboot, koordiniert Tests auf Chromebooks die dies nutzen, und -erledigt jegliche notwendige Upstream Arbeit an U-Boot selbst. -`alpernebbi` bei Libera IRC. - -Wenn Du mehr über Alper's Mitwirken an Libreboot erfahren möchtest, dann -kannst Du seinen Eintrag unter der -[Seite mit allen Mitwirkenden, Vergangenheit und Gegenwart](contrib.md) -lesen. - -Entwickler gesucht! -================== - -**Lerne wie Du Patches beisteuern kannst unter der [git Seite](git.de.md)** - -Jeder ist willkommen an der Entwicklung teilzunehmen. diff --git a/site/who.md b/site/who.md deleted file mode 100644 index 125b9bd..0000000 --- a/site/who.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: Who develops libreboot? -x-toc-enable: true -... - -The purpose of this page is to clearly define who works on libreboot, who runs -the project, how decisions are made, and in general how the project functions. - -You can find information about major contributions made to libreboot, on this -page which lists such people: [List of contributors](contrib.md) - -Leah Rowe (founder, lead developer) -=================================== - -Leah Rowe is the founder of the libreboot project. Leah oversees all development of libreboot, reviewing -outside contributions, and has the final say over all decisions. Leah owns and -operates the libreboot.org servers from her lab in the UK. - -Caleb La Grange -=============== - -Caleb goes by the screen name `shmalebx9`. -Caleb mainly deals with improvements to the lbmk build system, board porting, -and documentation. - -Alper Nebi Yasak -================ - -Alper handles development of the U-Boot payload support in Libreboot, -coordinates testing on Chromebooks that use it, and does any necessary -upstream work on U-Boot itself. `alpernebbi` on Libera IRC. - -List of contributions -===================== - -You can learn more about any developer's involvement with Libreboot, by reading their -entry on the [page listing all contributors, past and present](contrib.md) - -Developers wanted! -================== - -**Learn how to contribute patches on the [git page](git.md)** - -All are welcome to join in on development. diff --git a/site/who.uk.md b/site/who.uk.md deleted file mode 100644 index cacf24a..0000000 --- a/site/who.uk.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -title: Хто розробляє libreboot? -x-toc-enable: true -... - -Мета цієї сторінки - чітко визначити, хто працює над libreboot, хто виконує -проект, як приймаються рішення, і взагалі як проект функціонує. - -Ви можете знайти інформацію про великий внесок, зроблений у libreboot, на цій -сторінці, яка перелічує таких людей: [Список учасників](contrib.md) - -Лія Роу (засновниця, провідний розробник) -=================================== - -Лія Роу є засновницею проекту libreboot. Лія контролює всю розробку libreboot, переглядає -зовнішні внески, і має останнє слово щодо всіх рішень. Лія володіє -і керує серверами libreboot.org зі своєї лабораторії у Великобританії. - -Ви можете дізнатися більше про участь Лії в libreboot, прочитавши її запис на -[сторінці зі списком усіх учасників, минулих і теперішніх](contrib.md) - -Калеб Ла Гранж -=============== - -Калеб має псевдонім `shmalebx9`. -Калеб в основному займається вдосконаленням системи збірки lbmk, портуванням плати, -та документацією. - -Ви можете дізнатись більше про участь Калеба в libreboot, прочитавши його -запис на [сторінці зі списком усіх учасників, минулих і теперішніх](contrib.md) - -Альпер Небі Ясак -================ - -Альпер займається розробкою підтримки корисного навантаження U-Boot в Libreboot, -координує тестування Chromebook, які його використовують, і виконує будь-яку необхідну -апстрім роботу над самим U-Boot. `alpernebbi` на Libera IRC. - -Ви можете дізнатись більше про участь Альпера в Libreboot, читаючи його -запис на [сторінці зі списком усіх учасників, минулих і теперішніх](contrib.md) - -Потрібні розробники! -================== - -**Дізнайтесь, як додати виправлення на [сторінці git](git.md)** - -Запрошуємо всіх долучитися до розробки. From fcb63c3c3b5673aa2afafbe9fe7702eaa4f10d55 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 5 Jan 2025 18:16:16 +0000 Subject: [PATCH 105/279] clean up references to who.md the page now redirects to contrib.md Signed-off-by: Leah Rowe --- site/contrib.md | 3 --- site/docs/maintain/index.md | 4 ---- site/footer.de.include | 1 - site/footer.include | 1 - site/footer.it.include | 1 - site/footer.uk.include | 1 - site/footer.zh-cn.include | 1 - site/git.de.md | 3 --- site/git.md | 3 --- site/git.uk.md | 3 --- 10 files changed, 21 deletions(-) diff --git a/site/contrib.md b/site/contrib.md index a2518b0..80ebe88 100644 --- a/site/contrib.md +++ b/site/contrib.md @@ -10,9 +10,6 @@ If we forgot to mention you here, let us know and we'll add you. (or if you don't want to be mentioned, let us know and we'll remove your entry) -Information about who works on libreboot, and how the project is run, can -be found on this page: [who.md](who.md) - You can know the history of the libreboot project, simply by reading this page. It goes into detail about all of the major contributions to the project, and in general how the project was created (and who helped create it). diff --git a/site/docs/maintain/index.md b/site/docs/maintain/index.md index e6f67dc..d17493c 100644 --- a/site/docs/maintain/index.md +++ b/site/docs/maintain/index.md @@ -656,10 +656,6 @@ auto-neuters Intel ME images, during build, so that the user does not have to manually extract such images from dumps of the original vendor firmware (in the flash) on a given machine. -Such logic was ported to Libreboot, courtesy of `shmalebx9` as mentioned -on the [who page](../../who.md) - Caleb is a core developer in the Libreboot -project. - util/nvmutil/ --------------- diff --git a/site/footer.de.include b/site/footer.de.include index b598527..0800551 100644 --- a/site/footer.de.include +++ b/site/footer.de.include @@ -4,7 +4,6 @@ * [Binäre Blob Richtlinie](/news/policy.md) * [Freiheits Status](/freedom-status.md) * [Diese Seite bearbeiten](/git.de.md) -* [Wer entwickelt Libreboot?](/who.de.md) * [Lizenz](/license.md) * [Vorlage](/template-license.md) * [Logo](/logo-license.md) diff --git a/site/footer.include b/site/footer.include index 20bc86d..0fd47af 100644 --- a/site/footer.include +++ b/site/footer.include @@ -4,7 +4,6 @@ * [Binary Blob Reduction Policy](/news/policy.md) * [Freedom status](/freedom-status.md) * [Edit this page](/git.md) -* [Who develops Libreboot?](/who.md) * [License](/license.md) * [Template](/template-license.md) * [Logo](/logo-license.md) diff --git a/site/footer.it.include b/site/footer.it.include index e17de9e..b25e96a 100644 --- a/site/footer.it.include +++ b/site/footer.it.include @@ -4,7 +4,6 @@ * [Politica di riduzione di parti binarie proprietarie (blobs)](/news/policy.md) * [Grado di liberta' possibile](/freedom-status.md) * [Modifica questa pagina](/git.de.md) -* [Chi sviluppa Libreboot?](/who.de.md) * [Licenza](/license.md) * [Modelli di licenze](/template-license.md) * [Logo](/logo-license.md) diff --git a/site/footer.uk.include b/site/footer.uk.include index dc16a7b..b612493 100644 --- a/site/footer.uk.include +++ b/site/footer.uk.include @@ -4,7 +4,6 @@ * [Політика бінарних блобів](/news/policy.md) * [Статус свободи](/freedom-status.md) * [Редагувати цю сторінку](/git.md) -* [Хто розробляє Libreboot?](/who.uk.md) * [Ліцензія](/license.md) * [Шаблон](/template-license.uk.md) * [Логотип](/logo-license.uk.md) diff --git a/site/footer.zh-cn.include b/site/footer.zh-cn.include index 8a9342c..dea13d1 100644 --- a/site/footer.zh-cn.include +++ b/site/footer.zh-cn.include @@ -4,7 +4,6 @@ * [二进制 blob 政策](/news/policy.md) * [自由度现状](/freedom-status.md) * [编辑本页面](/git.md) -* [谁在开发 Libreboot?](/who.md) * [许可证](/license.md) * [模板](/template-license.md) * [图标](/logo-license.md) diff --git a/site/git.de.md b/site/git.de.md index 94dd4cd..baa10cc 100644 --- a/site/git.de.md +++ b/site/git.de.md @@ -6,9 +6,6 @@ x-toc-enable: true Libreboot Repositories =================== -Informationen darüber wer an Libreboot arbeitet und wer das Projekt betreibt -sind unter [who.de.md](who.de.md) zu finden. - Das `libreboot` Projekt hat hauptsächlich 3 Git Repositories: * Build system: diff --git a/site/git.md b/site/git.md index b2e6289..59d6a3a 100644 --- a/site/git.md +++ b/site/git.md @@ -6,9 +6,6 @@ x-toc-enable: true libreboot repositories =================== -Information about who works on libreboot and who runs the project can be -found on [who.md](who.md) - The `libreboot` project has 3 main Git repositories: * Build system: diff --git a/site/git.uk.md b/site/git.uk.md index 0cb32df..f566113 100644 --- a/site/git.uk.md +++ b/site/git.uk.md @@ -6,9 +6,6 @@ x-toc-enable: true репозиторії libreboot =================== -Інформацію про те, хто працює над libreboot і хто керує проектом, можна -знайти на [who.uk.md](who.uk.md) - Проект `libreboot` має 3 основні сховища Git: * Система побудови: From 6a8e230d7a2543282c1f9a50b86259a98decf11a Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 5 Jan 2025 20:13:51 +0000 Subject: [PATCH 106/279] list angel pons on contrib.md (haswell nri) Signed-off-by: Leah Rowe --- site/contrib.md | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/site/contrib.md b/site/contrib.md index 80ebe88..a4a5bad 100644 --- a/site/contrib.md +++ b/site/contrib.md @@ -37,12 +37,10 @@ works on all aspects of libreboot, such as: that libreboot uses * Providing user support on IRC -As leader of the project, my own contributions would be too vast to list here -succinctly, so just go look at literally the entire Git history. I write this -paragraph without arrogance; it is simply a fact that almost all of the commits -in Libreboot, by percentage, were written by me. I oversee Libreboot; I am its -BDFL, or at least its leader until the day when Libreboot will one day be -surpassed. Libreboot is otherwise my life-long passion, my baby. +Check the Git repositories to find my own contributions to the project. There +are a lot, too many to list here, but my work is enabled by the many people +who help me, and those who work on all the upstream projects that I use in +Libreboot. I regularly work with all sorts of people. External projects ================= @@ -134,6 +132,23 @@ over the years. Anyone who contributes to Libreboot is a hero. Look at the old Libreboot repository on [notabug](https://notabug.org/libreboot) to find his contributions. +Angel Pons +---------- + +Angel is a coreboot developer. Their contributions are numerous, in that and +many other projects. Countless patches in coreboot from them have enabled +Libreboot to be what it is. + +The most noteworthy work by Angel, that Libreboot imported, is the native +raminit (NRI) for Intel Haswell platform, which Libreboot was able to use +for replacing the Intel MRC. Because of these patches, Libreboot is able to +provide wholly free initialisation on that platform, in the BIOS region of +the flash. For example, the ThinkPad T440p and OptiPlex 9020 ports boot in +such a configuration, since these are Haswell machines. + +Over 2000 commits in coreboot were written by Angel, as of January 2025. They +are one of coreboot's most active developers. + Arsen Arsenović --------------- From c1daf0fc5ec42fac72c3d608a4c112770edbf97a Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 5 Jan 2025 22:21:49 +0000 Subject: [PATCH 107/279] docs/build: Remove the python instructions lbmk hacks PATH now to deal with this see lbmk patch from 5 January 2025: * 411fb697dfc set up python in PATH, ensuring that it is python3 python3 is dealt with automatically now, so the user doesn't have to do it Signed-off-by: Leah Rowe --- site/docs/build/index.md | 17 ----------------- site/docs/build/index.uk.md | 7 ++----- 2 files changed, 2 insertions(+), 22 deletions(-) diff --git a/site/docs/build/index.md b/site/docs/build/index.md index 326308e..3831f00 100644 --- a/site/docs/build/index.md +++ b/site/docs/build/index.md @@ -80,23 +80,6 @@ Change the name and email address to whatever you want, when doing this. You may also want to follow more of the steps here: -Python -====== - -You should ensure that the `python` command runs python 3, on your system. -Python2 is unused by lbmk or anything that it pulls down as modules. - -If building on Debian/Ubuntu based systems, you can achieve that via: - - sudo apt install python-is-python3 - -On Fedora, you can use the following - - sudo dnf install python-unversioned-command - -On most modern distros, Python 2 is no longer included and Python 3 will be -the only one available on the `python`. - How to compile Libreboot ======================== diff --git a/site/docs/build/index.uk.md b/site/docs/build/index.uk.md index ed42272..5a67bdc 100644 --- a/site/docs/build/index.uk.md +++ b/site/docs/build/index.uk.md @@ -89,11 +89,8 @@ Git Ви також можете захотіти прослідувати більшій кількості етапів тут: -Python -====== - -Python2 не використовується lbmk або будь-чим, що завантажується в якості модулів. Ви -маєте переконатись, що команда `python` виконує python 3 на вашій системі. +Build +===== Zero..st, check time/date ------------------------- From 7421e9a8c7a7b6aa5a6e70294973ea4fd4bedb77 Mon Sep 17 00:00:00 2001 From: libreandre Date: Mon, 6 Jan 2025 18:18:26 +0200 Subject: [PATCH 108/279] Add missing release year to ASUS KFSN4-DRE --- site/docs/install/kfsn4-dre.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/docs/install/kfsn4-dre.md b/site/docs/install/kfsn4-dre.md index e11ea92..6085f8f 100644 --- a/site/docs/install/kfsn4-dre.md +++ b/site/docs/install/kfsn4-dre.md @@ -12,7 +12,7 @@ x-toc-enable: true |----------------------------|------------------------------------------------| | **Manufacturer** | ASUS | | **Name** | KFSN4-DRE | -| **Released** | ? | +| **Released** | 2007 | | **Chipset** | nVIDIA nForce Professional 2200 | | **CPU** | AMD Opteron 2000 series (Barcelona Family) | | **Graphics** | XGI Z9s VGA Controller | From 1b4326dd620f7b770e3d68c34c96623e86d84e5b Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Mon, 6 Jan 2025 21:30:57 +0000 Subject: [PATCH 109/279] Libreboot 20241206, 8th revision (announcement) Signed-off-by: Leah Rowe --- site/index.md | 4 +- site/news/MANIFEST | 1 + site/news/libreboot20241206.Revisions.md | 45 +++ site/news/libreboot20241206.md | 10 +- site/news/libreboot20241206rev8.md | 422 +++++++++++++++++++++++ 5 files changed, 480 insertions(+), 2 deletions(-) create mode 100644 site/news/libreboot20241206rev8.md diff --git a/site/index.md b/site/index.md index a49d281..e6b2a43 100644 --- a/site/index.md +++ b/site/index.md @@ -25,7 +25,9 @@ Minifree; sales provide funding for Libreboot. **NEW RELEASE: The latest release is Libreboot 20241206, released on 6 December 2024. -See: [Libreboot 20241206 release announcement](news/libreboot20241206.md).** +See: [Libreboot 20241206 release announcement](news/libreboot20241206.md) - the +newest revision release, Libreboot 20241206 revision 8, is from 6 +January 2025.** *We* believe the freedom to [study, share, modify and use software](https://writefreesoftware.org/), without any diff --git a/site/news/MANIFEST b/site/news/MANIFEST index a407bdf..0353053 100644 --- a/site/news/MANIFEST +++ b/site/news/MANIFEST @@ -1,3 +1,4 @@ +libreboot20241206rev8.md libreboot20241206.md libreboot20241008.md audit6.md diff --git a/site/news/libreboot20241206.Revisions.md b/site/news/libreboot20241206.Revisions.md index 87d02c9..3595d7d 100644 --- a/site/news/libreboot20241206.Revisions.md +++ b/site/news/libreboot20241206.Revisions.md @@ -117,3 +117,48 @@ to everyone, and some countries are culturally hostile to the particular colour gradient used by the old logo (from rev4); even if I preferred that logo, I want those users to have no trouble at all using Libreboot in public. Libreboot's only purpose is to provide free boot firmware. + +Revision 7 (18 December 2024) +---------- + +Added support for fetching ThunderBolt firmware and padding it, on ThinkPad +T480 and T480s mainboards. This can be used for externally flashing the newer +firmware update, without the need to boot Windows to use Lenovo's own updater. + +Revision 8 (6 January 2025) +---------- + +There are *so many* changes, in this revision, that it is being treated like +a brand new release, though it is still merely a revision to the existing +Libreboot 20241206 release. + +Please read the [Libreboot 20241206 8th +revision release announcement](libreboot20241206rev8.md). + +Here's a short summary of the revision 8 changes, but you should also read +the full announcement, linked above: + +* HP EliteBook 820 G2 images are now *provided*, whereas this port was + previously *source-only*; this is due to fixes that have been made to + the build system, that mean the images now have correct checksums after + running the `./mk inject` commands. +* Several upstream code revisions have been updated, with minor fixes. +* ThinkPad T480/T480s backlight keys now work perfectly, whereas you could + only change the brightness with software before. +* Thinkpad T480/T480s and OptiPlex 3050 Micro no longer automatically turn + on by merely plugging in a power supply; you must now actually press the + power button. This is especially desirable on the T480. +* Safer vendorfile insertion, on `include/vendor.sh` - much stricter error + handling, and the way it works now reduces the number of possible bricks. +* Intel FSP now inserted via `./mk inject` commands, instead of being + included directly inside release images. This is to mitigate technicalities + of Intel's licensing, pertaining to modifications, since coreboot has + to specifically split up the various modules and adjust various pointers + inside the M module. +* General bug fixes in the build system. +* Fix build errors on Debian Trixie/Sid and Arch Linux, as of January 2025. +* Pico 2 support added for the `pico-serprog` images, courtesy Riku Viitanen. +* Disabled TPM2 on T480/3050micro to mitigate SeaBIOS hanging, due to buggy + TPM drivers in SeaBIOS. +* Better handling of dependencies, for various Linux distros. +* Various code quality improvements for `util/nvmutil`, especially the Makefile. diff --git a/site/news/libreboot20241206.md b/site/news/libreboot20241206.md index 5105762..b6825e0 100644 --- a/site/news/libreboot20241206.md +++ b/site/news/libreboot20241206.md @@ -4,7 +4,15 @@ Today's Libreboot 20241206 revision is a *stable release*, whereas the previous testing release was Libreboot 20241008, and the previous stable release was -Libreboot 20240612. +Libreboot 20240612. A new *revision* release became available on 5 January 2025, +namely Libreboot 20241206, 8th revision. + +**UPDATE (revision release), 6 January 2025:\ +The latest *revision* is the *8th revision*, released on 6 January 2025. This +has replaced the release archives for the original release revisions, +under the same `stable/20241206/` directory on release mirrors. See:** + +**[Libreboot 20241206 revision 8 announcement](libreboot20241206rev8.md)** **[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../docs/install/ivy_has_common.md), OR YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions diff --git a/site/news/libreboot20241206rev8.md b/site/news/libreboot20241206rev8.md new file mode 100644 index 0000000..5648a44 --- /dev/null +++ b/site/news/libreboot20241206rev8.md @@ -0,0 +1,422 @@ +% Libreboot 20241206, 8th revision released! ThinkPad T480 backlight keys fixed, Pico 2 serprog support, other fixes +% Leah Rowe +% 6 January 2025 + +Today's Libreboot 20241206 revision, which is the 8th revision in the Libreboot +20241206 stable release series. The changelog on this page is written, relative +to Libreboot 20241206 revision 7 which was released on 18 December 2024. +The *original* Libreboot 20241206 release came out on 6 December 2024. + +Regarding revision 8 +==================== + +Normally, revisions would only be documented on +the [Libreboot 20241206 revisions page](libreboot20241206.Revisions.md), but +there are over *100* changes since the 7th revision, making the 8th revision +almost a full new release, so it was decided that this revision would have its +own dedicated release page. + +Many of these changes are early changes of *Libreboot Build System Audit 7*, +because an ongoing audit (the 7th audit) is in progress. The previous build +system audit was [Libreboot Build System Audit 6](audit6.md); these early +changes are the least invasive ones planned, so they are suitable for a stable +release. Much of the build system will have been re-designed, upon completion +of the 7th audit. + +You will find the tar archives (including sources and ROM images) for this +release, in the *same* directory under `stable/20241206/` on release mirrors. +The old archives (from rev6) were replaced entirely; rev7 was never released. + +Regarding revision 7 +-------------------- + +The only meaningful addition in *revision 7* was the feature whereby T480/T480s +ThunderBolt firmware can be separately downloaded, for external flashing instead +of using Lenovo's Windows-only updater program, for those users who wish/need to +update their ThunderBolt controller firmware. + +**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../docs/install/ivy_has_common.md), OR +YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions +there, before flashing. For posterity, +[here is the link again](../docs/install/ivy_has_common.md).** + +What is Libreboot? +============ + + + +Libreboot is a free/open source BIOS/UEFI replacement on x86 and ARM, providing +boot firmware that initialises the hardware in your computer, to then load an +operating system (e.g. Linux/BSD). It is specifically a *coreboot distribution*, +in the same way that Debian is a Linux distribution. It provides an automated +build system to produce coreboot ROM images with a variety of payloads such as +GNU GRUB or SeaBIOS, with regular well-tested releases to make coreboot as easy +to use as possible for non-technical users. From a project management perspective, +this works in *exactly* the same way as a Linux distro, providing a source-based +package manager (called lbmk) which patches sources and compiles coreboot images. +It makes use of [coreboot](https://www.coreboot.org/) for hardware initialisation, +and then a payload such as [SeaBIOS](https://www.seabios.org/SeaBIOS) +or [GNU GRUB](https://www.gnu.org/software/grub/) to boot your operating +system; on ARM(chromebooks), we provide *U-Boot* (as a coreboot payload). + +We also provide an experimental U-Boot setup on x86, as a coreboot payload for +providing a minimal UEFI implementation. + +Summarised list of changes +========================== + +Board support +------------- + +RP2530 devices now supported in `pico-serprog`, e.g. Raspberry Pi Pico 2. + +We previously only supported the RP2040 devices, e.g. original Pi Pico. We +now support both RP2040 and RP2530. Images are provided in the same tarball. + +The documentation has been updated, to reflect this improvement. Libreboot also +now imports `picotool` which is now used to compile the UF2 binaries for +installation, when building them from `pico-sdk`. + +Revision updates +---------------- + +In descending order from latest changes to earliest changes: + +* Bumped SeaBIOS to revision 1602647f1 (7 November 2024). This brings in a + single change from upstream, that prevents the boot menu from being hidden + when `boot-menu-wait` is negative. +* Bumped GRUB to revision 6811f6f09 (26 November 2024). This brings in several + important fixes from upstream, most notably TPM2 key support, though we + don't yet actually enable it in the code as it's unused on all machines. + Minor fixes have been observed, e.g. graphical glitches fixed under certain + edge cases. +* Bumped flashprog to revision eb2c041 (14 Nov 2024). This brings in several + important fixes from upstream. + +Feature changes +--------------- + +In descending order from latest changes to earliest changes: + +* `vendor.sh`: Randomised MAC addresses are used by default now, even + if the user doesn't specify `setmac`. The `setmac keep` command will skip + setting a MAC address, and `setmac restore` shall insert the default one. +* `vendor.sh`: The `inject` command can now modify MAC addresses inside tar + archives, whereas it could previously only do so for single-image insertion; + the latter was removed, leaving only tarball-based injection in place. This + can also be used, even on boards that don't need vendor files; on those boards, + vendorfiles still aren't inserted, because again, they are not needed! +* `util/nvmutil`: Show the same byte order, in the same grouping and + display format, as `hexdump -C`, so that the output is more intuitive when + the user runs e.g. `./nvm gbe.bin dump` +* `./mk inject` commands are much safer now: tarballs are modified directly, + without leaving extracted images behind. This means that there is no longer + any ambiguity about which image to flash. Images are now padded with a + single byte when scrubbed, and prefixed with DONOTFLASH in the file name. + Single-image insertion has been removed, such that insertion is now + tarball-only. In general, the error handling is much stricter, and user + messages more verbose, to make the script more intuitive and much safer, + to vastly reduce the number of accidental mistakes that brick the user's + machine. +* `lib.sh`: Support `reinstall` on Fedora dnf. Use it by running + the `./mk dependencies fedora re` command. +* `lib.sh`: Support `--reinstall` on Debian apt-get, when running + the `./mk dependencies debian` command. You can + use: `./mk dependencies debian --reinstall` +* `vendor.sh`: Intel FSP is no longer directly provided in release images, on + boards that use it. Instead, images now exclude it and it is to be inserted + with the `./mk inject` commands. This is to mitigate technicalities of + Intel's licensing, despite the fact that the FSP is otherwise freely + redistributable, because coreboot technically modifies it by splitting the + modules and modifying pointers inside the FSP-M module for raminit. +* `rom.sh`: Support setting `payload_grubsea="y"` on a board's `target.cfg` + file when compiling, so that GRUB is the primary payload. This is not enabled + on any boards, nor will it be, on release images, but the user can do it + themselves when compiling from source. + +Configuration changes +--------------------- + +In descending order from the latest changes to the earliest changes: + +* Disabled HyperThreading by default, on ThinkPad T480/T480s and OptiPlex 3050 + Micro, to mitigate speculative execution attacks like spectre/meltdown. Users + can turn it back on and build from source, if they wish, for a roughly 15 + percent performance boost under highly multi-threaded workloads. + +Bug fixes +--------- + +Several fixes were made to prevent build errors on the latest Debian Sid +and Arch Linux, as of 6 January 2025. Fedora 41 was also tested, fixing +various issues. + +The following bug fixes have been merged (in descending order from the latest +changes to the earliest changes): + +* ThinkPad T480/T480s: Power LEDs are now reset to the state they were in during + coldboot, whereas previously they would not have been so, upon warm reboot. + This patch is courtesy Mate Kukri. +* ThinkPad T480/T480s: Fixed the backlight control keys (Fn key combination). + Brightness could already be set, but not with the Fn keys, only with software + e.g. `xbacklight`. Now it functions the way users expect, and demand. This + fix is courtesy Mate Kukri. +* `lib.sh`: Python versions are detected using Python's own built-in tuple, + instead of relying on the `--version` argument, because the tuple is more + consistent across various distros, whereas some distros might modify the + output of `--version` to include their own branding, which could have messed + up the way our build system was using `awk`. +* `lib.sh`: Properly set up `python` in the `PATH` directorier, by creating + a temporary link to the correct Python version, where detected. Python 3 + is the only python on most distros now, but we still occasionally encounter + setups where the user has `python` as v2.x and has `python3` in PATH for + Python v3.x; in this latter scenario, the build system corrects for it so + that `python` is temporarily v3.x while images are being compiled. Several + parts of the build system do use Python quite heavily, and it is *always* + Python 3. +* `vendor.sh`: Generally more robust checking of whether vendor files are + needed, and better handling of the event in which they are not; fewer errant + error conditions, that should otherwise not be error conditions, where they + would have previously been so. +* `vendor.sh`: Prevent double-nuke and double-inject. This is done by checking + whether the hash file is present, because it's removed post-injection now, + on the newly re-written inject command since 20241206 revision 8. +* `vendor.sh`: Don't error out if `vcfg` is not set. Later checks make it + skip instead, as is proper. The previous behaviour caused an error under + certain edge cases, when attempting to inject on boards that don't need + vendor files. +* `submodule/grub`: Use codeberg as the primary mirror, instead of the GNU + mirror, because the GNU mirror is often slow. This is done specifically + for the `gnulib` GRUB submodule. +* `util/nvmutil`: Describe what the program does, in help output. The lack + of such info is considered a bug, because lack of documentation is a bug. +* `util/nvmutil`: Proper `PREFIX` and `DESTDIR` handling in the Makefile. + The default prefix is now `/usr/local`, as is correct and righteous; it + was previously `/usr`. All variables are now properly honoured, + namely: `DESTDIR`, `PREFIX`, `INSTALL`, `CC` and `CFLAGS` - the user can + now set custom variables, when compiling. +* Fixed several errors produced by `shellcheck` on the build system. +* HP EliteBook 820 G2: Fixed vendorfile insertion so that checksums now + verify properly. The board is no longer `release="n"`, so now images for it + are provided, whereas the board was previously source-only on Libreboot. +* Added `libuuid-devel` to Fedora dependencies. +* T480 / T480s / 3050 Micro: Force power-off after power failure, when + power is restored. Previously, under such an event, plugging in a charger + or power supply would then always cause the machine to turn on, with no + ability to change this. This would happen if the battery ran out on a T480, + for example. +* flashprog: Disable `-Werror` on builds, to prevent over-zealous compilers + from yielding errors on mere warnings. This is a preventative bug fix, + because no errors had yet been observed. +* Debian dependencies: Replaced `liblz4-tool` with `liblz4-dev`, for + Debian Trixie/Sid. The same config still works for Debian Bookworm. +* `u-boot`: Imported a fix from upstream, that prevents a build error when + compiling with Swig 4.3.0, because the calling convention changed on one + of the functions that U-Boot's build system uses. Specifically, + the `SWIG_AppendOutput` is used now. The way this fix works means that there + are no behaviour changes, when compiling on an older machine with, + say, Swig 4.1.0 as used in Debian Bookworm, which is what Libreboot currently + uses on this day, when compiling releases. We still want the build system + to work on newer distros. +* Use `command -v` instead of `which`, where the latter was previously used + in a few places on the build system. The `command -v` command is standard, + whereas `which` isn't. This is to + mitigate [which hunts](https://lwn.net/Articles/874049/). +* Added double quotes on several variables in the build system, to prevent + globbing. +* Removed auto-confirm options on distro dependencies scripts. This is to + prevent buggy distros from messing up the user's packages, because now it + will show a confirmation dialog when the package manager sees a conflict; + previously, the build system just said yes to everything, which reduced the + amount of user interaction. The idea is to annoy the user, rather than + break their machine, and this is only a mild annoyance. +* `trees`: Hack the `PATH` environmental variable to link GCC and GNAT, matching + them so that both versions are the same. This mitigates an issue on Debian + Trixie/Sid as of January 2025, whereby `gcc` is `gcc-14` while `gnat` + is `gnat-13` and also installs `gcc-13`; if this ids what the user has, GCC + is set to GCC 13 in `PATH`. The user can install `gnat-14` if they wish, + and the GNAT version is auto-matched in `PATH` instead, matching GCC. This + is only done when compiling the coreboot crossgcc toolchain, because GNAT + is required there and must match the GCC version. +* Disabled TPM2 on ThinkPad T480/T480s, to speed up the boot time on SeaBIOS, + because SeaBIOS's TPM driver is buggy and constantly times out on this + board, when the TPM is enabled. This causes the boot speeds to now be almost + instantaneous. +* `dependencies/debian`: Changed `python3-distutils` + to `python3-distutils-extra`, so that dependencies can be installed on + Debian Trixie/Sid; the same config still works on Debian Bookworm. +* Added SPDX headers to various configuration files. +* `git.sh`: Re-initialise the `livepull` variable per-project and per-tree, + so that previous runs of it do not unpredictably affect the next, when + cloning upstream Git repositories. +* `vendor.sh`: Fixed a bug whereby the `lock` file was not deleted under + certain circumstances, when vendor files were not needed on a given board. + The consequence of this bug was that the user would have to manually delete + the lock file, to prevent error. +* `lib.sh`: Safer exit when running `./mk dependencies` (don't rely on the + exit statuses of chained commands being zero). + +General code cleanup +-------------------- + +In descending order from the latest changes to the earliest changes: + +* `util/nvmutil`: Make the GbE checksum of `0xBABA` a define, for clarity. +* `lib.sh`: cleaned up a few if statements +* `util/nvmutil`: Tidied up several `pledge` calls on OpenBSD (code quality + improvement). +* Remove unused deguard patch, which was only used on the old version prior + to Mate Kukri's re-write. +* Removed geteltorito and mtools from distro dependencies, because it's not + currently used by anything. + +Git log +======= + +This log is relative to Libreboot 20241206 *revision 7*: + +``` +* 7d26f0a9c21 Libreboot 20241206, 8th revision +* d4cc94d6b44 rom.sh: don't run mkpicotool on dry builds +* de6d2f556f1 pico-sdk: Import picotool as a dependency +* 4210ee68ea2 lib.sh: Much safer python version check +* 8c7ba6131cc coreboot/next uprev: Fix T480 backlight keys +* 411fb697dfc set up python in PATH, ensuring that it is python3 +* e8336bcc3ca vendor.sh: Proper semantics on prefix file names +* 63f45782638 vendor.sh: Confirm if need_files=n +* 13b06ae130f vendor.sh: Allow restoring the default GbE file +* ab8feff92e0 vendor.sh: set random MAC address *by default* +* 0ceaa01d45d vendor.sh: add clarification to nogbe warning +* 4d5caf1dcfc vendor.sh: check that the vcfg file exists +* fc4ee88e167 vendor.sh: error out if nuking failed +* 8819a93d89b add line break, part 3 +* 8ce1a00f517 add line break, part 2 +* bc2c14e76a8 add line break +* c762850311a vendor.sh: prevent double-nuke +* 68299ad05ca vendor.sh: much more verbose errors/confirmation +* b8e6d12f3d9 add libx86 to arch dependencies +* cf8ad497b4e vendor.sh: Remove unnecessary return +* c858099b359 vendor.sh: Download utils even if vcfg unset +* ce16856a242 vendor.sh: Allow setmac if vendorfiles not needed +* 4b51787d078 add less to arch dependencies +* 8bd028ec153 lib.sh: Set python after dependencies +* 44b6df7c24c update my copyright years on modified scripts +* 818f3d630c2 vendor.sh: Don't error if vcfg is unset +* 432a1a5bca7 lib.sh: Fix unescaped quotes in chkvars() +* a73b0fd910a Revert "fix more unescaped quotes in eval" +* ec6bcc1fba5 fix more unescaped quotes in eval +* 5284f20b981 fix ./mk dependencies build issue +* d825f9a9683 rom.sh: Remove errant GRUB modules check +* 4149f3dc81a submodule/grub: use codeberg for 1st gnulib mirror +* 0305975e705 util/nvmutil: Update AUTHORS and COPYING files +* 20b192e13bd util/nvmutil: Describe nvmutil in help output +* d1ca21628cb util/nvmutil: Remove the correct binary on uninstall +* e63fe256dfc util/spkmodem-recv: More correct Makefile +* efd50ee548b util/nvmutil: Honour the INSTALL variable +* 8008838abbc util/nvmutil: Don't clean when doing uninstall +* 982f257f58a util/nvmutil: Proper DESTDIR/PREFIX handling +* 3f85ae5f853 util/nvmutil: Set CC and CFLAGS only if unset +* 2c7b9fb9412 util/nvmutil: Capitalise BABA +* 57f9906f6d1 util/nvmutil: Add uninstall to Makefile +* 4defe2c6085 util/nvmutil: Add distclean to Makefile +* 033e4cd9d50 util/nvmutil: Make the GbE checksum a define +* 874317c4e59 util/nvmutil: nicer hexdump display +* a338e585eed util/nvmutil: show the correct hexdump order +* b032e483ef1 lib.sh mktarball: cleaner if statement +* 0cf58c22734 fix lbmk shellcheck errors +* 8276560cc99 lib.sh and rom.sh: update my header +* 08e86d2218c vendor.sh inject: reset err upon return +* 41275d699ca vendor.sh: MUCH, MUCH, MUCH safer ./mk inject +* ed7293494e3 util/nvmutil: Obey the 79-character per line limit +* 637b5e36fd2 util/nvmutil: Tidy up copyright header +* cd28db883e2 vendor.sh: fix comment +* 57971ceb227 util/nvmutil: Fix another straggler +* 15b37b2a1ab util/nvmutil: Tidy up pledge calls +* e8799310db2 hp820g2: fix vendorfile inject and set release=y +* f9ab082ec19 fedora41/dependencies: add libuuid-devel +* 661591f9f0b add uuid-devel to fedora41 dependencies +* 1a46c047386 support ./mk dependencies fedora reinstall +* d58d63569f1 fix missing semicolon in grub nvme patch +* 95ea3293df5 bump seabios to rev 1602647f1 (7 November 2024) +* 6d7e6c361b3 Bump GRUB revision to 6811f6f09 (26 November 2024) +* 09a01477df6 t480/3050micro: force power off post power failure +* d344cd95eac flashprog: Disable -Werror +* dc95e912bfe bump flashprog to revision eb2c041 (14 Nov 2024) +* 27c8c1c16ba replace liblz4-tool with lz4 and liblz4-dev +* d3a732a64db lib.sh dependencies: support --reinstall argument +* 466ada423dd move xbmkpath to XBMK_CACHE/ +* b0a23840327 Revert "Remove legacy update/vendor commands" +* 3d7dd4aa9fe Fix U-Boot build issue with Swig 4.3.0 +* 0c810747469 use command -v instead of which +* 6c7e3ce2d6e trees: remove unnecessary subshell +* ad137eae89d trees: only symlink host gcc/gnat to build xgcc +* cfb6de94c33 trees: correction on check_gnu_path +* ec2f0716662 trees: match gcc/gnat versions both ways +* f64b5996279 Merge path.sh into script/trees +* 295463d281e path.sh: Further cleanup +* 5b24e0a5a96 path.sh: More thorough gcc/gnat version check +* 7849a075886 path.sh: minor cleanup +* 17168a87dbf path.sh: remove unnecessary shebang +* e565df94fd7 Fix globbing issue in lbmk +* c80cc0a00b6 remove auto-confirm on distro dependencies +* 01fc65a0a9d Mitigate Debian Trixie/Sid GCC/GNAT version mismatch +* 424b0c7103b t480/3050micro: disable hyperthreading +* 603105f3b4e t480/t480s: Disable TPM2 to mitigate SeaBIOS lag +* 754bd1e6ca3 rom.sh: Name pico directory serprog_pico +* db22308eba5 add 2024 to Riku's copyright header on rom.sh +* 4fa5f696db8 Merge pull request 'rp2530' (#258) from Riku_V/lbmk:rp2530 into master +|\ +| * a5e0360992d pico-sdk: update to 2.1.0 +| * e2f8cc7f3ee pico-serprog: enable building for multiple pico chips +|/ +* ccc2b4d589f add spdx headers to dependencies configs +* a3969701e6b dependencies/debian: fix debian sid +* 8f370cb60d9 add spdx headers to various config files +* d591ea4c5dc git.sh: don't initialise livepull globally +* b5da9feba3b vendor.sh: Print useful message on ./mk inject +* 12c6259cb2f vendor.sh: Handle FSP insertion post-release +* 78132051462 Remove legacy update/vendor commands +* 07037561bd6 lbmk: remove use of deprecated ./vendor command +* 5d1f1823067 vendor.sh: Safer exit when vendorfiles not needed +* a18175a5df9 data/deguard: Remove unused patch +* ee8f53b96ff lib.sh: Safer exit from ./mk dependencies +* a8b35c88cf1 remove geteltorito and mtools from lbmk +* 1dd32ea5487 rom.sh: support grub-first setups +``` + +This is roughly 100 changes. + +Older revisions +========= + +Please review the +original [Libreboot 20241206 announcement](libreboot20241206.md), and +the [Libreboot 20241206 revisions page](libreboot20241206.Revisions.md). + +Formalised release schedule +================= + +We normally just do a release and that's it. It's still tentative, and this +may change, but it has so far been decided that the 2025 release schedule will +look like this: + +* April 13th: testing release +* June 12th: stable release +* October 31st: testing release +* December 6th: stable release + +Where any release is made, revisions such as today's 20241206 revision 8 can +be re-released. On stable releases, only the most desirable improvements and +fixes will be made, without substantially altering the substance of the +original release, while testing releases can have wilder revisions; where the +current release is a testinng release, revisions should be frozen in place +about 1 month before the scheduled stable release. + +This is preferable because it offers much more flexibility, and it means that +stable releases can be closer to upstream whereas previously they'd be +about 3-6 months behind, e.g. the Libreboot 20241206 release uses coreboot +revisions from the summer of 2024, but some of them are closer to December +of 2024. + +This was decided, ever since the 20241206 release, which just so happened to +compliment a 20240612 release. Symmetry is good, as is predictability. From 090e58d4f84125bdcf035efcadd1cd5c13a03c77 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Mon, 6 Jan 2025 21:42:50 +0000 Subject: [PATCH 110/279] formatting Signed-off-by: Leah Rowe --- site/news/libreboot20241206.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/site/news/libreboot20241206.md b/site/news/libreboot20241206.md index b6825e0..25aec2c 100644 --- a/site/news/libreboot20241206.md +++ b/site/news/libreboot20241206.md @@ -41,13 +41,13 @@ system; on ARM(chromebooks), we provide *U-Boot* (as a coreboot payload). U-Boot UEFI payload on x86\_64 ------------------------------ - - For Libreboot 20241206, today's release, U-Boot is *also* provided as an optional coreboot payload on x86 machines. This provides a sensible UEFI implementation, useful for booting Linux/BSD systems more easily. More information available on the [U-Boot x86 page](../docs/uboot/uboot-x86.md). + + This means that you can have a UEFI boot environment, even on machines where the original vendor firmware never supported it. For example, the ThinkPad X200 runs U-Boot virtually bug-free, and it can boot Linux distros via U-Boot's UEFI From a6478d6797236e86a765efb24c92d3ae3b711434 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Tue, 7 Jan 2025 04:42:16 +0000 Subject: [PATCH 111/279] nvmutil: Remove redundant information Licensing is already mentioned in the source code for nvmutil. Putting it in the documentation just means that it'll go out of date over time, as it already has; instead of updating it, remove it. Documentation is under the GNU licensing that Libreboot documentation uses. Signed-off-by: Leah Rowe --- site/docs/install/nvmutil.md | 32 ++------------------------------ 1 file changed, 2 insertions(+), 30 deletions(-) diff --git a/site/docs/install/nvmutil.md b/site/docs/install/nvmutil.md index d40e4bf..e4e5237 100644 --- a/site/docs/install/nvmutil.md +++ b/site/docs/install/nvmutil.md @@ -562,33 +562,5 @@ it was part of osboot, is still available (for reference) here: * -LICENSE -======= - -This page is released under different copyright terms than most other pages -on this website. - -The `nvmutil` software and documentation are released under the following -terms: - -Copyright 2022 Leah Rowe - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - +Please use the latest nvmutil version. The above information is provided +only for reference. From d120ebf8f2dd87a3db0768eb45dc773228ddcefb Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Tue, 7 Jan 2025 08:33:39 +0000 Subject: [PATCH 112/279] document ./mk inject setmac on the nvmutil page Signed-off-by: Leah Rowe --- site/docs/install/nvmutil.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/site/docs/install/nvmutil.md b/site/docs/install/nvmutil.md index e4e5237..e7eee19 100644 --- a/site/docs/install/nvmutil.md +++ b/site/docs/install/nvmutil.md @@ -45,6 +45,36 @@ you how to dump or otherwise acquire that file; the second half of this README then tells you how to operate on it, using `nvmutil`. +Automatic MAC address changer +----------------------------- + +Instead of running nvmutil manually, like below, you can +also use the inject command, like so (examples): + + ./mk inject libreboot-RELEASE_targetname.tar.xz + ./mk inject libreboot-RELEASE_targetname.tar.xz setmac + ./mk inject libreboot-RELEASE_targetname.tar.xz setmac 00:1f:16:00:11:22 + ./mk inject libreboot-RELEASE_targetname.tar.xz setmac 00:??:16:0?:1?:22 + ./mk inject libreboot-RELEASE_targetname.tar.xz setmac restore + +This writes the MAC address on the GbE region of the image. You must do this +on the tarball, from the ROM image release archives, and then extract the +archive. + +These same commands also [download/insert certain vendor files](ivy_has_common.md) +if needed, on the given board. + +Without argument after the tarball, it behaves the same as `setmac`. If `setmac` +is provided without argument, or no argument is given, the MAC address is +randomised. Otherwise, you can specify an arbitrary address. + +The `?` character is random, and you can specify that any of them be random, +while setting others (or all of them) arbitrarily. + +The `restore` option restores the original one. The command works by using a +reference GbE image file present in Libreboot's build system, for the given +mainboard. + How to download newer versions ============================== From 315f4cd6b26640d2306cf3af51f5f77094e07d48 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Tue, 7 Jan 2025 15:17:31 +0000 Subject: [PATCH 113/279] mention dependencies on nvmutil.md Signed-off-by: Leah Rowe --- site/docs/install/nvmutil.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/site/docs/install/nvmutil.md b/site/docs/install/nvmutil.md index e7eee19..5f5b876 100644 --- a/site/docs/install/nvmutil.md +++ b/site/docs/install/nvmutil.md @@ -25,6 +25,8 @@ swap/copy and dump regions on Intel PHY NVM images, which are small binary configuration files that go in flash, for Gigabit (ethernet) Intel NICs. +**Please [install build dependencies](../build/) before you do this.** + This software is largely targeted at coreboot users, but it can be used on most modern Intel systems, or most systems from about 2008/2009 onwards. @@ -48,6 +50,8 @@ using `nvmutil`. Automatic MAC address changer ----------------------------- +**Please [install build dependencies](../build/) before you do this.** + Instead of running nvmutil manually, like below, you can also use the inject command, like so (examples): From e10c9b80f016ffccd4a6aa687e5d92aee2562f5b Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Wed, 8 Jan 2025 03:40:12 +0000 Subject: [PATCH 114/279] t480 page: mention the newer patchset used we use patchset 25 now, on the gerrit patch Signed-off-by: Leah Rowe --- site/docs/install/t480.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/site/docs/install/t480.md b/site/docs/install/t480.md index 3713b80..6fb8d7e 100644 --- a/site/docs/install/t480.md +++ b/site/docs/install/t480.md @@ -86,8 +86,8 @@ Official information about the T480 can be found here:\ This port is implemented in Libreboot by merging Mate Kukri's T480/T480s -patchset. See: - as of 5 -December 2024, Libreboot's code matches that of patchset 22. +patchset. See: - as of 6 +January 2025, Libreboot's code matches that of patchset 25. Preparing a release Rom ----------------------- From 5443cd0d05bcd79a24579780baafd8f13ef654d9 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Wed, 8 Jan 2025 17:22:26 +0000 Subject: [PATCH 115/279] re-organise the pico flashing instructions the instructions were a bit crap, for example it wasn't clear that you can get the firmawre pre-compiled in libreboot releases. adapt it accordingly. Signed-off-by: Leah Rowe --- site/docs/install/spi.md | 71 +++++++++++++++++++++---------- site/docs/install/spi.zh-cn.md | 76 +++++++++++++++++++++++++++------- 2 files changed, 112 insertions(+), 35 deletions(-) diff --git a/site/docs/install/spi.md b/site/docs/install/spi.md index 21c6546..90f5f9e 100644 --- a/site/docs/install/spi.md +++ b/site/docs/install/spi.md @@ -67,6 +67,9 @@ is called *external* because it's not the *internal* one on your mainboard. Raspberry Pi Pico ================= +RP2040/RP2530 both supported +---------------------------- + **Pico 2 and other RP2530 dongles also supported, on Libreboot 20241206 rev8 or higher. Releases before this only supported the original Pico, and other RP2040 dongles; newer Libreboot releases now support both RP2040 and RP2530.** @@ -83,16 +86,19 @@ Additionally, all the software running on it is free, down to the full versions (Pico W & Pico WH) need vendor firmware to use the Wi-Fi chip, but that is not needed for following this guide. -A Pico has proper 3.3V logic levels, unlike a ch341a. Which means it won't -destroy your board by sending 5V to it. If you have a 1.8V flash chip, -you need to add a logic level converter. +Download serprog firmware pre-compiled +------------------------- -First, connect just the Pico to your computer with a micro-USB cable. -Mount it like any other USB flash drive. If it isn't detected, you might need -to press the BOOTSEL button while you plug it in (this forces it into the -bootloader mode). +Download the pico serprog tarball from Libreboot releases. For example, the +Libreboot 20241206rev8 one would be +named: `libreboot-20241206rev8_pico_serprog.tar.xz` - it's available under +the `roms/` directory in each release. With these binaries, you can easily +get started. -You can download the serprog firmware here:\ +Build serprog firmware from source +---------------------------------- + +You can alternatively download the serprog firmware here:\ \ or here:\ @@ -101,7 +107,7 @@ You can also find the source code for these, under `src/` in Libreboot release archives (source code tarball), and/or under `src/` in `lbmk.git` if downloading using the build instructions below. -Copy the file `rpi-pico-serprog.uf2` into your Pico. To build this firmware, you +Alternatively to the binaries, you could build it yourself or you could also clone `lbmk.git` and [install build dependencies](../build/#first-install-build-dependencies), then inside lbmk, do: @@ -109,10 +115,39 @@ do: ./mk -b pico-serprog This will automatically build the rpi-pico firmware, and the file will be -at `bin/serprog_rp2040/serprog_pico.uf2` -and `bin/serprog_rp2040/serprog_pico_w.uf2` - images with `pico2` in the +at `bin/serprog_pico/serprog_pico.uf2` +and `bin/serprog_pico/serprog_pico_w.uf2` - images with `pico2` in the file name are for the Pico 2, and they can also be used. +Install the serprog firmware +---------------------------- + +First, connect just the Pico to your computer with a micro-USB cable. +Mount it like any other USB flash drive. If it isn't detected, you might need +to press the BOOTSEL button while you plug it in (this forces it into the +bootloader mode). + +When you have the build, or if you're using a release build, copy the +file `.uf2` file into your Pico. You must make sure to build the correct +target, or otherwise copy the correct file, because many RP2040 and RP2530 +devices exist and Libreboot provides images for **all of them** in the same +release tarball. + +**NOTE: Other RP2040/2530 devices will also work. You just have to match +the right pins and use the correct firmware file!** + +Logic levels +------------ + +A Pico has proper 3.3V logic levels, unlike a ch341a. Which means it won't +destroy your board by sending 5V to it. If you have a 1.8V flash chip, +you need to add a logic level converter. **Please ensure that you have matched +the voltage of your programmer to the voltage of your chip; both the data lines +and power lines to the chip must match.** + +Wiring +------ + Disconnect the Pico and proceed to wire it to your [flash chip](/docs/install/spi.html#identify-which-flash-type-you-have). @@ -125,6 +160,8 @@ above](https://av.libreboot.org/rpi_pico/pinout_serprog.png) ![A Raspberry Pi Pico connected to a SOIC16 flash chip](https://av.libreboot.org/rpi_pico/soic16_x200.webp) +![SOIC-8 to Pico pinout diagram](https://av.libreboot.org/rpi_pico/soic8_pico_pinouts.jpg) + Headers were manually soldered on the top side, and the plastic packaging was repurposed as an insulating base. These might be nice to have, but by no means necessary. If your headers are on the other side, just keep in mind @@ -135,7 +172,7 @@ will appear: [453876.669019] cdc_acm 2-1.2:1.0: ttyACMx: USB ACM device -Take note of the ttyACMx. Flashrom is now usable +Take note of the ttyACMx. Flashprog is now usable (substitute ttyACMx with what you observed earlier). flashprog -p serprog:dev=/dev/ttyACMx,spispeed=16M @@ -143,15 +180,7 @@ Take note of the ttyACMx. Flashrom is now usable spispeed=32M usually works, but since it's not much faster it's probably not worth it. The 12Mbps USB port is limiting the actual speed here. -Raspberry Pi Pico SOIC-8 wiring -------------------------------- - -When using a Raspberry Pi Pico to program a SOIC-8 flash chip with -`pico-serprog`, you may use the following diagram, which contains the -Raspberry Pi Pins and the pinouts of the typical SOIC-8 chip to wire up -your programmer: - -![SOIC-8 to Pico pinout diagram](https://av.libreboot.org/rpi_pico/soic8_pico_pinouts.jpg) +Higher speeds might work nicely, on Pico 2. Do not use CH341A! ================== diff --git a/site/docs/install/spi.zh-cn.md b/site/docs/install/spi.zh-cn.md index 46b9abb..bb9b705 100644 --- a/site/docs/install/spi.zh-cn.md +++ b/site/docs/install/spi.zh-cn.md @@ -43,6 +43,9 @@ libreboot 目前记录了这些 SPI 编程器的使用方法: Raspberry Pi Pico ================= +RP2040/RP2530 both supported +---------------------------- + **Pico 2 and other RP2530 dongles also supported, on Libreboot 20241206 rev8 or higher. Releases before this only supported the original Pico, and other RP2040 dongles; newer Libreboot releases now support both RP2040 and RP2530.** @@ -59,21 +62,28 @@ Additionally, all the software running on it is free, down to the full versions (Pico W & Pico WH) need vendor firmware to use the Wi-Fi chip, but that is not needed for following this guide. -A Pico has proper 3.3V logic levels, unlike a ch341a. Which means it won't -destroy your board by sending 5V to it. If you have a 1.8V flash chip, -you need to add a logic level converter. +Download serprog firmware pre-compiled +------------------------- -First, connect just the Pico to your computer with a micro-USB cable. -Mount it like any other USB flash drive. If it isn't detected, you might need -to press the BOOTSEL button while you plug it in (this forces it into the -bootloader mode). +Download the pico serprog tarball from Libreboot releases. For example, the +Libreboot 20241206rev8 one would be +named: `libreboot-20241206rev8_pico_serprog.tar.xz` - it's available under +the `roms/` directory in each release. With these binaries, you can easily +get started. -You can download the serprog firmware here:\ +Build serprog firmware from source +---------------------------------- + +You can alternatively download the serprog firmware here:\ \ or here:\ -Copy the file `rpi-pico-serprog.uf2` into your Pico. To build this firmware, you +You can also find the source code for these, under `src/` in Libreboot release +archives (source code tarball), and/or under `src/` in `lbmk.git` if downloading +using the build instructions below. + +Alternatively to the binaries, you could build it yourself or you could also clone `lbmk.git` and [install build dependencies](../build/#first-install-build-dependencies), then inside lbmk, do: @@ -81,16 +91,52 @@ do: ./mk -b pico-serprog This will automatically build the rpi-pico firmware, and the file will be -at `bin/serprog_rp2040/serprog_pico.uf2` -and `bin/serprog_rp2040/serprog_pico_w.uf2` - images with `pico2` in the +at `bin/serprog_pico/serprog_pico.uf2` +and `bin/serprog_pico/serprog_pico_w.uf2` - images with `pico2` in the file name are for the Pico 2, and they can also be used. +Install the serprog firmware +---------------------------- + +First, connect just the Pico to your computer with a micro-USB cable. +Mount it like any other USB flash drive. If it isn't detected, you might need +to press the BOOTSEL button while you plug it in (this forces it into the +bootloader mode). + +When you have the build, or if you're using a release build, copy the +file `.uf2` file into your Pico. You must make sure to build the correct +target, or otherwise copy the correct file, because many RP2040 and RP2530 +devices exist and Libreboot provides images for **all of them** in the same +release tarball. + +**NOTE: Other RP2040/2530 devices will also work. You just have to match +the right pins and use the correct firmware file!** + +Logic levels +------------ + +A Pico has proper 3.3V logic levels, unlike a ch341a. Which means it won't +destroy your board by sending 5V to it. If you have a 1.8V flash chip, +you need to add a logic level converter. **Please ensure that you have matched +the voltage of your programmer to the voltage of your chip; both the data lines +and power lines to the chip must match.** + +Wiring +------ + Disconnect the Pico and proceed to wire it to your [flash chip](/docs/install/spi.html#identify-which-flash-type-you-have). -![Raspberry Pi Pico pinout, when using the firmware linked above](https://av.libreboot.org/rpi_pico/pinout_serprog.png) +**NOTE: SCK and CLK mean the same thing. The diagram below says SCK, and other +parts of this guide say CLK. It's the same thing!** -![A Raspberry Pi Pico connected to a SOIC16 flash chip](https://av.libreboot.org/rpi_pico/soic16_x200.webp) +![Raspberry Pi Pico pinout, when using the firmware linked +above](https://av.libreboot.org/rpi_pico/pinout_serprog.png) + +![A Raspberry Pi Pico connected to a SOIC16 flash +chip](https://av.libreboot.org/rpi_pico/soic16_x200.webp) + +![SOIC-8 to Pico pinout diagram](https://av.libreboot.org/rpi_pico/soic8_pico_pinouts.jpg) Headers were manually soldered on the top side, and the plastic packaging was repurposed as an insulating base. These might be nice to have, but by no @@ -102,7 +148,7 @@ will appear: [453876.669019] cdc_acm 2-1.2:1.0: ttyACMx: USB ACM device -Take note of the ttyACMx. Flashrom is now usable +Take note of the ttyACMx. Flashprog is now usable (substitute ttyACMx with what you observed earlier). flashprog -p serprog:dev=/dev/ttyACMx,spispeed=16M @@ -110,6 +156,8 @@ Take note of the ttyACMx. Flashrom is now usable spispeed=32M usually works, but since it's not much faster it's probably not worth it. The 12Mbps USB port is limiting the actual speed here. +Higher speeds might work nicely, on Pico 2. + 不要使用 CH341A! ================== From abceff29c6f5cec5034c1e104fd1d8cce0e7787c Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Thu, 9 Jan 2025 03:39:14 +0000 Subject: [PATCH 116/279] Fix historical oversight regarding GRUB Argon2id Patrick Steinhardt did the original work, importing PHC Argon2id into GRUB; this fact was unintentionally excluded from the Libreboot documentation. Ax333l imported it into GRUB on the AUR, and Nicholas Johnson later rebased it for GRUB 2.12, for use by the Libreboot project. Credit where credit is due. The principle of the matter is that I apologise for this oversight. It has now been corrected. Signed-off-by: Leah Rowe --- site/docs/linux/grub_hardening.md | 5 ++++- site/news/argon2.md | 3 +++ site/news/argon2.uk.md | 3 +++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/site/docs/linux/grub_hardening.md b/site/docs/linux/grub_hardening.md index 00d438b..c28afd6 100644 --- a/site/docs/linux/grub_hardening.md +++ b/site/docs/linux/grub_hardening.md @@ -15,7 +15,10 @@ Full disk encryption ==================== [Encrypted /boot with LUKS2 on argon2 key derivation is now -possible](../../news/argon2.md). +possible](../../news/argon2.md) - the work is based on that done by +Patrick Steinhardt, importing PHC's Argon2 implementation. This was later added +to GRUB 2.06 on the Arch Linux AUR by Ax333l, and Nicholas Johnson later rebased +it for GRUB 2.12 to use in Libreboot's GRUB payload. This is covered in the [main Linux guide](./#encrypted-boot-via-luks2-with-argon2), in the diff --git a/site/news/argon2.md b/site/news/argon2.md index 1703ddc..0d752ec 100644 --- a/site/news/argon2.md +++ b/site/news/argon2.md @@ -25,6 +25,9 @@ had been done, and I then merged Nicholas's work into Libreboot. Thank you, Nicholas! Thanks also go to [Axel](https://axelen.xyz/) who is the author of the original work that Nicholas imported from Archlinux AUR. +The work on AUR, and Nicholas's update based on it, was ultimately based on +the work done by Patrick Steinhardt for the GRUB project, importing PHC Argon2. + Why does this matter? --------------------- diff --git a/site/news/argon2.uk.md b/site/news/argon2.uk.md index aa639e7..1671f93 100644 --- a/site/news/argon2.uk.md +++ b/site/news/argon2.uk.md @@ -25,6 +25,9 @@ AUR](https://aur.archlinux.org/cgit/aur.git/tree/?h=grub-improved-luks2-git&id=1 Ніколас! Подяка також іде до [Аксель](https://axelen.xyz/), хто є автором оригінальної роботи, яку Ніколас імпортував з Archlinux AUR. +The work on AUR, and Nicholas's update based on it, was ultimately based on +the work done by Patrick Steinhardt for the GRUB project, importing PHC Argon2. + Чому це має значення? --------------------- From 6be0468d052da0754f3e4afb4a2a98fdfebb0ecb Mon Sep 17 00:00:00 2001 From: Steffen Pankratz Date: Thu, 9 Jan 2025 20:53:41 +0100 Subject: [PATCH 117/279] dell3050: misc typo fixes Signed-off-by: Steffen Pankratz --- site/docs/install/dell3050.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/site/docs/install/dell3050.md b/site/docs/install/dell3050.md index 64aa6b1..d7d82e0 100644 --- a/site/docs/install/dell3050.md +++ b/site/docs/install/dell3050.md @@ -51,6 +51,7 @@ P*: Partially works with vendor firmware | **GRUB (libgfxinit only)** | Works | | **SeaBIOS** | Works |
+ Buy pre-installed ================= @@ -135,7 +136,7 @@ OS-based software attacks). MAC address ----------- -This has a realtek NIC inside, instead of Intel, so the MAC address will not +This has a Realtek NIC inside, instead of Intel, so the MAC address will not change. This means: there is no GbE region in the flash. You can still use something like GNU MAC Changer to change your MAC address @@ -168,7 +169,7 @@ instructions](../install/spi.md) - that page refers to use of socketed flash. The side cover comes off easily, and you can find the flash ICs next to the RAM. Simply remove the screw at the back. The top panel then slides forward, and you -can remove the SSD caddy; from then on, the flash is accossible. +can remove the SSD caddy; from then on, the flash is accessible. Observe the following photo of the flash (SOIC-8): @@ -229,9 +230,9 @@ On *this* platform, you can easily turn it off from coreboot. onward, on this board. To turn it back on, please [build from source](../build/) and before running the build command, do this: - ./mk -m coreboot t480_vfsp_16mb # replace t480 with t480s if needed + ./mk -m coreboot dell3050micro_vfsp_16mb -In the menu that appears, go *Chipset -> Enable Hyperthreading* and turn it on. +In the menu that appears, go *Chipset -> Enable Hyper-Threading* and turn it on. Then exit from the menu, saving the config where prompted. You will see this menu twice, because there are *two* configs for each of these boards. From c6d4b6fa6b3cfaba15375b3d96dac450d8d27ec6 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Thu, 9 Jan 2025 20:02:13 +0000 Subject: [PATCH 118/279] fix inaccuracy the statement in question was true when we only supported up to intel haswell platform; the newer platforms still need some more work Signed-off-by: Leah Rowe --- site/freedom-status.md | 5 +++-- site/freedom-status.uk.md | 9 +++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/site/freedom-status.md b/site/freedom-status.md index 8a1dc3d..738785c 100644 --- a/site/freedom-status.md +++ b/site/freedom-status.md @@ -204,8 +204,9 @@ Memory controller initialisation -------------------------------- Libreboot has *fully libre* initialisation available for all Intel memory -controllers on supported platforms. This *includes* Haswell (ThinkPad T440p -and W541) as of Libreboot 20230319 or higher. +controllers up to and including Haswell (ThinkPad T440p +and W541) as of Libreboot 20230319 or higher; on Broadwell, Intel MRC is used +and on Skylake/newer, FSP-M is used. ARM platforms (chromebooks) ============= diff --git a/site/freedom-status.uk.md b/site/freedom-status.uk.md index 1132e8d..92df089 100644 --- a/site/freedom-status.uk.md +++ b/site/freedom-status.uk.md @@ -289,12 +289,13 @@ T440p ідуть з обома графічними картками Intel та libreboot є налаштовуваним, дозволяючи користувачу робити все, що заманеться."* - налаштовуваний, напевно! Дивіться: [docs/maintain/](docs/maintain/) -Ініціалізація контролера пам'яті +Memory controller initialisation -------------------------------- -Libreboot має *повністю вільну* ініціалізацію, доступну для всіх контролерів пам'яті Intel -на платформах, які підтримуються. Це *включає* Haswell (ThinkPad T440p -та W541), станом на Libreboot 20230319 та пізніші. +Libreboot has *fully libre* initialisation available for all Intel memory +controllers up to and including Haswell (ThinkPad T440p +and W541) as of Libreboot 20230319 or higher; on Broadwell, Intel MRC is used +and on Skylake/newer, FSP-M is used. Платформи ARM (chromebook) ============= From a7dd851f5b3844372369bbb55018511c6a18cd89 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Fri, 10 Jan 2025 15:20:17 +0000 Subject: [PATCH 119/279] link Signed-off-by: Leah Rowe --- site/footer.de.include | 1 + site/footer.include | 1 + site/footer.it.include | 1 + site/footer.uk.include | 1 + site/footer.zh-cn.include | 1 + 5 files changed, 5 insertions(+) diff --git a/site/footer.de.include b/site/footer.de.include index 0800551..60d521f 100644 --- a/site/footer.de.include +++ b/site/footer.de.include @@ -3,6 +3,7 @@ * [Binäre Blob Richtlinie](/news/policy.md) * [Freiheits Status](/freedom-status.md) +* [Canoeboot](https://canoeboot.org/) * [Diese Seite bearbeiten](/git.de.md) * [Lizenz](/license.md) * [Vorlage](/template-license.md) diff --git a/site/footer.include b/site/footer.include index 0fd47af..93c4306 100644 --- a/site/footer.include +++ b/site/footer.include @@ -3,6 +3,7 @@ * [Binary Blob Reduction Policy](/news/policy.md) * [Freedom status](/freedom-status.md) +* [Canoeboot](https://canoeboot.org/) * [Edit this page](/git.md) * [License](/license.md) * [Template](/template-license.md) diff --git a/site/footer.it.include b/site/footer.it.include index b25e96a..a32cdcf 100644 --- a/site/footer.it.include +++ b/site/footer.it.include @@ -3,6 +3,7 @@ * [Politica di riduzione di parti binarie proprietarie (blobs)](/news/policy.md) * [Grado di liberta' possibile](/freedom-status.md) +* [Canoeboot](https://canoeboot.org/) * [Modifica questa pagina](/git.de.md) * [Licenza](/license.md) * [Modelli di licenze](/template-license.md) diff --git a/site/footer.uk.include b/site/footer.uk.include index b612493..8520ed7 100644 --- a/site/footer.uk.include +++ b/site/footer.uk.include @@ -3,6 +3,7 @@ * [Політика бінарних блобів](/news/policy.md) * [Статус свободи](/freedom-status.md) +* [Canoeboot](https://canoeboot.org/) * [Редагувати цю сторінку](/git.md) * [Ліцензія](/license.md) * [Шаблон](/template-license.uk.md) diff --git a/site/footer.zh-cn.include b/site/footer.zh-cn.include index dea13d1..d6e8fc3 100644 --- a/site/footer.zh-cn.include +++ b/site/footer.zh-cn.include @@ -3,6 +3,7 @@ * [二进制 blob 政策](/news/policy.md) * [自由度现状](/freedom-status.md) +* [Canoeboot](https://canoeboot.org/) * [编辑本页面](/git.md) * [许可证](/license.md) * [模板](/template-license.md) From 8ba82574fb20d83359dae9c6a1ff7022ec97c4a6 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Fri, 10 Jan 2025 15:28:25 +0000 Subject: [PATCH 120/279] snip Signed-off-by: Leah Rowe --- site/news/policy.de.md | 7 ------- site/news/policy.md | 7 ------- site/news/policy.uk.md | 7 ------- 3 files changed, 21 deletions(-) diff --git a/site/news/policy.de.md b/site/news/policy.de.md index 1ad4405..ca3be12 100644 --- a/site/news/policy.de.md +++ b/site/news/policy.de.md @@ -180,13 +180,6 @@ exist, for example, the work done by Sam Zeloof and the Libre Silicon project: Why? ==== -This next section previously existed in a less than diplomatic manner. It -has been restored, as of August 2024, because the wisdom that it provides is -important, yet being respectful of our friends in Massachussets is also -a good thing to do, where feasible. This section was previously deleted, as -a gesture of good will to those people, but it can't not be here, so without -further ado: - Firstly, observe the following graphic: ![](https://av.libreboot.org/firmware.png) diff --git a/site/news/policy.md b/site/news/policy.md index 7db07c3..dbb2661 100644 --- a/site/news/policy.md +++ b/site/news/policy.md @@ -245,13 +245,6 @@ exist, for example, the work done by Sam Zeloof and the Libre Silicon project: Why? ==== -This next section previously existed in a less than diplomatic manner. It -has been restored, as of August 2024, because the wisdom that it provides is -important, yet being respectful of our friends in Massachussets is also -a good thing to do, where feasible. This section was previously deleted, as -a gesture of good will to those people, but it can't not be here, so without -further ado: - Firstly, observe the following graphic: ![](https://av.libreboot.org/firmware.png) diff --git a/site/news/policy.uk.md b/site/news/policy.uk.md index a808979..5ab0b37 100644 --- a/site/news/policy.uk.md +++ b/site/news/policy.uk.md @@ -174,13 +174,6 @@ Libreboot вирішує цю ситуацію *суворо* та *принци Why? ==== -This next section previously existed in a less than diplomatic manner. It -has been restored, as of August 2024, because the wisdom that it provides is -important, yet being respectful of our friends in Massachussets is also -a good thing to do, where feasible. This section was previously deleted, as -a gesture of good will to those people, but it can't not be here, so without -further ado: - Firstly, observe the following graphic: ![](https://av.libreboot.org/firmware.uk.png) From 55d17ed3e9bab04973512e421f332ff69b6253b7 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Fri, 10 Jan 2025 15:47:09 +0000 Subject: [PATCH 121/279] fix hcl link Signed-off-by: Leah Rowe --- site/index.de.md | 2 +- site/index.fr.md | 4 ++-- site/index.it.md | 2 +- site/index.md | 2 +- site/index.ru.md | 2 +- site/index.uk.md | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/site/index.de.md b/site/index.de.md index cbda7ee..34ee870 100644 --- a/site/index.de.md +++ b/site/index.de.md @@ -5,7 +5,7 @@ x-toc-enable: true Das *Libreboot* Projekt bietet eine [freie](https://writefreesoftware.org/) *Boot -Firmware* welche auf [bestimmten Intel/AMD x86 und ARM Geräten](docs/install/) +Firmware* welche auf [bestimmten Intel/AMD x86 und ARM Geräten](docs/install/#which-systems-are-supported-by-libreboot) die Hardware initialisiert (z.b. Speicher-Controller, CPU, Peripherie), und dann einen Bootloader für dein Betriebssystem startet. [Linux](docs/linux/) sowie [BSD](docs/bsd/) werden gut unterstützt. Es ersetzt proprietäre BIOS/UEFI diff --git a/site/index.fr.md b/site/index.fr.md index 342efde..0a30619 100644 --- a/site/index.fr.md +++ b/site/index.fr.md @@ -3,7 +3,7 @@ title: Projet Libreboot x-toc-enable: true --- -Le projet Libreboot fournit un firmware [libre et Open-Source](https://writefreesoftware.org/) basé sur Coreboot, remplaçant le BIOS/UEFI propriétaire sur des [cartes mères Intel/AMD x86 et ARM](docs/install/), pour des ordinateurs de bureau et des ordinateurs portables. +Le projet Libreboot fournit un firmware [libre et Open-Source](https://writefreesoftware.org/) basé sur Coreboot, remplaçant le BIOS/UEFI propriétaire sur des [cartes mères Intel/AMD x86 et ARM](docs/install/#which-systems-are-supported-by-libreboot), pour des ordinateurs de bureau et des ordinateurs portables. Il initialise le matériel (le contrôleur de mémoire, le CPU, les périphériques) et lance un bootloader pour votre système d’exploitation. Les systèmes [Linux](docs/linux/) et [BSD](docs/bsd/) sont bien pris en charge. De l’aide est disponible sur [\#Libreboot](https://web.libera.chat/#Libreboot) via [Libera](https://libera.chat/). La page des tâches répertorie les projets en cours (les contributions sont les bienvenues si vous souhaitez y travailler vous-même). @@ -80,4 +80,4 @@ Si vous souhaitez participer à le traduction, vous pouvez traduire des pages, m [Comment proposer une traduction pour Libreboot.org](news/translations.md) -Et même si quelqu'un travaille déjà sur des traductions dans une langue donnée, nous pouvons travailler à plusieurs. Plus on est de fous, plus on rit ! \ No newline at end of file +Et même si quelqu'un travaille déjà sur des traductions dans une langue donnée, nous pouvons travailler à plusieurs. Plus on est de fous, plus on rit ! diff --git a/site/index.it.md b/site/index.it.md index 1e96919..c1e758a 100644 --- a/site/index.it.md +++ b/site/index.it.md @@ -5,7 +5,7 @@ x-toc-enable: true Il progetto *Libreboot* fornisce avvio [libero e open source](https://writefreesoftware.org/) grazie al firmware basato su coreboot, sostituendo cosi', firmware BIOS/UEFI proprietario -su [alcune schede madri basate su Intel/AMD x86 o ARM](docs/install/), +su [alcune schede madri basate su Intel/AMD x86 o ARM](docs/install/#which-systems-are-supported-by-libreboot), in computer fissi e portatili. Inizializza l'hardware (controller di memoria, CPU, periferiche) e avvia un bootloader per il tuo sistema operativo. [Linux](docs/linux/) e [BSD](docs/bsd/) sono ben supportati. diff --git a/site/index.md b/site/index.md index e6b2a43..81e3bb6 100644 --- a/site/index.md +++ b/site/index.md @@ -6,7 +6,7 @@ x-toc-enable: true The *Libreboot* project provides [free, open source](https://writefreesoftware.org/) (*libre*) boot firmware based on coreboot, replacing proprietary BIOS/UEFI firmware -on [specific Intel/AMD x86 and ARM based motherboards](docs/install/), +on [specific Intel/AMD x86 and ARM based motherboards](docs/install/#which-systems-are-supported-by-libreboot), including laptop and desktop computers. It initialises the hardware (e.g. memory controller, CPU, peripherals) and starts a bootloader for your operating system. [Linux](docs/linux/) and [BSD](docs/bsd/) are well-supported. Help is diff --git a/site/index.ru.md b/site/index.ru.md index fd3ed59..44a4db2 100644 --- a/site/index.ru.md +++ b/site/index.ru.md @@ -3,7 +3,7 @@ title: Проект Libreboot x-toc-enable: true ... -Проект *Libreboot* предоставляет [свободную, с открытым исходным кодом](https://writefreesoftware.org/) загрузочную прошивку, основанную на coreboot, заменяющую проприетарные BIOS/UEFI на [некоторых Intel/AMD x86 и ARM материнских платах](docs/install/), включая ноутбуки и десктопы. Она инициализирует аппаратное обеспечение компьютера (например, контроллер памяти, процессор, переферию) и запускает загрузчик для вашей операционный системы. [Linux](docs/linux/) и [BSD](docs/bsd/) хорошо поддерживаются. Можно попросить помощь через [\#libreboot](https://web.libera.chat/#libreboot) на [Libera](https://libera.chat/) IRC. [Страница с заданиями](tasks/) показывают, над чем мы работаем (мы приветствуем ваши предложения, если вы хотите поработать над некоторыми задачами самостоятельно). +Проект *Libreboot* предоставляет [свободную, с открытым исходным кодом](https://writefreesoftware.org/) загрузочную прошивку, основанную на coreboot, заменяющую проприетарные BIOS/UEFI на [некоторых Intel/AMD x86 и ARM материнских платах](docs/install/#which-systems-are-supported-by-libreboot), включая ноутбуки и десктопы. Она инициализирует аппаратное обеспечение компьютера (например, контроллер памяти, процессор, переферию) и запускает загрузчик для вашей операционный системы. [Linux](docs/linux/) и [BSD](docs/bsd/) хорошо поддерживаются. Можно попросить помощь через [\#libreboot](https://web.libera.chat/#libreboot) на [Libera](https://libera.chat/) IRC. [Страница с заданиями](tasks/) показывают, над чем мы работаем (мы приветствуем ваши предложения, если вы хотите поработать над некоторыми задачами самостоятельно). diff --git a/site/index.uk.md b/site/index.uk.md index 9b67f17..06f7271 100644 --- a/site/index.uk.md +++ b/site/index.uk.md @@ -6,7 +6,7 @@ x-toc-enable: true Проект *Libreboot* надає [вільну](https://writefreesoftware.org/) *завантажувальну прошивку*, яка ініціалізує апаратне забезпечення (наприклад, контролер пам'яті, ЦП, -периферію) на [конкретних цілях Intel/AMD x86 та ARM](docs/install/), що +периферію) на [конкретних цілях Intel/AMD x86 та ARM](docs/install/#which-systems-are-supported-by-libreboot), що потім розпочинає завантажувач для вашої операційної системи. [Linux](docs/linux/) та [BSD](docs/bsd/) добре підтримуються. Це заміняє пропрієтарну BIOS/UEFI прошивку. Допомога доступна From d9a4d2c5ce1d1dd09658d43fb64d8ccc8393644d Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Fri, 10 Jan 2025 15:55:24 +0000 Subject: [PATCH 122/279] fix links Signed-off-by: Leah Rowe --- site/docs/install/index.md | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/site/docs/install/index.md b/site/docs/install/index.md index 8a538c6..c8bf85d 100644 --- a/site/docs/install/index.md +++ b/site/docs/install/index.md @@ -77,8 +77,8 @@ Servers (AMD, x86) Desktops (AMD, Intel, x86) -------------------------- -- **[Dell OptiPlex 7020/9020 MT and SFF](dell9020.md) - Also [available to buy - with Libreboot preinstalled](https://minifree.org/product/libreboot-9020/)** - Dell OptiPlex XE2 MT/SFF also known to work +- **[Dell OptiPlex 3050 Micro](dell3050.md) - Also [available to buy with Libreboot pre-installed](https://minifree.org/product/libreboot-3050-micro/)** +- [Dell OptiPlex 7020/9020 MT and SFF](dell9020.md) - Dell OptiPlex XE2 MT/SFF also known to work - [Acer G43T-AM3](acer_g43t-am3.md) - Apple iMac 5,2 - [ASUS KCMA-D8 motherboard](kcma-d8.md) @@ -86,7 +86,6 @@ Desktops (AMD, Intel, x86) research is needed) - 9010 also known to work. No GPIO changes, so it should be safe to flash. - [Dell OptiPlex 780 variants e.g. MT, USFF](dell780.md) -- [Dell OptiPlex 3050 Micro](dell3050.md) - [Dell OptiPlex 7010/9010 SFF](dell7010.md) **(for MT, please use the T1650 image)** - Dell Precision T1700 (use the same ROM as 9020 MT, but it won't have ECC support) - [Dell Precision T1650](t1650.md) **(the same ROM works on 7010/9010 MT variant)** @@ -99,11 +98,9 @@ Desktops (AMD, Intel, x86) Laptops (Intel, x86) -------------------- -- [Lenovo ThinkPad T480 and ThinkPad T480s](t480.md) -- **Lenovo ThinkPad T440p - Also [available - to buy with Libreboot preinstalled](https://minifree.org/product/libreboot-t440p/)** -- **Lenovo ThinkPad W541 - Also [available to - buy with Libreboot preinstalled](https://minifree.org/product/libreboot-w541/)** - NOTE: W540 also compatible (same mainboard, so flash the same ROM) +- **[Lenovo ThinkPad T480 and ThinkPad T480s](t480.md) - Also [available to buy with Libreboot pre-installed](https://minifree.org/product/libreboot-t480/)** +- Lenovo ThinkPad T440p +- Lenovo ThinkPad W541 - Lenovo ThinkPad X230 - *Also* available on Minifree: - [Apple MacBook1,1 and MacBook2,1](macbook21.md) - [Dell Latitude E4300, E6400, E6400 XFR and E6400 ATG, all with Nvidia or Intel From 3d494145ad8f855d527d721f2e208d25f761a8c9 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Fri, 10 Jan 2025 15:57:58 +0000 Subject: [PATCH 123/279] fix links again Signed-off-by: Leah Rowe --- site/docs/install/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/site/docs/install/index.md b/site/docs/install/index.md index c8bf85d..e7ac9aa 100644 --- a/site/docs/install/index.md +++ b/site/docs/install/index.md @@ -77,7 +77,7 @@ Servers (AMD, x86) Desktops (AMD, Intel, x86) -------------------------- -- **[Dell OptiPlex 3050 Micro](dell3050.md) - Also [available to buy with Libreboot pre-installed](https://minifree.org/product/libreboot-3050-micro/)** +- [Dell OptiPlex 3050 Micro](dell3050.md) - **Also [available to buy with Libreboot pre-installed](https://minifree.org/product/libreboot-3050-micro/)** - [Dell OptiPlex 7020/9020 MT and SFF](dell9020.md) - Dell OptiPlex XE2 MT/SFF also known to work - [Acer G43T-AM3](acer_g43t-am3.md) - Apple iMac 5,2 @@ -98,7 +98,7 @@ Desktops (AMD, Intel, x86) Laptops (Intel, x86) -------------------- -- **[Lenovo ThinkPad T480 and ThinkPad T480s](t480.md) - Also [available to buy with Libreboot pre-installed](https://minifree.org/product/libreboot-t480/)** +- [Lenovo ThinkPad T480 and ThinkPad T480s](t480.md) - Also **[available to buy with Libreboot pre-installed](https://minifree.org/product/libreboot-t480/)** - Lenovo ThinkPad T440p - Lenovo ThinkPad W541 - Lenovo ThinkPad X230 - *Also* available on Minifree: From d25c4185f053ffa924e4f14a55c7a09083d86a4c Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Fri, 10 Jan 2025 16:01:01 +0000 Subject: [PATCH 124/279] fix links again again for some reason, the first one on the list doesn't translate to html during page generation Signed-off-by: Leah Rowe --- site/docs/install/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/site/docs/install/index.md b/site/docs/install/index.md index e7ac9aa..2db7059 100644 --- a/site/docs/install/index.md +++ b/site/docs/install/index.md @@ -77,7 +77,7 @@ Servers (AMD, x86) Desktops (AMD, Intel, x86) -------------------------- -- [Dell OptiPlex 3050 Micro](dell3050.md) - **Also [available to buy with Libreboot pre-installed](https://minifree.org/product/libreboot-3050-micro/)** +- [Dell OptiPlex 3050 Micro](dell3050.html) - **Also [available to buy with Libreboot pre-installed](https://minifree.org/product/libreboot-3050-micro/)** - [Dell OptiPlex 7020/9020 MT and SFF](dell9020.md) - Dell OptiPlex XE2 MT/SFF also known to work - [Acer G43T-AM3](acer_g43t-am3.md) - Apple iMac 5,2 @@ -98,7 +98,7 @@ Desktops (AMD, Intel, x86) Laptops (Intel, x86) -------------------- -- [Lenovo ThinkPad T480 and ThinkPad T480s](t480.md) - Also **[available to buy with Libreboot pre-installed](https://minifree.org/product/libreboot-t480/)** +- [Lenovo ThinkPad T480 and ThinkPad T480s](t480.html) - Also **[available to buy with Libreboot pre-installed](https://minifree.org/product/libreboot-t480/)** - Lenovo ThinkPad T440p - Lenovo ThinkPad W541 - Lenovo ThinkPad X230 - *Also* available on Minifree: From aa98970a8891e3a3300a6fca1df3314f8e7dbdb3 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Fri, 10 Jan 2025 16:27:51 +0000 Subject: [PATCH 125/279] acknowledgement Signed-off-by: Leah Rowe --- site/news/10.md | 88 ++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 76 insertions(+), 12 deletions(-) diff --git a/site/news/10.md b/site/news/10.md index edc68e6..59bc34d 100644 --- a/site/news/10.md +++ b/site/news/10.md @@ -2,18 +2,6 @@ % Leah Rowe % 12 December 2023 -**This page was restored during August 2024, having been deleted earlier on -in 2024 - it was deleted as part of Libreboot's attempt to reconcile -differences with FSF/GNU, and much of this page is hostile to it (and has to be, -because it's focusing on the history of the Libreboot project, which has -historically been at odds with the FSF both socially, technically and -politically. The restored version is essentially identical, but has been -edited without altering any of the substance, and further information going -up to the month of August 2024 has been added at the end, which was not -available earlier on because... Libreboot has not yet invented time travel.** - -Anyway, article time: - I'm very proud of the work done in Libreboot, both by myself and by others who I work with. Many people make Libreboot possible, be it direct contributors to the project, or the countless individuals and companies that work on all @@ -1477,6 +1465,8 @@ date, in terms of code and documentation respectively. 2024 reconciliation intentions ============================== +**This reconciliation was cancelled. Please see the [update from January 2025](#january-1st-2025-update).** + The *FSF* started the coldboot war. Libreboot merely won it. From 2024 onward, unless more hostilities develop from FSF/GNU's side, I intend @@ -1487,6 +1477,9 @@ that question is projects such as Libreboot, or indeed others like GNU Boot, Heads, Skulls, MrChromebox... you name it. Distros, designed similarly to Linux distros, but for building boot firmware instead. +The *first* coldbootwar occured between 19 March 2023 and 31 December 2023, +described in the article above. + Much of 2023 was spent counteracting the FSF's coup, because they were hostile to the Libreboot project, but I decided that I will avoid any such counter action from now on. I will stil develop Canoeboot, but my main focus is @@ -1552,3 +1545,74 @@ the erstwhile *gluglug* domain then redirecting to it, and I registered Minifree Ltd in the UK. Minifree is how I fund the Libreboot project, by selling computers with Libreboot pre-installed. You can find it on [minifree.org](https://minifree.org/). + +January 1st, 2025, UPDATE! +======================== + +The truce of 2024 has ended. GNU Boot did a talk during 38C3 conference, where +they spent at least *one third* of the talk, telling people to stop using +Libreboot, to stop promoting Libreboot, stop contributing to it. This is an +act of war against the Libreboot project. + +Therefore, Cold Boot War II was declared, in the early hours of January 1st, 2025. +There won't be much material difference sa a result of this, but the consequence +is that there is no longer good will from Libreboot towards the GNU project. + +Canoeboot will be developed as aggressively as before, if not more so. It will +be maintained and updated aggressively, but now with this fact in mind, and +with the view that the GNU Boot project must be contained; the mere existence +of the Canoeboot project is a direct attack on GNU Boot, and it will continue. + +I was going to approach the GNU project and start a discussion about shutting +down the Canoeboot project, and merge it with GNU Boot, helping them to bring +their project up to date - for example, as of January 2025, GNU Boot *still* +uses the same late 2021 coreboot and GRUB revisions that it used when GNU +Boot started back in June 2023. + +Such an attempt at collaboration was made before, and it was rejected. It is +clear now that the GNU Boot developers have nothing but contempt. Therefore, +the agenda from 1 January 2025 onward, is to *replace* GNU Boot; to move +so far ahead of the project on a technical level, and to overwhelm it so much +in that regard, that the project effectively no longer exists as a practical +matter. + +Canoeboot is vastly superior to GNU Boot. Its [design](https://canoeboot.org/docs/maintain/) +is much simpler and more powerful in practise, doing *more* in fewer lines +of code - and it supports more hardware. Canoeboot is, at this time, interested +in more GM45-based Dell Latitude models and X4x-based Dell OptiPlex 780 variants, +among other ports. Other works are also planned. + +Canoeboot shall continue, and there will not be a 2nd truce. The truce +of 2024 was announced unilaterally by the Libreboot project, at the start +of 2024, in the interest of improving relations. + +For those interested, the talk is here: + + +In it, they strongly imply that all Libreboot boards use Intel FSP/MRC, which +isn't true. Everything up to Haswell uses completely free raminit; completely +free initialisation within coreboot. + +In general, Libreboot's [Binary Blob Reduction Policy](policy.md) dictates +that if Free Software *can* be used, it must be - as a result, many systems +supported by Libreboot, boot entirely with free software. Libreboot is a free +software project, whose primary goal is to increase software freedoms for users +by providing them with free boot firmware. And yet: GNU Boot's talk strongly +suggests that Libreboot is a *proprietary software project*. + +In GNU Boot's talk, they directly state that I, Leah Rowe, am "against 100% +free software" - also false. I want everyone to use Free Software exclusively, +but the reality is that this is literally impossible, on any hardware. The +reason is strongly described in Libreboot's [Freedom Status](../freedom-status.md) +and [Binary Blob Reduction Policy](policy.md) pages. + +It is clear, then, that the GNU Boot project wishes to undermine the Libreboot +project; their dream is that Libreboot will one day cease to exist. So in +response, Libreboot has this dream too, but about GNU Boot. + +The outcome of coldbootwar will be described in the *next* decade anniversary page, +on 12 December 2033. It is strongly expected that Libreboot will continue to +exist and thrive by then; today's Libreboot will be vastly inferior to that +future Libreboot, and it is expected that GNU Boot will have been dead for years. +Canoeboot will still be maintained regularly. That is the dream, and it is my +wish that this dream be fully realised. It shall be done. From 4bd184da81f24a2932d03f3181812e7ad5cdeb85 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Fri, 10 Jan 2025 16:29:21 +0000 Subject: [PATCH 126/279] don't link Signed-off-by: Leah Rowe --- site/news/10.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/news/10.md b/site/news/10.md index 59bc34d..03c04c3 100644 --- a/site/news/10.md +++ b/site/news/10.md @@ -1587,7 +1587,7 @@ of 2024 was announced unilaterally by the Libreboot project, at the start of 2024, in the interest of improving relations. For those interested, the talk is here: - +**https://www.youtube.com/watch?v=dHJ9m6HRwq0** In it, they strongly imply that all Libreboot boards use Intel FSP/MRC, which isn't true. Everything up to Haswell uses completely free raminit; completely From ee4aca89fc6d85f4729a7d3e687a193758799c16 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Fri, 10 Jan 2025 16:30:55 +0000 Subject: [PATCH 127/279] typo Signed-off-by: Leah Rowe --- site/news/10.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/news/10.md b/site/news/10.md index 03c04c3..6bb9467 100644 --- a/site/news/10.md +++ b/site/news/10.md @@ -1610,7 +1610,7 @@ It is clear, then, that the GNU Boot project wishes to undermine the Libreboot project; their dream is that Libreboot will one day cease to exist. So in response, Libreboot has this dream too, but about GNU Boot. -The outcome of coldbootwar will be described in the *next* decade anniversary page, +The outcome of coldbootwar2 will be described in the *next* decade anniversary page, on 12 December 2033. It is strongly expected that Libreboot will continue to exist and thrive by then; today's Libreboot will be vastly inferior to that future Libreboot, and it is expected that GNU Boot will have been dead for years. From 8c678d515d76ad689de62af4a08ffcf9b5394181 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 11 Jan 2025 00:20:04 +0000 Subject: [PATCH 128/279] make "coreboot distro" a link to docs/maintain/ do this in every place where the term is used Signed-off-by: Leah Rowe --- site/index.md | 3 +- site/news/10.md | 5 ++-- site/news/audit5.md | 3 +- site/news/audit6.md | 3 +- site/news/libreboot20240225.md | 3 +- site/news/libreboot20240504.md | 3 +- site/news/libreboot20240612.md | 3 +- site/news/libreboot20241008.md | 3 +- site/news/libreboot20241206.md | 3 +- site/news/libreboot20241206rev8.md | 44 ++++++++++++++++-------------- 10 files changed, 42 insertions(+), 31 deletions(-) diff --git a/site/index.md b/site/index.md index 81e3bb6..371981f 100644 --- a/site/index.md +++ b/site/index.md @@ -53,7 +53,8 @@ the early user interface, for booting an operating system. This *payload* infrastructure means you can run whatever you want (even Linux!) from the boot flash. -Libreboot is specifically a *coreboot distribution*, in the same way that +Libreboot is specifically a *[coreboot distribution](docs/maintain)*, +in the same way that Debian is a *Linux distribution*. Libreboot makes coreboot easy to use for non-technical users, by providing a [fully automated build system](docs/maintain/), [automated build process](docs/build/) and diff --git a/site/news/10.md b/site/news/10.md index 6bb9467..244d6a7 100644 --- a/site/news/10.md +++ b/site/news/10.md @@ -138,7 +138,8 @@ support and MacBook 2,1 support were added. This first year of the project was spent on building solid infrastructure, specifically documentation and an automated build system. The design of Libreboot revolves around scripts that automatically download, patch, configure and then compile various codebases, -so you can think of it like a *coreboot distribution*; Libreboot's build +so you can think of it like a *[coreboot distribution](../docs/maintain/)*; +Libreboot's build system is essentially a source-based package manager, for coreboot components. The very first Libreboot releases only provided a *GNU GRUB* payload. The @@ -314,7 +315,7 @@ provide such automation. It's the same concept as a *Linux distribution*, but in the context of boot firmware. A project like *Debian* automatically builds many codebases from all over the internet, putting it all together to provide an operating system that users can simply install. Libreboot applies that same -concept to *coreboot*, so it is a *coreboot distribution*. +concept to *coreboot*, so it is a *[coreboot distribution](../docs/maintain/)*. Libreboot was the *first* coreboot distro ever, and today is still the most popular one. Several similar projects now exist, inspired by the example that diff --git a/site/news/audit5.md b/site/news/audit5.md index 8de0178..ceda45c 100644 --- a/site/news/audit5.md +++ b/site/news/audit5.md @@ -17,7 +17,8 @@ controller all way to peripherals, readying the hardware so that it can run software, e.g. Linux/BSD operating systems. You can essentially think of *lbmk*, which is Libreboot's build system, as a *source-based package manager*. It is what the Libreboot releases are built with. The *lbmk* build system essentially -implements a *coreboot distro*, the same way you might think of a Linux +implements a *[coreboot distro](../docs/maintain/)*, +the same way you might think of a Linux distribution. Extensive auditing has been performed on lbmk, since the Libreboot 20240504 diff --git a/site/news/audit6.md b/site/news/audit6.md index eaa6b89..a86f045 100644 --- a/site/news/audit6.md +++ b/site/news/audit6.md @@ -17,7 +17,8 @@ controller all way to peripherals, readying the hardware so that it can run software, e.g. Linux/BSD operating systems. You can essentially think of *lbmk*, which is Libreboot's build system, as a *source-based package manager*. It is what the Libreboot releases are built with. The *lbmk* build system essentially -implements a *coreboot distro*, the same way you might think of a Linux +implements a *[coreboot distro](../docs/maintain/)*, +the same way you might think of a Linux distribution; it systematically downloads, resets (to specific revisions) and patches various upstream project sources such as coreboot, U-Boot and GRUB, automatically building entire coreboot images. This build system is what creates diff --git a/site/news/libreboot20240225.md b/site/news/libreboot20240225.md index b0d8ca4..60f36ba 100644 --- a/site/news/libreboot20240225.md +++ b/site/news/libreboot20240225.md @@ -7,7 +7,8 @@ Introduction Libreboot is a free/open source BIOS/UEFI replacement on x86 and ARM, providing boot firmware that initialises the hardware in your computer, to then load an -operating system (e.g. Linux/BSD). It is specifically a *coreboot distribution*, +operating system (e.g. Linux/BSD). It is specifically +a *[coreboot distribution](../docs/maintain/)*, in the same way that Debian is a Linux distribution. It provides an automated build system to produce coreboot ROM images with a variety of payloads such as GNU GRUB or SeaBIOS, with regular well-tested releases to make coreboot as easy diff --git a/site/news/libreboot20240504.md b/site/news/libreboot20240504.md index d477184..ea0d07f 100644 --- a/site/news/libreboot20240504.md +++ b/site/news/libreboot20240504.md @@ -11,7 +11,8 @@ Introduction Libreboot is a free/open source BIOS/UEFI replacement on x86 and ARM, providing boot firmware that initialises the hardware in your computer, to then load an -operating system (e.g. Linux/BSD). It is specifically a *coreboot distribution*, +operating system (e.g. Linux/BSD). It is specifically +a *[coreboot distribution](../docs/maintain/)*, in the same way that Debian is a Linux distribution. It provides an automated build system to produce coreboot ROM images with a variety of payloads such as GNU GRUB or SeaBIOS, with regular well-tested releases to make coreboot as easy diff --git a/site/news/libreboot20240612.md b/site/news/libreboot20240612.md index 9c0f3d8..5ef3cf5 100644 --- a/site/news/libreboot20240612.md +++ b/site/news/libreboot20240612.md @@ -12,7 +12,8 @@ Introduction Libreboot is a free/open source BIOS/UEFI replacement on x86 and ARM, providing boot firmware that initialises the hardware in your computer, to then load an -operating system (e.g. Linux/BSD). It is specifically a *coreboot distribution*, +operating system (e.g. Linux/BSD). It is specifically +a *[coreboot distribution](../docs/maintain/)*, in the same way that Debian is a Linux distribution. It provides an automated build system to produce coreboot ROM images with a variety of payloads such as GNU GRUB or SeaBIOS, with regular well-tested releases to make coreboot as easy diff --git a/site/news/libreboot20241008.md b/site/news/libreboot20241008.md index 370a738..9426b55 100644 --- a/site/news/libreboot20241008.md +++ b/site/news/libreboot20241008.md @@ -15,7 +15,8 @@ Introduction Libreboot is a free/open source BIOS/UEFI replacement on x86 and ARM, providing boot firmware that initialises the hardware in your computer, to then load an -operating system (e.g. Linux/BSD). It is specifically a *coreboot distribution*, +operating system (e.g. Linux/BSD). It is specifically +a *[coreboot distribution](../docs/maintain/)*, in the same way that Debian is a Linux distribution. It provides an automated build system to produce coreboot ROM images with a variety of payloads such as GNU GRUB or SeaBIOS, with regular well-tested releases to make coreboot as easy diff --git a/site/news/libreboot20241206.md b/site/news/libreboot20241206.md index 25aec2c..864c60e 100644 --- a/site/news/libreboot20241206.md +++ b/site/news/libreboot20241206.md @@ -26,7 +26,8 @@ Introduction Libreboot is a free/open source BIOS/UEFI replacement on x86 and ARM, providing boot firmware that initialises the hardware in your computer, to then load an -operating system (e.g. Linux/BSD). It is specifically a *coreboot distribution*, +operating system (e.g. Linux/BSD). It is specifically +a *[coreboot distribution](../docs/maintain/)*, in the same way that Debian is a Linux distribution. It provides an automated build system to produce coreboot ROM images with a variety of payloads such as GNU GRUB or SeaBIOS, with regular well-tested releases to make coreboot as easy diff --git a/site/news/libreboot20241206rev8.md b/site/news/libreboot20241206rev8.md index 5648a44..d11a544 100644 --- a/site/news/libreboot20241206rev8.md +++ b/site/news/libreboot20241206rev8.md @@ -7,6 +7,29 @@ Today's Libreboot 20241206 revision, which is the 8th revision in the Libreboot to Libreboot 20241206 revision 7 which was released on 18 December 2024. The *original* Libreboot 20241206 release came out on 6 December 2024. +What is Libreboot? +============ + + + +Libreboot is a free/open source BIOS/UEFI replacement on x86 and ARM, providing +boot firmware that initialises the hardware in your computer, to then load an +operating system (e.g. Linux/BSD). It is specifically +a *[coreboot distribution](../docs/maintain/)*, +in the same way that Debian is a Linux distribution. It provides an automated +build system to produce coreboot ROM images with a variety of payloads such as +GNU GRUB or SeaBIOS, with regular well-tested releases to make coreboot as easy +to use as possible for non-technical users. From a project management perspective, +this works in *exactly* the same way as a Linux distro, providing a source-based +package manager (called lbmk) which patches sources and compiles coreboot images. +It makes use of [coreboot](https://www.coreboot.org/) for hardware initialisation, +and then a payload such as [SeaBIOS](https://www.seabios.org/SeaBIOS) +or [GNU GRUB](https://www.gnu.org/software/grub/) to boot your operating +system; on ARM(chromebooks), we provide *U-Boot* (as a coreboot payload). + +We also provide an experimental U-Boot setup on x86, as a coreboot payload for +providing a minimal UEFI implementation. + Regarding revision 8 ==================== @@ -40,27 +63,6 @@ YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions there, before flashing. For posterity, [here is the link again](../docs/install/ivy_has_common.md).** -What is Libreboot? -============ - - - -Libreboot is a free/open source BIOS/UEFI replacement on x86 and ARM, providing -boot firmware that initialises the hardware in your computer, to then load an -operating system (e.g. Linux/BSD). It is specifically a *coreboot distribution*, -in the same way that Debian is a Linux distribution. It provides an automated -build system to produce coreboot ROM images with a variety of payloads such as -GNU GRUB or SeaBIOS, with regular well-tested releases to make coreboot as easy -to use as possible for non-technical users. From a project management perspective, -this works in *exactly* the same way as a Linux distro, providing a source-based -package manager (called lbmk) which patches sources and compiles coreboot images. -It makes use of [coreboot](https://www.coreboot.org/) for hardware initialisation, -and then a payload such as [SeaBIOS](https://www.seabios.org/SeaBIOS) -or [GNU GRUB](https://www.gnu.org/software/grub/) to boot your operating -system; on ARM(chromebooks), we provide *U-Boot* (as a coreboot payload). - -We also provide an experimental U-Boot setup on x86, as a coreboot payload for -providing a minimal UEFI implementation. Summarised list of changes ========================== From ba3ca8c23da22687772d8e4cd53a747dcba00977 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 11 Jan 2025 02:11:07 +0000 Subject: [PATCH 129/279] update images on translated home pages they didn't show the t480 photo as the main one Signed-off-by: Leah Rowe --- site/index.de.md | 10 +++++++--- site/index.fr.md | 12 +++++++----- site/index.it.md | 10 +++++++--- site/index.ru.md | 6 +++--- site/index.uk.md | 10 +++++++--- site/index.zh-cn.md | 8 +++++--- 6 files changed, 36 insertions(+), 20 deletions(-) diff --git a/site/index.de.md b/site/index.de.md index 34ee870..8e59dcf 100644 --- a/site/index.de.md +++ b/site/index.de.md @@ -13,7 +13,7 @@ Firmware. Hilfe ist verfügbar via [\#libreboot](https://web.libera.chat/#libreboot) und [Libera](https://libera.chat/) IRC. - + You can also [buy Libreboot preinstalled](https://minifree.org/) from Minifree Ltd, on select hardware, aswell as send your compatible hardware @@ -28,6 +28,8 @@ Siehe auch: [Libreboot 20241206 release announcement](news/libreboot20241206.md) Warum solltest Du *Libreboot* verwenden? ---------------------------- + + Libreboot gibt dir [Freiheit](https://writefreesoftware.org/) welche Du mit den meisten Boot Firmwares nicht hast, und zusätzlich schnellere Boot Geschwindigkeiten sowie [höhere Sicherheit](docs/linux/grub_hardening.md). @@ -59,7 +61,7 @@ Dokumentation ist verfügbar. Libreboot ist kein Coreboot Fork ----------------------------------- - + Tatsächlich versucht Libreboot so nah am regulären Coreboot zu bleiben wie möglich, für jedes Board, aber mit vielen automatisch durch das Libreboot Build System zur @@ -88,7 +90,7 @@ Kenntnisse oder Fertigkeiten abgesehen von der Fähigkeit einer Wie kann ich helfen ----------- - + Der beste Weg wie Du helfen kannst, ist das *hinzufügen* neuer Mainboards in Libreboot, indem Du eine Konfiguration zur Verfügung stellst. Alles was von @@ -107,6 +109,8 @@ kompetent genug bist jemandem bei seinem Problem zu helfen (oder bereit mit der Person gemeinsam zu lernen), dann ist dies ein wichtiger Beitrag zum Projekt. Viele Leute fragen zudem unter dem Subreddit `r/libreboot` nach Hilfe. + + Eine Liste mit Bugs gibt es unter [Bug Tracker](https://codeberg.org/libreboot/lbmk/issues). diff --git a/site/index.fr.md b/site/index.fr.md index 0a30619..cc327ca 100644 --- a/site/index.fr.md +++ b/site/index.fr.md @@ -6,8 +6,7 @@ x-toc-enable: true Le projet Libreboot fournit un firmware [libre et Open-Source](https://writefreesoftware.org/) basé sur Coreboot, remplaçant le BIOS/UEFI propriétaire sur des [cartes mères Intel/AMD x86 et ARM](docs/install/#which-systems-are-supported-by-libreboot), pour des ordinateurs de bureau et des ordinateurs portables. Il initialise le matériel (le contrôleur de mémoire, le CPU, les périphériques) et lance un bootloader pour votre système d’exploitation. Les systèmes [Linux](docs/linux/) et [BSD](docs/bsd/) sont bien pris en charge. De l’aide est disponible sur [\#Libreboot](https://web.libera.chat/#Libreboot) via [Libera](https://libera.chat/). La page des tâches répertorie les projets en cours (les contributions sont les bienvenues si vous souhaitez y travailler vous-même). - - + Vous pouvez également acheter du matériel avec [Libreboot pré-installé](https://minifree.org/) via l'entreprise Minifree Ltd, ou envoyer votre propre ordinateur [pour y installer Libreboot](https://minifree.org/product/installation-service/). @@ -20,6 +19,8 @@ le 6 December 2024.** Pourquoi devriez-vous utiliser *Libreboot*? ----------------------------------- + + Libreboot vous offre des [libertés](https://writefreesoftware.org/) que vous n’auriez pas avec d’autres micrologiciels de démarrage. [Puissant](docs/linux/grub_hardening.md) et hautement [configurable](docs/maintain), il répond à de nombreux cas d’utilisation. Vous avez des droits : droit à la vie privée, liberté de pensée, liberté d’expression et droit à l’information. Dans ce cadre, Libreboot vous permet de préserver ces droits. Votre liberté est essentielle. Le [droit à la réparation](https://fr.wikipedia.org/wiki/Droit_%C3%A0_la_r%C3%A9paration) est également crucial. Beaucoup de personnes utilisent des micrologiciels propriétaires (non libres), même lorsqu’elles utilisent [un système d'exploitation libre](https://www.openbsd.org/). Ces micrologiciels sont souvent instables et [contiennent](faq.html#intel) parfois des [portes dérobées](faq.html#amd). @@ -32,11 +33,10 @@ Libreboot s’appuie sur [Coreboot](https://www.Coreboot.org) pour Une documentation détaillée est disponible. - Quelles sont les différences entre Libreboot et Coreboot? ------------------------------------------------ - + Contrairement à l'opinion populaire, le but principal de Libreboot n'est pas de fournir un Coreboot sans blobs propriétaires ; ceci n'est qu'une des politiques de Libreboot, certes importante, mais qui reste un aspect mineur de son projet. @@ -49,7 +49,7 @@ Les versions de Libreboot fournissent des images ROM pré-compilées que vous po Comment aider ----------- - + La meilleure façon d'aider le projet est d’ajouter de nouvelles cartes mères au projet Libreboot en soumettant une configuration. Tout ce qui est pris en charge par Coreboot peut être intégré à Libreboot, avec des images ROM fournies dans les versions publiées. Voir : @@ -63,6 +63,8 @@ Le support utilisateur est également crucial. Restez actif sur IRC et, si vous Vous pouvez allez voir les bugs listés sur le [traqueur de bugs](https://codeberg.org/Libreboot/lbmk/issues). + + Vous pouvez nous signaler les bugs que vous trouverez. Vous pouvez également proposer un correctif en [suivant ces instructions pour envoyer des patchs](git.md), Par ailleurs, ce site est écrit en Markdown et hébergé dans un [dépôt séparé](https://codeberg.org/Libreboot/lbwww) où vous pouvez envoyer vos patchs. diff --git a/site/index.it.md b/site/index.it.md index c1e758a..cd10e7b 100644 --- a/site/index.it.md +++ b/site/index.it.md @@ -12,7 +12,7 @@ memoria, CPU, periferiche) e avvia un bootloader per il tuo sistema operativo. L'aiuto e' disponibile sul canale IRC [\#libreboot](https://web.libera.chat/#libreboot) su [Libera](https://libera.chat/). - + You can also [buy Libreboot preinstalled](https://minifree.org/) from Minifree Ltd, on select hardware, aswell as send your compatible hardware @@ -26,6 +26,8 @@ Vedi: [Libreboot 20241206 annuncio di rilascio](news/libreboot20241206.md).** Per quale ragione utilizzare *Libreboot*? ----------------------------------------- + + Libreboot ti permette [liberta'](https://writefreesoftware.org/) che non potresti ottenere con altri firmware di boot, velocita' di avvio maggiori e [migliore sicurezza](docs/linux/grub_hardening.md). @@ -57,7 +59,7 @@ installazione piu' robusta. Viene fornito con apposita documentazione. Libreboot non deriva da coreboot -------------------------------- - + In effetti, Libreboot tenta di essere il piu' possibile simile alla versione *ufficiale* di coreboot, per ogni scheda, ma con diversi tipi di configurazione forniti automaticamente dal sistema di @@ -82,7 +84,7 @@ particolari ad eccezione del seguire [semplici istruzioni scritte per chiunque]( Come essere d'aiuto ------------------- - + Il *modo migliore* col quale puoi aiutarci e' quello di *aggiungere* nuove schede condividendone la configurazione. Qualunque cosa sia supportata da coreboot puo' essere integrata in Libreboot, @@ -100,6 +102,8 @@ esperienza puoi aiutare qualcuno in difficolta' (o anche imparare insieme a loro sarai di grande aiuto al progetto. Un sacco di persone chiedono inoltre aiuto nel subreddit `r/libreboot`. + + Puoi controllare l'elenco dei bugs sul [bug tracker](https://codeberg.org/libreboot/lbmk/issues). diff --git a/site/index.ru.md b/site/index.ru.md index 44a4db2..922f04c 100644 --- a/site/index.ru.md +++ b/site/index.ru.md @@ -5,7 +5,7 @@ x-toc-enable: true Проект *Libreboot* предоставляет [свободную, с открытым исходным кодом](https://writefreesoftware.org/) загрузочную прошивку, основанную на coreboot, заменяющую проприетарные BIOS/UEFI на [некоторых Intel/AMD x86 и ARM материнских платах](docs/install/#which-systems-are-supported-by-libreboot), включая ноутбуки и десктопы. Она инициализирует аппаратное обеспечение компьютера (например, контроллер памяти, процессор, переферию) и запускает загрузчик для вашей операционный системы. [Linux](docs/linux/) и [BSD](docs/bsd/) хорошо поддерживаются. Можно попросить помощь через [\#libreboot](https://web.libera.chat/#libreboot) на [Libera](https://libera.chat/) IRC. [Страница с заданиями](tasks/) показывают, над чем мы работаем (мы приветствуем ваши предложения, если вы хотите поработать над некоторыми задачами самостоятельно). - + Вы также можете купить [Libreboot предустановленным](https://minifree.org) от Minifree Ltd, а также присылать нам свои совместимые устройства для [установки Libreboot](https://minifree.org/product/installation-service/). Основатель и ведущий разработчик Libreboot, Лия Роу, также владеет и управляет Minifree; продажи обеспечивают финансирование для Libreboot. @@ -16,7 +16,7 @@ x-toc-enable: true Обзор устройства Libreboot ============================ - + Libreboot предоставляет [coreboot](https://coreboot.org/) для [инициализации машины](https://doc.coreboot.org/getting_started/architecture.html), которая затем переходит к [полезной нагрузке](https://doc.coreboot.org/payloads.html) в загрузочной флэш-памяти; coreboot работает со многими программами, но Libreboot предоставляет только SeaBIOS, GNU GRUB и U-Boot. Memtest86+ также предоставляется, но только на некоторых материнских платах. Полезная нагрузка - программа во флэш-памяти, которая предоставляет "ранний" пользовательский интерфейс для загрузки операционной системы. Это значит, что вы можете запустить все что угодно из загрузочной флэш-памяти (даже Linux!). @@ -25,7 +25,7 @@ Libreboot - это *дистрибутив coreboot* также, как и Debia Почему стоит использовать Libreboot? ================== - + Если вы уже склоняетесь к свободному программному обеспечению, возможно, вы уже пользователь coreboot, Libreboot помогает проще начать использовать или поддерживать coreboot на вашей машине, с помощью автоматизированной сборки. Мы предоставляем регулярные протестированные релизы, предварительно собранные, часто с некоторыми патчами coreboot (и другим кодом) для того, чтобы гарантировать стабильность. Для сравнения, coreboot использует модель плавающих релизов, со снимками кода каждые несколько месяцев, он скорее всего ориентирован на разработчиков, когда как Libreboot специально сделан для конечных пользователей. По-другому, цель Libreboot - *просто работать*. Конфигурация и установка coreboot также возможна, но Libreboot делает процесс *намного* проще. diff --git a/site/index.uk.md b/site/index.uk.md index 06f7271..a337fad 100644 --- a/site/index.uk.md +++ b/site/index.uk.md @@ -13,7 +13,7 @@ x-toc-enable: true через [\#libreboot](https://web.libera.chat/#libreboot) на [Libera](https://libera.chat/) IRC. - + You can also [buy Libreboot preinstalled](https://minifree.org/) from Minifree Ltd, on select hardware, aswell as send your compatible hardware @@ -27,6 +27,8 @@ Minifree; sales provide funding for Libreboot. Чому вам варто використовувати *Libreboot*? ---------------------------- + + Libreboot надає вам [свободи](https://writefreesoftware.org/), які в іншому випадку ви не можете отримати з більшістю інших завантажувальних прошивок. Він надзвичайно [потужний](docs/linux/grub_hardening.md) @@ -55,7 +57,7 @@ Coreboot помітно складний для встановлення для Чим Libreboot відрізняється від звичайного coreboot? --------------------------------------------- - + Таким же самим чином, як *Debian* це дистрибутив Linux, Libreboot це *дистрибутив coreboot*. Якщо ви хочете зібрати образ ROM з нуля, вам @@ -79,7 +81,7 @@ Coreboot помітно складний для встановлення для Як допомогти ----------- - + *Єдиний* найбільший шлях, яким ви можете допомогти є *додавання* нових материнських плат до Libreboot, за допомогою відправки конфігурації. Що завгодно, що підтримує coreboot може бути інтегровано в @@ -100,6 +102,8 @@ Libreboot, з образами ROM наданими в випусках. Див Ви можете перевірити помилки, перелічені в [системі відстеження помилок](https://codeberg.org/libreboot/lbmk/issues). + + Якщо ви помітили помилку і маєте виправлення, [ось інструкції щодо надсилання виправлень](git.uk.md), а також ви можете повідомити про це. Також, весь цей веб-сайт написаний Markdown та розміщений в [окремому сховищі](https://codeberg.org/libreboot/lbwww), де ви можете надсилати виправлення. diff --git a/site/index.zh-cn.md b/site/index.zh-cn.md index 43b3fa1..20b4dc6 100644 --- a/site/index.zh-cn.md +++ b/site/index.zh-cn.md @@ -5,7 +5,7 @@ x-toc-enable: true *Libreboot* 项目提供基于 coreboot 的[自由且开源](https://writefreesoftware.org/zh-cn/)的引导固件,以替代基于 Intel/AMD x86 和 ARM 的特定主板(包括笔记本和台式电脑)上的专有 BIOS/UEFI 固件。它首先初始化硬件(如内存控制器、CPU、外设),然后为操作系统启动引导加载程序(bootloader)。本项目对 [Linux](docs/linux/) 和 [BSD](docs/bsd/) 支持良好。如果需要寻求帮助,可以前往 [Libera](https://libera.chat/) IRC 上的 [\#libreboot](https://web.libera.chat/#libreboot) 频道。 - + 你也可以从 Minifree Ltd [购买特定硬件的 Libreboot 电脑](https://minifree.org/), 或者将兼容硬件寄来预装 Libreboot。 @@ -26,7 +26,7 @@ Libreboot 项目使用 [coreboot](https://www.coreboot.org/) 来[初始化硬件 Libreboot 不是 coreboot 的分支 ----------------------------------- - + 事实上,Libreboot 对每一块主板,都尽可能保持与*原版*的 coreboot 接近,但 Libreboot 构建系统也自动提供了许多不同类型的配置。 @@ -39,7 +39,7 @@ Libreboot 的常规二进制版本提供了这些预编译的 ROM 映像。按 如何帮助 ----------- - + 要帮助的话,*最*最好的方式,就是通过提交配置文件,来为 Libreboot *添加*新的主板。coreboot 支持的任何主板都能收录到 Libreboot,并在发布版本中附带 ROM 映像。见: @@ -51,6 +51,8 @@ Libreboot 的常规二进制版本提供了这些预编译的 ROM 映像。按 *用户支持*也十分重要。多瞧一瞧 IRC,如果你有能力帮别人解决问题(或者愿意跟他们一起学习),那对本项目的贡献会很大。许多人也在 reddit 版块 `r/libreboot` 寻求用户支持。 + + 可以检查[缺陷追踪系统](https://codeberg.org/libreboot/lbmk/issues)列出的缺陷。 如果发现了一个缺陷,并且有解决方案,[这里说明了发布补丁的方法](git.md),也可以提交报告。同时,本站完全使用 Markdown 编写,并托管在了一个[单独的仓库](https://codeberg.org/libreboot/lbwww),可以在那里发送补丁。 From 3809609b3e2798108b89898e33fee11a50dbd205 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 11 Jan 2025 04:41:25 +0000 Subject: [PATCH 130/279] add page linking to other coreboot distros Signed-off-by: Leah Rowe --- site/other.md | 219 ++++++++++++++++++++++++++++++++++++ site/template.de.include | 6 +- site/template.include | 4 +- site/template.it.include | 6 +- site/template.uk.include | 6 +- site/template.zh-cn.include | 6 +- 6 files changed, 229 insertions(+), 18 deletions(-) create mode 100644 site/other.md diff --git a/site/other.md b/site/other.md new file mode 100644 index 0000000..0e487d9 --- /dev/null +++ b/site/other.md @@ -0,0 +1,219 @@ +--- +title: Other coreboot distributions +x-toc-enable: true +... + +Introduction +============ + +Libreboot is a *coreboot distribution* or *coreboot distro*, in the same way +that Debian is a *Linux distro*. Its purpose is to provide free/opensource boot +firmware, replacing proprietary BIOS/UEFI firmware, and it +supports [many machines](docs/install/#which-systems-are-supported-by-libreboot). + +It is a coreboot distro precisely because of its [design](docs/maintain/). +Libreboot's build system automatically downloads, patches and builds all the +various upstream sources such as coreboot, GRUB, SeaBIOS, U-Boot and so on. +This automation is used to provide [binary releases](download.md), which the +user can [easily install](docs/install/). Coreboot is notoriously difficult +to configure and install, for most people, and you need a high degree of +technical skill to use it; distros like Libreboot bridge this gap, making +coreboot accessible to non-technical users. + +Libreboot was the *first* coreboot distro, +existing [since December 2013](news/10.md). Many Libreboot users exist today, +who would otherwise not use coreboot at all. + +Why list other distros? +----------------------- + +Over the years, several other coreboot distros have come and gone. It has been +decided that this page will be written, to document some of them. Not every +distro is listed; only those of high quality, or otherwise of interest, will +be listed. Quality over quantity. + +Libreboot tries to support as much hardware as possible, and focuses on providing +the easiest possible experience for non-technical users; it's also +highly [configurable](docs/maintain/) for power users. + +Several other projects exist that target different kinds of users, and support +different types of hardware; for example, Libreboot mostly doesn't target +Chromebooks, except for a few. + +Libreboot's main priority is to provide users with free/opensource boot +firmware, to help more users achieve a higher level +of [software freedom](https://writefreesoftware.org/learn). Well, Libreboot is +one of the most well-known coreboot distros out there, so it is our duty to +therefore cover the other projects, because it may be that Libreboot isn't for +you; these other projects may support features and mainboards that Libreboot +doesn't, that you may find preferable. + +We in the Libreboot project greatly admire and respect the other distros, and +will gladly work with them. + +Without further ado, + +List of coreboot distros +======================== + +In alphabetical order: + +Canoeboot +--------- + +Website: + +Git repositories: + +Canoeboot is a *special fork* of Libreboot; both Canoeboot and Libreboot are +maintained in parallel by the same developer, Leah Rowe. Canoeboot supports +far less hardware than Libreboot, but provides a *pure* free software coreboot +distribution, due to its [policy](https://canoeboot.org/news/policy.html). As +a result of Canoeboot's policy, it currently only supports very old hardware. + +It otherwise has the exact same design as Libreboot, and is kept in relative +sync [at all times](https://canoeboot.org/about.html), often doing releases side +by side on the same days as Libreboot. + +*Libreboot* supports more hardware than Canoeboot, due to its more +pragmatic [Binary Blob Reduction Policy](news/policy.md) adopted on 17 +November 2022; Canoeboot is a continuation of Libreboot from prior to this, +since Libreboot initially used the same dogmatic policy as Canoeboot. A small +minority of users demanded it post-November 2022, so Canoeboot was born. + +If you're an absolute Free Software fanatic, Canoeboot is for you. Otherwise, +if you want to use much newer hardware, Libreboot is a worthy choice. Since +Canoeboot only supports much older hardware, and uses Libreboot's *old* policy, +you could consider Canoeboot to be *legacy Libreboot*. Libreboot adopted the +Binary Blob Reduction Policy in November 2022, as part of a general desire to +support more - and newer - hardware. + +Dasharo +------- + +Website: + +Git repositories: + +Supports many machines, with a choice of EDK2(UEFI) or Heads(Linuxboot) +payload in the flash. Some older machines may provide a SeaBIOS payload +instead. A lot of work that goes into the upstream coreboot project came +from the Dasharo developers. + +Dasharo provides their own fork of coreboot, with a specific tree *per board*. +Several coreboot ports (e.g. MSI Z690-A PRO) were implemented directly by +the Dasharo project, and later upstreamed into the regular coreboot project. + +Dasharo has a special emphasis on commercial application, providing tailored +coreboot images for each supported mainboard, with an emphasis on stability. +It's a very different approach than Libreboot's approach; Libreboot provides +a more generalised design in its build system and infrastructure. + +Chultrabook +----------- + +Website: + +Git repositories: + +Provides a tailored EDK2(UEFI) payload on supported *Chromebooks*. You can use +this to replace ChromeOS with a regular Linux distro or BSD system - even +Windows - if you wish. + +The benefit of using *Chultrabook* is that it provides up to date EDK2, unlike +proprietary vendors who often provide old, CVE-ridden versions of EDK2 forks +such as InsydeH2O. + +With Chultrabook's guidance, you can have a completely up to date UEFI firmware +on your machine, and get good use out of your Chromebook for many more years, +with regular security updates. + +Libreboot largely avoids supporting Chromebooks, precisely because Chultrabook +and MrChromebox are perfectly viable options on these machines. + +Heads +----- + +Website: + +Git repositories: + +Heads provides a LinuxBoot payload using U-Root, and has many advanced features +such as TPM-based MeasuredBoot. With combined use of a FIDO key, you can easily +and more reliably determine whether you boot firmware has been tampered with. + +The Linux-based payload in flash uses kexec to boot another Linux kernel. It +provides an easy to use boot menu, highly configurable and supports many +Linux distros easily. + +If you're the sort of person who needs full disk encryption and you have a +focus on security, Heads is for you. Perfect for use with something like Qubes. + +Libreboot provides its own [security mechanisms](docs/linux/grub_hardening.html), +but Heads is much more flexible and complete, in this regard. The only downside +to Heads's Linux-based flash setup, is that it's basically a Linux-only +coreboot distro (whereas Libreboot can boot BSD and even *Windows*, in some +cases). + +Another focus of the heads project is on *reproducible builds*. Its build +system bootstraps a toolchain that then compiles everything else, including +the coreboot crossgcc toolchain. The purpose of this is to provide matching +ROM hashes on every build; for this purpose, it also auto-downloads vendor +files such as Intel ME at build time, instead of requiring you to dump from +the original boot firmware. + +Heads's vendorcode auto-download logic inspired Libreboot's +own [vendorcode inject](docs/install/ivy_has_common.md) design; Libreboot +greatly expanded on it, on more machines. + +We in Libreboot have an affinity for the Heads project, and have worked with +them in the past, and they with us, helping each other back and forth. Many of +the machines supported in Libreboot are also supported in Heads, and vice versa, +but they target different kinds of users and use-case scenarios, with Libreboot +targeting a more general audience (while providing security hardening options), +whereas Heads specifically targets security-conscious users. + +MrChromeBox +----------- + +Website: + +Git repositories: + +Provides a tailored EDK2(UEFI) payload on supported *Chromebooks*. You can use +this to replace ChromeOS with a regular Linux distro or BSD system - even +Windows - if you wish. + +The benefit of using *MrChromebox* is that it provides up to date EDK2, unlike +proprietary vendors who often provide old, CVE-ridden versions of EDK2 forks +such as InsydeH2O. + +With MrChromebox's guidance, you can have a completely up to date UEFI firmware +on your machine, and get good use out of your Chromebook for many more years, +with regular security updates. + +Libreboot largely avoids supporting Chromebooks, precisely because Chultrabook +and MrChromebox are perfectly viable options on these machines. + +Skulls +------ + +Git repositories: + +Skulls provides simple coreboot images with SeaBIOS payload, on a handful of +Thinkpads. Libreboot *also* provides similar SeaBIOS configurations, on all +of the same machines, but Libreboot's design does mean that there are a few +additional steps for installation. + +If you just want the simplest, most barebones setup, Skulls is a great choice. + +The reason Skulls is simpler is that they include certain vendor files such +as `me.bin` pre-inserted into images; while risky indeed, this does in fact +make installation easier for users. Libreboot takes a more conservative +approach, excluding such files on release images and instead providing you with +an [automated script](docs/install/ivy_has_common.md) to insert these. + +Libreboot *also* provides U-Boot and GRUB, and has other ambitions. Libreboot +aims to provide ease of use while also providing great power and flexibility. +So Libreboot is aimed specifically at power users, while also trying to +accomodate non-technical users; Skulls largely targets the latter. diff --git a/site/template.de.include b/site/template.de.include index 106168d..85e72c7 100644 --- a/site/template.de.include +++ b/site/template.de.include @@ -70,18 +70,16 @@ $endif$
  • Home
  • FAQ
  • Download
  • -
  • -
  • +
  • Git
  • Vorinstalliertes Gerät kaufen
  • -
  • -
  • Installation
  • Dokumentation
  • Neuigkeiten
  • Bugs
  • TODO
  • -
  • Patch senden
  • Kontakt
  • -
  • -
  • Spenden
  • +
  • Andere Coreboot-Distributionen

  • diff --git a/site/template.include b/site/template.include index 6a5d9cc..ccbe879 100644 --- a/site/template.include +++ b/site/template.include @@ -70,6 +70,7 @@ $endif$
  • Home
  • FAQ
  • Download
  • +
  • Git
  • -
  • Buy Libreboot preinstalled
  • -
  • @@ -78,10 +79,9 @@ $endif$
  • News
  • Bugs
  • TODO
  • -
  • Send patch
  • Contact
  • -
  • -
  • Donate
  • +
  • Other coreboot distros

  • diff --git a/site/template.it.include b/site/template.it.include index 4a257bf..f50e786 100644 --- a/site/template.it.include +++ b/site/template.it.include @@ -70,18 +70,16 @@ $endif$
  • Home
  • FAQ
  • Download
  • -
  • -
  • +
  • Git
  • Compra un PC con libreboot gia' installato
  • -
  • -
  • Installazione
  • Documentazione
  • Notizie
  • TODO
  • Difetti (bugs)
  • -
  • Spedisci correzioni (patches)
  • Contatti
  • -
  • -
  • Donazioni
  • +
  • Altre distribuzioni coreboot

  • diff --git a/site/template.uk.include b/site/template.uk.include index 3592267..2a2e471 100644 --- a/site/template.uk.include +++ b/site/template.uk.include @@ -70,18 +70,16 @@ $endif$
  • Домашня
  • FAQ
  • Завантаження
  • -
  • -
  • +
  • Відправити виправлення
  • Придбати передвстановленим
  • -
  • -
  • Встановлення
  • Документація
  • Новини
  • TODO
  • Помилки
  • -
  • Відправити виправлення
  • Зв'язок
  • -
  • -
  • Пожертвувати
  • +
  • Інші дистрибутиви coreboot

  • diff --git a/site/template.zh-cn.include b/site/template.zh-cn.include index 805614a..4bb1a6e 100644 --- a/site/template.zh-cn.include +++ b/site/template.zh-cn.include @@ -70,18 +70,16 @@ $endif$
  • 主页
  • 常见问题
  • 下载
  • -
  • -
  • +
  • 发送补丁
  • 购买预装品
  • -
  • -
  • 安装
  • 文档
  • 新闻
  • TODO
  • 缺陷
  • -
  • 发送补丁
  • 联系
  • -
  • -
  • 捐赠
  • +
  • 其他 coreboot 发行版

  • From 0b7a136d733bb91f397ea230fc8903483e47ce12 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 11 Jan 2025 04:59:40 +0000 Subject: [PATCH 131/279] add missing entry Signed-off-by: Leah Rowe --- site/other.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/site/other.md b/site/other.md index 0e487d9..c63f016 100644 --- a/site/other.md +++ b/site/other.md @@ -217,3 +217,15 @@ Libreboot *also* provides U-Boot and GRUB, and has other ambitions. Libreboot aims to provide ease of use while also providing great power and flexibility. So Libreboot is aimed specifically at power users, while also trying to accomodate non-technical users; Skulls largely targets the latter. + +System76 Open Firmware +---------------------- + +Git repository: + +Other repositories e.g. EC firmware: + +System76 provides their own special coreboot fork, that they tailor for +specific machines that they sell; they also provide free EC firmware. Jeremy +Soller of System76 maintains this firmware, and the work is regularly +upstreamed into the regular coreboot project. From 71e4a89c862158f0f78815c4972b7d948cfbf35e Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 11 Jan 2025 05:01:08 +0000 Subject: [PATCH 132/279] clarification Signed-off-by: Leah Rowe --- site/other.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/site/other.md b/site/other.md index c63f016..c6f2211 100644 --- a/site/other.md +++ b/site/other.md @@ -229,3 +229,6 @@ System76 provides their own special coreboot fork, that they tailor for specific machines that they sell; they also provide free EC firmware. Jeremy Soller of System76 maintains this firmware, and the work is regularly upstreamed into the regular coreboot project. + +System76 provides the coreboot firmware, along with EDK2 UEFI payload. It can +boot Linux distros, BSD systems and even Windows perfectly. From e94f06a744c0e98943e31d5b141c5cfbf9901ef5 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 11 Jan 2025 05:39:12 +0000 Subject: [PATCH 133/279] actual alphabetical order one must always remember one's ABCs Signed-off-by: Leah Rowe --- site/other.md | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/site/other.md b/site/other.md index c6f2211..119d285 100644 --- a/site/other.md +++ b/site/other.md @@ -88,27 +88,6 @@ you could consider Canoeboot to be *legacy Libreboot*. Libreboot adopted the Binary Blob Reduction Policy in November 2022, as part of a general desire to support more - and newer - hardware. -Dasharo -------- - -Website: - -Git repositories: - -Supports many machines, with a choice of EDK2(UEFI) or Heads(Linuxboot) -payload in the flash. Some older machines may provide a SeaBIOS payload -instead. A lot of work that goes into the upstream coreboot project came -from the Dasharo developers. - -Dasharo provides their own fork of coreboot, with a specific tree *per board*. -Several coreboot ports (e.g. MSI Z690-A PRO) were implemented directly by -the Dasharo project, and later upstreamed into the regular coreboot project. - -Dasharo has a special emphasis on commercial application, providing tailored -coreboot images for each supported mainboard, with an emphasis on stability. -It's a very different approach than Libreboot's approach; Libreboot provides -a more generalised design in its build system and infrastructure. - Chultrabook ----------- @@ -131,6 +110,27 @@ with regular security updates. Libreboot largely avoids supporting Chromebooks, precisely because Chultrabook and MrChromebox are perfectly viable options on these machines. +Dasharo +------- + +Website: + +Git repositories: + +Supports many machines, with a choice of EDK2(UEFI) or Heads(Linuxboot) +payload in the flash. Some older machines may provide a SeaBIOS payload +instead. A lot of work that goes into the upstream coreboot project came +from the Dasharo developers. + +Dasharo provides their own fork of coreboot, with a specific tree *per board*. +Several coreboot ports (e.g. MSI Z690-A PRO) were implemented directly by +the Dasharo project, and later upstreamed into the regular coreboot project. + +Dasharo has a special emphasis on commercial application, providing tailored +coreboot images for each supported mainboard, with an emphasis on stability. +It's a very different approach than Libreboot's approach; Libreboot provides +a more generalised design in its build system and infrastructure. + Heads ----- From b5e0d96be580678ad6710e4c3259abd128ebb7bc Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 11 Jan 2025 23:03:54 +0000 Subject: [PATCH 134/279] tidy up the other.md page Signed-off-by: Leah Rowe --- site/other.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/site/other.md b/site/other.md index 119d285..3604d59 100644 --- a/site/other.md +++ b/site/other.md @@ -24,6 +24,9 @@ Libreboot was the *first* coreboot distro, existing [since December 2013](news/10.md). Many Libreboot users exist today, who would otherwise not use coreboot at all. +It's thanks to the various coreboot distros that many people use coreboot today; +without them, many otherwise non-technical users might not use coreboot at all. + Why list other distros? ----------------------- @@ -35,7 +38,6 @@ be listed. Quality over quantity. Libreboot tries to support as much hardware as possible, and focuses on providing the easiest possible experience for non-technical users; it's also highly [configurable](docs/maintain/) for power users. - Several other projects exist that target different kinds of users, and support different types of hardware; for example, Libreboot mostly doesn't target Chromebooks, except for a few. From 5afacd5138015b5115bf9d3d3d805f9eb26d3999 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 11 Jan 2025 23:22:13 +0000 Subject: [PATCH 135/279] add ownerboot to the other.md page Signed-off-by: Leah Rowe --- site/other.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/site/other.md b/site/other.md index 3604d59..3efa8a6 100644 --- a/site/other.md +++ b/site/other.md @@ -197,6 +197,34 @@ with regular security updates. Libreboot largely avoids supporting Chromebooks, precisely because Chultrabook and MrChromebox are perfectly viable options on these machines. +Ownerboot +--------- + +Git repository: + +Ownerboot is an interesting one; it uses the Nix package manager to compile +coreboot images, with a Linux-based payload on supported x86 and ARM64 +devices. Similar conceptually to Heads, but with a *much* cleaner build system +design. + +It comes with the LVM2 and cryptsetup sources included in builds by default, so +it can easily be used to create a fully encrypted system, much like Libreboot's +own [hardened GRUB](docs/linux/grub_hardening.md) setup. + +Since it uses Nix, reproducible builds are quite feasible and this is one of +the project's primary goals. Interestingly enough, it also supports both the +gru kevin chromebook and the ASUS KGPE-D16 boards, which Libreboot supports but +Libreboot uses U-Boot and a combination of SeaBIOS/GRUB, respectively, on these +boards. + +Ownerboot's build system can also cross compile everything, so it's quite +portable across various host CPUs. It also extends coreboot's normal/fallback +payload scheme. See: + +All of this combined makes for a highly configurable boot setup, and the Linux +payload in flash (using kexec to boot another kernel) is highly flexible, +offering many opportunities for security hardening (like Heads). + Skulls ------ From f78ee7861af3a6b930cf640d7dfce1942dad4a2b Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 12 Jan 2025 00:34:05 +0000 Subject: [PATCH 136/279] homepage: emphasize the coreboot distro aspect the term "coreboot distro" is being popularised, by my design, and i want libreboot to be number one when people search the term. Signed-off-by: Leah Rowe --- site/index.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/site/index.md b/site/index.md index 371981f..4276c84 100644 --- a/site/index.md +++ b/site/index.md @@ -3,7 +3,8 @@ title: Libreboot project x-toc-enable: true ... -The *Libreboot* project provides +*Libreboot* is a *[coreboot distribution](docs/maintain)* (coreboot distro), +in the same way that Debian is a *Linux distribution*. Libreboot provides [free, open source](https://writefreesoftware.org/) (*libre*) boot firmware based on coreboot, replacing proprietary BIOS/UEFI firmware on [specific Intel/AMD x86 and ARM based motherboards](docs/install/#which-systems-are-supported-by-libreboot), @@ -53,9 +54,7 @@ the early user interface, for booting an operating system. This *payload* infrastructure means you can run whatever you want (even Linux!) from the boot flash. -Libreboot is specifically a *[coreboot distribution](docs/maintain)*, -in the same way that -Debian is a *Linux distribution*. Libreboot makes coreboot easy to use for +Libreboot makes coreboot easy to use for non-technical users, by providing a [fully automated build system](docs/maintain/), [automated build process](docs/build/) and [user-friendly installation instructions](docs/install/), in addition to From 572ea3bdc15b8a33016888333e731307f0edab57 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 12 Jan 2025 00:43:39 +0000 Subject: [PATCH 137/279] reparieren der deutschen homepage Signed-off-by: Leah Rowe --- site/index.de.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/site/index.de.md b/site/index.de.md index 8e59dcf..f6029d3 100644 --- a/site/index.de.md +++ b/site/index.de.md @@ -3,7 +3,8 @@ title: Libreboot projekt x-toc-enable: true ... -Das *Libreboot* Projekt bietet +*Libreboot* ist ein [Coreboot-Distribution](docs/maintain/) (coreboot distro), +so wie Debian eine Linux-Distribution ist. Das *Libreboot* Projekt bietet eine [freie](https://writefreesoftware.org/) *Boot Firmware* welche auf [bestimmten Intel/AMD x86 und ARM Geräten](docs/install/#which-systems-are-supported-by-libreboot) die Hardware initialisiert (z.b. Speicher-Controller, CPU, Peripherie), From ec57689078a54afe1c0ba5a73f3cdb3f4ce46759 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 12 Jan 2025 01:29:32 +0000 Subject: [PATCH 138/279] more links Signed-off-by: Leah Rowe --- site/other.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/site/other.md b/site/other.md index 3efa8a6..359a03e 100644 --- a/site/other.md +++ b/site/other.md @@ -109,6 +109,18 @@ With Chultrabook's guidance, you can have a completely up to date UEFI firmware on your machine, and get good use out of your Chromebook for many more years, with regular security updates. +One of Chultrabook's maintainers, Elly, did this talk at 37C3 conference, +demonstrating Chultrabook: + - and also did this more general +talk about coreboot at 38C3: . It's +very good reference material if you want to know more about coreboot, and +coreboot distros more generally. + +Elly also did this interview with Brodie Robertson, about coreboot, and +explains the concept of a coreboot distro in more detail in one part of +the interview: + + Libreboot largely avoids supporting Chromebooks, precisely because Chultrabook and MrChromebox are perfectly viable options on these machines. From c278f8b5bf1fb020d9bec53c93c620aa1c9469c2 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 12 Jan 2025 02:05:08 +0000 Subject: [PATCH 139/279] link to coreboot build docs on other.md Signed-off-by: Leah Rowe --- site/other.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/site/other.md b/site/other.md index 359a03e..2031a45 100644 --- a/site/other.md +++ b/site/other.md @@ -24,6 +24,10 @@ Libreboot was the *first* coreboot distro, existing [since December 2013](news/10.md). Many Libreboot users exist today, who would otherwise not use coreboot at all. +Coreboot is highly flexible for many configurations. It is quite possible build +to [your own coreboot image](https://doc.coreboot.org/getting_started/index.html) +but most non-technical users should probably use a coreboot distro. + It's thanks to the various coreboot distros that many people use coreboot today; without them, many otherwise non-technical users might not use coreboot at all. From 97b0fa3c600b3a2dc0446029c38a7d538078ab7c Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 12 Jan 2025 04:20:27 +0000 Subject: [PATCH 140/279] payloads, not "programs" Signed-off-by: Leah Rowe --- site/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/index.md b/site/index.md index 4276c84..ed4a3ca 100644 --- a/site/index.md +++ b/site/index.md @@ -47,7 +47,7 @@ Overview of Libreboot design Libreboot provides [coreboot](https://coreboot.org/) for [machine initialisation](https://doc.coreboot.org/getting_started/architecture.html), which then jumps to a [payload](https://doc.coreboot.org/payloads.html) in -the boot flash; coreboot works with many programs, but Libreboot specifically +the boot flash; coreboot works with many payloads, but Libreboot specifically provides SeaBIOS, GNU GRUB and U-Boot as options. Memtest86+ is also provided in flash, on some mainboards. The payload is the program in flash that provides the early user interface, for booting an operating system. This *payload* From 4702e167673363af0e63c0de51fbd220d7f45a55 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 12 Jan 2025 12:36:05 +0000 Subject: [PATCH 141/279] simplify the skulls section in other.md Signed-off-by: Leah Rowe --- site/other.md | 7 ------- 1 file changed, 7 deletions(-) diff --git a/site/other.md b/site/other.md index 2031a45..f9761ab 100644 --- a/site/other.md +++ b/site/other.md @@ -250,15 +250,8 @@ Skulls provides simple coreboot images with SeaBIOS payload, on a handful of Thinkpads. Libreboot *also* provides similar SeaBIOS configurations, on all of the same machines, but Libreboot's design does mean that there are a few additional steps for installation. - If you just want the simplest, most barebones setup, Skulls is a great choice. -The reason Skulls is simpler is that they include certain vendor files such -as `me.bin` pre-inserted into images; while risky indeed, this does in fact -make installation easier for users. Libreboot takes a more conservative -approach, excluding such files on release images and instead providing you with -an [automated script](docs/install/ivy_has_common.md) to insert these. - Libreboot *also* provides U-Boot and GRUB, and has other ambitions. Libreboot aims to provide ease of use while also providing great power and flexibility. So Libreboot is aimed specifically at power users, while also trying to From e5d30675db4119269259b3c4539278639da28522 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Mon, 13 Jan 2025 13:37:18 +0000 Subject: [PATCH 142/279] expand other.md but shorten the intro also mention u-boot, tf-a Signed-off-by: Leah Rowe --- site/other.md | 58 +++++++++++++++++++++++++-------------------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/site/other.md b/site/other.md index f9761ab..2cfb3c0 100644 --- a/site/other.md +++ b/site/other.md @@ -31,38 +31,11 @@ but most non-technical users should probably use a coreboot distro. It's thanks to the various coreboot distros that many people use coreboot today; without them, many otherwise non-technical users might not use coreboot at all. -Why list other distros? ------------------------ - -Over the years, several other coreboot distros have come and gone. It has been -decided that this page will be written, to document some of them. Not every -distro is listed; only those of high quality, or otherwise of interest, will -be listed. Quality over quantity. - -Libreboot tries to support as much hardware as possible, and focuses on providing -the easiest possible experience for non-technical users; it's also -highly [configurable](docs/maintain/) for power users. -Several other projects exist that target different kinds of users, and support -different types of hardware; for example, Libreboot mostly doesn't target -Chromebooks, except for a few. - -Libreboot's main priority is to provide users with free/opensource boot -firmware, to help more users achieve a higher level -of [software freedom](https://writefreesoftware.org/learn). Well, Libreboot is -one of the most well-known coreboot distros out there, so it is our duty to -therefore cover the other projects, because it may be that Libreboot isn't for -you; these other projects may support features and mainboards that Libreboot -doesn't, that you may find preferable. - -We in the Libreboot project greatly admire and respect the other distros, and -will gladly work with them. - -Without further ado, - List of coreboot distros ======================== -In alphabetical order: +Not all distros are listed; only those of high quality or otherwise of interest; +quality, not quantity. In alphabetical order: Canoeboot --------- @@ -271,3 +244,30 @@ upstreamed into the regular coreboot project. System76 provides the coreboot firmware, along with EDK2 UEFI payload. It can boot Linux distros, BSD systems and even Windows perfectly. + +Is your distro unlisted? +======================== + +Please get in touch! We'd love to link your project here. + +The coreboot project also maintains its own list of coreboot distros: + + + +Libreboot maintains its own list, because it is felt that distros should also +link to each other, since many people who find coreboot for the first time may +find it through a distro (such as Libreboot) and not check coreboot's own +website. We in the Libreboot project wish to see everyone using free boot +firmware, which was the primary motivation behind this page, in promoting the +various projects. + +Non-coreboot free firmware +========================== + +Several other projects besides coreboot provide free hardware initialisation, +such as [U-Boot](https://www.u-boot.org/) (as own firmware, distinct from U-Boot +as a coreboot payload), [Trusted Firmware](https://www.trustedfirmware.org/) and +so on. + +We would like to list various distros of these too. If you know of a cool +project, please get in touch with the Libreboot project! From ceaaeb98d924d89fd91bda78300423348f48bf79 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Mon, 13 Jan 2025 14:50:27 +0000 Subject: [PATCH 143/279] fix oversight i'm re-adding the most important information libreboot.org currently lacks Signed-off-by: Leah Rowe --- site/news/policy.de.md | 58 ++++++++++++++++++++++++++++++++++++++++-- site/news/policy.md | 55 +++++++++++++++++++++++++++++++++++++-- site/news/policy.uk.md | 55 +++++++++++++++++++++++++++++++++++++-- 3 files changed, 162 insertions(+), 6 deletions(-) diff --git a/site/news/policy.de.md b/site/news/policy.de.md index ca3be12..87d6ac6 100644 --- a/site/news/policy.de.md +++ b/site/news/policy.de.md @@ -177,8 +177,62 @@ exist, for example, the work done by Sam Zeloof and the Libre Silicon project: (Sam literally makes CPUs in his garage) -Why? -==== +More detailed insight about microcode +===================================== + +To be clear: it is preferable that microcode be free. +Not including CPU microcode updates is an absolute disaster for system +stability and security, so Libreboot *includes microcode updates by default, in +all modern release images, where possible to do so*. + +The CPU already has microcode burned into mask ROM. The microcode configures +logic gates in the CPU, to implement an instruction set, via special *decoders* +which are fixed-function; it is not possible, for example, to implement a RISCV +ISA on an otherwise x86 processor. It is only possible for the microcode to +implement x86, or *broken* x86, and the default microcode is almost always +*broken x86* on Intel/AMD CPUs; it is inevitable, due to the complexity of +these processors. + +These processors provide a way to supply microcode *updates*. These updates +are volatile, and consequently must be applied during every boot cycle. The +updates fix stability/reliability/security bugs, and their *absence* +is *technically incorrect*, so you are strongly advised to install them. +Examples of where these updates fix bugs: on ASUS KCMA-D8/KGPE-D16 +and ThinkPad X200/T400/T500/W500/X200T/X200/R500/X301, the updates make +hardware-based virtualization (via `kvm`) completely stable, where it would +otherwise lead to a kernel panic. They allow those same thinkpads to be run with +high CPU usage and I/O (RAM usage), without crashing (otherwise, it's very +likely to encounter a kernel panic caused by a *Machine Check Exception*). + +Not including these updates will result in an unstable/undefined state. Intel +themselves define which bugs affect which CPUs, and they define workarounds, or +provide fixes in microcode. Based on this, software such as the Linux kernel +can work around those bugs/quirks. Also, upstream versions of the Linux kernel +can update the microcode at boot time (however, it is recommend still to do it +from coreboot, for more stable memory controller initialization or “raminit”). +Similar can be said about AMD CPUs. + +Once upon a time, Libreboot *excluded* microcode updates by default, but this +lead to broken behaviour. Here are some examples: + + + + + +These patches revert *bug fixes* in coreboot, fixes that happen to break other +functionality but only when microcode updates are excluded. The most +technically correct solution is to *not* apply the above patches, and instead +supply microcode updates! + +You *need* microcode updates, or you will have a broken CPU; broken, because +it literally behaves differently than it's supposed to, so software will have +unpredictable bugs that could even cause data corruption - or worse. + +Why was this page written? +========================== + +Many of the topics discussed here are actually hotly contested, by different +sections of the free software movement. Libreboot has taken a firm stance. Firstly, observe the following graphic: diff --git a/site/news/policy.md b/site/news/policy.md index dbb2661..59f9afb 100644 --- a/site/news/policy.md +++ b/site/news/policy.md @@ -242,8 +242,59 @@ exist, for example, the work done by Sam Zeloof and the Libre Silicon project: (Sam literally makes CPUs in his garage) -Why? -==== +More detailed insight about microcode +===================================== + +To be clear: it is preferable that microcode be free. +Not including CPU microcode updates is an absolute disaster for system +stability and security, so Libreboot *includes microcode updates by default, in +all modern release images, where possible to do so*. + +The CPU already has microcode burned into mask ROM. The microcode configures +logic gates in the CPU, to implement an instruction set, via special *decoders* +which are fixed-function; it is not possible, for example, to implement a RISCV +ISA on an otherwise x86 processor. It is only possible for the microcode to +implement x86, or *broken* x86, and the default microcode is almost always +*broken x86* on Intel/AMD CPUs; it is inevitable, due to the complexity of +these processors. + +These processors provide a way to supply microcode *updates*. These updates +are volatile, and consequently must be applied during every boot cycle. The +updates fix stability/reliability/security bugs, and their *absence* +is *technically incorrect*, so you are strongly advised to install them. +Examples of where these updates fix bugs: on ASUS KCMA-D8/KGPE-D16 +and ThinkPad X200/T400/T500/W500/X200T/X200/R500/X301, the updates make +hardware-based virtualization (via `kvm`) completely stable, where it would +otherwise lead to a kernel panic. They allow those same thinkpads to be run with +high CPU usage and I/O (RAM usage), without crashing (otherwise, it's very +likely to encounter a kernel panic caused by a *Machine Check Exception*). + +Not including these updates will result in an unstable/undefined state. Intel +themselves define which bugs affect which CPUs, and they define workarounds, or +provide fixes in microcode. Based on this, software such as the Linux kernel +can work around those bugs/quirks. Also, upstream versions of the Linux kernel +can update the microcode at boot time (however, it is recommend still to do it +from coreboot, for more stable memory controller initialization or “raminit”). +Similar can be said about AMD CPUs. + +Once upon a time, Libreboot *excluded* microcode updates by default, but this +lead to broken behaviour. Here are some examples: + + + + + +These patches revert *bug fixes* in coreboot, fixes that happen to break other +functionality but only when microcode updates are excluded. The most +technically correct solution is to *not* apply the above patches, and instead +supply microcode updates! + +You *need* microcode updates, or you will have a broken CPU; broken, because +it literally behaves differently than it's supposed to, so software will have +unpredictable bugs that could even cause data corruption - or worse. + +Why was this page written? +========================== Firstly, observe the following graphic: diff --git a/site/news/policy.uk.md b/site/news/policy.uk.md index 5ab0b37..8832709 100644 --- a/site/news/policy.uk.md +++ b/site/news/policy.uk.md @@ -171,8 +171,59 @@ Libreboot вирішує цю ситуацію *суворо* та *принци (Сем буквально виробляє процесори в своєму гаражі) -Why? -==== +More detailed insight about microcode +===================================== + +To be clear: it is preferable that microcode be free. +Not including CPU microcode updates is an absolute disaster for system +stability and security, so Libreboot *includes microcode updates by default, in +all modern release images, where possible to do so*. + +The CPU already has microcode burned into mask ROM. The microcode configures +logic gates in the CPU, to implement an instruction set, via special *decoders* +which are fixed-function; it is not possible, for example, to implement a RISCV +ISA on an otherwise x86 processor. It is only possible for the microcode to +implement x86, or *broken* x86, and the default microcode is almost always +*broken x86* on Intel/AMD CPUs; it is inevitable, due to the complexity of +these processors. + +These processors provide a way to supply microcode *updates*. These updates +are volatile, and consequently must be applied during every boot cycle. The +updates fix stability/reliability/security bugs, and their *absence* +is *technically incorrect*, so you are strongly advised to install them. +Examples of where these updates fix bugs: on ASUS KCMA-D8/KGPE-D16 +and ThinkPad X200/T400/T500/W500/X200T/X200/R500/X301, the updates make +hardware-based virtualization (via `kvm`) completely stable, where it would +otherwise lead to a kernel panic. They allow those same thinkpads to be run with +high CPU usage and I/O (RAM usage), without crashing (otherwise, it's very +likely to encounter a kernel panic caused by a *Machine Check Exception*). + +Not including these updates will result in an unstable/undefined state. Intel +themselves define which bugs affect which CPUs, and they define workarounds, or +provide fixes in microcode. Based on this, software such as the Linux kernel +can work around those bugs/quirks. Also, upstream versions of the Linux kernel +can update the microcode at boot time (however, it is recommend still to do it +from coreboot, for more stable memory controller initialization or “raminit”). +Similar can be said about AMD CPUs. + +Once upon a time, Libreboot *excluded* microcode updates by default, but this +lead to broken behaviour. Here are some examples: + + + + + +These patches revert *bug fixes* in coreboot, fixes that happen to break other +functionality but only when microcode updates are excluded. The most +technically correct solution is to *not* apply the above patches, and instead +supply microcode updates! + +You *need* microcode updates, or you will have a broken CPU; broken, because +it literally behaves differently than it's supposed to, so software will have +unpredictable bugs that could even cause data corruption - or worse. + +Why was this page written? +========================== Firstly, observe the following graphic: From 5d516331cb506a2b1d929add03227b20860cab37 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Mon, 13 Jan 2025 15:38:13 +0000 Subject: [PATCH 144/279] priority Signed-off-by: Leah Rowe --- site/docs/maintain/index.md | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/site/docs/maintain/index.md b/site/docs/maintain/index.md index d17493c..2c467ba 100644 --- a/site/docs/maintain/index.md +++ b/site/docs/maintain/index.md @@ -39,6 +39,16 @@ check itself when running *any* command; if another command had to be executed first, it will do so automatically. Therefore, you can run any part of lbmk on its own, and the entire design is modular. +Use Free Software when possible +=============================== + +The coreboot software is nominally free, but occasionally requires an +additional file or two from the vendor on a few systems. The libreboot +project *allows* them, only when they are absolutely required. + +[Strict rules](../../news/policy.md) govern when this allowed, and +the [freedom status page](../../freedom-status.md) provides additional details. + Best practises for learning lbmk ================================ @@ -143,22 +153,6 @@ in flash on a future release. On our testing, disk I/O does not seem to be a major bottleneck, so any HDD or SSD will do, but we obviously recommend a fast NVMe (PCI-E) SSD if you can. -Use Free Software when possible -=============================== - -The coreboot software is nominally free, but occasionally requires an -additional file or two from the vendor on a few systems. The libreboot -project *allows* them, only when they are absolutely required. - -[Strict rules](../../news/policy.md) govern when this allowed, and -the [freedom status page](../../freedom-status.md) provides additional details. - -Please read the files under `config/vendor/` in lbmk, in addition to -the file `include/vendor.sh`. These configuration files and this source code -within lbmk, implement the download and patching logic that enables such files -to be included on final build images, ready for installation on the target -machine. - **Before *configuration* info, you will first be shown a brief overview of every project that Libreboot imports, such as coreboot.** From a5a8a8daea53761ebceb53bf09c2acddadb49d04 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Mon, 13 Jan 2025 15:47:37 +0000 Subject: [PATCH 145/279] snip Signed-off-by: Leah Rowe --- site/git.de.md | 3 +++ site/git.md | 3 +++ site/git.uk.md | 3 +++ site/index.md | 4 +--- site/index.ru.md | 2 +- site/template.de.include | 1 - site/template.include | 3 --- site/template.it.include | 1 - site/template.uk.include | 1 - site/template.zh-cn.include | 1 - 10 files changed, 11 insertions(+), 11 deletions(-) diff --git a/site/git.de.md b/site/git.de.md index baa10cc..fd72cfd 100644 --- a/site/git.de.md +++ b/site/git.de.md @@ -17,6 +17,9 @@ Du kannst dir lbmk auch auf Libreboot's eigener cgit Instanz *ansehen*, allerdings ist dies nicht für die Entwicklung gedacht (benutze hierfür bitte codeberg):\ +The [tasks](tasks/) page lists some (not all) of the things we wish to +implement, if not already implemented. Patches welcome! + Weiter unten auf dieser Seite sind Mirror von `lbmk` und `lbwww` aufgelistet, sofern die Haupt Git Repositories nicht erreichbar sein sollten. diff --git a/site/git.md b/site/git.md index 59d6a3a..5237d95 100644 --- a/site/git.md +++ b/site/git.md @@ -17,6 +17,9 @@ You can also *browse* lbmk on Libreboot's own cgit instance, though it is not intended for development (use codeberg for that):\ +The [tasks](tasks/) page lists some (not all) of the things we wish to +implement, if not already implemented. Patches welcome! + If the main Git repositories are down, mirrors of `lbmk` and `lbwww` are listed further down in this page diff --git a/site/git.uk.md b/site/git.uk.md index f566113..d8168a6 100644 --- a/site/git.uk.md +++ b/site/git.uk.md @@ -17,6 +17,9 @@ x-toc-enable: true для розробки (використовуйте codeberg для цього):\ +The [tasks](tasks/) page lists some (not all) of the things we wish to +implement, if not already implemented. Patches welcome! + Якщо основні репозиторії Git лежать, дзеркала `lbmk` та `lbwww` є зазначеними далі знизу на цій сторінці diff --git a/site/index.md b/site/index.md index ed4a3ca..0409e56 100644 --- a/site/index.md +++ b/site/index.md @@ -12,9 +12,7 @@ including laptop and desktop computers. It initialises the hardware (e.g. memory controller, CPU, peripherals) and starts a bootloader for your operating system. [Linux](docs/linux/) and [BSD](docs/bsd/) are well-supported. Help is available via [\#libreboot](https://web.libera.chat/#libreboot) -on [Libera](https://libera.chat/) IRC. The [tasks page](tasks/) lists what -we are working on (contributions are welcome, if you want to work on some of -them yourself). +on [Libera](https://libera.chat/) IRC. diff --git a/site/index.ru.md b/site/index.ru.md index 922f04c..a37e0da 100644 --- a/site/index.ru.md +++ b/site/index.ru.md @@ -3,7 +3,7 @@ title: Проект Libreboot x-toc-enable: true ... -Проект *Libreboot* предоставляет [свободную, с открытым исходным кодом](https://writefreesoftware.org/) загрузочную прошивку, основанную на coreboot, заменяющую проприетарные BIOS/UEFI на [некоторых Intel/AMD x86 и ARM материнских платах](docs/install/#which-systems-are-supported-by-libreboot), включая ноутбуки и десктопы. Она инициализирует аппаратное обеспечение компьютера (например, контроллер памяти, процессор, переферию) и запускает загрузчик для вашей операционный системы. [Linux](docs/linux/) и [BSD](docs/bsd/) хорошо поддерживаются. Можно попросить помощь через [\#libreboot](https://web.libera.chat/#libreboot) на [Libera](https://libera.chat/) IRC. [Страница с заданиями](tasks/) показывают, над чем мы работаем (мы приветствуем ваши предложения, если вы хотите поработать над некоторыми задачами самостоятельно). +Проект *Libreboot* предоставляет [свободную, с открытым исходным кодом](https://writefreesoftware.org/) загрузочную прошивку, основанную на coreboot, заменяющую проприетарные BIOS/UEFI на [некоторых Intel/AMD x86 и ARM материнских платах](docs/install/#which-systems-are-supported-by-libreboot), включая ноутбуки и десктопы. Она инициализирует аппаратное обеспечение компьютера (например, контроллер памяти, процессор, переферию) и запускает загрузчик для вашей операционный системы. [Linux](docs/linux/) и [BSD](docs/bsd/) хорошо поддерживаются. Можно попросить помощь через [\#libreboot](https://web.libera.chat/#libreboot) на [Libera](https://libera.chat/) IRC. diff --git a/site/template.de.include b/site/template.de.include index 85e72c7..f22f8e9 100644 --- a/site/template.de.include +++ b/site/template.de.include @@ -76,7 +76,6 @@ $endif$
  • Dokumentation
  • Neuigkeiten
  • Bugs
  • -
  • TODO
  • Kontakt
  • Spenden
  • Andere Coreboot-Distributionen
  • diff --git a/site/template.include b/site/template.include index ccbe879..0960f47 100644 --- a/site/template.include +++ b/site/template.include @@ -71,14 +71,11 @@ $endif$
  • FAQ
  • Download
  • Git
  • -
  • -
  • Buy Libreboot preinstalled
  • -
  • -
  • Install
  • Docs
  • News
  • Bugs
  • -
  • TODO
  • Contact
  • Donate
  • Other coreboot distros
  • diff --git a/site/template.it.include b/site/template.it.include index f50e786..5c3cafd 100644 --- a/site/template.it.include +++ b/site/template.it.include @@ -75,7 +75,6 @@ $endif$
  • Installazione
  • Documentazione
  • Notizie
  • -
  • TODO
  • Difetti (bugs)
  • Contatti
  • Donazioni
  • diff --git a/site/template.uk.include b/site/template.uk.include index 2a2e471..7ff3016 100644 --- a/site/template.uk.include +++ b/site/template.uk.include @@ -75,7 +75,6 @@ $endif$
  • Встановлення
  • Документація
  • Новини
  • -
  • TODO
  • Помилки
  • Зв'язок
  • Пожертвувати
  • diff --git a/site/template.zh-cn.include b/site/template.zh-cn.include index 4bb1a6e..2b614cd 100644 --- a/site/template.zh-cn.include +++ b/site/template.zh-cn.include @@ -75,7 +75,6 @@ $endif$
  • 安装
  • 文档
  • 新闻
  • -
  • TODO
  • 缺陷
  • 联系
  • 捐赠
  • From a5cbc416f4ec1e63dd897de3927b655aa98148bf Mon Sep 17 00:00:00 2001 From: Steffen Pankratz Date: Mon, 13 Jan 2025 20:06:32 +0100 Subject: [PATCH 146/279] dell3050: Mention support for Skylake CPUs Signed-off-by: Steffen Pankratz --- site/docs/install/dell3050.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/docs/install/dell3050.md b/site/docs/install/dell3050.md index d7d82e0..0b3427b 100644 --- a/site/docs/install/dell3050.md +++ b/site/docs/install/dell3050.md @@ -20,7 +20,7 @@ there, before flashing. For posterity, | **Variants** | OptiPlex 3050 Micro | | **Released** | 2017 | | **Chipset** | Intel Kaby Lake | -| **CPU** | Intel Kaby Lake | +| **CPU** | Intel Skylake/Kaby Lake | | **Graphics** | Intel HD graphics | | **Memory** | DDR4 SODIMMs (max 32GB, 2x16GB) | | **Architecture** | x86\_64 | From 949f2bcc460bdad281f054859c8165dc2492fccd Mon Sep 17 00:00:00 2001 From: Steffen Pankratz Date: Mon, 13 Jan 2025 20:10:31 +0100 Subject: [PATCH 147/279] dell3050: Add note to Hyper-Threading paragraph Signed-off-by: Steffen Pankratz --- site/docs/install/dell3050.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/site/docs/install/dell3050.md b/site/docs/install/dell3050.md index 0b3427b..892dcaa 100644 --- a/site/docs/install/dell3050.md +++ b/site/docs/install/dell3050.md @@ -217,6 +217,10 @@ Legacy 8254 timer enabled in coreboot, to prevent SeaBIOS from hanging. HyperThreading on 3050 Micro -------------------------- +NOTE: The 3050 Micro is available in different CPU configurations. +Before considering to enable HyperThreading support, make sure it is +supported by the CPU of your 3050 Micro. + Also called SMT. This is a feature where you get 2 threads on a single core. It can improve performance in some workloads, but is actually a performance liability in others, depending on your OS kernel/scheduler and the actual From 3f51720e2aaa51ddc5de19757b06d4715526d67e Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Tue, 14 Jan 2025 12:57:06 +0000 Subject: [PATCH 148/279] correction Signed-off-by: Leah Rowe --- site/other.md | 28 ---------------------------- 1 file changed, 28 deletions(-) diff --git a/site/other.md b/site/other.md index 2cfb3c0..0d15f2a 100644 --- a/site/other.md +++ b/site/other.md @@ -186,34 +186,6 @@ with regular security updates. Libreboot largely avoids supporting Chromebooks, precisely because Chultrabook and MrChromebox are perfectly viable options on these machines. -Ownerboot ---------- - -Git repository: - -Ownerboot is an interesting one; it uses the Nix package manager to compile -coreboot images, with a Linux-based payload on supported x86 and ARM64 -devices. Similar conceptually to Heads, but with a *much* cleaner build system -design. - -It comes with the LVM2 and cryptsetup sources included in builds by default, so -it can easily be used to create a fully encrypted system, much like Libreboot's -own [hardened GRUB](docs/linux/grub_hardening.md) setup. - -Since it uses Nix, reproducible builds are quite feasible and this is one of -the project's primary goals. Interestingly enough, it also supports both the -gru kevin chromebook and the ASUS KGPE-D16 boards, which Libreboot supports but -Libreboot uses U-Boot and a combination of SeaBIOS/GRUB, respectively, on these -boards. - -Ownerboot's build system can also cross compile everything, so it's quite -portable across various host CPUs. It also extends coreboot's normal/fallback -payload scheme. See: - -All of this combined makes for a highly configurable boot setup, and the Linux -payload in flash (using kexec to boot another kernel) is highly flexible, -offering many opportunities for security hardening (like Heads). - Skulls ------ From e64e6a065d55c680b21948e833234f019c32b2c6 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Tue, 14 Jan 2025 13:30:29 +0000 Subject: [PATCH 149/279] snip Signed-off-by: Leah Rowe --- site/tasks/index.md | 5 ----- 1 file changed, 5 deletions(-) diff --git a/site/tasks/index.md b/site/tasks/index.md index 4da9ffb..f728b0e 100644 --- a/site/tasks/index.md +++ b/site/tasks/index.md @@ -394,11 +394,6 @@ Linuxboot could be built. With a stripped down kernel, it already provides a sensible build system for ARM64 and AMD64.** -See for inspiration: [Heads project](https://osresearch.net/) -and [Ownerboot project](https://sr.ht/~amjoseph/ownerboot/), these are other -coreboot distros similar to Libreboot, but they provide Linux-based payloads. -Also see more in general, the [Linuxboot](https://www.linuxboot.org/) project. - Libreboot's build system is documented, see: [lbmk documentation](../docs/maintain/). From ee096776a97410398581e125397ee9b5a3bbd03c Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Tue, 14 Jan 2025 17:59:28 +0000 Subject: [PATCH 150/279] other.md: merge chrultrabook with mrchromebox Signed-off-by: Leah Rowe --- site/other.md | 53 +++++++++++++++++---------------------------------- 1 file changed, 17 insertions(+), 36 deletions(-) diff --git a/site/other.md b/site/other.md index 0d15f2a..76f8539 100644 --- a/site/other.md +++ b/site/other.md @@ -67,40 +67,6 @@ you could consider Canoeboot to be *legacy Libreboot*. Libreboot adopted the Binary Blob Reduction Policy in November 2022, as part of a general desire to support more - and newer - hardware. -Chultrabook ------------ - -Website: - -Git repositories: - -Provides a tailored EDK2(UEFI) payload on supported *Chromebooks*. You can use -this to replace ChromeOS with a regular Linux distro or BSD system - even -Windows - if you wish. - -The benefit of using *Chultrabook* is that it provides up to date EDK2, unlike -proprietary vendors who often provide old, CVE-ridden versions of EDK2 forks -such as InsydeH2O. - -With Chultrabook's guidance, you can have a completely up to date UEFI firmware -on your machine, and get good use out of your Chromebook for many more years, -with regular security updates. - -One of Chultrabook's maintainers, Elly, did this talk at 37C3 conference, -demonstrating Chultrabook: - - and also did this more general -talk about coreboot at 38C3: . It's -very good reference material if you want to know more about coreboot, and -coreboot distros more generally. - -Elly also did this interview with Brodie Robertson, about coreboot, and -explains the concept of a coreboot distro in more detail in one part of -the interview: - - -Libreboot largely avoids supporting Chromebooks, precisely because Chultrabook -and MrChromebox are perfectly viable options on these machines. - Dasharo ------- @@ -183,8 +149,23 @@ With MrChromebox's guidance, you can have a completely up to date UEFI firmware on your machine, and get good use out of your Chromebook for many more years, with regular security updates. -Libreboot largely avoids supporting Chromebooks, precisely because Chultrabook -and MrChromebox are perfectly viable options on these machines. +You can also use the [Chrultrabook Docs](https://docs.chrultrabook.com/) which +make use of MrChromebox and might prove useful. + +One of Chultrabook's maintainers, Elly, did this talk at 37C3 conference, +demonstrating Chultrabook: + - and also did this more general +talk about coreboot at 38C3: . It's +very good reference material if you want to know more about coreboot, and +coreboot distros more generally. + +Elly also did this interview with Brodie Robertson, about coreboot, and +explains the concept of a coreboot distro in more detail in one part of +the interview: + + +Libreboot largely avoids supporting Chromebooks, precisely because +MrChromebox is a perfectly viable option on these machines. Skulls ------ From 6cfd22e1f6e2104b99850546bf9f7743cc82f285 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Fri, 17 Jan 2025 01:42:41 +0000 Subject: [PATCH 151/279] t480 notes: mention rollback protection Signed-off-by: Leah Rowe --- site/docs/install/t480.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/site/docs/install/t480.md b/site/docs/install/t480.md index 6fb8d7e..c8ba150 100644 --- a/site/docs/install/t480.md +++ b/site/docs/install/t480.md @@ -399,6 +399,12 @@ Now DD it to the raw USB flash device: dd if=t480_bios_update.img of=/dev/sdX bs=4M conv=fsync status=progress +You must disable *Secure Rollback Prevention* in the BIOS, under +UEFI BIOS Update Option; please also enable *Flash BIOS Updating by +End Users*. The *Windows UEFI Firmware Update* option is probably a do-not-care. +If you're on a newer version of the UEFI firmware, you will want rollback +protection disabled so that you can use this exact version. + You must disable SecureBoot, and enable legacy/CSM boot, and boot it in BIOS mode, not UEFI mode. Make sure your battery is well-charged, and boot it with a battery and with the power supply plugged in. Select *option 2* in the menu, From 55722b56431b61b204efe00127cb9db089965342 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Fri, 17 Jan 2025 10:03:06 +0000 Subject: [PATCH 152/279] Libreboot 2025 release schedule Signed-off-by: Leah Rowe --- site/news/MANIFEST | 1 + site/news/schedule.md | 102 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 103 insertions(+) create mode 100644 site/news/schedule.md diff --git a/site/news/MANIFEST b/site/news/MANIFEST index 0353053..d1feaa5 100644 --- a/site/news/MANIFEST +++ b/site/news/MANIFEST @@ -1,3 +1,4 @@ +schedule.md libreboot20241206rev8.md libreboot20241206.md libreboot20241008.md diff --git a/site/news/schedule.md b/site/news/schedule.md new file mode 100644 index 0000000..0b6e539 --- /dev/null +++ b/site/news/schedule.md @@ -0,0 +1,102 @@ +% Formalised Libreboot 2025 release schedule +% Leah Rowe +% 17 January 2025 + +Libreboot releases will now be on a much stricter timeline than in the past. + +Testing/Stable release cycle +============================ + +As alluded to in the Libreboot 20241206 release, a new release schedule is +planned for 2025 onward: + +* April/October will be for testing releases. +* June/December will be for stable releases. + +So, two testing releases and two stable releases. Each release can have any +number of revisions, whereby the tarballs are re-generated and re-uploaded, +replacing old ones, must like what was done on the 20241206 and 20240612 +releases. + +Rules for revisions: +-------------------- + +Testing releases come out two months before stable; any number of non-breaking +or otherwise relatively safe changes can be made, and testing releases will +stop receiving new revisions about 3-4 weeks before the stable release. Any +number of improvements can be made, including massive updating of upstream +code revisions. + +Stable release revisions must not fundamentally alter the substance of a given +stable release, relative to first release. Essentially, any revisions to stable +releases post-release will be critical bug fixes; in a few cases, special +additions will be made when desirable and safe (e.g. Pico 2 support was added +to Libreboot 20241206 post-release, in the revision 8 update from 2025-01-06). + +Why? +---- + +In the past, a problem Libreboot has had was that we'd do testing releases, +but not do revisions on them; then by the time a stable release came around, +some upstream revisions would be about 4-6 months out of date (typically). + +With this new formalised structure, we can be as close to upstream as possible +by the time of each stable release, for each given upstream e.g. coreboot. + +This release schedule will also provide greater opportunity for coverage of +Libreboot releases, since people know then what to expect and what dates to +put in their calendars. + +This decision is part of a much larger initiative to boost Libreboot's +popularity and therefore use within the free software world. + +Release version numbers +======================= + +Libreboot YY.MM releases +------------------------ + +Libreboot YYYYMMDD was the previous version number scheme. + +The new scheme is: Libreboot YY.MM + +For example, the April 2025 release will be Libreboot 25.04. + +The new release scheme is better, because we presently need to start release +builds early in the morning to ensure (given build time and possible errors +to be fixed) that they are released on the day. For example, a 20250404 release +would have to come out on April 4th, so if it finished compiling on April 5th, +it would become Libreboot 20250405 under the previous scheme. + +With this new scheme, and given Libreboot's expansion plans, it won't matter +even if a release build takes 2 days to complete, because the day of the month +will no longer be included in a given release number. + +Y2.1k compliance +---------------- + +If Libreboot still exists in the year 2100, then those releases will be +e.g. Libreboot 100.04 for April 2100 release. + +It could happen. Even if I'm no longer around by then, Libreboot might still be. + +Release codenames +----------------- + +The release codename for Libreboot 25.04 will be "Corny Calamity", which is a +nod of respect to an equally gutsy release codename that *Fedora* used in +one of their releases (Beefy Miracle!). + +The rules for Libreboot release codenames are: two words, each starting with +the same letter. + +Credit +====== + +[Britney Lozza](https://janethemotherfucker.github.io/) was the one who suggested +to me that I use this new release number and codename scheme, and I previously +came up with the plan to use an April/June and October/December testing/stable +release schedule. + +Britney also came up with the codename that I've decided to use for +the June 2025 stable release - stay tuned! From 0d6d90bf1eabd0d75c8b902fca8123af4f8c6617 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Fri, 17 Jan 2025 10:13:29 +0000 Subject: [PATCH 153/279] clarification Signed-off-by: Leah Rowe --- site/news/schedule.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/site/news/schedule.md b/site/news/schedule.md index 0b6e539..47747de 100644 --- a/site/news/schedule.md +++ b/site/news/schedule.md @@ -13,11 +13,20 @@ planned for 2025 onward: * April/October will be for testing releases. * June/December will be for stable releases. +In other words, the following Libreboot releases will come out in 2025: + +* Libreboot 25.04 +* Libreboot 25.06 +* Libreboot 25.10 +* Libreboot 25.12 + So, two testing releases and two stable releases. Each release can have any number of revisions, whereby the tarballs are re-generated and re-uploaded, replacing old ones, must like what was done on the 20241206 and 20240612 releases. +This .4, .6, .10 and .12 scheme will continue in 2026 and beyond. + Rules for revisions: -------------------- From 5662b578d8c97c024161bd9dd3d3f5c1fedb66f3 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Fri, 17 Jan 2025 10:15:39 +0000 Subject: [PATCH 154/279] further calamity Signed-off-by: Leah Rowe --- site/news/schedule.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/site/news/schedule.md b/site/news/schedule.md index 47747de..8867db5 100644 --- a/site/news/schedule.md +++ b/site/news/schedule.md @@ -15,16 +15,20 @@ planned for 2025 onward: In other words, the following Libreboot releases will come out in 2025: -* Libreboot 25.04 -* Libreboot 25.06 -* Libreboot 25.10 -* Libreboot 25.12 +* Libreboot 25.04 (testing release) +* Libreboot 25.06 (stable release) +* Libreboot 25.10 (testing release) +* Libreboot 25.12 (stable release) So, two testing releases and two stable releases. Each release can have any number of revisions, whereby the tarballs are re-generated and re-uploaded, replacing old ones, must like what was done on the 20241206 and 20240612 releases. +Releases will have codenames too; please read further down this article, for +information about that. The April 2025 release will +be: Libreboot 25.04 "Corny Calamity". + This .4, .6, .10 and .12 scheme will continue in 2026 and beyond. Rules for revisions: From 62b5b1950e8d862924b6c92fc2d8c1ae91c75f1c Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Fri, 17 Jan 2025 10:41:44 +0000 Subject: [PATCH 155/279] snip Signed-off-by: Leah Rowe --- site/news/libreboot20241206rev8.md | 25 +++---------------------- 1 file changed, 3 insertions(+), 22 deletions(-) diff --git a/site/news/libreboot20241206rev8.md b/site/news/libreboot20241206rev8.md index d11a544..8958a3b 100644 --- a/site/news/libreboot20241206rev8.md +++ b/site/news/libreboot20241206rev8.md @@ -398,27 +398,8 @@ the [Libreboot 20241206 revisions page](libreboot20241206.Revisions.md). Formalised release schedule ================= -We normally just do a release and that's it. It's still tentative, and this -may change, but it has so far been decided that the 2025 release schedule will -look like this: +UPDATE: the text of this section was removed on 17 January 2025. -* April 13th: testing release -* June 12th: stable release -* October 31st: testing release -* December 6th: stable release +Please read the following new article instead: -Where any release is made, revisions such as today's 20241206 revision 8 can -be re-released. On stable releases, only the most desirable improvements and -fixes will be made, without substantially altering the substance of the -original release, while testing releases can have wilder revisions; where the -current release is a testinng release, revisions should be frozen in place -about 1 month before the scheduled stable release. - -This is preferable because it offers much more flexibility, and it means that -stable releases can be closer to upstream whereas previously they'd be -about 3-6 months behind, e.g. the Libreboot 20241206 release uses coreboot -revisions from the summer of 2024, but some of them are closer to December -of 2024. - -This was decided, ever since the 20241206 release, which just so happened to -compliment a 20240612 release. Symmetry is good, as is predictability. +[Formalised Libreboot 2025 release schedule](schedule.md) From 927a06cdc65281ceff6efdca058cf1cd4725e096 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Fri, 17 Jan 2025 13:24:59 +0000 Subject: [PATCH 156/279] grammar Signed-off-by: Leah Rowe --- site/news/schedule.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/news/schedule.md b/site/news/schedule.md index 8867db5..051c9b7 100644 --- a/site/news/schedule.md +++ b/site/news/schedule.md @@ -22,7 +22,7 @@ In other words, the following Libreboot releases will come out in 2025: So, two testing releases and two stable releases. Each release can have any number of revisions, whereby the tarballs are re-generated and re-uploaded, -replacing old ones, must like what was done on the 20241206 and 20240612 +replacing old ones, as was done on the 20241206 and 20240612 releases. Releases will have codenames too; please read further down this article, for From 7c63e81b3212e22324bb300e30cba3f109a8ddcf Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 18 Jan 2025 02:07:42 +0000 Subject: [PATCH 157/279] snip Signed-off-by: Leah Rowe --- site/news/10.md | 158 +++++++++++++++++++++++++----------------------- 1 file changed, 84 insertions(+), 74 deletions(-) diff --git a/site/news/10.md b/site/news/10.md index 244d6a7..c5a2b07 100644 --- a/site/news/10.md +++ b/site/news/10.md @@ -106,8 +106,7 @@ and professional, with clear documentation. Coreboot documentation today is much better, but it was very poor quality in 2013 (MediaWiki site with lots of errant pages, poorly organised). -It came with a twist: Libreboot initially complied with the FSF's own RYF -criteria, and the GNU FSDG (Free System Distribution Guidelines). Under this +It came with a twist: Libreboot initially only permitted libre code. Under this policy, no binary blobs are allowed. I believed in it then, because in practise it seemed like a good idea and didn't do any harm. It would later become a liability, for reasons laid out in Libreboot's modern [Binary Blob Reduction @@ -463,9 +462,8 @@ generator of any kind. On the coding side of things, many GNU programs use things like GNU Autoconf for configuration, in build systems, and GNU has a certain *coding style* that is preferred. To speed up entry into GNU, many of the requirements were -overlooked since, ideologically speaking, Libreboot aligned with the GNU -Free System Distribution Guidelines (FSDG) at that time, so Libreboot officially -joined GNU on 14 April 2016, under the assumption that it would gradually +overlooked since, ideologically speaking, Libreboot was otherwise entirely free. +We joined GNU on 14 April 2016, under the assumption that it would gradually start integrating with the GNU infrastructure. *Three* Libreboot releases were released, during its GNU membership, namely: @@ -478,14 +476,6 @@ Libreboot's popularity reached great heights during this time, greatly expanding and attracting many new developers. Joining GNU accelerated this further, though it came with certain drawbacks. -At that time, I believed in the GNU FSDG policy, and I saw GNU membership as -beneficial to the Libreboot project, not because I was interested in GNU for -any technical merit; Libreboot is boot firmware, whereas GNU has always been -about providing an operating system with the libc and many useful applications. -Libreboot did not really fit into the GNU infrastructure, but it aligned with -the ideology both in theory and in practise, and the prestige of it at that time -would attract more help. - I later realised otherwise, regarding the ideology; more on this later, in the sections about osboot, and the osboot/libreboot merge, and events after that. @@ -1149,8 +1139,7 @@ when the latter forked from Freenode after a hostile takeover. Thankfully, that drama ended quickly and we ended up with Libera being the clear winner. Anyway: I finally did get a new Libreboot release out, based on the work that -I had started in osboot, but at that time still complying with the GNU Free -System Distribution Guidelines, like 2016 Libreboot did. +I had started in osboot, but at that time Libreboot had the blob-free policy. I did not use any of the work in the *Paper* re-write. I used precisely zero lines of code from Sebastian and Andrew's work. I did it all myself. My decision @@ -1174,19 +1163,19 @@ Osboot from 2021-2022 The *osboot* project continued, since December 2020 when it started. I started adding many new boards to it. The purpose of Osboot was the same as Libreboot, -except that it had the [Binary Blob Reduction Policy](policy.md) that Libreboot -now uses, but back then, Libreboot adhered to GNU FSDG. +except that it had the [Binary Blob Reduction Policy](policy.md) instead. +This is the policy that *modern* Libreboot uses, since merging with osboot. Goals of osboot --------------- I *wanted* to start a project like osboot much earlier, in 2017. In fact, I was going to, but real life got in the way and I went on hiatus for a few years. -I concluded as early as 2017 that the FSDG policy was a liability, especially +I concluded as early as 2017 that the no-blob policy was a liability, especially after `me_cleaner` became available. I realised that there were many more machines out there, that I then considered acceptable from a software freedom -perspective, even if they did not comply with FSF RYF or GNU FSDG; I regard -the FSF policy as overly dogmatic, and I've always thought so, but in practise +perspective, even if they did require an additional blob or two; I regard +the no-blob policy as overly dogmatic, and I've always thought so, but in practise it didn't hurt anything because Intel ME was always a problem. I didn't know ME neutering was possible, until I found out about `me_cleaner` - I would never provide anyone with a setup that uses a non-neutered ME, because of the networking @@ -1257,7 +1246,7 @@ everyone supported this move. Sure enough, I saw a relative lack of opposition to it; though, some of the more dogmatic members of the FSF were quite upset. This level of upset later caused.... well, that's what I'm going to cover next. -GNU Boot +FSF fork ======== The purpose of today's article has been to write a rigorous history section for @@ -1311,22 +1300,22 @@ in 2017. I don't feel bad about what I did. What they did is widely considered to be a *dick move* in the free software movement; it is widely considered impolite to fork an active project and use the same name. The unwritten rule is always -that you use a new name. It's more than that though: in their initial fork, and -also in GNU Boot, they didn't just say: this is what we are, what we do and why -you should use our product. No. They put a paragraph in their documentation, +that you use a new name. It's more than that though: in the FSF's fork, they +didn't just say: this is what we are, what we do and why you should use our +product. No. They put a paragraph in their documentation, urging people to *delete* links to libreboot.org, and link to them. *They were out for blood*. -Fork attempt 2: GNU Boot ------------------------- +Fork attempt 2: GNU +------------------- So I've responded in kind, ever since. Regardless of whether they succeed or whether they are competent, a thought exists in their head. A dream, you could say. Their dream is a world in which Leah Rowe and Libreboot no longer exist. They wanted to destroy me. It's evident in Denis's LP2023 talk, where he said he wanted to "continue" the Libreboot project. In his mind, there is no room for -disagreement over policy; it's FSDG or nothing. I had to play by their rules, -or go home. +disagreement over policy; it's their way or nothing. I had to play by their +rules, or go home. During that time, and subsequently, I and others had repeatedly put pressure on them to rename. I personally came up with the name *GNU Boot* - and suggested @@ -1334,18 +1323,19 @@ that they use it. It's a name that I myself came up with several years prior, when I was considering whether to work for GNU again *myself*, but as an actual fork of coreboot. The name just works. -They did rename, to GNU Boot, but only after I forced them to do so. I forced +GNU did rename their project, but only after I forced them to do so. I forced them to do so, by exposing the moral bankrupcy on their part, in their initial -effort to steal the Libreboot name. +effort to steal the Libreboot name. Their initial plan was to create a newly +established *GNU Libreboot* project. -On this day, GNU Boot 0.1 RC3 was imminent for release, on this day, and it +By 2023-12-12, GNU's fork had a new RC imminent for release, on this day, and it was still based largely on Libreboot 20220710, with only superficial changes on top of it. it still has all the old, obsolete revisions for all projects, including coreboot. It still has all of the same bugs, that Libreboot has since fixed, especially during 2023. Libreboot is *vastly* superior, in every way. -Unlike with their first attempt, GNU Boot is fully hosted on the GNU Savannah -infrastructure, as any proper GNU project should be. I *respect* the GNU Boot +Unlike with their first attempt, GNU's new project is hosted on the GNU Savannah +infrastructure, as any proper GNU project should be. I *respect* the latter GNU project more, because it is its own thing, that doesn't try to ride off of my coattails. However, my perception of them is permanently coloured by their initial hostile actions; and the only reason they ceased such actions was @@ -1416,15 +1406,16 @@ and now: Canoeboot --------- -Purely for my own entertainment, I decided to re-create FSDG Libreboot *myself*. -FSDG is the policy that GNU Boot uses, that Libreboot previously used, before -it adopted the modern [Binary Blob Reduction Policy](policy.md) - GNU Boot -started, specifically because it opposed the new policy in Libreboot. +Purely for my own entertainment, I decided to re-create blob-free Libreboot *myself*. +It is the same one that GNU uses, that Libreboot previously used, before +it adopted the modern [Binary Blob Reduction Policy](policy.md) - GNU started +their new project, specifically because it opposed the new policy in Libreboot. -Well, GNU Boot seemed to be going nowhere fast. I monitor their Git activity +Well, GNU's fork seemed to be going nowhere fast. I monitor their Git activity daily, and their development pace is much slower than mine; slower than mine, even when I'm going slow. I thought to myself: what if a *competently* -engineered solution existed, like GNU Boot but not? +engineered solution existed? One maintained by someone who's been doing this +for over a decade? And thus, [Canoeboot](https://canoeboot.org/) was born. I still mainly develop Libreboot, but I spend a few hours after each release, bringing Canoeboot up @@ -1436,11 +1427,11 @@ Canoeboot is even listed on the FSF's Topham approved it, he's the FSF's current licensing and compliance manager, at least on 12 December 2023. -The purpose of Canoeboot is to simply exist, complying with GNU Boot policy -while being superior to it in every way, outcompeting it so fast that the -GNU Boot project is constantly behind - it's done, specifically to demonstrate +The purpose of Canoeboot is to simply exist, adhering to the no-blob policy +while being superior to GNU in every way, outcompeting it so fast that GNU's +own project is constantly behind - it's done, specifically to demonstrate the superiority of Libreboot policy, by showing what Libreboot *would have -been*, if it didn't adopt the new policy. +been*, if it didn't adopt the [Binary Blob Reduction Policy](policy.md) policy. The FSF failed in its coup. My countercoup was a success. I madly beat them at their own game. The FSF's strategy *might* have worked, if I hadn't been so @@ -1458,9 +1449,9 @@ new Libreboot release. I actually *describe* how this syncing is done, in great detail, on Canoeboot's [about page](https://canoeboot.org/about.html) - and the first Canoeboot release was done, based on the latest Libreboot release at that time, in only 2 days, with all of Libreboot's vast improvements in it -compared to GNU Boot. As of this day, 12 December 2023, Canoeboot is about 1 -year ahead of GNU Boot in terms of code development, and 2 years ahead on the -writing of documentation. Conversely, GNU Boot is 1 year and 2 years out of +compared to GNU's work, or lack thereof. As of this day, 12 December 2023, +Canoeboot is about 1 year ahead of GNU in terms of code, and 2 years ahead on +the writing of documentation. Conversely, GNU is *1 year* and *2 years* out of date, in terms of code and documentation respectively. 2024 reconciliation intentions @@ -1471,12 +1462,12 @@ date, in terms of code and documentation respectively. The *FSF* started the coldboot war. Libreboot merely won it. From 2024 onward, unless more hostilities develop from FSF/GNU's side, I intend -to adopt a more conciliatory approach toward GNU Boot. I won the battle of 2023. +to adopt a more conciliatory approach toward GNU/FSF. I won the battle of 2023. I won the *cold boot war*, but the real battle is this: how do we get free boot firmware to non-technical end users, efficiently and reliably? The answer to -that question is projects such as Libreboot, or indeed others like GNU Boot, -Heads, Skulls, MrChromebox... you name it. Distros, designed similarly to -Linux distros, but for building boot firmware instead. +that question is projects such as Libreboot, or indeed others like, Heads, +Skulls, MrChromebox... you name it. Distros, designed similarly to Linux +distros, but for building boot firmware instead. The *first* coldbootwar occured between 19 March 2023 and 31 December 2023, described in the article above. @@ -1485,16 +1476,16 @@ Much of 2023 was spent counteracting the FSF's coup, because they were hostile to the Libreboot project, but I decided that I will avoid any such counter action from now on. I will stil develop Canoeboot, but my main focus is Libreboot. My conclusion is that, so long as my own efforts exist, and I keep -working on everything, the GNU Boot project is no threat to Libreboot whatsoever. +working on everything, the GNU project is no threat to Libreboot whatsoever. -Towards the end of 2023, there *was* in fact cooperation, between the GNU Boot +Towards the end of 2023, there *was* in fact cooperation, between the GNU project and Libreboot projects, in the form of small patches; Denis Carikli sent a few patches and reports to Canoeboot and the Untitled Static Site Generator, and I did similar for the GNU boot project. The FSF themselves even decided to accept Canoeboot, on their Free Software Directory. See: -My only issue with GNU Boot at the start of 2023 was that they wanted +My only issue with GNU and FSF at the start of 2023 was that they wanted to *replace* the Libreboot project, by using the same name. They *did* try to destroy the Libreboot project, and take it for themselves. Things pretty much calmed towards the end of 2023, and now the two projects/communities operate @@ -1509,14 +1500,14 @@ anymore; to do so was necessary, when they themselves did the same, because the FSF is a well-funded organisation with much bigger reach and would walk all over me if I allowed it, so it was necessary to show strength. -However, throughout 2024, GNU Boot has essentially been a dead project; they +However, throughout 2024, GNU's fork has essentially been a dead project; they haven't done any work on their build system of any consequence, and haven't even updated their documentation that heavily. Their main focus was on integrating the Untitled Static Site Generator into their infrastructure, which otherwise relies heavily on TexInfo documents and CVS (Untitled relies on Markdown and Git heavily - the FSF actually made a special rsync server for -GNU Boot to manually upload HTML files to, generated by Untitled, which they -wrapped around directly, within the GNU Boot build system). +to manually upload HTML files to, generated by Untitled, which they +wrapped around directly, within their fork of the Libreboot build system). Last remarks ============ @@ -1536,7 +1527,7 @@ your patience and your courage with a cool easter egg: The `minifree.org` domain name initially hosted a website that was teaching people how to use VPNs and Tor, and it contained information about how to -be private on the internet. I later planned on making it into an FSDG-compliant +be private on the internet. I later planned on making it into a blob-free fork of *Puppy Linux* - because Puppy is small, lightweight, and mini is another word for *small*, and it was to be a fully free distribution, containing no blobs, not even firmware. Minifree GNU/Linux. I later scrapped the plan, and @@ -1550,7 +1541,7 @@ on [minifree.org](https://minifree.org/). January 1st, 2025, UPDATE! ======================== -The truce of 2024 has ended. GNU Boot did a talk during 38C3 conference, where +The truce of 2024 has ended. GNU did a talk during 38C3 conference, where they spent at least *one third* of the talk, telling people to stop using Libreboot, to stop promoting Libreboot, stop contributing to it. This is an act of war against the Libreboot project. @@ -1561,23 +1552,38 @@ is that there is no longer good will from Libreboot towards the GNU project. Canoeboot will be developed as aggressively as before, if not more so. It will be maintained and updated aggressively, but now with this fact in mind, and -with the view that the GNU Boot project must be contained; the mere existence -of the Canoeboot project is a direct attack on GNU Boot, and it will continue. +with the view that the GNU project must be contained; the mere existence +of the Canoeboot project is a direct attack on GNU, and it will continue. It +is an attack, because *they* can't attack *Canoeboot* lest they look like +hypocrites, which they are, but looking like it is worse. They were the ones +who tried to steal the Libreboot name, and they the aggressors; Canoeboot was +formed as an act of self defense to protect Libreboot, and Canoeboot is a fun +technical challenge. I was going to approach the GNU project and start a discussion about shutting -down the Canoeboot project, and merge it with GNU Boot, helping them to bring -their project up to date - for example, as of January 2025, GNU Boot *still* -uses the same late 2021 coreboot and GRUB revisions that it used when GNU -Boot started back in June 2023. +down the Canoeboot project, and merge it with GNU. As of January 2025, GNU's +own Libreboot fork *still* uses the same late 2021 coreboot and GRUB revisions +that it used when they started back in June 2023. As of December 2024, the +Canoeboot project used upstream revisions *from December 2024* and with +completely up to date documentation. Such an attempt at collaboration was made before, and it was rejected. It is -clear now that the GNU Boot developers have nothing but contempt. Therefore, -the agenda from 1 January 2025 onward, is to *replace* GNU Boot; to move +clear now that the GNU/FSF developers have nothing but contempt. Therefore, +the agenda from 1 January 2025 onward, is to *replace* GNU, not join it; to move so far ahead of the project on a technical level, and to overwhelm it so much -in that regard, that the project effectively no longer exists as a practical -matter. +in that regard, yet offer no truce and no way out for GNU. The end result shall +be that FSF/GNU fans only have Canoeboot, and nothing else. GNU has shown +historical opposition and hostility to the Libreboot project, to the extent +that they even tried to steal the name; therefore, I will show no mercy. -Canoeboot is vastly superior to GNU Boot. Its [design](https://canoeboot.org/docs/maintain/) +This is not about tech. This is about dreams. A battle of dreams. My dream is +to maintain a highly popular [Free Software](https://writefreesoftware.org/learn) +boot project, namely Libreboot and Canoeboot; this dream exists because I enjoy +the work, and I believe in Free Software. GNU's dream has been to steal mine; +I do all the work, and they wanted to steal my thunder. + +Canoeboot is vastly superior to anything GNU would ever do, or has done. +Canoeboot's highly efficient [design](https://canoeboot.org/docs/maintain/) is much simpler and more powerful in practise, doing *more* in fewer lines of code - and it supports more hardware. Canoeboot is, at this time, interested in more GM45-based Dell Latitude models and X4x-based Dell OptiPlex 780 variants, @@ -1598,22 +1604,26 @@ In general, Libreboot's [Binary Blob Reduction Policy](policy.md) dictates that if Free Software *can* be used, it must be - as a result, many systems supported by Libreboot, boot entirely with free software. Libreboot is a free software project, whose primary goal is to increase software freedoms for users -by providing them with free boot firmware. And yet: GNU Boot's talk strongly +by providing them with free boot firmware. And yet: GNU talk strongly suggests that Libreboot is a *proprietary software project*. -In GNU Boot's talk, they directly state that I, Leah Rowe, am "against 100% +In GNU talk, they directly state that I, Leah Rowe, am "against 100% free software" - also false. I want everyone to use Free Software exclusively, but the reality is that this is literally impossible, on any hardware. The reason is strongly described in Libreboot's [Freedom Status](../freedom-status.md) and [Binary Blob Reduction Policy](policy.md) pages. -It is clear, then, that the GNU Boot project wishes to undermine the Libreboot +It is clear, then, that the GNU project wishes to undermine the Libreboot project; their dream is that Libreboot will one day cease to exist. So in -response, Libreboot has this dream too, but about GNU Boot. +response, Libreboot has this dream too, but about GNU. My revenge shall be +to continue maintaining Libreboot and Canoeboot, to a high standard, and to +get ever further ahead of them both technically, and politically. The outcome of coldbootwar2 will be described in the *next* decade anniversary page, on 12 December 2033. It is strongly expected that Libreboot will continue to exist and thrive by then; today's Libreboot will be vastly inferior to that -future Libreboot, and it is expected that GNU Boot will have been dead for years. +future Libreboot, and it is expected that GNU will have long given up the ghost. Canoeboot will still be maintained regularly. That is the dream, and it is my wish that this dream be fully realised. It shall be done. + +I'm not allowed to win, but I will. From 4c12433a6ab185d4092fab7400f09d3ef203b355 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 18 Jan 2025 02:12:20 +0000 Subject: [PATCH 158/279] snip2 Signed-off-by: Leah Rowe --- site/docs/maintain/index.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/site/docs/maintain/index.md b/site/docs/maintain/index.md index 2c467ba..659b55e 100644 --- a/site/docs/maintain/index.md +++ b/site/docs/maintain/index.md @@ -665,9 +665,8 @@ about here: util/spkmodem\_recv/ --------------- -FSF has original copyright on this; it was imported from coreboot, who in turn -imported it from GRUB with very little modification. Therefore, this code is -canonically based on what is provided in GNU GRUB. +Libreboot imported this from coreboot, who is turn imported it from GRUB with +little to no modification. This is a receiving client for spkmodem, which is a method of providing serial consoles via pulses on the PC speaker. The `spkmodem_recv` client will *decode* From 6f9ec4cc4d7eb4017af4768842ac6861b1e81aa5 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 18 Jan 2025 02:33:48 +0000 Subject: [PATCH 159/279] fix language Signed-off-by: Leah Rowe --- site/news/10.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/site/news/10.md b/site/news/10.md index c5a2b07..da254d8 100644 --- a/site/news/10.md +++ b/site/news/10.md @@ -1306,8 +1306,8 @@ product. No. They put a paragraph in their documentation, urging people to *delete* links to libreboot.org, and link to them. *They were out for blood*. -Fork attempt 2: GNU -------------------- +FSF's 2nd fork attempt +--------------------- So I've responded in kind, ever since. Regardless of whether they succeed or whether they are competent, a thought exists in their head. A dream, you could @@ -1326,7 +1326,8 @@ fork of coreboot. The name just works. GNU did rename their project, but only after I forced them to do so. I forced them to do so, by exposing the moral bankrupcy on their part, in their initial effort to steal the Libreboot name. Their initial plan was to create a newly -established *GNU Libreboot* project. +established *GNU Libreboot* project. The name that they *now* use was created +by me, and I made them use it. By 2023-12-12, GNU's fork had a new RC imminent for release, on this day, and it was still based largely on Libreboot 20220710, with only superficial changes on @@ -1406,8 +1407,8 @@ and now: Canoeboot --------- -Purely for my own entertainment, I decided to re-create blob-free Libreboot *myself*. -It is the same one that GNU uses, that Libreboot previously used, before +Purely for my own entertainment, I decided to re-create blob-free +Libreboot *myself*, exactly the same one that Libreboot used in the past, before it adopted the modern [Binary Blob Reduction Policy](policy.md) - GNU started their new project, specifically because it opposed the new policy in Libreboot. From 77198f7f5dc5a972ef5181751db26d5c69773db7 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 18 Jan 2025 02:35:37 +0000 Subject: [PATCH 160/279] grammar Signed-off-by: Leah Rowe --- site/news/10.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/site/news/10.md b/site/news/10.md index da254d8..55cc695 100644 --- a/site/news/10.md +++ b/site/news/10.md @@ -1605,10 +1605,10 @@ In general, Libreboot's [Binary Blob Reduction Policy](policy.md) dictates that if Free Software *can* be used, it must be - as a result, many systems supported by Libreboot, boot entirely with free software. Libreboot is a free software project, whose primary goal is to increase software freedoms for users -by providing them with free boot firmware. And yet: GNU talk strongly +by providing them with free boot firmware. And yet: the GNU talk strongly suggests that Libreboot is a *proprietary software project*. -In GNU talk, they directly state that I, Leah Rowe, am "against 100% +In that same GNU talk, GNU directly states that I, Leah Rowe, am "against 100% free software" - also false. I want everyone to use Free Software exclusively, but the reality is that this is literally impossible, on any hardware. The reason is strongly described in Libreboot's [Freedom Status](../freedom-status.md) From e4b30750d15ab0e33c465b31d5e6175cf4b82b76 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 18 Jan 2025 04:55:26 +0000 Subject: [PATCH 161/279] snip3 Signed-off-by: Leah Rowe --- site/contrib.md | 2 +- site/docs/install/dell3050.md | 2 +- site/docs/install/index.md | 2 +- site/docs/linux/grub_hardening.md | 2 +- site/docs/maintain/index.md | 4 ++-- site/docs/maintain/style.md | 5 ++--- site/docs/uboot/uboot-archlinux.md | 4 ++-- site/git.md | 2 +- site/index.md | 2 +- site/index.ru.md | 2 +- site/news/10.md | 15 +++++---------- site/news/audit.md | 4 ++-- site/news/libreboot20230625.md | 6 +++--- site/news/libreboot20240225.md | 2 +- site/news/libreboot20240504.md | 4 ++-- site/news/libreboot20240612.md | 2 +- site/news/libreboot20241008.md | 8 ++++---- site/news/libreboot20241206.md | 4 ++-- site/news/libreboot20241206rev8.md | 4 ++-- site/news/policy.de.md | 2 +- site/news/policy.md | 2 +- site/news/policy.uk.md | 2 +- site/tasks/index.md | 8 +++----- 23 files changed, 41 insertions(+), 49 deletions(-) diff --git a/site/contrib.md b/site/contrib.md index a4a5bad..1aaf97d 100644 --- a/site/contrib.md +++ b/site/contrib.md @@ -429,7 +429,7 @@ Mate Kukri Mate Kukri is a *major* contributor to Libreboot, and several of the upstreams that it uses; he is a coreboot developer, and also contributes heavily to the -GNU GRUB project. +GRUB bootloader project. Off the top of my head, here are just a few of the contributions that he has made: diff --git a/site/docs/install/dell3050.md b/site/docs/install/dell3050.md index d7d82e0..f8fc99d 100644 --- a/site/docs/install/dell3050.md +++ b/site/docs/install/dell3050.md @@ -139,7 +139,7 @@ MAC address This has a Realtek NIC inside, instead of Intel, so the MAC address will not change. This means: there is no GbE region in the flash. -You can still use something like GNU MAC Changer to change your MAC address +You can still use something like `macchanger` to change your MAC address from Linux if you want to. This is great, because that's one less complexity to deal with during diff --git a/site/docs/install/index.md b/site/docs/install/index.md index 2db7059..3484e8b 100644 --- a/site/docs/install/index.md +++ b/site/docs/install/index.md @@ -58,7 +58,7 @@ build system can be found in the [lbmk maintenance manual](../maintain/), and information about porting new systems in the [porting manual](../maintain/porting.md). -With x86 machines, you can use the SeaBIOS or GNU GRUB payloads. On ARM +With x86 machines, you can use the SeaBIOS or GRUB bootloader payloads. On ARM systems, you can use the U-Boot payload (coreboot still initialises hardware). Libreboot currently supports the following systems: diff --git a/site/docs/linux/grub_hardening.md b/site/docs/linux/grub_hardening.md index c28afd6..c8d57d5 100644 --- a/site/docs/linux/grub_hardening.md +++ b/site/docs/linux/grub_hardening.md @@ -44,7 +44,7 @@ linked above tells you how to apply your modifications for flashing.** Flash write protection ====================== -Although not strictly related to GNU GRUB, flash protection will prevent anyone +Although not strictly related to GRUB, flash protection will prevent anyone except you from overwriting the flash without permission. This is important, because you don't want some malicious software running as root from overwriting your flash, thus removing any of the above protections. diff --git a/site/docs/maintain/index.md b/site/docs/maintain/index.md index 659b55e..bbe4e00 100644 --- a/site/docs/maintain/index.md +++ b/site/docs/maintain/index.md @@ -453,7 +453,7 @@ src/grub/TREE Please also visit: -The GNU GRUB bootloader, a reference multiboot implementation with its own +The GRUB bootloader, a reference multiboot implementation with its own small kernel/OS and drivers (e.g. file systems, cryptography). This is the default recommended [coreboot payload](https://doc.coreboot.org/payloads.html) on x86-based Libreboot systems. GRUB will load and execute your Linux kernel, @@ -681,7 +681,7 @@ directly into `lbmk.git`, and thoroughly cleaned. The lbmk version has been more or less re-written, using the original logic as a base; variables are more clearly named. A top-down, OpenBSD-inspired coding style is used, replacing the GNU coding style implemented in the original code. The [OpenBSD -coding style][https://man.openbsd.org/style.9] is much easier to read. +coding style](https://man.openbsd.org/style.9) is much easier to read. This code has been modified to make use of the `pledge()` system call, when used on [OpenBSD](https://www.openbsd.org/); the original version from GRUB did not diff --git a/site/docs/maintain/style.md b/site/docs/maintain/style.md index 5dc773c..702ef76 100644 --- a/site/docs/maintain/style.md +++ b/site/docs/maintain/style.md @@ -307,10 +307,9 @@ In addition to not using bashisms, commands that lbmk uses must also be portable; where possible, third party projects should be tweaked. This is actually something that is currently lacking or otherwise untested -in Libreboot; it's currently assumed that only Linux (specifically GNU+Linux) +in Libreboot; it's currently assumed that only common Linux distributions will work, because many of the projects that Libreboot makes use of will use -bashisms, or other GNUisms (e.g. GNU-specific C extensions or GNU Make specific -behaviour in Makefiles). +bashisms, and/or rely on idiosyncrasies of glibc. Work+testing is sorely needed, in this area. It would be nice if Libreboot could be built on BSD systems, for example. diff --git a/site/docs/uboot/uboot-archlinux.md b/site/docs/uboot/uboot-archlinux.md index e633802..45b8d94 100644 --- a/site/docs/uboot/uboot-archlinux.md +++ b/site/docs/uboot/uboot-archlinux.md @@ -8,7 +8,7 @@ Background ArchLinuxARM Latest (as of May 1st 2023) boots and can be installed successfully using libreboot 20230319 on a gru_bob chromebook. -The following process should theoretically be applicable to other U-Boot devices and GNU/Linux distributions, but the focus here is specifically on ArchLinuxARM. +The following process should theoretically be applicable to other U-Boot devices and Linux distributions, but the focus here is specifically on ArchLinuxARM. Sources used for this guide include the [following guide to install ArchLinuxARM on a RockPro64,](https://jforberg.se/blog/posts/2023-02-19-rockpro64/rockpro64.html) @@ -85,7 +85,7 @@ In the fdisk tui, create two partitions on a Master Boot Record: - set type to fat32 (ext2 is also supported by extlinux I believe, but I used fat32) - create a second partition of up to 15.8GB -You will find the appropriate options by typing `m` when using the fdisk tui on GNU/Linux distros. +You will find the appropriate options by typing `m` when using the fdisk tui on Linux distros. Now make the filesystems: ``` diff --git a/site/git.md b/site/git.md index 5237d95..a2c3667 100644 --- a/site/git.md +++ b/site/git.md @@ -189,7 +189,7 @@ proprietary, subject to all of the same restrictions. The MIT license is a good one to start with, and it is the preferred license for all new works in Libreboot, but we're not picky. Libreboot has historically -used GNU licensing such as GPL; much of that remains, and is likely to remain. +used mostly GPL licensing; much of that remains, and is likely to remain. It's your work; obviously, if you're deriving from an existing work, it may make sense to use the same license on your contribution, for license compatibility. diff --git a/site/index.md b/site/index.md index 0409e56..c647d1b 100644 --- a/site/index.md +++ b/site/index.md @@ -46,7 +46,7 @@ Libreboot provides [coreboot](https://coreboot.org/) for [machine initialisation](https://doc.coreboot.org/getting_started/architecture.html), which then jumps to a [payload](https://doc.coreboot.org/payloads.html) in the boot flash; coreboot works with many payloads, but Libreboot specifically -provides SeaBIOS, GNU GRUB and U-Boot as options. Memtest86+ is also provided +provides SeaBIOS, GRUB and U-Boot as options. Memtest86+ is also provided in flash, on some mainboards. The payload is the program in flash that provides the early user interface, for booting an operating system. This *payload* infrastructure means you can run whatever you want (even Linux!) from the diff --git a/site/index.ru.md b/site/index.ru.md index a37e0da..baaa3aa 100644 --- a/site/index.ru.md +++ b/site/index.ru.md @@ -18,7 +18,7 @@ x-toc-enable: true -Libreboot предоставляет [coreboot](https://coreboot.org/) для [инициализации машины](https://doc.coreboot.org/getting_started/architecture.html), которая затем переходит к [полезной нагрузке](https://doc.coreboot.org/payloads.html) в загрузочной флэш-памяти; coreboot работает со многими программами, но Libreboot предоставляет только SeaBIOS, GNU GRUB и U-Boot. Memtest86+ также предоставляется, но только на некоторых материнских платах. Полезная нагрузка - программа во флэш-памяти, которая предоставляет "ранний" пользовательский интерфейс для загрузки операционной системы. Это значит, что вы можете запустить все что угодно из загрузочной флэш-памяти (даже Linux!). +Libreboot предоставляет [coreboot](https://coreboot.org/) для [инициализации машины](https://doc.coreboot.org/getting_started/architecture.html), которая затем переходит к [полезной нагрузке](https://doc.coreboot.org/payloads.html) в загрузочной флэш-памяти; coreboot работает со многими программами, но Libreboot предоставляет только SeaBIOS, GRUB и U-Boot. Memtest86+ также предоставляется, но только на некоторых материнских платах. Полезная нагрузка - программа во флэш-памяти, которая предоставляет "ранний" пользовательский интерфейс для загрузки операционной системы. Это значит, что вы можете запустить все что угодно из загрузочной флэш-памяти (даже Linux!). Libreboot - это *дистрибутив coreboot* также, как и Debian - *диструбутив Linux*. Libreboot делает coreboot простым к использованию для обычных пользователей, предоставляя [полностью автоматизированную систему сборки](docs/build/) и [дружелюбные к пользователю инструкции к установке](docs/install/), в дополении к регулярному бинарному релизу, дающему скомпилированные ROM образы для установки на поддерживаемом оборудовании. Без автоматизации, предоставляемой Libreboot, coreboot был бы недоступен для большинства пользователей; однако вы также можете [сконфигурировать](docs/mantain) Libreboot как вы желаете. diff --git a/site/news/10.md b/site/news/10.md index 55cc695..70bc7c9 100644 --- a/site/news/10.md +++ b/site/news/10.md @@ -141,7 +141,7 @@ so you can think of it like a *[coreboot distribution](../docs/maintain/)*; Libreboot's build system is essentially a source-based package manager, for coreboot components. -The very first Libreboot releases only provided a *GNU GRUB* payload. The +The very first Libreboot releases only provided a *GRUB* bootloader payload. The GRUB bootloader had been adapted for coreboot many years before then, but there weren't any ready-made coreboot images available that used it, and it wasn't very well-developed for end users. GRUB is a lot more complex than many people @@ -162,13 +162,8 @@ use today. Libreboot logo -------------- -Of note, though it doesn't fit anywhere else in the article, so I'll just say -it now: - -I went on the GNU mailing lists during 2014, asking people to make a logo for -the project. Several people then emailed me their submissions. I finally picked -the logo design that Libreboot now uses, and has used since then. That design -was created by a person named Marcus Moeller, for use in the Libreboot project. +Marcus Moeller designed the Libreboot logo in 2014, after I publicly requested +that samples be prepared for my review. Marcus's logo was the one I chose. Why GRUB? --------- @@ -429,8 +424,8 @@ Several other desktop boards were also added during this period, such as the Gigabyte GA-G41M-ES2L board that was ported to coreboot by Damien Zammit. He was compensated for his work; I paid him 4000 AUD for the trouble. Arthur Heymans contributed several ports aswell, and today still does extensive work -on coreboot - both Damien and Arthur left the Libreboot project, after its -departure from GNU (more on this next). +on coreboot - both Damien and Arthur left the Libreboot project, after Libreboot +became independent again. This period was a watershed moment in general, for the Libreboot project. Many people contributed to the project, during this period. You can check diff --git a/site/news/audit.md b/site/news/audit.md index e3b5176..05fc1e4 100644 --- a/site/news/audit.md +++ b/site/news/audit.md @@ -106,10 +106,10 @@ spkmodem-recv ------------- This utility was *added* after the last release. It was imported from coreboot, -which in turn previously forked it from GNU GRUB. It is a receiving client for +which in turn previously forked it from GRUB. It is a receiving client for spkmodem, to provide a serial console via pulses on the standard *PC speaker*. -Libreboot's version is *heavily* re-factored, doing away with the GNU coding +Libreboot's version is *heavily* re-factored, doing away with the messy GNU coding style and replacing it with a BSD coding style (the licensing is unchanged). For reference, here is the original version from GRUB: diff --git a/site/news/libreboot20230625.md b/site/news/libreboot20230625.md index 3acdca6..3a8f82d 100644 --- a/site/news/libreboot20230625.md +++ b/site/news/libreboot20230625.md @@ -187,14 +187,14 @@ Newest changes first, oldest changes last: namely `-d`, which can be passed to the program. The code for debug is now present in any build. Usage: `spkmodem-recv -d` * New util: `util/spkmodem_recv` - imported from coreboot, which in turn forked - it originally from GNU GRUB. This is a receiving client for *spkmodem*, a type + it originally from GRUB. This is a receiving client for *spkmodem*, a type of serial console provided via pulses over PC speaker. Libreboot's version greatly improves the error handling, and it has been re-factored for OpenBSD - coding style, to replace the (very horrible) GNU coding style. + coding style, to replace the (very horrible, very messy) GNU coding style. It is also [pledged](https://man.openbsd.org/pledge.2) in Libreboot's version. For reference, [here](https://git.savannah.gnu.org/cgit/grub.git/plain/util/spkmodem-recv.c?id=822b726b33b8dc07dd01b257a2dfcc7b07d12e2f) - is the GNU version, and + is the GRUB version, and [here](https://raw.githubusercontent.com/coreboot/coreboot/8febc91b3041a1d027bf0d36d30ccb119496524f/util/spkmodem_recv/spkmodem-recv.c) is coreboot's version of it. And now to blow your mind, [here](https://browse.libreboot.org/lbmk.git/tree/util/spkmodem_recv/spkmodem-recv.c?id=b508245451b71b3443fa3202f3863a6de731e9c8) is the Libreboot version present in release 20230625. A very much GNU program, diff --git a/site/news/libreboot20240225.md b/site/news/libreboot20240225.md index 60f36ba..62f650c 100644 --- a/site/news/libreboot20240225.md +++ b/site/news/libreboot20240225.md @@ -11,7 +11,7 @@ operating system (e.g. Linux/BSD). It is specifically a *[coreboot distribution](../docs/maintain/)*, in the same way that Debian is a Linux distribution. It provides an automated build system to produce coreboot ROM images with a variety of payloads such as -GNU GRUB or SeaBIOS, with regular well-tested releases to make coreboot as easy +GRUB or SeaBIOS, with regular well-tested releases to make coreboot as easy to use as possible for non-technical users. Libreboot provides many additional benefits such as fast boot speeds, greater diff --git a/site/news/libreboot20240504.md b/site/news/libreboot20240504.md index ea0d07f..3b519f6 100644 --- a/site/news/libreboot20240504.md +++ b/site/news/libreboot20240504.md @@ -15,13 +15,13 @@ operating system (e.g. Linux/BSD). It is specifically a *[coreboot distribution](../docs/maintain/)*, in the same way that Debian is a Linux distribution. It provides an automated build system to produce coreboot ROM images with a variety of payloads such as -GNU GRUB or SeaBIOS, with regular well-tested releases to make coreboot as easy +GRUB or SeaBIOS, with regular well-tested releases to make coreboot as easy to use as possible for non-technical users. From a project management perspective, this works in *exactly* the same way as a Linux distro, providing the same type of infrastructure, but for your boot firmware instead of your operating system. It makes use of [coreboot](https://www.coreboot.org/) for hardware initialisation, and then a payload such as [SeaBIOS](https://www.seabios.org/SeaBIOS) -or [GNU GRUB](https://www.gnu.org/software/grub/) to boot your operating +or [GRUB](https://www.gnu.org/software/grub/) to boot your operating system; on ARM(chromebooks), we provide *U-Boot* (as a coreboot payload). Libreboot provides many additional benefits such as fast boot speeds, greater diff --git a/site/news/libreboot20240612.md b/site/news/libreboot20240612.md index 5ef3cf5..6020bde 100644 --- a/site/news/libreboot20240612.md +++ b/site/news/libreboot20240612.md @@ -16,7 +16,7 @@ operating system (e.g. Linux/BSD). It is specifically a *[coreboot distribution](../docs/maintain/)*, in the same way that Debian is a Linux distribution. It provides an automated build system to produce coreboot ROM images with a variety of payloads such as -GNU GRUB or SeaBIOS, with regular well-tested releases to make coreboot as easy +GRUB or SeaBIOS, with regular well-tested releases to make coreboot as easy to use as possible for non-technical users. From a project management perspective, this works in *exactly* the same way as a Linux distro, providing the same type of infrastructure, but for your boot firmware instead of your operating system. diff --git a/site/news/libreboot20241008.md b/site/news/libreboot20241008.md index 9426b55..c513862 100644 --- a/site/news/libreboot20241008.md +++ b/site/news/libreboot20241008.md @@ -19,13 +19,13 @@ operating system (e.g. Linux/BSD). It is specifically a *[coreboot distribution](../docs/maintain/)*, in the same way that Debian is a Linux distribution. It provides an automated build system to produce coreboot ROM images with a variety of payloads such as -GNU GRUB or SeaBIOS, with regular well-tested releases to make coreboot as easy +GRUB or SeaBIOS, with regular well-tested releases to make coreboot as easy to use as possible for non-technical users. From a project management perspective, this works in *exactly* the same way as a Linux distro, providing a source-based package manager (called lbmk) which patches sources and compiles coreboot images. It makes use of [coreboot](https://www.coreboot.org/) for hardware initialisation, and then a payload such as [SeaBIOS](https://www.seabios.org/SeaBIOS) -or [GNU GRUB](https://www.gnu.org/software/grub/) to boot your operating +or [GRUB](https://www.gnu.org/software/grub/) to boot your operating system; on ARM(chromebooks), we provide *U-Boot* (as a coreboot payload). The changes of the recent [6th build system audit](audit6.md) are included, in @@ -450,8 +450,8 @@ The changes are as follows: where the BIOS region ends at 4MB; you would then flash the full image internally, after the fact. * Relative to audit6: Patch uefitool for musl libc. The code was making use - of `ACCESSPERMS`, which is a define in BSD libc (also available in the GNU - C Library) for use with chmod when setting 777 permission on files. The musl + of `ACCESSPERMS`, which is a define in BSD libc (also available in glibc) + for use with chmod when setting 777 permission on files. The musl libc doesn't have this, so the code was modified to explicitly define it in the same way, but only if not already defined. Useful for Alpine Linux users. * Relative to audit6: Don't dry-run `mkcorebootbin` when using the `-d` switch diff --git a/site/news/libreboot20241206.md b/site/news/libreboot20241206.md index 864c60e..a76d37c 100644 --- a/site/news/libreboot20241206.md +++ b/site/news/libreboot20241206.md @@ -30,13 +30,13 @@ operating system (e.g. Linux/BSD). It is specifically a *[coreboot distribution](../docs/maintain/)*, in the same way that Debian is a Linux distribution. It provides an automated build system to produce coreboot ROM images with a variety of payloads such as -GNU GRUB or SeaBIOS, with regular well-tested releases to make coreboot as easy +GRUB or SeaBIOS, with regular well-tested releases to make coreboot as easy to use as possible for non-technical users. From a project management perspective, this works in *exactly* the same way as a Linux distro, providing a source-based package manager (called lbmk) which patches sources and compiles coreboot images. It makes use of [coreboot](https://www.coreboot.org/) for hardware initialisation, and then a payload such as [SeaBIOS](https://www.seabios.org/SeaBIOS) -or [GNU GRUB](https://www.gnu.org/software/grub/) to boot your operating +or [GRUB](https://www.gnu.org/software/grub/) to boot your operating system; on ARM(chromebooks), we provide *U-Boot* (as a coreboot payload). U-Boot UEFI payload on x86\_64 diff --git a/site/news/libreboot20241206rev8.md b/site/news/libreboot20241206rev8.md index 8958a3b..5ee4c6e 100644 --- a/site/news/libreboot20241206rev8.md +++ b/site/news/libreboot20241206rev8.md @@ -18,13 +18,13 @@ operating system (e.g. Linux/BSD). It is specifically a *[coreboot distribution](../docs/maintain/)*, in the same way that Debian is a Linux distribution. It provides an automated build system to produce coreboot ROM images with a variety of payloads such as -GNU GRUB or SeaBIOS, with regular well-tested releases to make coreboot as easy +GRUB or SeaBIOS, with regular well-tested releases to make coreboot as easy to use as possible for non-technical users. From a project management perspective, this works in *exactly* the same way as a Linux distro, providing a source-based package manager (called lbmk) which patches sources and compiles coreboot images. It makes use of [coreboot](https://www.coreboot.org/) for hardware initialisation, and then a payload such as [SeaBIOS](https://www.seabios.org/SeaBIOS) -or [GNU GRUB](https://www.gnu.org/software/grub/) to boot your operating +or [GRUB](https://www.gnu.org/software/grub/) to boot your operating system; on ARM(chromebooks), we provide *U-Boot* (as a coreboot payload). We also provide an experimental U-Boot setup on x86, as a coreboot payload for diff --git a/site/news/policy.de.md b/site/news/policy.de.md index 87d6ac6..e7d553b 100644 --- a/site/news/policy.de.md +++ b/site/news/policy.de.md @@ -385,7 +385,7 @@ have more - for now. Let's take an extreme example: what if coreboot was entirely binary blobs for a given mainboard? Coreboot itself only initialises the hardware, and -jumps to a payload in the flash; in this case, the payload (e.g. GNU GRUB) +jumps to a payload in the flash; in this case, the payload (e.g. GRUB) would still be free software. Surely, all free firmware would be better, but this is still an improvement over the original vendor firmware. The original vendor firmware will have non-free boot firmware *and* its analog diff --git a/site/news/policy.md b/site/news/policy.md index 59f9afb..07fc728 100644 --- a/site/news/policy.md +++ b/site/news/policy.md @@ -447,7 +447,7 @@ have more - for now. Let's take an extreme example: what if coreboot was entirely binary blobs for a given mainboard? Coreboot itself only initialises the hardware, and -jumps to a payload in the flash; in this case, the payload (e.g. GNU GRUB) +jumps to a payload in the flash; in this case, the payload (e.g. GRUB) would still be free software. Surely, all free firmware would be better, but this is still an improvement over the original vendor firmware. The original vendor firmware will have non-free boot firmware *and* its analog diff --git a/site/news/policy.uk.md b/site/news/policy.uk.md index 8832709..79893a3 100644 --- a/site/news/policy.uk.md +++ b/site/news/policy.uk.md @@ -376,7 +376,7 @@ have more - for now. Let's take an extreme example: what if coreboot was entirely binary blobs for a given mainboard? Coreboot itself only initialises the hardware, and -jumps to a payload in the flash; in this case, the payload (e.g. GNU GRUB) +jumps to a payload in the flash; in this case, the payload (e.g. GRUB) would still be free software. Surely, all free firmware would be better, but this is still an improvement over the original vendor firmware. The original vendor firmware will have non-free boot firmware *and* its analog diff --git a/site/tasks/index.md b/site/tasks/index.md index f728b0e..2431691 100644 --- a/site/tasks/index.md +++ b/site/tasks/index.md @@ -405,7 +405,7 @@ the [u-root](https://github.com/u-root/u-root) project. Libreboot's current choice of coreboot payloads are: * SeaBIOS (x86 only), provides a traditional PC BIOS implementation -* GNU GRUB (x86 only), provides a multiboot implementation, can boot Linux and +* GRUB (x86 only), provides a multiboot implementation, can boot Linux and BSD. This is the preferred default payload on x86, especially for Linux distros, because it provides many security features like GPG signature checking on Linux kernels, and password protection. @@ -418,7 +418,7 @@ Libreboot's current choice of coreboot payloads are: U-Root in particular (not to be confused with U-boot has parsers in it for GRUB and Syslinux config files. GRUB also has a parser for syslinux configs. -This makes it a useful drop-in replacement for the GNU GRUB payload that +This makes it a useful drop-in replacement for the GRUB bootloader payload that Libreboot currently uses. Linux has much better drivers than GRUB, especially for things like LUKS2 and networking. @@ -1211,9 +1211,7 @@ Sanity checks ------------- We basically should have startup sanity checks in general, such as checking -whether all the right dependencies are installed on the host system - similar -to autoconf setups used by many GNU projects, though we don't want to use -autoconf, it's bloat. +whether all the right dependencies are installed on the host system. If a sanity check is passed, a configuration file can then be provided, which can be used to control how lbmk runs. For example, if a certain version of a From 97b6ffc5a0787807733cea95e868f0fc1054ccbe Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 18 Jan 2025 07:00:01 +0000 Subject: [PATCH 162/279] mention payloads on the homepage Signed-off-by: Leah Rowe --- site/index.de.md | 11 +++++++++++ site/index.fr.md | 11 +++++++++++ site/index.it.md | 11 +++++++++++ site/index.md | 11 +++++++++++ site/index.ru.md | 11 +++++++++++ site/index.uk.md | 11 +++++++++++ site/index.zh-cn.md | 11 +++++++++++ 7 files changed, 77 insertions(+) diff --git a/site/index.de.md b/site/index.de.md index f6029d3..f9e96a8 100644 --- a/site/index.de.md +++ b/site/index.de.md @@ -26,6 +26,17 @@ Minifree; sales provide funding for Libreboot. am 6 December 2024. Siehe auch: [Libreboot 20241206 release announcement](news/libreboot20241206.md).** +Libreboot provides [GRUB](docs/linux/) and SeaBIOS payloads on x86/x86\_64 +Intel/AMD mainboards, and a [U-Boot UEFI payload](docs/uboot/) *for coreboot* +on ARM64(Aarch64) mainboards. +An [x86/x86\_64 U-Boot UEFI payload](docs/uboot/uboot-x86.md) is also available +on some boards. The x86, x86\_64 and arm64 U-Boot payloads provide a lightweight +UEFI boot implementation, which can boot many Linux distros and BSD systems. +The SeaBIOS and GRUB payloads also boot Linux/BSD systems. Which one you use +depends on your preferences. Libreboot's design incorporates all of these boot +methods in a single image, so you can choose which one you use at boot time, +and more payloads (e.g. Linux kexec payload) are planned for future releases. + Warum solltest Du *Libreboot* verwenden? ---------------------------- diff --git a/site/index.fr.md b/site/index.fr.md index cc327ca..8a220b0 100644 --- a/site/index.fr.md +++ b/site/index.fr.md @@ -16,6 +16,17 @@ Leah Rowe, fondateur et principal développeur du projet Libreboot, est égaleme **NOUVELLE VERSION: La dernière version est [Libreboot 20241206](news/Libreboot20241206.md), sortie le 6 December 2024.** +Libreboot provides [GRUB](docs/linux/) and SeaBIOS payloads on x86/x86\_64 +Intel/AMD mainboards, and a [U-Boot UEFI payload](docs/uboot/) *for coreboot* +on ARM64(Aarch64) mainboards. +An [x86/x86\_64 U-Boot UEFI payload](docs/uboot/uboot-x86.md) is also available +on some boards. The x86, x86\_64 and arm64 U-Boot payloads provide a lightweight +UEFI boot implementation, which can boot many Linux distros and BSD systems. +The SeaBIOS and GRUB payloads also boot Linux/BSD systems. Which one you use +depends on your preferences. Libreboot's design incorporates all of these boot +methods in a single image, so you can choose which one you use at boot time, +and more payloads (e.g. Linux kexec payload) are planned for future releases. + Pourquoi devriez-vous utiliser *Libreboot*? ----------------------------------- diff --git a/site/index.it.md b/site/index.it.md index cd10e7b..6c934e0 100644 --- a/site/index.it.md +++ b/site/index.it.md @@ -23,6 +23,17 @@ Minifree; sales provide funding for Libreboot. **ULTIMO RILASCIO: L'ultimo rilascio e' Libreboot 20241206, rilasciato il 6 December 2024. Vedi: [Libreboot 20241206 annuncio di rilascio](news/libreboot20241206.md).** +Libreboot provides [GRUB](docs/linux/) and SeaBIOS payloads on x86/x86\_64 +Intel/AMD mainboards, and a [U-Boot UEFI payload](docs/uboot/) *for coreboot* +on ARM64(Aarch64) mainboards. +An [x86/x86\_64 U-Boot UEFI payload](docs/uboot/uboot-x86.md) is also available +on some boards. The x86, x86\_64 and arm64 U-Boot payloads provide a lightweight +UEFI boot implementation, which can boot many Linux distros and BSD systems. +The SeaBIOS and GRUB payloads also boot Linux/BSD systems. Which one you use +depends on your preferences. Libreboot's design incorporates all of these boot +methods in a single image, so you can choose which one you use at boot time, +and more payloads (e.g. Linux kexec payload) are planned for future releases. + Per quale ragione utilizzare *Libreboot*? ----------------------------------------- diff --git a/site/index.md b/site/index.md index c647d1b..689c7de 100644 --- a/site/index.md +++ b/site/index.md @@ -37,6 +37,17 @@ matters. you continue to use your hardware, with continued firmware updates. All of this is *why* Libreboot exists. +Libreboot provides [GRUB](docs/linux/) and SeaBIOS payloads on x86/x86\_64 +Intel/AMD mainboards, and a [U-Boot UEFI payload](docs/uboot/) *for coreboot* +on ARM64(Aarch64) mainboards. +An [x86/x86\_64 U-Boot UEFI payload](docs/uboot/uboot-x86.md) is also available +on some boards. The x86, x86\_64 and arm64 U-Boot payloads provide a lightweight +UEFI boot implementation, which can boot many Linux distros and BSD systems. +The SeaBIOS and GRUB payloads also boot Linux/BSD systems. Which one you use +depends on your preferences. Libreboot's design incorporates all of these boot +methods in a single image, so you can choose which one you use at boot time, +and more payloads (e.g. Linux kexec payload) are planned for future releases. + Overview of Libreboot design ============================ diff --git a/site/index.ru.md b/site/index.ru.md index baaa3aa..9dd8ed6 100644 --- a/site/index.ru.md +++ b/site/index.ru.md @@ -13,6 +13,17 @@ x-toc-enable: true *Мы* верим, что свобода [изучать, делиться, модифицировать и использовать программное обеспечение](https://writefreesoftware.org/) без каких-либо ограничений, является одним из основных человеческих прав, который должен иметь каждый. В этом контексте, *свобода программного обеспечения* важна. Ваша свобода важна. Образование важно. [Право на ремонт](https://en.wikipedia.org/wiki/Right_to_repair) важно; Libreboot позволяет вам продолжить использовать ваше оборудование. Вот *почему* Libreboot существует. +Libreboot provides [GRUB](docs/linux/) and SeaBIOS payloads on x86/x86\_64 +Intel/AMD mainboards, and a [U-Boot UEFI payload](docs/uboot/) *for coreboot* +on ARM64(Aarch64) mainboards. +An [x86/x86\_64 U-Boot UEFI payload](docs/uboot/uboot-x86.md) is also available +on some boards. The x86, x86\_64 and arm64 U-Boot payloads provide a lightweight +UEFI boot implementation, which can boot many Linux distros and BSD systems. +The SeaBIOS and GRUB payloads also boot Linux/BSD systems. Which one you use +depends on your preferences. Libreboot's design incorporates all of these boot +methods in a single image, so you can choose which one you use at boot time, +and more payloads (e.g. Linux kexec payload) are planned for future releases. + Обзор устройства Libreboot ============================ diff --git a/site/index.uk.md b/site/index.uk.md index a337fad..1ab6118 100644 --- a/site/index.uk.md +++ b/site/index.uk.md @@ -24,6 +24,17 @@ Minifree; sales provide funding for Libreboot. **НОВИЙ ВИПУСК: Останній випуск Libreboot 20241206, випущено 6 December 2024. Дивіться: [Оголошення про випуск Libreboot 20241206](news/libreboot20241206.md).** +Libreboot provides [GRUB](docs/linux/) and SeaBIOS payloads on x86/x86\_64 +Intel/AMD mainboards, and a [U-Boot UEFI payload](docs/uboot/) *for coreboot* +on ARM64(Aarch64) mainboards. +An [x86/x86\_64 U-Boot UEFI payload](docs/uboot/uboot-x86.md) is also available +on some boards. The x86, x86\_64 and arm64 U-Boot payloads provide a lightweight +UEFI boot implementation, which can boot many Linux distros and BSD systems. +The SeaBIOS and GRUB payloads also boot Linux/BSD systems. Which one you use +depends on your preferences. Libreboot's design incorporates all of these boot +methods in a single image, so you can choose which one you use at boot time, +and more payloads (e.g. Linux kexec payload) are planned for future releases. + Чому вам варто використовувати *Libreboot*? ---------------------------- diff --git a/site/index.zh-cn.md b/site/index.zh-cn.md index 20b4dc6..ac0bac5 100644 --- a/site/index.zh-cn.md +++ b/site/index.zh-cn.md @@ -14,6 +14,17 @@ Libreboot 的创始人和主要开发者,Leah Rowe,也是 Minifree 的所有 **新版发布: 最新版本 Libreboot 20241206 已在 2024 年 12 月 06 日发布。详见: [Libreboot 20241206 发布公告](news/libreboot20241206.md).** +Libreboot provides [GRUB](docs/linux/) and SeaBIOS payloads on x86/x86\_64 +Intel/AMD mainboards, and a [U-Boot UEFI payload](docs/uboot/) *for coreboot* +on ARM64(Aarch64) mainboards. +An [x86/x86\_64 U-Boot UEFI payload](docs/uboot/uboot-x86.md) is also available +on some boards. The x86, x86\_64 and arm64 U-Boot payloads provide a lightweight +UEFI boot implementation, which can boot many Linux distros and BSD systems. +The SeaBIOS and GRUB payloads also boot Linux/BSD systems. Which one you use +depends on your preferences. Libreboot's design incorporates all of these boot +methods in a single image, so you can choose which one you use at boot time, +and more payloads (e.g. Linux kexec payload) are planned for future releases. + 为什么要使用 *Libreboot*? ---------------------------- From 7f16d5cc66df5076bcf6313c57eeda2a30ebc2e3 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 18 Jan 2025 07:58:19 +0000 Subject: [PATCH 163/279] english homepage: shorten the payloads section also merge it into the "design overview" section Signed-off-by: Leah Rowe --- site/index.md | 27 ++++++++++----------------- 1 file changed, 10 insertions(+), 17 deletions(-) diff --git a/site/index.md b/site/index.md index 689c7de..8737dc8 100644 --- a/site/index.md +++ b/site/index.md @@ -37,17 +37,6 @@ matters. you continue to use your hardware, with continued firmware updates. All of this is *why* Libreboot exists. -Libreboot provides [GRUB](docs/linux/) and SeaBIOS payloads on x86/x86\_64 -Intel/AMD mainboards, and a [U-Boot UEFI payload](docs/uboot/) *for coreboot* -on ARM64(Aarch64) mainboards. -An [x86/x86\_64 U-Boot UEFI payload](docs/uboot/uboot-x86.md) is also available -on some boards. The x86, x86\_64 and arm64 U-Boot payloads provide a lightweight -UEFI boot implementation, which can boot many Linux distros and BSD systems. -The SeaBIOS and GRUB payloads also boot Linux/BSD systems. Which one you use -depends on your preferences. Libreboot's design incorporates all of these boot -methods in a single image, so you can choose which one you use at boot time, -and more payloads (e.g. Linux kexec payload) are planned for future releases. - Overview of Libreboot design ============================ @@ -56,12 +45,16 @@ Overview of Libreboot design Libreboot provides [coreboot](https://coreboot.org/) for [machine initialisation](https://doc.coreboot.org/getting_started/architecture.html), which then jumps to a [payload](https://doc.coreboot.org/payloads.html) in -the boot flash; coreboot works with many payloads, but Libreboot specifically -provides SeaBIOS, GRUB and U-Boot as options. Memtest86+ is also provided -in flash, on some mainboards. The payload is the program in flash that provides -the early user interface, for booting an operating system. This *payload* -infrastructure means you can run whatever you want (even Linux!) from the -boot flash. +the boot flash; coreboot works with many payloads, which boot your operating +system e.g. Linux/BSD. + +Libreboot provides [GRUB](docs/linux/) and SeaBIOS payloads on x86/x86\_64 +Intel/AMD mainboards, and a [U-Boot UEFI payload](docs/uboot/) *for coreboot* +on ARM64(Aarch64) mainboards. +An [x86/x86\_64 U-Boot UEFI payload](docs/uboot/uboot-x86.md) is also available +on some boards. The x86, x86\_64 and arm64 U-Boot payloads provide a lightweight +UEFI boot implementation. Libreboot's [design](docs/maintain/) incorporates all +of these payloads in a single image, and you choose one at boot time. Libreboot makes coreboot easy to use for non-technical users, by providing a [fully automated build From c5ad70955ddba71047bd0ce4d6b4d39d221ead4b Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 18 Jan 2025 08:10:01 +0000 Subject: [PATCH 164/279] homepage: make "binary releases" a download link Signed-off-by: Leah Rowe --- site/index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/site/index.md b/site/index.md index 8737dc8..d723f7a 100644 --- a/site/index.md +++ b/site/index.md @@ -60,9 +60,9 @@ Libreboot makes coreboot easy to use for non-technical users, by providing a [fully automated build system](docs/maintain/), [automated build process](docs/build/) and [user-friendly installation instructions](docs/install/), in addition to -regular binary releases that provide pre-compiled ROM images for installation -on supported hardware. Without automation such as that provided by Libreboot, -coreboot would be inaccessible for most users; you can also +regular [binary releases](download.md) that provide pre-compiled ROM images for +installation on supported hardware. Without automation such as that provided by +Libreboot, coreboot would be inaccessible for most users; you can also still [reconfigure](docs/maintain/) Libreboot however you wish. Why use Libreboot? From b356cc30409b3bc4f6c76fe3200c0d694d31b176 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 19 Jan 2025 00:20:31 +0000 Subject: [PATCH 165/279] template stuff Signed-off-by: Leah Rowe --- site/template.de.include | 4 +++- site/template.include | 4 +++- site/template.it.include | 4 +++- site/template.uk.include | 4 +++- site/template.zh-cn.include | 4 +++- 5 files changed, 15 insertions(+), 5 deletions(-) diff --git a/site/template.de.include b/site/template.de.include index f22f8e9..d702647 100644 --- a/site/template.de.include +++ b/site/template.de.include @@ -1,7 +1,9 @@ - + + + diff --git a/site/template.include b/site/template.include index 0960f47..d848bc0 100644 --- a/site/template.include +++ b/site/template.include @@ -1,7 +1,9 @@ - + + + diff --git a/site/template.it.include b/site/template.it.include index 5c3cafd..de397c5 100644 --- a/site/template.it.include +++ b/site/template.it.include @@ -1,7 +1,9 @@ - + + + diff --git a/site/template.uk.include b/site/template.uk.include index 7ff3016..eff0dc2 100644 --- a/site/template.uk.include +++ b/site/template.uk.include @@ -1,7 +1,9 @@ - + + + diff --git a/site/template.zh-cn.include b/site/template.zh-cn.include index 2b614cd..0a79925 100644 --- a/site/template.zh-cn.include +++ b/site/template.zh-cn.include @@ -1,7 +1,9 @@ - + + + From 759616ba96ee89c1a1be3c9290eaf57106b3c573 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 19 Jan 2025 00:54:06 +0000 Subject: [PATCH 166/279] robots sitemap file Signed-off-by: Leah Rowe --- .gitignore | 1 + site/robots.txt | 1 + 2 files changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 7454e90..53e5469 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ *.html /site/news/index* /site/sitemap.md +/site/sitemap.xml /site/push *feed.xml *.sha1sum diff --git a/site/robots.txt b/site/robots.txt index eb05362..53a1aad 100644 --- a/site/robots.txt +++ b/site/robots.txt @@ -1,2 +1,3 @@ +Sitemap: https://libreboot.org/sitemap.xml User-agent: * Disallow: From 1ba45bf5e5e23bf766b52c4a585761be2c388faa Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 19 Jan 2025 01:21:00 +0000 Subject: [PATCH 167/279] show canon links on pages Signed-off-by: Leah Rowe --- site/template.de.include | 2 ++ site/template.include | 2 ++ site/template.it.include | 2 ++ site/template.uk.include | 2 ++ site/template.zh-cn.include | 2 ++ 5 files changed, 10 insertions(+) diff --git a/site/template.de.include b/site/template.de.include index d702647..33c1340 100644 --- a/site/template.de.include +++ b/site/template.de.include @@ -7,6 +7,8 @@ + + diff --git a/site/template.include b/site/template.include index d848bc0..cc0ef98 100644 --- a/site/template.include +++ b/site/template.include @@ -7,6 +7,8 @@ + + diff --git a/site/template.it.include b/site/template.it.include index de397c5..8d831eb 100644 --- a/site/template.it.include +++ b/site/template.it.include @@ -7,6 +7,8 @@ + + diff --git a/site/template.uk.include b/site/template.uk.include index eff0dc2..f77477d 100644 --- a/site/template.uk.include +++ b/site/template.uk.include @@ -7,6 +7,8 @@ + + diff --git a/site/template.zh-cn.include b/site/template.zh-cn.include index 0a79925..fb7c740 100644 --- a/site/template.zh-cn.include +++ b/site/template.zh-cn.include @@ -7,6 +7,8 @@ + + From 9a2da14a2e5859da8781e88dda72b556a5e92880 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 19 Jan 2025 18:02:33 +0000 Subject: [PATCH 168/279] general audit / cleanup Signed-off-by: Leah Rowe --- site/contact.de.md | 18 +- site/contact.fr.md | 19 +- site/contact.it.md | 22 +- site/contact.md | 18 +- site/contact.ru.md | 20 +- site/contact.uk.md | 18 +- site/contrib.md | 186 +++++-------- site/docs/bsd/index.md | 214 +++++++++++---- site/docs/build/index.md | 53 ++-- site/docs/build/index.uk.md | 46 ++-- site/docs/grub/index.md | 10 +- site/docs/index.md | 14 +- site/docs/index.uk.md | 10 +- site/docs/index.zh-cn.md | 10 +- site/docs/install/c201.md | 26 +- site/docs/install/chromebooks.md | 42 +-- site/docs/install/d945gclf.md | 22 +- site/docs/install/deguard.md | 52 +++- site/docs/install/dell3050.md | 55 ++-- site/docs/install/dell7010.md | 37 +-- site/docs/install/dell780.md | 38 +-- site/docs/install/dell9020.md | 49 ++-- site/docs/install/devmem.md | 10 +- site/docs/install/ga-g41m-es2l.md | 18 +- site/docs/install/hp2170p.md | 34 +-- site/docs/install/hp2560p.md | 11 +- site/docs/install/hp2570p.md | 13 +- site/docs/install/hp8200sff.md | 31 ++- site/docs/install/hp820g2.md | 28 +- site/docs/install/hp8300usdt.md | 33 ++- site/docs/install/hp8460p.md | 34 +-- site/docs/install/hp8470p.md | 29 +- site/docs/install/hp8560w.md | 31 ++- site/docs/install/hp9470m.md | 22 +- site/docs/install/ich9utils.md | 15 +- site/docs/install/index.md | 166 +++++------- site/docs/install/ivy_has_common.md | 37 +-- site/docs/install/ivy_internal.md | 17 +- site/docs/install/kcma-d8.md | 30 ++- site/docs/install/kfsn4-dre.md | 26 +- site/docs/install/kgpe-d16.md | 25 +- site/docs/install/latitude.md | 46 ++-- site/docs/install/mac_address.md | 22 +- site/docs/install/macbook21.md | 44 ++-- site/docs/install/nvmutil.md | 112 ++++---- site/docs/install/nvmutilimport.md | 40 ++- site/docs/install/playstation.md | 36 ++- site/docs/install/r400.md | 53 ++-- site/docs/install/spi.md | 250 ++++++++++++------ site/docs/install/spi.zh-cn.md | 128 ++++----- site/docs/install/spi_generic.md | 17 +- site/docs/install/t1650.md | 38 +-- site/docs/install/t400.md | 54 ++-- site/docs/install/t420_external.md | 16 +- site/docs/install/t440p_external.md | 34 +-- site/docs/install/t480.md | 141 +++++----- site/docs/install/t500.md | 58 ++-- site/docs/install/t60_unbrick.md | 8 + site/docs/install/w541_external.md | 33 ++- site/docs/install/x200.md | 54 ++-- site/docs/install/x200.uk.md | 33 +-- site/docs/install/x230_external.md | 7 + site/docs/install/x60_unbrick.md | 9 +- site/docs/install/x60tablet_unbrick.md | 9 +- site/docs/linux/grub_boot_installer.md | 43 ++- site/docs/linux/grub_cbfs.md | 41 +-- site/docs/linux/grub_hardening.md | 97 +++++-- site/docs/linux/index.md | 100 +++---- site/docs/maintain/index.md | 299 +++++++++------------ site/docs/maintain/porting.md | 18 +- site/docs/maintain/porting.uk.md | 8 +- site/docs/maintain/style.md | 57 ++-- site/docs/maintain/testing.md | 12 +- site/docs/maintain/testing.uk.md | 18 +- site/docs/misc/codenames.md | 8 +- site/docs/misc/emulation.md | 8 +- site/docs/misc/index.md | 13 +- site/docs/uboot/index.md | 23 +- site/docs/uboot/uboot-archlinux.md | 33 ++- site/docs/uboot/uboot-debian-bookworm.md | 15 +- site/docs/uboot/uboot-openbsd.md | 8 +- site/docs/uboot/uboot-x86.md | 32 +-- site/download.md | 2 +- site/faq.md | 114 ++++---- site/faq.uk.md | 133 ++++------ site/freedom-status.md | 63 ++--- site/freedom-status.uk.md | 60 ++--- site/git.de.md | 29 +- site/git.md | 31 +-- site/git.uk.md | 29 +- site/index.md | 14 +- site/index.ru.md | 12 +- site/news/10.md | 150 +++++------ site/news/argon2.md | 18 +- site/news/argon2.uk.md | 16 +- site/news/audit.md | 20 +- site/news/audit2.md | 4 +- site/news/audit3.md | 7 +- site/news/audit4.md | 9 +- site/news/audit5.md | 26 +- site/news/audit6.md | 28 +- site/news/codeberg.md | 16 +- site/news/e6400.md | 13 +- site/news/e6400.uk.md | 11 +- site/news/e6400nvidia.md | 19 +- site/news/fam15h.md | 10 +- site/news/gm45microcode.md | 10 +- site/news/hp2170p.md | 15 +- site/news/hp8200sff.md | 13 +- site/news/hp8200sff.uk.md | 11 +- site/news/hp820g2.md | 6 +- site/news/hp8470p_and_dell_t1650.md | 15 +- site/news/hp_elitebooks.md | 7 +- site/news/kgpe-d16.md | 7 +- site/news/libreboot20131212.md | 8 +- site/news/libreboot20131213.md | 8 +- site/news/libreboot20131214.md | 8 +- site/news/libreboot20140622.md | 14 +- site/news/libreboot20140911.md | 14 +- site/news/libreboot20141015.md | 5 +- site/news/libreboot20150124.md | 5 +- site/news/libreboot20150126.md | 5 +- site/news/libreboot20150208.md | 5 +- site/news/libreboot20210522.md | 83 +++--- site/news/libreboot20211122.md | 7 +- site/news/libreboot20220710.md | 22 +- site/news/libreboot20221214.md | 72 ++--- site/news/libreboot20230319.md | 107 +------- site/news/libreboot20230413.md | 26 +- site/news/libreboot20230423.md | 27 +- site/news/libreboot20230625.md | 33 +-- site/news/libreboot20231021.md | 53 ++-- site/news/libreboot20231101.md | 26 +- site/news/libreboot20231106.md | 32 +-- site/news/libreboot20240126.md | 27 +- site/news/libreboot20240225.md | 26 +- site/news/libreboot20240504.md | 18 +- site/news/libreboot20240612.md | 43 ++- site/news/libreboot20241008.md | 55 ++-- site/news/libreboot20241206.md | 29 +- site/news/libreboot20241206rev8.md | 37 +-- site/news/microcode.md | 12 +- site/news/policy.de.md | 21 +- site/news/policy.md | 25 +- site/news/policy.uk.md | 21 +- site/news/ports202402.md | 6 +- site/news/safety.md | 17 +- site/news/schedule.md | 23 +- site/news/translations.de.md | 5 +- site/news/translations.md | 9 +- site/news/update202308.md | 19 +- site/news/usa-libre-part2.md | 12 +- site/news/usa-libre-part3.md | 16 +- site/news/usa-libre.md | 25 +- site/other.md | 28 +- site/tasks/index.md | 322 ++++++++++------------- site/template.de.include | 2 +- site/template.include | 2 +- site/template.it.include | 2 +- site/template.uk.include | 2 +- site/template.zh-cn.include | 2 +- 161 files changed, 2819 insertions(+), 3129 deletions(-) diff --git a/site/contact.de.md b/site/contact.de.md index e6af723..8290a4a 100644 --- a/site/contact.de.md +++ b/site/contact.de.md @@ -4,7 +4,7 @@ x-toc-enable: true ... Buy Libreboot pre-installed -========== +-------------------- If you want professional installation, Minifree Ltd sells [Libreboot pre-installed](https://minifree.org/) on select hardware, and it also provides @@ -18,13 +18,13 @@ If you're installing Libreboot yourself, support for that is also available. Contact information (IRC, mailing list etc) is below: User support -============ +------------ IRC oder Reddit werden bevorzugt, sofern Du eine Support Anfrage hast (IRC empfohlen). Für Informationen bzgl. IRC and Reddit siehe unten. Mailing list -============ +------------ Libreboot has this mailing list: @@ -32,7 +32,7 @@ Libreboot has this mailing list: The email address is [~libreboot/libreboot@lists.sr.ht](mailto:~libreboot/libreboot@lists.sr.ht) Entwicklungs Diskussion -====================== +--------------------- Siehe unter [der Git Seite](git.md) für Informationen wie Du dich an der Entwicklung beteiligen kannst. @@ -40,7 +40,7 @@ Siehe unter Hier finden sich ebenso Anleitungen zum Senden von Patches (via Pull-Requests). IRC Chatraum -============ +------------- IRC ist hauptsächlich der Weg um Kontakt Libreboot Projekt aufzunehmen. `#libreboot` auf Libera IRC. @@ -71,12 +71,11 @@ Website erläutern wie dies funktioniert: Grundsätzlich solltest Du die Dokumentation der von Dir verwendeten IRC Software konsultieren. Soziale Medien -============ +----------------- Libreboot existiert offiziell an vielen Orten. -Mastodon --------- +### Mastodon Gründerin und Haupt-Entwicklerin, Leah Rowe, ist auf Mastodon: @@ -85,8 +84,7 @@ Gründerin und Haupt-Entwicklerin, Leah Rowe, ist auf Mastodon: Leah kann zudem unter dieser eMail kontaktiert werden: [leah@libreboot.org](mailto:leah@libreboot.org) -Reddit ------- +### Reddit Hauptsächlich verwendet als Support Kanal und für Veröffentlichung von Neuigkeiten: diff --git a/site/contact.fr.md b/site/contact.fr.md index e15a042..c524dd3 100644 --- a/site/contact.fr.md +++ b/site/contact.fr.md @@ -4,7 +4,7 @@ x-toc-enable: true ... Où acheter du matériel avec Libreboot pré-installé -========== +--------------------------------------------- Si vous souhaitez une installation professionnelle, Minifree Ltd vend des ordinateurs avec [Libreboot pré-installé](https://minifree.org/). L'entreprise propose également [un service d'installation de Libreboot](https://minifree.org/product/installation-service/) si vous voulez l'installer sur votre propre machine. @@ -14,25 +14,26 @@ Si vous installez Libreboot vous-même, un support est disponible via différent Suport utilisateur -============ +------------------ IRC et Reddit sont recommandés pour demander de l'aide (IRC est à privilégier) : Mail -============ +---- Libreboot dispose d'une liste de diffusion : L'adresse mail est [~libreboot/libreboot@lists.sr.ht](mailto:~libreboot/libreboot@lists.sr.ht) Discussion sur le developpement -====================== +------------------------------- Pour participer au développement, consultez la pag [GIT](git.md) du projet. Vous y trouverez des instructions détaillées sur l'envoi de patchs via pull request. IRC chatroom -============ +------------ + Le chat IRC est le principal moyen de contact pour le projet Libreboot via `#libreboot` sur Libera IRC. Webchat: @@ -59,12 +60,11 @@ De manière générale, reportez-vous à la documentation de votre logiciel IRC. Réseaux sociaux -============ +--------------- Libreboot existe officiellement sur différents réseaux sociaux. -Mastodon --------- +### Mastodon Le fondateur et principal developpeur, Leah Rowe, est sur Mastodon: @@ -73,8 +73,7 @@ Le fondateur et principal developpeur, Leah Rowe, est sur Mastodon: Leah peut également être contacté par mail : [leah@libreboot.org](mailto:leah@libreboot.org) -Reddit ------- +### Reddit Généralement utilisé pour le support mais aussi pour l'annonces des dernières nouveautés : diff --git a/site/contact.it.md b/site/contact.it.md index e63e62d..09b84c7 100644 --- a/site/contact.it.md +++ b/site/contact.it.md @@ -4,7 +4,7 @@ x-toc-enable: true ... Buy Libreboot pre-installed -========== +--------------------------- If you want professional installation, Minifree Ltd sells [Libreboot pre-installed](https://minifree.org/) on select hardware, and it also provides @@ -18,14 +18,14 @@ If you're installing Libreboot yourself, support for that is also available. Contact information (IRC, mailing list etc) is below: Supporto utenti -=============== +--------------- IRC o Reddit sono consigliati, sebbene preferiamo che usi il canale IRC per avere o per offrire supporto tecnico. Continua a leggere per avere ulteriori informazioni. Mailing list -============ +------------ Libreboot has this mailing list: @@ -33,7 +33,7 @@ Libreboot has this mailing list: The email address is [~libreboot/libreboot@lists.sr.ht](mailto:~libreboot/libreboot@lists.sr.ht) Discussione sullo sviluppo -========================== +-------------------------- Per ora dai un occhiata sulla [pagina Git](git.md) per avere maggiori informazioni su come puoi @@ -43,7 +43,7 @@ Su quella stessa pagina puoi trovare informazioni su come inviare correzioni (patches) tramite pull requests. Canale IRC -========== +---------- IRC e' il modo principale per contattare chi collabora con il progetto libreboot. Il canale ufficiale e' `#libreboot` su Libera IRC. @@ -73,26 +73,22 @@ di Libera spiegano come: Comunque dovresti sempre controllare la documentazione del tuo client IRC preferito. Reti sociali online -=================== +------------------- Libreboot esiste ufficialmente in molte piattaforme. -Mastodon --------- +### Mastodon Il fondatore e sviluppatore principale, Leah Rowe, e' su Mastodon: * -Posta elettronica ------------------ +### Posta elettronica Leah puo' essere contattata anche via email a questo indirizzo: [leah@libreboot.org](mailto:leah@libreboot.org) -Reddit ------- +### Reddit Usato principalmente come canale di supporto e per annunciare notizie: - diff --git a/site/contact.md b/site/contact.md index 6b418a9..69122dd 100644 --- a/site/contact.md +++ b/site/contact.md @@ -4,7 +4,7 @@ x-toc-enable: true ... Buy Libreboot pre-installed -========== +-------------------------- If you want professional installation, Minifree Ltd sells [Libreboot pre-installed](https://minifree.org/) on select hardware, and it also provides @@ -18,13 +18,13 @@ If you're installing Libreboot yourself, support for that is also available. Contact information (IRC, mailing list etc) is below: User support -============ +------------- IRC or Reddit are recommended, if you wish to ask for support (IRC recommended). See below for information about IRC and Reddit. Mailing list -============ +------------ Libreboot has this mailing list: @@ -32,7 +32,7 @@ Libreboot has this mailing list: The email address is [~libreboot/libreboot@lists.sr.ht](mailto:~libreboot/libreboot@lists.sr.ht) Development discussion -====================== +-------------------- See notes on [the Git page](git.md) for information about how to assist with development. @@ -40,7 +40,7 @@ on [the Git page](git.md) for information about how to assist with development. Instructions are also on that page for sending patches (via pull requests). IRC chatroom -============ +------------- IRC is the main way to contact the libreboot project. `#libreboot` on Libera IRC. @@ -71,12 +71,11 @@ website tells you how: In general, you should check the documentation provided by your IRC software. Social media -============ +------------- libreboot exists officially on many places. -Mastodon --------- +### Mastodon The founder and lead developer, Leah Rowe, is on Mastodon: @@ -85,8 +84,7 @@ The founder and lead developer, Leah Rowe, is on Mastodon: Leah can also be contacted by this email address: [leah@libreboot.org](mailto:leah@libreboot.org) -Reddit ------- +### Reddit Mostly used as a support channel, and also for news announcements: diff --git a/site/contact.ru.md b/site/contact.ru.md index 542cc80..ee0d113 100644 --- a/site/contact.ru.md +++ b/site/contact.ru.md @@ -4,7 +4,7 @@ x-toc-enable: true ... Купите Libreboot предустановленным -================================== +---------------------------------- Если вы хотите, чтобы профессионал установил Libreboot для вас, то Minifree Ltd продает [Libreboot предустановленным](https://minifree.org/) на определенном оборудование, и также предоставляет сервис по [установке Libreboot](https://minifree.org/product/installation-service/) на ваши машины. @@ -13,26 +13,26 @@ x-toc-enable: true Если вы самостоятельно устанавливаете Libreboot, вы можете получить поддержку: Поддержка пользователей -======================= +----------------------- IRC и Reddit предпочительнее, если вы хотите попросить помощи (IRC рекомендуется). Информация об IRC и Reddit ниже. Почтовая рассылка -================= +----------------- У Libreboot есть своя почтовая рассылка: Адрес электронной почты: [~libreboot/libreboot@lists.sr.ht](mailto:~libreboot/libreboot@lists.sr.ht) Обсуждение разработки -===================== +--------------------- Смотрите [страницу по Git](git.md) для того, чтобы узнать, как помогать с разработкой Libreboot. На этой странице также содержаться инструкции, как отправлять патчи (с помощью pull request). Чат в IRC -========== +--------- IRC - главный метод связи с проектом Libreboot. `#libreboot` на Libera IRC. @@ -59,10 +59,9 @@ Libera - самая большая сеть IRC, используемая для В общем, вы должны проверить документацию вашего клиента для IRC. Социальные сети -=============== +--------------- -Mastodon --------- +### Mastodon Основатель и велущий разработчик, Лия Роу, есть на Mastodon: @@ -71,8 +70,7 @@ Mastodon Связаться с Лией также можно и по этому адресу электронной почты: [leah@libreboot.org](mailto:leah@libreboot.org) -Reddit ------- +### Reddit Чаще всего используется для поддержки пользователей, а также для новостей и анонсов: - \ No newline at end of file + diff --git a/site/contact.uk.md b/site/contact.uk.md index 79d8a28..759e6a4 100644 --- a/site/contact.uk.md +++ b/site/contact.uk.md @@ -4,7 +4,7 @@ x-toc-enable: true ... Buy Libreboot pre-installed -========== +--------------------------- If you want professional installation, Minifree Ltd sells [Libreboot pre-installed](https://minifree.org/) on select hardware, and it also provides @@ -18,13 +18,13 @@ If you're installing Libreboot yourself, support for that is also available. Contact information (IRC, mailing list etc) is below: Підтримка користувачів -============ +---------------------- IRC або Reddit рекомендовані, якщо ви бажаєте попросити про допомогу (найкраще IRC). Дивіться інформацію нижче щодо IRC та Reddit. Mailing list -============ +------------ Libreboot has this mailing list: @@ -32,7 +32,7 @@ Libreboot has this mailing list: The email address is [~libreboot/libreboot@lists.sr.ht](mailto:~libreboot/libreboot@lists.sr.ht) Обговорення розробки -====================== +-------------------- Зараз, подивіться нотатки на [сторінці Git](git.md) для інформації щодо допомоги з розробкою. @@ -40,7 +40,7 @@ The email address is [~libreboot/libreboot@lists.sr.ht](mailto:~libreboot/libreb На цій сторінці також знаходяться інструкції по відправці патчів (через pull request'и). Кімната IRC -============ +----------- IRC це головний спосіб зв'язку з проектом Libreboot. `#libreboot` на Libera IRC. @@ -71,12 +71,11 @@ Libera є однією з найбільших мереж IRC, використ Взагалі, вам варто перевірити документацію, яка передбачена вашою програмою IRC. Соціальні мережі -============ +---------------- Libreboot офіційно існує в багатьох місцях. -Mastodon --------------------- +### Mastodon Засновник та головний розробник, Лія Роу, є в Mastodon: @@ -85,8 +84,7 @@ Mastodon Також можливо зв'язатися з Лією за ії електронною адресою: [leah@libreboot.org](mailto:leah@libreboot.org) -Reddit ------- +### Reddit Найбільше використовується як канал підтримки, та також для оголошення новин: diff --git a/site/contrib.md b/site/contrib.md index 1aaf97d..c9f3872 100644 --- a/site/contrib.md +++ b/site/contrib.md @@ -43,10 +43,9 @@ who help me, and those who work on all the upstream projects that I use in Libreboot. I regularly work with all sorts of people. External projects -================= +----------------- -Coreboot project ----------------- +### Coreboot project Without coreboot, the libreboot project simply would not be possible. @@ -54,35 +53,36 @@ The people and companies that work on coreboot are numerous, and they make the libreboot project what it is. The libreboot project makes heavy use of coreboot, to provide hardware initialization. -GRUB --------- +### GRUB GRUB is the bootloader used by libreboot. It goes without saying that the GRUB developers enable libreboot, through their work. -SeaBIOS -------- +### SeaBIOS The libreboot firmware provides SeaBIOS as a payload option. SeaBIOS provides a legacy x86 BIOS implementation. -U-Boot ------- +### U-Boot Libreboot uses U-Boot as the coreboot payload on supported ARM Chromebooks. -Contributors in alphabetical order -================================== +### Flashprog -Alexei Sorokin --------------- +Libreboot uses Nico Huber's *flashprog* to provide flashing on all boards; +without this code, you would not be able to install Libreboot in freedom, +because other NOR flashing tools are typically proprietary (and not as good). + +Contributors in alphabetical order +------------------------------ + +### Alexei Sorokin Sent minor fixes to lbmk; improved sha512sum verification on images, config improvements e.g. hide MEI device where neutered ME is used. General improvements and tweaks. -Alper Nebi Yasak ----------------- +### Alper Nebi Yasak Contributed the build system integration and documentation for using U-Boot as payload, and initial Libreboot ports of some ARM Chromebooks @@ -91,8 +91,7 @@ based on that. Alper also does upstream development on U-Boot, e.g. continued an almost complete port of the `gru-kevin` board and got it merged upstream. -Alyssa Rosenzweig ------------------ +### Alyssa Rosenzweig Switched the website to use markdown in lieu of handwritten HTML and custom PHP. **Former libreboot project maintainer (sysadmin for libreboot.org).** @@ -105,14 +104,12 @@ now been heavily modified and forked into a formal project, by Leah Rowe: Alyssa's original work on the static site generator that Libreboot used to use; the Libreboot website is now built with Untitled) -Andrea Perotti --------------- +### Andrea Perotti Sent several small fixes to Libreboot's dependencies scripts for Debian, Fedora and Ubuntu distros. -Andrew Robbins --------------- +### Andrew Robbins Worked on large parts of Libreboot's old build system and related documentation. Andrew joined the Libreboot project as a full time developer during June 2017, @@ -132,8 +129,7 @@ over the years. Anyone who contributes to Libreboot is a hero. Look at the old Libreboot repository on [notabug](https://notabug.org/libreboot) to find his contributions. -Angel Pons ----------- +### Angel Pons Angel is a coreboot developer. Their contributions are numerous, in that and many other projects. Countless patches in coreboot from them have enabled @@ -149,13 +145,11 @@ such a configuration, since these are Haswell machines. Over 2000 commits in coreboot were written by Angel, as of January 2025. They are one of coreboot's most active developers. -Arsen Arsenović ---------------- +### Arsen Arsenović Added the config for ThinkPad T430 to Libreboot. -Arthur Heymans --------------- +### Arthur Heymans Merged a patch from coreboot into libreboot, enabling C3 and C4 power states to work correctly on GM45 laptops. This was a long-standing issue @@ -168,14 +162,12 @@ project. He still works on coreboot, to this day, and Libreboot greatly benefits from his work. His contributions to the coreboot project, and Libreboot, are invaluable. -Ben Westover ------------- +### Ben Westover Added info about internal flashing for Dell OptiPlex 9020, in the Libreboot documentation. -Caleb La Grange ---------------- +### Caleb La Grange Caleb contributed heavily to the Libreboot build system, and even implemented the first version of @@ -213,13 +205,11 @@ Caleb has also been a good friend to me, Leah, and provided a lot of advice during the osboot merger. I avoided a lot of stupid mistakes because of his advice. -Canberk TURAN -------------- +### Canberk TURAN Added Turkish Q keyboard layout to Libreboot's GRUB payload. -Damien Zammit -------------- +### Damien Zammit Maintains the Gigabyte GA-G41M-ES2L coreboot port, which is integrated in libreboot. Also works on other hardware for the benefit of the @@ -229,13 +219,11 @@ Damien didn't work directly on Libreboot itself, but he worked heavily with Leah Rowe, integrating patches and new board ports into Libreboot, based on Damien's upstream work on coreboot. -Daniil Prokofev ---------------- +### Daniil Prokofev Translated several Libreboot website pages into the Russian language. -Denis Carikli -------------- +### Denis Carikli Based on the work done by Peter Stuge, Vladimir Serbinenko and others in the coreboot project, got native graphics initialization to work on the @@ -258,8 +246,7 @@ earlier work. Very cool guy!!! -Eason aka ezntek ----------------- +### Eason aka ezntek Sent a SOIC8 photo for Raspberry Pi Pico pinout, where previously only SOIC16 info existed. Also added info about `thinkpad_acpi` Linux kernel module for @@ -283,8 +270,7 @@ which helped to spread the news about the work. Absolute legend. One of Libreboot's many great champions. -E. Blåsten --------------- +### E. Blåsten Documented several quirks of the MacBook2,1 and ThinkPad X200T, such as swivel/rotation on X200T, and various alt keys on the MacBook to make it more @@ -293,8 +279,7 @@ usable with Linux, when used on Libreboot. Also helped me (Leah) in a very fundamental way, in 2018. The help I got enabled me to be who I am today. -Fedja Beader -------------- +### Fedja Beader Wrote several guides for Libreboot, including the original version of the GRUB hardening guide. Wrote the info about the Linux kernel panic/netconsole @@ -304,8 +289,7 @@ Also sent some small fixes to Libreboot's GRUB configuration, enabling USB devices to boot more reliably. Also improved Libreboot's documentation pertaining to Full Disk Encryption. -Ferass El Hafidi ------------------ +### Ferass El Hafidi Added cstate 3 support on macbook21, enabling higher battery life and cooler CPU temperatures on idle usage. @@ -320,31 +304,26 @@ Libreboot. This is IRC nick `f_` on Libreboot IRC. Cool guy! -hslick ------- +### hslick Documented Arch Linux ARM installation on ARM64 U-Boot targets. -Integral --------- +### Integral Translated the Libreboot home page into Chinese language. -Jason Lenz ----------- +### Jason Lenz Sent instructions for installing Debian Linux on ARM64-based chromebooks with Libreboot and Alper's U-Boot ARM64 payload. -Jeroen Quint ------------- +### Jeroen Quint Contributed several fixes to the libreboot documentation, relating to installing on Arch-based systems with full disk encryption on libreboot systems. -John Doe --------- +### John Doe This person never gave their name, but they sent two patches: @@ -356,8 +335,7 @@ This person never gave their name, but they sent two patches: Every contribution is appreciated. Every contributor gets their own entry in the Libreboot Hall of Fame. -Joshua Gay ----------- +### Joshua Gay Joshua was in a position during 2014-2016 to help promote Libreboot in the media, in his capacity working for the employer he worked for at the time; @@ -367,19 +345,16 @@ He made sure everyone knew what I was doing, and he taught me a *lot* about licensing; many of Libreboot's practises today are still based on his lessons, such as the pitfalls of GPL compliance and how to really audit everything. -Klemens Nanni -------------- +### Klemens Nanni Made many fixes and improvements to the GRUB configuration used in libreboot, and several tweaks to the build system. -Linear Cannon -------------- +### Linear Cannon Added NetBSD support for `dell-flash-unlock`. -Lisa Marie Maginnis -------------------- +### Lisa Marie Maginnis Lisa was one of Libreboot's early contributors to Libreboot. She personally helped me set up a lot of the early infrastructure, including things like IRC, @@ -393,8 +368,7 @@ in Libreboot, e.g. ASUS Chromebook C201PA - at the time, this was using Google's own Depthcharge payload, which you can find in 2016 Libreboot releases. -Livio ------ +### Livio Sent a small enhancement for GRUB, allowing the user to turn on or off several options at boot time, such as graphical options or spkmodem output, so that @@ -402,8 +376,7 @@ these features can be included on every image, and used flexibly. Sent some small fixes to the QEMU target, fixing a bug in the SMBIOS info. -Lorenzo Aloe ------------- +### Lorenzo Aloe Provided hardware testing for the [Dell OptiPlex 9020](docs/install/dell9020.md), also provided testing for proxmox with GPU passthrough on Dell Precision T1650, @@ -413,19 +386,16 @@ that OS is not natively supported. All round good guy, an honest and loyal fan. -Luke T. Shumaker ----------------- +### Luke T. Shumaker Sent a patch to Libreboot, fixing vboot on 32-bit (i686) hosts; it previously only compiled on 64-bit x86 (amd64) machines. -Marcus Moeller --------------- +### Marcus Moeller Made the libreboot logo. -Mate Kukri ----------- +### Mate Kukri Mate Kukri is a *major* contributor to Libreboot, and several of the upstreams that it uses; he is a coreboot developer, and also contributes heavily to the @@ -458,24 +428,21 @@ made: Mate Kukri is a hero to the Libreboot project. Without him, Libreboot would not be what it is today. -Michael Reed ------------- +### Michael Reed Wrote Libreboot's original OpenBSD installation guide. Also sent fixes to the original static site generator that Alyssa wrote, upon which the Untitled Static Site Generator was later based. -Michał Masłowski ----------------- +### Michał Masłowski Sent several fixes to Libreboot's early build system, back in the early days of the project. Also taught Leah how to use Git, because the very first revisions were released only as tarballs, without Git history; the first commits in the old repository were imports of those tarballs. -Nicholas Chin -------------- +### Nicholas Chin [Ported Dell Latitude E6400 to Libreboot](news/e6400.md) and also [Dell Latitude E6430](docs/install/latitude.md) - author of @@ -497,21 +464,18 @@ say, he is one of Libreboot's champions. Nicholas also contributes to coreboot heavily, to flashprog, and several other projects that Libreboot uses. -0xloem ------- +### 0xloem Added info about LPC flashing on Libreboot's external flashing guide. -Patrick "P. J." McDermott ---------------------------- +### Patrick "P. J." McDermott Patrick also did a lot of research and wrote the libreboot FAQ section relating to the [Intel Management Engine](../faq.md#intelme), in addition to making several improvements to the build system in libreboot. **Former libreboot project maintainer.** -Patrick Rudolph ---------------- +### Patrick Rudolph Coreboot developer. Also wrote the xHCI GRUB driver, that Libreboot uses; without it, several ports in Libreboot would not be feasible, unless they @@ -520,8 +484,7 @@ have (or configure) EHCI controllers. Upstream GRUB currently has no xHCI driver, but Patrick sent patches in 2020 that Libreboot later re-based, on top of GRUB 2.12. -Paul Kocialkowski ------------------ +### Paul Kocialkowski Ported the ARM (Rockchip RK3288 SoC) based *Chromebook* laptops to libreboot. Also one of the main [Replicant](http://www.replicant.us/) @@ -532,8 +495,7 @@ system, upon which Libreboot's effort from 2017-2021 was based; ultimately, this work never became stable and the work was scrapped in 2021, in favour of the current Libreboot build system design, named lbmk. -Paul Menzel ------------ +### Paul Menzel Investigated and fixed a bug in coreboot on the ThinkPad X60/T60 exposed by Linux kernel 3.12 and up, which caused 3D acceleration to stop @@ -546,14 +508,12 @@ Paul worked with Libreboot on this, sending patches to test periodically until the bug was fixed in coreboot, and then helped her integrate the fix in libreboot. -Peaksol -------- +### Peaksol Translated several pages, including the SPI flashing guide, into Chinese language. -Peter Stuge ------------ +### Peter Stuge Helped write the [FAQ section about DMA](../faq.md#hddssd-firmware), and provided general advice in the early days of the project. Peter was a coreboot developer @@ -571,8 +531,7 @@ bucts before flashing the ROM again, to flash the main bootblock. Libreboot hosts a copy of his work, because his website hosting bucts is no longer responsive. -Riku Viitanen -------------- +### Riku Viitanen Added support for HP Elite 8200 SFF desktop PC to Libreboot. You can read about this in the hardware page: @@ -601,19 +560,16 @@ also added the HP EliteBook 2560p to Libreboot. Riku also contributes to coreboot and flashprog, and several other projects that Libreboot uses. -samuraikid ----------- +### samuraikid Added Portuguese keyboard layout to Libreboot's GRUB payload. -semigel -------- +### semigel Added BTRFS subvolume support to Libreboot's GRUB configuration, for auto-booting various Linux distros. -Simon Glass ------------ +### Simon Glass Simon Glass is principally responsible for the x86 U-Boot payload that Libreboot now uses as a coreboot payload. Simon provided Leah with several critical patches @@ -623,14 +579,12 @@ when integrating it. Without him, Libreboot would not have a functioning U-Boot implementation on x86. -Snooze Function ---------------- +### Snooze Function Translated several pages on the Libreboot documentation into the German language. -StackSmashing -------------- +### StackSmashing Author of the original [pico-serprog](https://github.com/stacksmashing/pico-serprog) project, upon which Libreboot's fork (maintained by Riku Viitanen) is based. @@ -642,8 +596,7 @@ StackSmashing also has a [YouTube channel](https://www.youtube.com/channel/UC3S8 with a lot of really cool videos on it about all things electronics, and hacking of electronics. Check it out! -Steve Shenton -------------- +### Steve Shenton Steve did the early reverse engineering work on the Intel Flash Descriptor used by ICH9M machines such as ThinkPad X200. He created a C struct defining (using @@ -693,8 +646,7 @@ written this tool, without Steve's initial proof of concept. I worked with him, extensively, for many months. All GM45+ICH9M support (X200, T400, etc) in Libreboot is made possible because of the work he did, back in 2014. -Swift Geek ----------- +### Swift Geek Contributed a patch for ich9gen to generate 16MiB descriptors. @@ -717,13 +669,11 @@ Swiftgeek left the project in March 2021. I, Leah Rowe, wish him all the best in his endeavours, and I'm very grateful to his numerous contributions over the years. -Timothee Benedet ----------------- +### Timothee Benedet Translated several Libreboot website pages into the French language. -Timothy Pearson ---------------- +### Timothy Pearson Ported the ASUS KGPE-D16 board to coreboot for the company Raptor Engineering of which Timothy is the CEO. @@ -734,8 +684,7 @@ contact details are on the raptor site. **D16 support was removed on 19 November 2022. You can still use older revisions of Libreboot, and older release versions.** -Vladimir Serbinenko -------------------- +### Vladimir Serbinenko Ported many of the thinkpads supported in libreboot, to coreboot, and made many fixes in coreboot which benefited the libreboot project. @@ -746,8 +695,7 @@ by others in Ada, for libgfxinit in coreboot, but originally it was written in C and included directly in coreboot; libgfxinit is a 3rdparty submodule of coreboot). -Vladislav Shapovalov --------------------- +### Vladislav Shapovalov Translated several pages of the Libreboot website into Ukranian language. diff --git a/site/docs/bsd/index.md b/site/docs/bsd/index.md index fedc9cb..815f279 100644 --- a/site/docs/bsd/index.md +++ b/site/docs/bsd/index.md @@ -1,26 +1,120 @@ --- -title: BSD operating systems +title: Install a BSD operating system on Libreboot x-toc-enable: true ... -Guide last updated on 16 November 2022. +It is assumed here that you are using the *SeaBIOS* payload, *not* the GRUB +payload; the U-Boot payload may also work, but that is not covered here. The +SeaBIOS payload must ideally run in text mode (`txtmode` images from Libreboot +releases). -NOTE: This guide pertains to x86 hosts, and does not cover supported CrOS/ARM -chromebooks. For ARM targets, you should refer to u-boot documentation. +This guide pertains to x86 hosts, and does not cover supported CrOS/ARM +chromebooks. For ARM targets, you should refer to [u-boot +documentation](../uboot/) - and [U-Boot x86](../uboot/uboot-x86.md) is also +available. The U-Boot x86 payload is interesting, because it can in fact boot +OpenBSD via UEFI method (U-Boot provides a lightweight UEFI implementation +independently of, say, EDK2). -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. +What is BSD? +------------ -Kernel Mode Setting -=================== +In our context, we are referring to those descendents of 4.4BSD-Lite starting +in the early 1990s. On balance, they are about equal to Linux in many ways, +and some would argue that they are *better* (higher code quality). It can be +said that the BSDs are the closest we have to *true* open source Unix systems, +since they ultimately descend from that code lineage. For example, the +FreeBSD project briefly covers its own history in the Hand Book: + + +Chief among them are: + +* [FreeBSD](https://www.freebsd.org/) (HardenedBSD probably also works) +* [NetBSD](https://netbsd.org/) +* [OpenBSD](https://www.openbsd.org/) +* [DragonFlyBSD](https://www.dragonflybsd.org/) (UNTESTED) + +**TODO: DragonFlyBSD is untested, as of January 2025. It ought to be tested.** + +Many other BSD systems exist, that are largely derived from these. + +Why use BSD (instead of Linux)? +------------------------------- + +BSD operating systems are in wide use today, powering much of the world's +most critical infrastructure, and they're quite competent laptop/desktop or +workstation systems. Some of them have unique features that you can't find +anywhere else (e.g. FreeBSD jails, OpenBSD's numerous security enhancements, +NetBSD's rump kernel design and clean code quality). + +BSD systems are superfically similar to Linux systems, but they are very +different under the hood (different kernel designs, different userspace +implementations, and so on). However, almost all of the Linux userspace programs +that you enjoy using are probably available in the various BSD *ports trees*, +or they can be compiled with little to no modification. This is because, despite +the actual differences under the hood, the BSDs and various Linux distros all +adhere to the same basic standards (e.g. Single Unix Specification). + +If you want to enjoy using a high quality operating system, with many unique +features, BSD systems can be quite fun to use, and quite challenging. They tend +to have a much more conservative take on implementations, compared to Linux +distros, instead opting for technical correctness and minimalism; this is a +good thing, because lots of Linux distros these days are extremely bloated. +Using a BSD system feels like Linux did in the year 2005, just with much better +hardware support, and that's a *good thing*; the reason why is that BSD systems +simply have fewer users, and a higher concentration of *technical* users, and +this *shows* when you use it. Linux is *much* more mass market and has to cater +to all sorts of people, and these days Linux distros have to *Just Work*. + +You can look at the documentation of each BSD system and try each one out, to +see which one is right for you. Be warned, BSD systems *are* typically harder +to use than Linux systems. Even the most seasoned Linux user will often have a +hard time with any BSD, if it's their first time using a BSD system. This is +mitigated by excellent documentation, which is one of the things that the BSDs +excel at, but you are expected to *read* the documentation; many Linux distros +try to hold your hand ("it Just Works"), but the BSDs generally don't do that. + +If you're already a power user on Linux, and comfortable with the more hands-on +distros like Arch Linux or Gentoo Linux, you'll have a much easier time +learning a BSD. FreeBSD for example comes completely barebones by default, and +you add packages to it, configuring it to your liking, much like Arch Linux; if +you're wily enough, you might also use the CURRENT tree and install all packages +by building them from *ports* (akin to how Gentoo Linux is used). + +BSD systems also have much more relaxed licensing than Linux systems, by and +large; most of the software in the base system, on any BSD project, will use +a permissive license instead of copyleft. They can be regarded as Free Software, +but it's a very different ideology than, say, GNU. Some might argue that this +is better, because licensing conflicts are common among copyleft licenses, even +among different versions of the GPL. A BSD-style license permits *anyone* to +use the code, *without* requiring modified versions to ship source code, so it +can be said that the BSD license model contains [far fewer +restrictions](https://docs.freebsd.org/en/articles/bsdl-gpl/). One might say +that the BSD systems are *more free* than GNU/Linux systems. + +Basically, your choice to use BSD will likely be based on a combination of +technical and/or ideological preferences. But don't say we didn't warn you. +BSD is hard. On the flip side of that coin, BSD is *easy*, because it forces +you to really learn how your system works; when you become proficient with +BSD, you'll learn everything else much easier, and you may find yourself doing +things more efficiently *in Linux* as well! + +That's enough BSD fanaticism. Please read the following sections, *before* +you embark on your BSD Libreboot journey: + +Common issues with BSD+Libreboot +-------------------------------- + +This page will not tell you how to install BSD systems; that is best left to +the documentation for your BSD system. Instead, these next sections cover only +the idiosyncrasies of Libreboot as they relate to BSD: + +### Kernel Mode Setting Your BSD system *must* support Kernel Mode Setting for your graphics device (most of them do nowadays). The reasons will become apparent, as you read this article. -Boot BSD, using SeaBIOS -======================= +### Boot BSD, using SeaBIOS On x86 platforms, Libreboot provides the choice of GRUB and/or SeaBIOS payload. GRUB can technically boot BSD kernels, but the code is @@ -37,8 +131,18 @@ If you don't plan to set up Xorg/Wayland, then that's all you really need to do. For example, you might want to run a headless server, in which case you probably don't mind running in text mode all the time. -OpenBSD and corebootfb ----------------------- +#### GRUB payload + +GRUB *can* directly boot many BSD systems, but this is ill advisable. You are +advised to use either SeaBIOS, and boot a BIOS-based BSD bootloader, or use +Libreboot's [U-Boot payload](../uboot/) and use it to boot via UEFI; U-Boot's +bootflow menu can achieve this. + +The U-Boot coreboot payload is still experimental, on ARM64 *and* x86/x86\_64, +so you should probably use SeaBIOS for now (on x86). U-Boot is the *only* +coreboot payload for Libreboot on ARM64 motherboards. + +### OpenBSD and corebootfb It's still recommended to use SeaBIOS in text mode, but OpenBSD specifically can work with SeaBIOS booting in a coreboot framebuffer, with SeaVGABIOS. In @@ -46,19 +150,22 @@ Libreboot ROM images, this would be SeaBIOS images with `corebootfb` in the file name. Make sure to select MBR-style partitioning on the installer, and it will -Just Work. +Just Work. **GPT partitioning won't work in OpenBSD, if you use the SeaBIOS +payload, but will work if you boot/install it via UEFI boot method with +Libreboot's [U-Boot UEFI payload](../uboot/uboot-x86.md) instead.** If you're using the GRUB payload but SeaBIOS is available in the boot menu, you can just select SeaBIOS at said menu, and OpenBSD will work fine. -FreeBSD and corebootfb ----------------------- +### FreeBSD and corebootfb Assumed broken, so please ensure that you boot with SeaBIOS payload in text mode (lbmk ROM images with `txtmode` in the file name, not `corebootfb`). -Warnings for X11 users ----------------------- +Please boot in *text mode*. FreeBSD can be configured to use KMS, if you need +Xorg or wayland. + +### Warnings for X11 users One important peculiarity of most libreboot systems is: VGA mode support exists, if booting with corebootfb (coreboot's own framebuffer) and @@ -113,43 +220,7 @@ You should not rely on the above instruction (for FreeBSD), because the exact step might change, and it does not go into full detail either. Refer to the documentation provided by your system, to know how KMS is configured. -ALWAYS READ THE MANUAL ----------------------- - -All of the BSDs have *excellent* documentation; it's one of the defining -characteristics, versus typical Linux distros. - -Aside from this quirk in coreboot, regarding *BIOS* video modes, the BSDs -otherwise work in exactly the same way as you would expect, and you can -follow along to their official documentation without much fuss. - -No specific or detailed guides will be provided here, because SeaBIOS is -fairly self-explanatory; you can otherwise refer to the SeaBIOS -documentation. - -If you're flashing a ROM for a machine where `seabios_withgrub` -and `seabios_grubfirst` ROMs are available, choose `seabios_withgrub`. - -DO NOT USE ROM IMAGES WITH `seabios_grubfirst` IN THE FILE NAME! These were -present in older Libreboot releases, and supported in previous revisions -of the build system, but they did not work for the intended purpose. More -info is written on the [Libreboot installation guide](../install/). ROM -images with `seabios_grubfirst` in the filename will NOT be included in -future Libreboot releases. - -Dubious mention: Tianocore --------------------------- - -Tianocore is extremely bloated, and unauditable, so it is not included -in Libreboot firmware, but it is the reference UEFI implementation by -Intel and contributors. It can boot most BSD systems very well. - -More robust ways to provide UEFI services in Libreboot are to be investigated. -Tianocore integration will not be provided officially, in any current or future -releases of Libreboot. - -Desktop users -------------- +### Desktop users NOTE: This section may not be full accurate; for example, the hardware page about HP Elite 8200 SFF talks about use of graphics cards on both corebootfb @@ -173,3 +244,36 @@ extremely expensive computationally speaking. This is why modern kernels You can learn more about INT10H text/VGA modes here: + +If you use the *U-Boot* payload, INT10H is irrelevant because you will rely on +an EFI framebuffer instead, which U-Boot does provide (piggybacking off of the +coreboot framebuffer where one is available). + +Regardless of whether you have an EFI framebuffer or INT10H VGA interrupts, +the various BSD systems all support KMS so you should be able to use Xorg or +Wayland just fine. + +ALWAYS READ THE MANUAL +---------------------- + +All of the BSDs have *excellent* documentation; it's one of the defining +characteristics, versus typical Linux distros. This is precisely *because* +the BSDs develop everything in-house, so the various components of a BSD +system are much more heavily integrated, and this means that they can provide +much more reliable documentation; reliable from both the user's perspective +and from the perspective of technical correctness. + +Aside from these and other quirks when installing BSD *on Libreboot*, the BSDs +otherwise work in exactly the same way as you would expect, and you can +follow along to their official documentation without much fuss. + +No specific or detailed guides will be provided here, because SeaBIOS is +fairly self-explanatory; you can otherwise refer to the SeaBIOS +documentation. + +DO NOT USE ROM IMAGES WITH `seabios_grubfirst` IN THE FILE NAME! These were +present in older Libreboot releases, and supported in previous revisions +of the build system, but they did not work for the intended purpose. More +info is written on the [Libreboot installation guide](../install/). ROM +images with `seabios_grubfirst` in the filename will NOT be included in +future Libreboot releases. diff --git a/site/docs/build/index.md b/site/docs/build/index.md index 3831f00..f327b83 100644 --- a/site/docs/build/index.md +++ b/site/docs/build/index.md @@ -1,19 +1,12 @@ --- -title: Build from source +title: Compile Libreboot from source x-toc-enable: true ... -WARNING: eCryptfs file name limits -================================= - -Do not run the build system on a eCryptfs file system, because it has -very short file name limits and Libreboot's build system deals with very -long file names. We commonly get reports from this by Linux Mint users -who encrypt their home directory with eCryptfs; regular LUKS encryption will -do nicely. +If you need to build Libreboot from source, this guide is for you. Introduction -============ +------------ Libreboot's build system is named `lbmk`, short for `LibreBoot MaKe`, and this document describes how to use it. With this guide, you can know how to compile @@ -22,8 +15,16 @@ libreboot from the available source code. The following document describes how `lbmk` works, and how you can make changes to it: [libreboot maintenance manual](../maintain/) +### WARNING: eCryptfs file name limits + +Do not run the build system on a eCryptfs file system, because it has +very short file name limits and Libreboot's build system deals with very +long file names. We commonly get reports from this by Linux Mint users +who encrypt their home directory with eCryptfs; regular LUKS encryption will +do nicely. + System requirements -=================== +------------------- You must ensure that you have the correct operating system, CPU, RAM, disk space and so on. @@ -32,7 +33,7 @@ System requirements are documented in the [lbmk maintenance manual](../maintain/#system-requirements). Multi-threaded builds -===================== +--------------------- Libreboot's build system defaults to a single build thread, but you can change it by doing e.g. @@ -46,7 +47,7 @@ is passed, where THREADS is the number of threads. This is also set when running xz commands for compression, using the `-t` option. Environmental variables -======================= +----------------------- Please read about environmental variables in [the build instructions](../maintain/), before running lbmk. You should set @@ -54,14 +55,14 @@ your variables accordingly, though you do not technically need to; some of them may be useful, e.g. `XBMK_THREADS` (sets the number of build threads). Sources -======= +------- This version, if hosted live on libreboot.org, assumes that you are using the `lbmk` git repository, which you can download using the instructions on [the code review page](../../git.md). Git -=== +--- Libreboot's build system uses Git, extensively. You should perform the steps below, *even if you're using a release archive*. @@ -81,21 +82,19 @@ You may also want to follow more of the steps here: How to compile Libreboot -======================== +------------------------ Actual development/testing is always done using lbmk directly, and this includes when building from source. Here are some instructions to get you started: -Zero..st, check time/date -------------------------- +### Zero..st, check time/date Make sure date/hwclock report the correct time and date on your system, because parts of the build process download from HTTPS servers and wrong time or date can cause connections to be dropped during negotiation. -First, install build dependencies ---------------------------------- +### First, install build dependencies Libreboot includes a script that automatically installs build dependencies according to the selected linux distro. @@ -133,8 +132,7 @@ Technically, any Linux distribution can be used to build libreboot. However, you will have to write your own script for installing build dependencies. -Debian Trixie/Sid ------------------ +### Debian Trixie/Sid Debian Trixie, the testing release as of 3 January 2025, and Debian Sid, provide `gnat` and `gcc` as you expect, but `gnat` resolves to `gnat-13` and @@ -171,8 +169,7 @@ When we tested with this configuration, the KGPE-D16 images also compiled. NOTE: Ubuntu 24.10 also has the issue described above. Some other distros may also have it, if they're based on Debian Testing/Sid or Ubuntu 24.10. -MIPS cross compiler -------------------- +### MIPS cross compiler Libreboot has support for the Sony PlayStation (PS1/PSX), based on the PCSX-Redux Open BIOS. If you're doing a full release build, and/or @@ -187,8 +184,7 @@ If your distro doesn't have the MIPS compiler available, the [PlayStation](../install/playstation.md) page provides instructions for manual installation; please do this in addition to the normal dependencies. -Next, build ROM images ----------------------- +### Next, build ROM images Libreboot MaKe (lbmk) automatically runs all necessary commands; for example, `./mk -b coreboot` will automatically build the required payloads @@ -207,8 +203,7 @@ or get a list of supported build targets: ./mk -b coreboot list -Or maybe just build payloads? ------------------------------ +### Or maybe just build payloads? If you wish to build payloads, you can also do that. For example: @@ -235,7 +230,7 @@ Or perhaps add a new board! The maintenance manual will teach you how the Libreboot build system (lbmk) works! A note about documentation (and this page) -========================================== +------------------------------- From Libreboot 20231021 onwards, *all* releases (including 20231021) have `lbwww.git` (the website) and `lbwww-img.git` (images for the website) diff --git a/site/docs/build/index.uk.md b/site/docs/build/index.uk.md index 5a67bdc..d984a0f 100644 --- a/site/docs/build/index.uk.md +++ b/site/docs/build/index.uk.md @@ -7,17 +7,8 @@ x-toc-enable: true still in English, and there may be some differences aside from translation, versus the English version.** -WARNING: eCryptfs file name limits -================================= - -Do not run the build system on a eCryptfs file system, because it has -very short file name limits and Libreboot's build system deals with very -long file names. We commonly get reports from this by Linux Mint users -who encrypt their home directory with eCryptfs; regular LUKS encryption will -do nicely. - Introduction -============ +------------ Система побудови libreboot, називається `lbmk`, скорочення від `LibreBoot MaKe`, і цей документ описує те, як використовувати її. З цим керівництвом ви можете узнати те, як побудувати @@ -34,8 +25,16 @@ libreboot з доступного джерельного коду. Наступний документ описує те, як працює `lbmk`, і як ви можете робити зміни до нього: [керівництво обслуговування libreboot](../maintain/) +### WARNING: eCryptfs file name limits + +Do not run the build system on a eCryptfs file system, because it has +very short file name limits and Libreboot's build system deals with very +long file names. We commonly get reports from this by Linux Mint users +who encrypt their home directory with eCryptfs; regular LUKS encryption will +do nicely. + System requirements -=================== +------------------- You must ensure that you have the correct operating system, CPU, RAM, disk space and so on. @@ -44,7 +43,7 @@ System requirements are documented in the [lbmk maintenance manual](../maintain/#system-requirements). Multi-threaded builds -===================== +--------------------- Libreboot's build system defaults to a single build thread, but you can change it by doing e.g. @@ -54,7 +53,7 @@ it by doing e.g. This would make lbmk run on 4 threads. Environmental variables -======================= +----------------------- Please read about environmental variables in [the build instructions](../maintain/), before running lbmk. You should set @@ -62,7 +61,7 @@ your variables accordingly, though you do not technically need to; some of them may be useful, e.g. `XBMK_THREADS` (sets the number of build threads). Environmental variables -======================= +----------------------- Please read about environmental variables in [the build instructions](../maintain/), before running lbmk. You should set @@ -70,7 +69,7 @@ your variables accordingly, though you do not technically need to; some of them may be useful, e.g. `XBMK_THREADS` (sets the number of build threads). Git -=== +--- Система побудови Libreboot використовує Git, обширно. Ви маєте виконати кроки знизу, *навіть, якщо ви використовуєте архів випуску*. @@ -90,17 +89,15 @@ Git Build -===== +----- -Zero..st, check time/date -------------------------- +### Zero..st, check time/date Make sure date/hwclock report the correct time and date on your system, because parts of the build process download from HTTPS servers and wrong time or date can cause connections to be dropped during negotiation. -Побудова з джерельного коду -============================ +### Побудова з джерельного коду Фактична розробка/тестування завжди виконується безпосередньо за допомогою `lbmk`, і це також стосується збирання з джерельного коду. Ось кілька інструкцій, щоб @@ -125,8 +122,7 @@ Check: `config/dependencies/` for list of supported distros. Однак, вам потрібно буде написано свій власний сценарій для встановлення залежностей побудови. -Debian Trixie/Sid ------------------ +### Debian Trixie/Sid Debian Trixie, the testing release as of 3 January 2025, and Debian Sid, provide `gnat` and `gcc` as you expect, but `gnat` resolves to `gnat-13` and @@ -163,8 +159,7 @@ When we tested with this configuration, the KGPE-D16 images also compiled. NOTE: Ubuntu 24.10 also has the issue described above. Some other distros may also have it, if they're based on Debian Testing/Sid or Ubuntu 24.10. -MIPS cross compiler -------------------- +### MIPS cross compiler Libreboot has support for the Sony PlayStation (PS1/PSX), based on the PCSX-Redux Open BIOS. If you're doing a full release build, and/or @@ -179,8 +174,7 @@ If your distro doesn't have the MIPS compiler available, the [PlayStation](../install/playstation.md) page provides instructions for manual installation; please do this in addition to the normal dependencies. -Next, build ROM images ----------------------- +### Next, build ROM images В якості результату, ви тепер можете (після встановлення правильних залежностей побудови) виконати лише одну команду, з свіжого Git clone, для побудови образів ROM: diff --git a/site/docs/grub/index.md b/site/docs/grub/index.md index 21f4ce8..1825c96 100644 --- a/site/docs/grub/index.md +++ b/site/docs/grub/index.md @@ -5,20 +5,22 @@ x-toc-enable: true GRUB already has excellent documentation, but there are aspects of libreboot that deserve special -treatment. libreboot provides the option to boot GRUB directly, running on +treatment. Libreboot provides the option to boot GRUB directly, running on bare metal (instead of using BIOS or UEFI services). +Boot Linux from GRUB +-------------------- + [The Linux section](../linux/) also has libreboot-specific guides for dealing with Linux distributions when using GRUB directly, in this setup. [A similar section exists for BSD operating systems](../bsd/) GRUB keyboard layouts -===================== +--------------------- It is possible to use *any* keymap in GRUB. -Custom keyboard layout ----------------------- +### Custom keyboard layout Keymaps are stored in `config/grub/keymap/` diff --git a/site/docs/index.md b/site/docs/index.md index 05ef75b..334b58a 100644 --- a/site/docs/index.md +++ b/site/docs/index.md @@ -1,5 +1,5 @@ --- -title: Documentation +title: Libreboot documentation ... Always check [libreboot.org](https://libreboot.org/) for the latest updates to @@ -9,7 +9,7 @@ the [main news section](../news/). [Answers to Frequently Asked Questions about libreboot](../faq.md). Need help? -========== +---------- Help is available on [Libreboot IRC](../contact.md) and other channels. @@ -22,18 +22,18 @@ Leah Rowe, the founder and lead developer of Libreboot, also owns and operates Minifree Ltd; sales provide funding for the Libreboot project. Installing libreboot -==================== +-------------------- - [How to install libreboot](install/) -Documentation related to operating systems -============================ +Installing operating systems +---------------------------- - [How to install BSD on an x86 host system](bsd/) - [Linux Guides](linux/) Information for developers -========================== +-------------------------- - [How to compile the libreboot source code](build/) - [Build system developer documentation](maintain/) @@ -41,7 +41,7 @@ Information for developers - [U-Boot payload](uboot/) Other information -================= +----------------- - [Miscellaneous](misc/) - [List of codenames](misc/codenames.md) diff --git a/site/docs/index.uk.md b/site/docs/index.uk.md index 3d6bba7..2fc7309 100644 --- a/site/docs/index.uk.md +++ b/site/docs/index.uk.md @@ -9,7 +9,7 @@ libreboot. Новини, включаючи оголошення про випу [Відповіді на поширені запитання про libreboot](../faq.md). Need help? -========== +---------- Help is available on [Libreboot IRC](../contact.md) and other channels. @@ -22,18 +22,18 @@ Leah Rowe, the founder and lead developer of Libreboot, also owns and operates Minifree Ltd; sales provide funding for the Libreboot project. Встановлення libreboot -==================== +---------------------- - [Як встановити libreboot](install/) Документація, яка має відношення до операційних систем -============================ +----------------------------------------------------- - [Як встановити BSD на x86 хостову систему](bsd/) - [Керівництва Linux](linux/) Інформація для розробників -========================== +-------------------------- - [Як зібрати джерельний код libreboot](build/) - [Документація розробника системи побудови](maintain/) @@ -41,7 +41,7 @@ operates Minifree Ltd; sales provide funding for the Libreboot project. - [Корисне навантаження U-Boot](uboot/) Інша інформація -================= +--------------- - [Різне](misc/) - [Список кодових назв](misc/codenames.md) diff --git a/site/docs/index.zh-cn.md b/site/docs/index.zh-cn.md index 459a513..40ac6e4 100644 --- a/site/docs/index.zh-cn.md +++ b/site/docs/index.zh-cn.md @@ -7,7 +7,7 @@ libreboot 的最新更新,可以在 [libreboot.org](https://libreboot.org) 上 [libreboot 常见问题解答](../faq.md). Need help? -========== +---------- Help is available on [Libreboot IRC](../contact.md) and other channels. @@ -20,18 +20,18 @@ Leah Rowe, the founder and lead developer of Libreboot, also owns and operates Minifree Ltd; sales provide funding for the Libreboot project. 安装 libreboot -==================== +-------------- - [如何安装 libreboot](install/) 操作系统相关文档 -============================ +---------------- - [如何在 x86 机器上安装 BSD](bsd/) - [Linux 指南](linux/) 开发者信息 -========================== +---------- - [如何编译 libreboot 源代码](build/) - [构建系统开发者文档](maintain/) @@ -39,7 +39,7 @@ operates Minifree Ltd; sales provide funding for the Libreboot project. - [U-Boot payload](uboot/) 其它信息 -================= +-------- - [杂项](misc/) - [代号列表](misc/codenames.md) diff --git a/site/docs/install/c201.md b/site/docs/install/c201.md index 50db03e..8858ab1 100644 --- a/site/docs/install/c201.md +++ b/site/docs/install/c201.md @@ -1,22 +1,28 @@ --- -title: ASUS Chromebook C201 installation guide +title: Install Libreboot ASUS Chromebook C201 x-toc-enable: true ... +Open source BIOS/UEFI firmware +------------------------------ + +This document will teach you how to install Libreboot, on your +ASUS Chromebook C201 motherboard. Libreboot replaces proprietary +BIOS/UEFI firmware. + WARNING: This board is known to have non-functioning video init at the time of writing, 19 February 2023. It is as yet unsolved. See: Introduction -=========== +------------ This page contains information about assembly and disassembly, for flashing the ASUS Chromebook C201 externally. It will also link to internal flashing instructions, and information about U-Boot. -Flashrom --------- +### Flashrom A special fork of flashrom, maintained by Google, is required for flashing. More information about this is present in the generic [chromebook flashing @@ -26,8 +32,7 @@ NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog now, as of 27 January 2024, which is a fork of flashrom, but the chromium fork is another fork of flashrom, and you should use that on chromebooks. -Depthcharge payload (obsolete) ------------------------------- +### Depthcharge payload (obsolete) This board was also supported in Libreboot 20160907, with the Depthcharge payload. Support was dropped in later releases, and then re-added in the @@ -40,7 +45,7 @@ instructions pertaining to Depthcharge: * U-boot payload -============== +-------------- U-Boot was ported to coreboot CrOS devices, courtesy of Alper Nebi Yasak (`alpernebbi` on Libreboot IRC). @@ -50,7 +55,7 @@ Read the section pertaining to U-boot payload: [u-boot payload documentation for Libreboot](../uboot/) Internal flashing -================= +------------------ External flashing is possible, but only necessary in the event of a *brick*. If you're flashing good firmware, and the machine boots properly, you can @@ -62,8 +67,7 @@ the information has moved. See: [chromebook flashing instructions](chromebooks.md) -Write-protect screw -------------------- +### Write-protect screw The chromebook flashing instructions, linked above, refer to a *screw* that can be turned, to disable flash protection. This is necessary, for internally @@ -86,7 +90,7 @@ The write protect screw can be put back in place later, when the device is known to be in a working state. External flashing -================= +----------------- If the machine is no longer booting, due to bad firmware, you can unbrick it externally. Refer to [external flash instructions](spi.md). diff --git a/site/docs/install/chromebooks.md b/site/docs/install/chromebooks.md index a8b762f..715c177 100644 --- a/site/docs/install/chromebooks.md +++ b/site/docs/install/chromebooks.md @@ -1,8 +1,19 @@ --- -title: Chromebook flashing instructions +title: Install Libreboot on a Chromebook x-toc-enable: true ... +Open source BIOS/UEFI firmware +------------------------------ + +This document will teach you how to install Libreboot, on various ARM64-based +Chromebook laptops. Libreboot replaces proprietary BIOS/UEFI firmware, though +it should be noted that Google already ships coreboot and their own payload +called Depthcharge, which is all free software; the difference with Libreboot +is that it replaces Depthcharge with *U-Boot* (as a coreboot payload), which +provides a lightweight UEFI boot implementation that can boot regular Linux and +BSD systems more easily than Depthcharge. + NOTE: daisy, peach and veyron boards were temporarily removed from lbmk. They should be re-added to Libreboot at a later date. The reasons are written on the hardware compatibility page. For now, Libreboot only @@ -13,7 +24,7 @@ custom firmware on ChromeOS devices. This guide usually refers to all of them as "Chromebook"s since it's the most common form factor. Flashrom -======== +-------- A special fork of flashrom, maintained by Google, is required for flashing these Chromebook devices. See: @@ -23,7 +34,7 @@ these Chromebook devices. See: You must then compile this from source, and run it. Enable ChromeOS "Developer Mode" -================================ +-------------------------------- Chromebooks are locked-down by default to only run ChromeOS. Most things you will want to do on these require you unlock it by enabling their @@ -44,7 +55,7 @@ where you can run programs. Most of the root file system is read-only, except for `/usr/local` and any mounted drives under `/media/removable`. Identify your device -==================== +-------------------- It's more common to refer to ChromeOS boards by their codenames, and many compatible devices can share a single codename. Libreboot ROM @@ -56,7 +67,7 @@ device's. There are a number of ways to find it, some are: - Run `crossystem hwid` or `crossystem fwid` in a terminal Back up stock firmware -====================== +---------------------- The stock firmware on your device comes with some irreplaceable data that is unique to your device. This can include the serial number and @@ -78,7 +89,7 @@ If you can already boot a conventional Linux distro on your Chromebook, you may be able to use `flashrom -p linux_mtd` on that system instead. Check external flashability -=========================== +--------------------------- If a ROM image you flash is broken, you may need to restore the stock firmware to fix the board to get internal flashing working. Refer to the @@ -93,7 +104,7 @@ mechanism that lets you flash externally using a special USB debugging cable. However, most boards that Libreboot supports do not have this. Disable write protection -======================== +------------------------ Chromebooks have the SPI flash chip partially write-protected by default, but thankfully this protection can be disabled by the device @@ -128,7 +139,7 @@ compile and use that flashrom fork to disable write-protection. There is no `lbmk` support yet for automatically building it. Prepare the ROM image -===================== +--------------------- Libreboot ROM image layouts are currently incompatible with the regions that should be carried over from the stock firmware. However, the @@ -143,7 +154,7 @@ keep backups of the original firmware. TODO: Instructions to preserve vital data when FMAPs are compatible. Flash the ROM image -=================== +------------------- WARNING: Although none are supported yet, make sure not to flash ROM images on x86 Chromebooks without injecting non-redistributable code @@ -163,7 +174,7 @@ If you can already boot a conventional Linux distro on your Chromebook, you may be able to use `flashrom -p linux_mtd` on that system instead. Install an operating system (experimental research) -=========================== +------------------------------------------------ In general, ARM-compatible distros targeting U-boot can be used. There are three general methods for installing that vary depending on the distribution: @@ -173,25 +184,22 @@ three general methods for installing that vary depending on the distribution: 3. extlinux.conf - a newer flat, bootloader-spec text file that typically lives in /boot/extlinux/extlinux.conf -Successful installations: -------------------------- +### Successful installations: * [ArchLinuxARM on RK3399-based Chromebooks](../uboot/uboot-archlinux.md). * [Debian Bookworm on Samsung Chromebook Plus XE513C24](../uboot/uboot-debian-bookworm.md). * [Debian on Asus Chromebook C201](https://wiki.debian.org/InstallingDebianOn/Asus/C201). -Unsuccessful installations: ---------------------------- +### Unsuccessful installations: * [OpenBSD on Samsung Chromebook Plus XE513C24](../uboot/uboot-openbsd.md). -Other promising ARM-compatible distros: ---------------------------------------- +### Other promising ARM-compatible distros: * [Armbian](https://www.armbian.com/uefi-arm64/). See also -======== +-------- * [ChromiumOS Documentation](https://chromium.googlesource.com/chromiumos/docs/+/HEAD/) * [ChromiumOS Firmware Test Manual](https://chromium.googlesource.com/chromiumos/docs/+/HEAD/firmware_test_manual.md) diff --git a/site/docs/install/d945gclf.md b/site/docs/install/d945gclf.md index 7254918..2dc97ba 100644 --- a/site/docs/install/d945gclf.md +++ b/site/docs/install/d945gclf.md @@ -1,5 +1,5 @@ --- -title: Intel D945GCLF desktop board +title: Install Libreboot on Intel D945GCLF and/or D945GCLF2 x-toc-enable: true ... @@ -18,7 +18,7 @@ x-toc-enable: true | **Graphics** | ? | | **Display** | None. | | **Memory** | Up to 2GB | -| **Architecture** | x86_64 | +| **Architecture** | x86\_64 | | **Original boot firmware** | Intel BIOS | | **Intel ME/AMD PSP** | Not present. | | **Flash chip** | SOIC-8 512KiB | @@ -47,13 +47,21 @@ P*: Partially works with vendor firmware | **SeaBIOS** | Works | | **SeaBIOS with GRUB** | Doesn't work |
    + +Open source BIOS/UEFI firmware +------------------------------ + +This document will teach you how to install Libreboot, on your +Intel D945GCLF and/or D945GCLF2 desktop motherboard. Libreboot replaces +proprietary BIOS/UEFI firmware. + If you just want flashing instructions, go to [../install/d945gclf.md](../install/d945gclf.md) D945GCLF2D also reported working by a user. Introduction -============ +------------ This board is a mini-itx desktop board for 2008. It uses an atom 230, which is a singe core CPU but it is hyperthreaded so it appears to have @@ -76,8 +84,7 @@ hyperthreaded). Since the board is almost identical (and coreboot code seem to indicate that it works, since MAX\_CPU=4 is set), it is believed that it should also work but this is untested. -Remarks about vendor bios: --------------------------- +### Remarks about vendor bios: - Without coreboot/libreboot this board is completely useless, since the vendor bios is very bad. It cannot boot from any HDD whether it is @@ -96,15 +103,14 @@ And SPI SOIC8 flash chip\ ![](https://av.libreboot.org/d945gclf/20160923_141550.jpg){width="50%" height="50%"} Flashing instructions {#clip} -===================== +----------------------------- Refer to [spi.md](spi.md) for how to re-flash externally. Here is an image of the flash chip:\ ![](https://av.libreboot.org/d945gclf/d945gclf_spi.jpg) -How to replace thermal paste and fan ------------------------------------- +### How to replace thermal paste and fan This board comes with very crappy disposable loud fan, that one has no bearings, which can not be repaired or oiled properly, do not waste your diff --git a/site/docs/install/deguard.md b/site/docs/install/deguard.md index 9a78966..7980fd5 100644 --- a/site/docs/install/deguard.md +++ b/site/docs/install/deguard.md @@ -3,12 +3,30 @@ title: Disabling Intel Boot Guard on MEv11 x-toc-enable: true ... +Deguard enables open source BIOS/UEFI firmware +------------------------------------------- + +On *some* (not all) motherboards, the vendor chooses to fuse a key during +manufacturing, which ensures that you can *only* boot firmware cryptographically +signed and verified by *them*. This is a form of DRM that otherwise prevents +use of coreboot-based firmware, such as Libreboot. We are *against* DRM in the +Libreboot project. *Intel* markets the Boot Guard as a security feature, but +we regard it simply as an *attack* +on [Free Software](https://writefreesoftware.org/learn). + +This document will teach you about *deguard*, which is a utility that modifies +the Intel ME (which implements Boot Guard) in such a way as to *disable* the +Intel Boot Guard, by exploiting a known security vulnerability on MEv11. The +Libreboot project *uses deguard* for *several* coreboot ports, such as +the [Lenovo ThinkPad T480 with Libreboot](t480.md) or +the [Dell OptiPlex 3050 Micro with Libreboot](dell3050.md). + This covers Intel Skylake, Kaby Lake and Kaby Lake Refresh / Coffeelake machines; note that Coffeelake includes KabyLake Refresh and may have MEv12. This page concerns only those platforms that have Intel MEv11, not MEv12. The facts on this page are applicable to both *mobile* and *desktop* platforms. -The Intel Boot Guard is a security mechanism implemented by intel, but not all +The Intel Boot Guard is a "security" mechanism implemented by intel, but not all vendors enable it. If enabled, the bootblock in the flash is protected at boot time by cryptographic signature verification; this means only the vendor can update the flash. @@ -17,10 +35,14 @@ On systems with MEv11, a bug exists in older versions (of MEv11) that allows for unsigned code execution, at a very early stage in the boot process, to the point that almost all of the ME firmware in flash can be fully replaced. The ME is also what implements Boot Guard, and the hack is possible *before* Boot -Guard is enforced, allowing for it to be disabled. +Guard is enforced, allowing for it to be disabled. This does *not* unfuse the +keys set by the manufacturer, but rather, it bypasses all checks against them. See: [CVE-2017-5705](https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00086.html) +Deguard utility +--------------- + Mate Kukri, who authored the ThinkPad T480/T480 and OptiPlex 3050 Micro ports, wrote a tool called *deguard*, which Libreboot uses on these boards. This tool reconfigures the ME, exploiting it so as to disable the Boot Guard. @@ -35,6 +57,9 @@ and Libreboot provides a mirror of this repository: More information is available there. +How it works +------------ + This is done by externally flashing an older version. Libreboot's build system automatically downloads this older version, runs `me_cleaner` on it, and applies the deguard hack; this includes machine-specific ME configuration, which is @@ -50,6 +75,9 @@ normally only available to vendors; the *deguard* utility written by Mate Kukri is available under a free software license, and included by default in Libreboot releases. It can be used for *any* MEv11-based system. +How to use deguard +------------------ + To download deguard in lbmk (Libreboot's build system), do this: ./mk -f deguard @@ -65,6 +93,21 @@ were never fused, even if they were. [Previous work](https://trmm.net/TOCTOU/) has been done by others, related to the Boot Guard, but nothing quite so thorough and easy to use as deguard existed previously! +T480/T480s MFS data +------------------- + +As of Libreboot 20241206, the upstream deguard project did not contain an MFS +config for Lenovo ThinkPad T480 and T480s, because Libreboot added them in an +out-of-tree patch (under Mate Kukri's direct guidance). + +Therefore, if you're using deguard on a standalone/custom coreboot setup without +using Libreboot/lbmk, please do ensure that they are there. The tool itself +provides a README, or you could simply import the config data from lbmk if +you wish. + +How does deguard work? +---------------------- + Mate Kukri was able to figure this out and implement deguard, using existing work done by PT Research and Youness El Alaoui, exploiting the Intel SA 00086 bug which you can read more about here: @@ -82,7 +125,12 @@ years to try to hack around it, as a matter of user freedom. So remember: when Intel is talking about security, they mean *their* security, not yours. To them, you are simply flashing malicious code. But they are the ones with malice. +Thanks +------ + Mate Kukri and others who work on such hacks are heroes, and they have done a great service to the Libreboot project. Many more machines are now possible to port to coreboot, thanks to this hack. + +The Libreboot project owes Mate Kukri a debt of gratitude, many times over. diff --git a/site/docs/install/dell3050.md b/site/docs/install/dell3050.md index f8fc99d..bd033e3 100644 --- a/site/docs/install/dell3050.md +++ b/site/docs/install/dell3050.md @@ -1,5 +1,5 @@ --- -title: Dell OptiPlex 3050 Micro +title: Install Libreboot on Dell OptiPlex 3050 Micro x-toc-enable: true ... @@ -52,23 +52,25 @@ P*: Partially works with vendor firmware | **SeaBIOS** | Works |
    -Buy pre-installed -================= +Open source BIOS/UEFI firmware +------------------------- -**Dell OptiPlex 3050 Micro is available to purchase with Libreboot preinstalled. -See: ** - -Introduction -============ +This document will teach you how to install Libreboot, on your +Dell OptiPlex 3050 Micro desktop motherboard. Libreboot replaces proprietary +BIOS/UEFI firmware. **Unavailable in Libreboot 20240612 or earlier. You must [compile from source](../build/), or use a version newer than Libreboot 20240612.** +### Buy pre-installed + +**Dell OptiPlex 3050 Micro is available to purchase with Libreboot preinstalled. +See: ** + Official information about the computer can be found here: -Warning regarding NVMe SSDs ---------------------------- +### Warning regarding NVMe SSDs Please use at least Libreboot 20241206 *[revision 3](../../news/libreboot20241206.Revisions.md#revision-3-11-december-2024)* @@ -80,8 +82,7 @@ NVMe SSD slot. See: [Libreboot 20241206 release](../../news/libreboot20241206.md) -Build ROM image from source ---------------------------- +### Build ROM image from source The build target, when building from source, is thus: @@ -94,7 +95,7 @@ possible inside the ME on this mainboard, giving it much higher potential for software freedom in the future. Issues -====== +------ This machine basically works flawlessly, as of the Libreboot 20241206 release. All the initial bugs were fixed, e.g. PWM fan control works now. A very nice @@ -110,10 +111,9 @@ Selection of audio devices and outputs is a bit idiosyncratic on this board. Just play with pavucontrol for your setup and it should work fine. Installation -============ +------------ -Insert binary files -------------------- +### Insert binary files If you're using a release ROM, please ensure that you've inserted extra firmware required refer to the [guide](../install/ivy_has_common.md) for that. (failure @@ -133,8 +133,7 @@ libre ME could include, for example, running an out-of-bound packet filter on a secure network (with flash write protection, making it invincible to any OS-based software attacks). -MAC address ------------ +### MAC address This has a Realtek NIC inside, instead of Intel, so the MAC address will not change. This means: there is no GbE region in the flash. @@ -145,8 +144,7 @@ from Linux if you want to. This is great, because that's one less complexity to deal with during installation. -Flash a ROM image (software) ------------------ +### Flash a ROM image (software) If you're already running Libreboot, and you don't have flash protection turned on, [internal flashing](../install/) is possible. @@ -161,8 +159,7 @@ variables to flash during shutdown sequence, so you should *pull the plug* to shut it down (remove the power by pulling the plug) after flashprog says `VERIFIED`. -Flash a ROM image (hardware) ------------------ +### Flash a ROM image (hardware) For general information, please refer to [25xx NOR flash instructions](../install/spi.md) - that page refers to use of socketed flash. @@ -179,10 +176,9 @@ You can otherwise flash internally, including from factory firmware(if the service jumper is set). Errata -====== +------ -Power-on after power failure ----------------------------- +### Power-on after power failure Older Libreboot revisions made this machine always turn on, when plugging in a power supply (charger brick), if a previous power loss was observed. This is @@ -203,19 +199,16 @@ by reading the `tree` variable in your board's `target.cfg` file within lbmk). Use the patch as reference, to modify the coreboot behaviour as you wish, and re-compile [from source](../build/). -TPM disabled ------------- +### TPM disabled The TPM is disabled on this device, to prevent hanging/boot delay in SeaBIOS, due to buggy TPM drivers there. -Legacy 8254 timer ------------------ +### Legacy 8254 timer Legacy 8254 timer enabled in coreboot, to prevent SeaBIOS from hanging. -HyperThreading on 3050 Micro --------------------------- +### HyperThreading on 3050 Micro Also called SMT. This is a feature where you get 2 threads on a single core. It can improve performance in some workloads, but is actually a performance diff --git a/site/docs/install/dell7010.md b/site/docs/install/dell7010.md index d2cd57d..acf00b6 100644 --- a/site/docs/install/dell7010.md +++ b/site/docs/install/dell7010.md @@ -1,5 +1,5 @@ --- -title: Dell OptiPlex 7010/9010 SFF +title: Install Libreboot on Dell OptiPlex 7010/9010 SFF x-toc-enable: true ... @@ -58,8 +58,13 @@ P*: Partially works with vendor firmware | **SeaBIOS** | Works | | **SeaBIOS with GRUB** | Works |
    -Introduction -============ + +Open source BIOS/UEFI firmware +------------------------------ + +This document will teach you how to install Libreboot, on your +Dell OptiPlex 7010 SFF and/or OptiPlex 9010 SFF desktop motherboard. +Libreboot replaces proprietary BIOS/UEFI firmware. **Unavailable in Libreboot 20240612 or earlier. You must [compile from source](../build/), or use a version newer than Libreboot 20240612.** @@ -67,8 +72,7 @@ source](../build/), or use a version newer than Libreboot 20240612.** Official information about the computer can be found here: -Build ROM image from source ---------------------------- +### Build ROM image from source The build target, when building from source, is thus: @@ -76,11 +80,14 @@ The build target, when building from source, is thus: NOTE: The same 7010 SFF image also works on 9010 SFF. It's the same mainboard. -Installation -============ +Alternatively, you can use one of Libreboot's pre-compiled release images. -Insert binary files -------------------- +Install Libreboot +----------------- + +Libreboot can be installed via internal and/or external flashing methods. + +### Insert vendor files If you're using a release ROM, please ensure that you've inserted extra firmware required refer to the [guide](../install/ivy_has_common.md) for that. (failure @@ -90,15 +97,13 @@ Libreboot's build system automatically downloads and processes these files if you build Libreboot from source, but the same logic that it uses must be re-run if you're using a release image. -Set MAC address ---------------- +### Set MAC address This platform uses an Intel Flash Descriptor, and defines an Intel GbE NVM region. As such, release/build ROMs will contain the same MAC address. To change the MAC address, please read [nvmutil documentation](../install/nvmutil.md). -WARNING about CPU/GPU compatibility -------------------------------- +### WARNING about CPU/GPU compatibility If you want to use onboard graphics, you must have a CPU that has a GPU built into it. You can find a list here: @@ -112,8 +117,7 @@ used, SeaBIOS executes its VGA ROM which provides video init, instead of coreboot's native Intel video init. GRUB piggybacks off of what SeaBIOS did, so the GRUB payload will also work. -Flash a ROM image (software) ------------------ +### Flash a ROM image (software) If you're already running Libreboot, and you don't have flash protection turned on, [internal flashing](../install/) is possible. @@ -129,8 +133,7 @@ variables to flash during shutdown sequence, so you should *pull the plug* to shut it down (remove the power by pulling the plug) after flashprog says `VERIFIED`. -Flash a ROM image (hardware) ------------------ +### Flash a ROM image (hardware) For general information, please refer to [25xx NOR flash instructions](../install/spi.md) - that page refers to use of socketed flash. diff --git a/site/docs/install/dell780.md b/site/docs/install/dell780.md index 22e4a37..14bbcf6 100644 --- a/site/docs/install/dell780.md +++ b/site/docs/install/dell780.md @@ -1,5 +1,5 @@ --- -title: Dell OptiPlex 780 MT/USFF +title: Install Libreboot on Dell OptiPlex 780 MT/USFF x-toc-enable: true ... @@ -52,8 +52,13 @@ P*: Partially works with vendor firmware | **SeaBIOS** | Works | | **SeaBIOS with GRUB** | Works |
    -Introduction -============ + +Open source BIOS/UEFI firmware +------------------------- + +This document will teach you how to install Libreboot, on your +Dell OptiPlex 780 desktop motherboard. Libreboot replaces proprietary +BIOS/UEFI firmware. **Unavailable in Libreboot 20240612 or earlier. You must [compile from source](../build/), or use a version newer than Libreboot 20240612.** @@ -61,8 +66,7 @@ source](../build/), or use a version newer than Libreboot 20240612.** Official information about the computer can be found here: -Build ROM image from source ---------------------------- +### Build ROM image from source The build target, when building from source, is thus: @@ -75,25 +79,27 @@ The `_truncate` image is needed if you're flashing Libreboot internally from the original Dell firmware. Otherwise, you only need the regular images that lack `_truncate` in the file name. -100% FREE -========= +Alternatively, you can use release images instead of compiling from source. + +### 100% FREE / OPEN SOURCE! This mainboard is entirely free software in the main boot flash. It is using the Intel X4X / ICH10 platform, same as on the already supported Gigabyte GA-G41M-ES2L mainboard. -Installation -============ +Install Libreboot +----------------- -Set MAC address ---------------- +These next sections will teach you how to install Libreboot, on your +Dell OptiPlex 780 motherboard. + +### Set MAC address This platform uses an Intel Flash Descriptor, and defines an Intel GbE NVM region. As such, release/build ROMs will contain the same MAC address. To change the MAC address, please read [nvmutil documentation](../install/nvmutil.md). -WARNING about CPU/GPU compatibility -------------------------------- +### WARNING about CPU/GPU compatibility Coreboot has libre initialisation code for Intel graphics, but libre initialisation code is not available for most graphics cards. This machine can @@ -102,8 +108,7 @@ used, SeaBIOS executes its VGA ROM which provides video init, instead of coreboot's native Intel video init. GRUB piggybacks off of what SeaBIOS did, so the GRUB payload will also work. -Flash a ROM image (software) ------------------ +### Flash a ROM image (software) **Always make sure to dump a copy of the current flash first. ALSO: [make sure /dev/mem protection is disabled](devmem.md) for the flashing to work!** @@ -152,8 +157,7 @@ the full image; the one without `_truncate` in the file name uses all of the flash, with the BIOS region ending at the 8MB limit, so the BIOS region is therefore 2MB larger on those images. -Flash a ROM image (hardware) ------------------ +### Flash a ROM image (hardware) For general information, please refer to [25xx NOR flash instructions](../install/spi.md) - that page refers to use of socketed flash. diff --git a/site/docs/install/dell9020.md b/site/docs/install/dell9020.md index 00e390c..7264cd2 100644 --- a/site/docs/install/dell9020.md +++ b/site/docs/install/dell9020.md @@ -1,5 +1,5 @@ --- -title: Dell OptiPlex 9020 SFF/MT (and 7020), and XE2 MT/SFF +title: Install Libreboot on Dell OptiPlex 9020 SFF/MT (or 7020), or XE2 MT/SFF x-toc-enable: true ... @@ -62,8 +62,13 @@ P*: Partially works with vendor firmware | **SeaBIOS** | Works | | **SeaBIOS with GRUB** | Works |
    -Introduction -============ + +Open source BIOS/UEFI firmware +------------------------------ + +This document will teach you how to install Libreboot, on your +Dell OptiPlex 9020/7020 SFF/MT or XE2 SFF/MT desktop motherboard. Libreboot +replaces proprietary BIOS/UEFI firmware. **Unavailable in Libreboot 20240126 or earlier. You must [compile from source](../build/), or use a version newer than Libreboot 20240126** @@ -72,12 +77,11 @@ Official information about this machine can be found here: ECC memory support -================== +------------------ The 9020 MT/SFF do not have ECC memory support. However: -Dell Precision T1700 --------------------- +### Dell Precision T1700 The T1700 is a version of the same motherboard, but with ECC support. You can flash the 9020 MT image on this board, and it will boot. @@ -99,7 +103,7 @@ if a blob *can* be avoided, it must be avoided. Therefore, `mrc.bin` is avoided since the libre raminit works pretty well these days (ECC notwithstanding). Buy Libreboot preinstalled -====================== +-------------------------- You can buy this machine professionally serviced, with Libreboot preinstalled and your choice of Linux/BSD system. Many upgrades are also available. See: @@ -111,7 +115,7 @@ Sales are conducted to provide funding for the Libreboot project. Leah Rowe who runs Minifree, is also Libreboot's founder and lead developer. Patch -===== +----- Mate Kukri is the author of the original coreboot port. Thanks go to Kukri. Kukri's patch is here: @@ -121,16 +125,14 @@ Kukri's patch is here: This patch, at this revision (patchset 31), is what Libreboot uses for this port. -QUBES: how to get it working -------------------- +### QUBES: how to get it working Qubes requires IOMMU to be turned on. Please now read the next section. Qubes *WILL* work, if you configure Libreboot as directed below, but otherwise it will fail by default. This is because Libreboot *disables the IOMMU by default*, on this board. -Graphics cards and IOMMU --------------- +### Graphics cards and IOMMU IOMMU is buggy for some reason (we don't know why yet), when you plug in a graphics card. The graphics card simply won't work. On some of them, @@ -158,8 +160,7 @@ IOMMU, and only if vt-d is present. This is still the behaviour in Libreboot, but Libreboot adds an additional check: if `iommu` is not set in nvram, it defaults to on, but if it's set to disabled, then IOMMU is not initialised. -Enable IOMMU ------------- +### Enable IOMMU IOMMU is *disabled by default*, universally, on this board. You can turn it on, by modifying the ROM image prior to flashing, or modifying it prior to @@ -205,8 +206,7 @@ with IOMMU enabled: Make sure to configure your image accordingly. -7020 compatibility ------------------- +### 7020 compatibility 7020/9020 MT each have the same motherboard. Flash the 9020 ROM from Libreboot on your 7020, and it will work. @@ -214,8 +214,7 @@ on your 7020, and it will work. Ditto 7020/9020 SFF, it's the same motherboard. However, Libreboot provides separate targets for MT and SFF. -Build ROM image from source ---------------------------- +### Build ROM image from source For the MT variant (7020 MT and 9020 MT): @@ -229,10 +228,9 @@ It is important that you choose the right one. The MT variant is the full MTX tower. Installation -============ +------------ -Insert binary files -------------------- +### Insert binary files If you're using a release ROM, please ensure that you've inserted extra firmware required refer to the [guide](../install/ivy_has_common.md) for that. (failure @@ -242,15 +240,13 @@ Libreboot's build system automatically downloads and processes these files if you build Libreboot from source, but the same logic that it uses must be re-run if you're using a release image. -Set MAC address ---------------- +### Set MAC address This platform uses an Intel Flash Descriptor, and defines an Intel GbE NVM region. As such, release/build ROMs will contain the same MAC address. To change the MAC address, please read [nvmutil documentation](../install/nvmutil.md). -Flash a ROM image (software) ------------------ +### Flash a ROM image (software) If you're already running Libreboot, and you don't have flash protection turned on, [internal flashing](../install/) is possible. @@ -270,8 +266,7 @@ the original Dell BIOS, remove power from the computer instead of shutting it down normally. It's recommended to use a live USB instead of the internal drive to prevent potential filesystem corruption.** -Flash a ROM image (hardware) ------------------ +### Flash a ROM image (hardware) **REMOVE all power sources and connectors from the machine, before doing this. This is to prevent short circuiting and power surges while flashing.** diff --git a/site/docs/install/devmem.md b/site/docs/install/devmem.md index 554dd3b..f6ba944 100644 --- a/site/docs/install/devmem.md +++ b/site/docs/install/devmem.md @@ -12,7 +12,7 @@ access once you no longer need it, as this is a useful security layer against any wrongful operations that you may later inadvertently run as root. Also disable SecureBoot -======================= +----------------------- If you're using a UEFI setup, it's probably because you're using a latter Intel platform and want to flash Libreboot internally, from @@ -23,7 +23,7 @@ using the factory firmware, please ensure that *SecureBoot* is disabled, because it will interfere with lower memory accesses if left enabled. FLASH ERRORS (and workarounds) -======================= +------------------------------ **NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) now, as of 27 January 2024, which is a fork of flashrom. @@ -35,8 +35,7 @@ This section relates to installing libreboot on supported targets. Right out of the gate, some users may experience errors with flashprog when using the internal programmer. They are: -/dev/mem access error ---------------------- +### /dev/mem access error NOTE: if running `flashprog -p internal` for software based flashing, and you get an error related to `/dev/mem` access, you should reboot with @@ -48,8 +47,7 @@ is `kernel.securelevel=-1`; see [NetBSD securelevel manual](https://wiki.netbsd.org/tutorials/kernel_secure_levels/) and [OpenBSD securelevel manual](https://man.openbsd.org/securelevel). -ERROR: Could not get I/O privileges ------------------------------------- +### ERROR: Could not get I/O privileges Error message: `ERROR: Could not get I/O privileges (Function not implemented)` diff --git a/site/docs/install/ga-g41m-es2l.md b/site/docs/install/ga-g41m-es2l.md index ecf1fa7..3d3e907 100644 --- a/site/docs/install/ga-g41m-es2l.md +++ b/site/docs/install/ga-g41m-es2l.md @@ -1,5 +1,5 @@ --- -title: Gigabyte GA-G41M-ES2L desktop board +title: Install Libreboot on Gigabyte GA-G41M-ES2L ...
    @@ -48,8 +48,12 @@ P*: Partially works with vendor firmware | **SeaBIOS with GRUB** | Works |
    -Introduction -============ +Open source BIOS/UEFI firmware +------------------------------ + +This document will teach you how to install Libreboot, on your +Gigabyte GA-G41M-ES2L desktop motherboard. Libreboot replaces proprietary +BIOS/UEFI firmware. This is a desktop board using intel hardware (circa \~2009, ICH7 southbridge, similar performance-wise to the ThinkPad X200. It can make @@ -89,7 +93,7 @@ You can learn more about using the build system, lbmk, here:\ [libreboot build instructions](../build/) RAM -=== +--- **This board is very picky with RAM. If it doesn't boot, try an EHCI debug dongle, serial usb adapter and null modem cable, or spkmodem, to get a @@ -105,7 +109,7 @@ Many other modules will probably work just fine, but raminit is very picky on this board. Your mileage *will* fluctuate, wildly. MAC ADDRESS -=========== +----------- NOTE: due to a bug in the hardware, the MAC address is hardcoded in coreboot. Therefore, you must set your own MAC address in your @@ -116,14 +120,14 @@ distro, to set a valid MAC address. By doing this, your NIC should work nicely. Flash chip size {#flashchips} -=============== +--------------------- Use this to find out: flashprog -p internal Flashing instructions {#clip} -===================== +-------------------------- Refer to [spi.md](spi.md) for how to set up an SPI programmer for external flashing. *You can only externally reprogram one of the chips diff --git a/site/docs/install/hp2170p.md b/site/docs/install/hp2170p.md index 9a31bfa..8ff6be8 100644 --- a/site/docs/install/hp2170p.md +++ b/site/docs/install/hp2170p.md @@ -1,5 +1,5 @@ --- -title: HP EliteBook 2170p +title: Install Libreboot on HP EliteBook 2170p x-toc-enable: true ... @@ -24,10 +24,10 @@ there, before flashing. For posterity, | **Graphics** | Intel HD Graphics 4000 | | **Display** | 1366x768 11.6" TFT | | **Memory** | Two slots, max 8GB/slot (2x16GB), DDR3/sodimm | -| **Architecture** | x86_64 | +| **Architecture** | x86\_64 | | **EC** | SMSC KBC1126, proprietary (in main boot flash) | | **Original boot firmware** | HP UEFI firmware | -| **Intel ME/AMD PSP** | Present. Can be disabled with me_cleaner. | +| **Intel ME/AMD PSP** | Present. Can be disabled with me\_cleaner. | | **Flash chip** | SOIC-8 16MiB (128Mbit), in a socket | @@ -55,8 +55,13 @@ P*: Partially works with vendor firmware | **SeaBIOS** | Works | | **SeaBIOS with GRUB** | Works |
    -Introduction -============ + +Open source BIOS/UEFI firmware +------------------------------ + +This document will teach you how to install Libreboot, on your +HP EliteBook 2170p laptop motherboard. Libreboot replaces proprietary +BIOS/UEFI firmware. This is a portable, 11.6" Ivy Bridge platform from HP. More information is available on the [coreboot @@ -69,38 +74,33 @@ in the latest GRUB revisions, and Libreboot's version of GRUB contains this fix. **Unavailable in Libreboot 20230625 or earlier. You must [compile from source](../build/), or use at least Libreboot 20231021.** -Build ROM image from source ---------------------------- +### Build ROM image from source The build target, when building from source, is thus: ./mk -b coreboot hp2170p_16mb -Installation -============ +Install Libreboot +----------------- -Insert binary files -------------------- +### Insert binary files If you're using a release ROM, please ensure that you've inserted extra firmware required refer to the [guide](../install/ivy_has_common.md) for that. (failure to adhere to this advice will result in a bricked machine) -Set MAC address ---------------- +### Set MAC address This platform uses an Intel Flash Descriptor, and defines an Intel GbE NVM region. As such, release/build ROMs will contain the same MAC address. To change the MAC address, please read [nvmutil documentation](../install/nvmutil.md). -Flash a ROM image (software) ------------------ +### Flash a ROM image (software) If you're already running Libreboot, and you don't have flash protection turned on, [internal flashing](../install/) is possible. -Flash a ROM image (hardware) ------------------ +### Flash a ROM image (hardware) **REMOVE all power sources like battery, charger and so on, before doing this. This is to prevent short circuiting and power surges while flashing; although diff --git a/site/docs/install/hp2560p.md b/site/docs/install/hp2560p.md index 9d37d5b..b3c4db2 100644 --- a/site/docs/install/hp2560p.md +++ b/site/docs/install/hp2560p.md @@ -1,5 +1,5 @@ --- -title: HP EliteBook 2560p +title: Install Libreboot on HP EliteBook 2560p x-toc-enable: true ... @@ -36,16 +36,19 @@ there, before flashing. For posterity, | **SeaBIOS with GRUB** | Works |
    +Open source BIOS/UEFI firmware +------------------------- -Brief board info -================ +This document will teach you how to install Libreboot, on your +HP EliteBook 2560p laptop motherboard. Libreboot replaces proprietary +BIOS/UEFI firmware. HP EliteBook 2560p is a 12.5" laptop you can read more about here: Installation of Libreboot -========================= +------------------------- Coreboot also has some information: diff --git a/site/docs/install/hp2570p.md b/site/docs/install/hp2570p.md index 2915f7b..cfef220 100644 --- a/site/docs/install/hp2570p.md +++ b/site/docs/install/hp2570p.md @@ -1,5 +1,5 @@ --- -title: HP EliteBook 2570p +title: Install Libreboot on HP EliteBook 2570p x-toc-enable: true ... @@ -36,15 +36,22 @@ HP EliteBook 2570p | **SeaBIOS with GRUB** | Works |
    +Open source BIOS/UEFI firmware +------------------------------ + +This document will teach you how to install Libreboot, on your +HP EliteBook 2570p laptop motherboard. Libreboot replaces proprietary +BIOS/UEFI firmware. + Brief board info -================ +---------------- Vendor info here: Installation of Libreboot -========================= +------------------------- Coreboot also has some information: diff --git a/site/docs/install/hp8200sff.md b/site/docs/install/hp8200sff.md index 72a31f4..1fc7092 100644 --- a/site/docs/install/hp8200sff.md +++ b/site/docs/install/hp8200sff.md @@ -1,5 +1,5 @@ --- -title: HP Elite 8200 SFF/MT and 6200 Pro Business +title: Install Libreboot on HP Elite 8200 SFF/MT and 6200 Pro Business x-toc-enable: true ... @@ -23,7 +23,7 @@ there, before flashing. For posterity, | **CPU** | Intel Sandy/Ivy Bridge | | **Graphics** | Intel HD Graphics or PCI-e low profile card | | **Memory** | Up to 32GB (4x8GB) | -| **Architecture** | x86_64 | +| **Architecture** | x86\_64 | | **Intel ME/AMD PSP** | Present, neutered | | **Flash chip** | SOIC-8 8MiB | @@ -51,22 +51,17 @@ P*: Partially works with vendor firmware | **SeaBIOS with GRUB** | Works |
    -Disable security before flashing -================================ +Open source BIOS/UEFI firmware +------------------------------ -Before internal flashing, you must first disable `/dev/mem` protections. Make -sure to re-enable them after you're finished. - -See: [Disabling /dev/mem protection](../install/devmem.md) - -Introduction -============ +This document will teach you how to install Libreboot, on your +HP Elite 8200 SFF desktop motherboard. Libreboot replaces proprietary +BIOS/UEFI firmware. Libreboot has support for this, in the Git repository and release versions from 20230423 onwards. -Brief board info ----------------- +### Brief board info HP Elite 8200 SFF is a small-form-factor desktop of Intel Sandybridge platform which you can read more about here: @@ -81,7 +76,15 @@ Here's the [Technical Reference Manual](https://web.archive.org/web/201601091432 This system supports Ivy Bridge processors too. The original BIOS won't even POST with those, but with Libreboot they work fully. -Installation of Libreboot +Disable security before flashing +-------------------------------- + +Before internal flashing, you must first disable `/dev/mem` protections. Make +sure to re-enable them after you're finished. + +See: [Disabling /dev/mem protection](../install/devmem.md) + +Install Libreboot ------------------------- You can actually just compile the Libreboot ROM for this, and flash the diff --git a/site/docs/install/hp820g2.md b/site/docs/install/hp820g2.md index e773b57..901f6ac 100644 --- a/site/docs/install/hp820g2.md +++ b/site/docs/install/hp820g2.md @@ -1,5 +1,5 @@ --- -title: HP EliteBook 820 G2 +title: Install Libreboot on HP EliteBook 820 G2 x-toc-enable: true ... @@ -61,14 +61,12 @@ P*: Partially works with vendor firmware | **SeaBIOS with GRUB** | Works |
    -Brief board info: +Open source BIOS/UEFI firmware +------------------------- -Full hardware specifications can be found on HP's own website: - - - -Introduction -============ +This document will teach you how to install Libreboot, on your +HP EliteBook 820 G2 laptop motherboard. Libreboot replaces proprietary +BIOS/UEFI firmware. Please build this from source with lbmk: @@ -77,6 +75,12 @@ Please build this from source with lbmk: More information is available in the [build guide](../build/), including how to install build dependencies. +Alternatively, you can use pre-compiled release images. + +Full hardware specifications can be found on HP's own website: + + + Pre-compiled images now possible! -------------------------------- @@ -105,7 +109,7 @@ considering that you still have about 10MB of unused flash space left, at least as of the 20241206 rev8 release. HP Sure Start -============= +------------- There is a 16MB flash and a 2MB flash. Read this page for info: @@ -136,7 +140,7 @@ the Libreboot installation, because it's also important when updating Libreboot later on. Installation of Libreboot -========================= +------------------------- Make sure to set the MAC address in the flash: [Modify MAC addresses with nvmutil](../install/nvmutil.md). @@ -181,7 +185,7 @@ the [external flashing guide](../install/spi.md) so that you can learn how to actually flash it. TPM 2.0 potentially supported -============================== +----------------------------- The onboard TPM is an SLB 9660, which supports TPM 1.2 but it is known to be compatible with TPM 2.0 via firmware upgrade. Although not yet tested, we have @@ -193,7 +197,7 @@ Not yet used meaningfully by Libreboot itself, but the TPM can be used to implement things like measured boot. References -========== +---------- See: diff --git a/site/docs/install/hp8300usdt.md b/site/docs/install/hp8300usdt.md index 0f23182..d18444a 100644 --- a/site/docs/install/hp8300usdt.md +++ b/site/docs/install/hp8300usdt.md @@ -1,5 +1,5 @@ --- -title: HP Compaq Elite 8300 USDT +title: Install Libreboot HP Compaq Elite 8300 USDT x-toc-enable: true ... @@ -26,15 +26,12 @@ there, before flashing. For posterity, | **Intel ME/AMD PSP** | Present, neutered | | **Flash chip** | SOIC-16 16MiB | -Disable security before flashing -================================ +Open source BIOS/UEFI firmware +------------------------- -Before internal flashing, you must first disable `/dev/mem` protections. Make -sure to re-enable them after you're finished. - -See: [Disabling /dev/mem protection](../install/devmem.md) - -# Introduction +This document will teach you how to install Libreboot, on your +HP Elite 8300 USDT desktop motherboard. Libreboot replaces proprietary +BIOS/UEFI firmware. This is a small but powerful desktop using Sandy or Ivy Bridge CPUs (of up to 65W TDP). @@ -60,9 +57,21 @@ These features are tested and confirmed working: * Wake on LAN * Rebooting -# Installation +Disable security before flashing +-------------------------------- -## Internal flashing +Before internal flashing, you must first disable `/dev/mem` protections. Make +sure to re-enable them after you're finished. + +See: [Disabling /dev/mem protection](../install/devmem.md) + +Install Libreboot +----------------- + +These next sections will teach you how to install Libreboot on your +HP Elite 8300 USDT mainboard. + +### Internal flashing Internal flashing is possible. OEM BIOS versions 2.87 and 2.90 are confirmed compatible with this guide. BIOS 2.05 is confirmed **not** to work. @@ -115,7 +124,7 @@ You can now move the jumper back to its original place. By default, Libreboot applies no write-protection, so updating it can be done without the jumper anyway. -## External flashing +### External flashing Unbricking is possible by external flashing. You first need to remove the optical disk drive and 2.5" HDD/SSD and the metal bracket that diff --git a/site/docs/install/hp8460p.md b/site/docs/install/hp8460p.md index 4e86cbd..82532c1 100644 --- a/site/docs/install/hp8460p.md +++ b/site/docs/install/hp8460p.md @@ -1,5 +1,5 @@ --- -title: HP EliteBook 8460p +title: Install Libreboot on HP EliteBook 8460p x-toc-enable: true ... @@ -56,8 +56,13 @@ P*: Partially works with vendor firmware | **SeaBIOS** | Works | | **SeaBIOS with GRUB** | Works |
    -Introduction -============ + +Open source BIOS/UEFI firmware +------------------------- + +These next sections will teach you how to install Libreboot, on your +HP EliteBook 8460p laptop motherboard. Libreboot replaces proprietary +BIOS/UEFI firmware. **Unavailable in Libreboot 20231106 or earlier. You must [compile from source](../build/), or use a release newer than 20231106.** @@ -66,38 +71,35 @@ This is a beastly 14" Sandy Bridge platform from HP. **NOTE: Until otherwise stated, only the Intel GPU variant is supported in Libreboot.** -Build ROM image from source ---------------------------- +### Build ROM image from source The build target, when building from source, is thus: ./mk -b coreboot hp8460pintel_8mb -Installation -============ +Install Libreboot +----------------- -Insert binary files -------------------- +**Please take care to insert the vendor files, if using release images.** + +### Insert binary files If you're using a release ROM, please ensure that you've inserted extra firmware required refer to the [guide](../install/ivy_has_common.md) for that. (failure to adhere to this advice will result in a bricked machine) -Set MAC address ---------------- +### Set MAC address This platform uses an Intel Flash Descriptor, and defines an Intel GbE NVM region. As such, release/build ROMs will contain the same MAC address. To -change the MAC address, please read [nvmutil documentation](../install/nvmutil.md). +change the MAC address, please read [nvmutil documentation](/nvmutil.md). -Flash a ROM image (software) ------------------ +### Flash a ROM image (software) If you're already running Libreboot, and you don't have flash protection turned on, [internal flashing](../install/) is possible. -Flash a ROM image (hardware) ------------------ +### Flash a ROM image (hardware) **REMOVE all power sources like battery, charger and so on, before doing this. This is to prevent short circuiting and power surges while flashing.** diff --git a/site/docs/install/hp8470p.md b/site/docs/install/hp8470p.md index 5cc00de..659fc72 100644 --- a/site/docs/install/hp8470p.md +++ b/site/docs/install/hp8470p.md @@ -1,5 +1,5 @@ --- -title: HP EliteBook 8470p +title: Install Libreboot on HP EliteBook 8470p x-toc-enable: true ... @@ -56,11 +56,13 @@ P*: Partially works with vendor firmware | **SeaBIOS** | Works | | **SeaBIOS with GRUB** | Works |
    -Introduction -============ -**Unavailable in Libreboot 20230625 or earlier. You must [compile from -source](../build/), or use at least Libreboot 20231021.** +Open source BIOS/UEFI firmware +------------------------------ + +This document will teach you how to install Libreboot, on your +HP EliteBook 8470p laptop motherboard. Libreboot replaces proprietary +BIOS/UEFI firmware. Official information about the laptop can be found here: @@ -69,38 +71,33 @@ This is a beastly 14" Ivy Bridge platform from HP. **NOTE: Until otherwise stated, only the Intel GPU variant is supported in Libreboot.** -Build ROM image from source ---------------------------- +### Build ROM image from source The build target, when building from source, is thus: ./mk -b coreboot hp8470pintel_16mb Installation -============ +------------ -Insert binary files -------------------- +### Insert binary files If you're using a release ROM, please ensure that you've inserted extra firmware required refer to the [guide](../install/ivy_has_common.md) for that. (failure to adhere to this advice will result in a bricked machine) -Set MAC address ---------------- +### Set MAC address This platform uses an Intel Flash Descriptor, and defines an Intel GbE NVM region. As such, release/build ROMs will contain the same MAC address. To change the MAC address, please read [nvmutil documentation](../install/nvmutil.md). -Flash a ROM image (software) ------------------ +### Flash a ROM image (software) If you're already running Libreboot, and you don't have flash protection turned on, [internal flashing](../install/) is possible. -Flash a ROM image (hardware) ------------------ +### Flash a ROM image (hardware) **REMOVE all power sources like battery, charger and so on, before doing this. This is to prevent short circuiting and power surges while flashing.** diff --git a/site/docs/install/hp8560w.md b/site/docs/install/hp8560w.md index 220ea33..69da627 100644 --- a/site/docs/install/hp8560w.md +++ b/site/docs/install/hp8560w.md @@ -1,5 +1,5 @@ --- -title: HP EliteBook 8560w +title: Install Libreboot on HP EliteBook 8560w x-toc-enable: true ... @@ -56,8 +56,13 @@ P*: Partially works with vendor firmware | **SeaBIOS** | Works | | **SeaBIOS with GRUB** | Works |
    -Introduction -============ + +Open source BIOS/UEFI firmware +------------------------- + +These next sections will teach you how to install Libreboot, on your +HP EliteBook 8560w laptop motherboard. Libreboot replaces proprietary +BIOS/UEFI firmware. **Unavailable in Libreboot 20240126 or earlier. You must [compile from source](../build/), or use a release newer than 20240126.** @@ -66,8 +71,7 @@ This is a beastly 15" Sandy Bridge mobile workstation from HP. **Wi-Fi does not work. It shows correctly in lspci, but stays hard blocked.** -GPU ---- +### GPU This laptop has upgradeable GPU: it has a socketed MXM-A 3.0 card. So far, only Quadro 1000M and 2000M (which shipped with the laptop originally) have @@ -91,38 +95,33 @@ If you have an eDP panel, you should be able to use newer cards than that. As long as the card has an onboard VBIOS, Libreboot will execute it and everything *should* work. **However, this is currently untested.** -Build ROM image from source ---------------------------- +### Build ROM image from source The build target, when building from source, is thus: ./mk -b coreboot hp8560w_8mb Installation -============ +------------ -Insert binary files -------------------- +### Insert binary files If you're using a release ROM, please ensure that you've inserted extra firmware required refer to the [guide](../install/ivy_has_common.md) for that. (failure to adhere to this advice will result in a bricked machine) -Set MAC address ---------------- +### Set MAC address This platform uses an Intel Flash Descriptor, and defines an Intel GbE NVM region. As such, release/build ROMs will contain the same MAC address. To change the MAC address, please read [nvmutil documentation](../install/nvmutil.md). -Flash a ROM image (software) ------------------ +### Flash a ROM image (software) If you're already running Libreboot, and you don't have flash protection turned on, [internal flashing](../install/) is possible. -Flash a ROM image (hardware) ------------------ +### Flash a ROM image (hardware) **REMOVE all power sources like battery, charger and so on, before doing this. This is to prevent short circuiting and power surges while flashing.** diff --git a/site/docs/install/hp9470m.md b/site/docs/install/hp9470m.md index 2266ef2..09d0023 100644 --- a/site/docs/install/hp9470m.md +++ b/site/docs/install/hp9470m.md @@ -1,5 +1,5 @@ --- -title: HP EliteBook Folio 9470m +title: Install Libreboot on HP EliteBook Folio 9470m x-toc-enable: true ... @@ -36,20 +36,27 @@ there, before flashing. For posterity, | **SeaBIOS with GRUB** | Works |
    -Introduction -============ +Open source BIOS/UEFI firmware +------------------------------ + +These sections will teach you how to install Libreboot, on your +HP EliteBook Folio 9470m laptop motherboard. Libreboot replaces proprietary +BIOS/UEFI firmware. HP EliteBook Folio 9470m is a 14" ultrabook with a backlit keyboard. Libreboot has support for this, in the Git repository and release versions from Libreboot 20230423 onwards. -Installation of Libreboot -========================= +Install Libreboot +----------------- You must first compile the Libreboot ROM - ./mk -b coreboot hp9470m_16mb + ./mk -b coreboot hp9470m_16mb + +**You can also use release images, instead of compiling, but please make +sure to follow the notes below about vendorfile insertion, first!** More information about building ROM images can be found in the [build guide](../build). @@ -71,8 +78,7 @@ in the same guide linked above, or read the nvmutil manual: [Modify MAC addresses with nvmutil](../install/nvmutil.md). -Disassembly ------------ +### Disassembly Remove the battery. diff --git a/site/docs/install/ich9utils.md b/site/docs/install/ich9utils.md index 20c2625..d161955 100644 --- a/site/docs/install/ich9utils.md +++ b/site/docs/install/ich9utils.md @@ -27,7 +27,7 @@ scrapped. Anyway, ich9utils documentation: Introduction -============ +------------ The `ich9utils` utility from Libreboot is used to manipulate Intel Flash Descriptors for ICH9M on laptops such as ThinkPad X200 or T400. Specifically, @@ -75,7 +75,7 @@ More information about the ME can be found at Another project: ich9utils -========= +--------- You can find `ich9utils` on the [Git page](../../git.md) or you can download `lbmk` from the same page at an under revision (around Libreboot 20230625 or @@ -85,7 +85,7 @@ Go in there and type `make` to get the binaries: `ich9deblob`, `ich9gen` and `ich9show`. ICH9 show utility {#ich9show} -================ +--------------------------- The *ich9show* utility outputs the entire contents of the descriptor and GbE regions in a given ROM image as supplied by the user. Output is in Markdown @@ -93,7 +93,7 @@ format (Pandoc variant) so that it can be converted easily into various formats. It could even be piped *directly* into pandoc! ICH9 gen utility {#ich9gen} -================ +--------------------------- When you simply run `ich9gen` without any arguments, it generates descriptor+GbE images with a default MAC address in the GbE region. If you wish @@ -185,8 +185,7 @@ Your libreboot.rom image is now ready to be flashed on the system. Refer back to [../install/\#flashprog](../install/#flashprog) for how to flash it. -Write-protecting the flash chip -------------------------------- +### Write-protecting the flash chip The `ich9gen` utility (see below) generates two types of descriptor+GbE setup: @@ -200,7 +199,7 @@ the contents of flash). For ease of use, libreboot provides ROMs that are read-write by default. ICH9 deblob utility {#ich9deblob} -=================== +----------------------------------- This was the tool originally used to disable the ME on X200 (later adapted for other systems that use the GM45 chipset). @@ -279,7 +278,7 @@ back to [index.md/\#gm45](index.md/#gm45) for how to flash it. demefactory utility {#demefactory} -=================== +---------------------------------- This utility has never been tested, officially, but it *should* work. diff --git a/site/docs/install/index.md b/site/docs/install/index.md index 3484e8b..18afa26 100644 --- a/site/docs/install/index.md +++ b/site/docs/install/index.md @@ -1,18 +1,22 @@ --- -title: Libreboot installation guides +title: Install Libreboot x-toc-enable: true ... +Open source BIOS/UEFI firmware +------------------------------ + This article will teach you how to install Libreboot, on any of the supported -laptop, desktop and server motherboards. +laptop, desktop and server motherboards of Intel/AMD x86/x86\_64 and ARM64 +platform. Libreboot replaces proprietary BIOS/UEFI firmware. **ALWAYS remember to make a backup of the current flash, when overwriting it, regardless of what firmware you currently have and what firmware you're re-flashing it with; this includes updates between Libreboot releases. Use the `-r` option in flashprog instead `-w`, to read from the flash.** -**SAFETY WARNING!** -==================================================================== +SAFETY WARNING! +--------------- **[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](ivy_has_common.md), OR YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions @@ -25,7 +29,7 @@ be added. See: [Inserting Vendor Files](ivy_has_common.md).** If you're [building from source](../build/), you can ignore the above guidance. Install Libreboot via external flashing -================= +--------------------------------------- Refer to the following article:\ [Externally rewrite 25xx NOR flash via SPI protocol](spi.md) @@ -37,7 +41,7 @@ externally or internally - if only external flashing is available, then it's usually the case that only external dumping is available too. Need help? -========== +---------- Help is available on [Libreboot IRC](../../contact.md) and other channels. @@ -50,7 +54,7 @@ Leah Rowe, the founder and lead developer of Libreboot, also owns and operates Minifree Ltd; sales provide funding for the Libreboot project. Which systems are supported by Libreboot? -======================================== +----------------------------------------- Before actually reading the installation guides, please ensure that your system is fully supported by Libreboot. More information about the Libreboot @@ -63,19 +67,16 @@ systems, you can use the U-Boot payload (coreboot still initialises hardware). Libreboot currently supports the following systems: -Games consoles --------------- +### Games consoles - [Sony Playstation](playstation.md) (PS1/PSX) -Servers (AMD, x86) ------------------- +### Servers (AMD, x86) - [ASUS KFSN4-DRE motherboard](kfsn4-dre.md) - [ASUS KGPE-D16 motherboard](kgpe-d16.md) -Desktops (AMD, Intel, x86) --------------------------- +### Desktops (AMD, Intel, x86) - [Dell OptiPlex 3050 Micro](dell3050.html) - **Also [available to buy with Libreboot pre-installed](https://minifree.org/product/libreboot-3050-micro/)** - [Dell OptiPlex 7020/9020 MT and SFF](dell9020.md) - Dell OptiPlex XE2 MT/SFF also known to work @@ -95,8 +96,7 @@ Desktops (AMD, Intel, x86) - Intel D510MO and D410PT motherboards - [Intel D945GCLF](d945gclf.md) -Laptops (Intel, x86) --------------------- +### Laptops (Intel, x86) - [Lenovo ThinkPad T480 and ThinkPad T480s](t480.html) - Also **[available to buy with Libreboot pre-installed](https://minifree.org/product/libreboot-t480/)** - Lenovo ThinkPad T440p @@ -128,19 +128,17 @@ Laptops (Intel, x86) - Lenovo Thinkpad X220 / X200 Tablet - [Lenovo Thinkpad X230 / X230 Tablet](x230_external.md) -Laptops (ARM, with U-Boot payload) ----------------------------------- +### Laptops (ARM, with U-Boot payload) - [ASUS Chromebook Flip C101 (gru-bob)](chromebooks.md) - [Samsung Chromebook Plus (v1) (gru-kevin)](chromebooks.md) -Emulation ---------- +### Emulation - [Qemu x86 and arm64](../misc/emulation.md) -**Disable security before flashing** -================================ +Disable security before flashing +-------------------------------- **Before internal flashing, you must first disable `/dev/mem` protections. Make sure to re-enable them after you're finished.** @@ -148,7 +146,7 @@ sure to re-enable them after you're finished.** **See: [Disabling /dev/mem protection](devmem.md)** ROM image file names -==================== +-------------------- Libreboot ROM images are named like this: `payload_board_inittype_displaytype_keymap.rom` @@ -178,7 +176,7 @@ executed instead, if the primary payload is SeaBIOS, whether that be pure SeaBIOS or a SeaGRUB setup. EC firmware updates -=================== +------------------- Obviously, free EC firmware would be preferable, but it is not the case on all machine. We would like to have free EC firmware on more machines, but for @@ -199,31 +197,28 @@ It is recommended that you update to the latest EC firmware version. The Updating the EC can sometimes provide benefit depending on the vendor. For example, they might fix power issues that could then enhance battery life. -ThinkPads ---------- +### ThinkPads See: Otherwise, check the Lenovo website to find the update utility for your mainboard. -HP EliteBooks -------------- +### HP EliteBooks EC firmware is required in the main boot flash, but Libreboot's build system automatically downloads this from HP for each machine, and inserts it, so you don't have to worry. Just make sure that [vendor files are inserted](ivy_has_common.md) if using release images. -Other ------ +### Other The same wisdom applies to other laptop vendors. Non-laptops typically do not have embedded controllers in them. Libreboot installation instructions -=================================== +----------------------------------- In general, if Libreboot is already running, you can skip towards the final section on this page, which provides general internal @@ -238,8 +233,7 @@ Therefore, before following generic guides, make sure to check first whether your board has special instructions, otherwise use the generic guide at the end of this article. -Intel GbE MAC address (IFD-based systems) ---------------------------------------- +### Intel GbE MAC address (IFD-based systems) On all Intel platforms except X4X (e.g. Gigabyte GA-G41M-ES2L) and i945 ones (e.g. ThinkPad X60, ThinkPad T60, MacBook2,1), an Intel Flash Descriptor is @@ -249,8 +243,7 @@ flash, and can (must) be changed prior to installation. You can use [nvmutil](nvmutil.md) to change the MAC address. You will perform this modification to the ROM image, before flashing it. -Flash lockdown / boot security -------------------- +### Flash lockdown / boot security This is referred to informally as *Secure libreBoot*. @@ -262,8 +255,7 @@ See: [GRUB hardening / Secure libreBoot](../linux/grub_hardening.md) If you already did this, it's possible that you may no longer be able to flash internally. If that is the case, you must [flash externally](spi.md). -Updating an existing installation ---------------------------------- +### Updating an existing installation Unless otherwise stated, in sections pertaining to each mainboard below, an existing Libreboot installation can be updated via internal flashing, @@ -280,30 +272,26 @@ special steps required that differ from updating an existing installation. The next sections will pertain to specific mainboards, where indicated, followed by general internal flashing instructions where applicable. -HP EliteBook 820 G2 (internal and external) -------------------- +### HP EliteBook 820 G2 (internal and external) See: [HP EliteBook 820 G2 flashing guide](hp820g2.md) The flashprog command is identical, except programmer selection, on external and internal flashing; internal is only possible if you already have Libreboot. -HP EliteBook 8560w (vendor BIOS) --------------------- +### HP EliteBook 8560w (vendor BIOS) If you have the factory firmware: [HP 8560w external flashing guide](hp8560w.md) -Dell Latitude laptops (vendor BIOS) ---------------------- +### Dell Latitude laptops (vendor BIOS) See: [Dell Latitude flashing guide](latitude.md) This applies to all supported Dell Latitude models. Remember to [update the MAC address with nvmutil](nvmutil.md), before flashing. -ThinkPad X200/T400/T500/W500/R400/R500 --------------------------------------- +### ThinkPad X200/T400/T500/W500/R400/R500 If you're running one of these with Lenovo BIOS, you must externally flash Libreboot, because the original firmware restricts writes to the flash. @@ -324,35 +312,30 @@ You can find WSON8 probes online, that are similar to a SOIC8/SOIC16 clip. Your mileage may very, but WSON8 has the same pinout as SOIC8 so you might have some luck with that. -Intel D510MO/D410PT (vendor BIOS) ------------------------ +### Intel D510MO/D410PT (vendor BIOS) See: [External flashing guide](spi.md) - both boards are compatible with the same image. -Gigabyte GA-G41M-ES2L (vendor BIOS) ---------------------- +### Gigabyte GA-G41M-ES2L (vendor BIOS) Internal flashing is possible, from factory BIOS to Libreboot, but special steps are required. See: [Gigabyte GA-G41M-ES2L installation guide](ga-g41m-es2l.md) -Acer G43T-AM3 (vendor BIOS) --------------------- +### Acer G43T-AM3 (vendor BIOS) See: [Acer G43T-AM3](acer_g43t-am3.md) -MacBook 1,1 / 2,1 / iMac 5,2 (vendor BIOS) -------------------------- +### MacBook 1,1 / 2,1 / iMac 5,2 (vendor BIOS) MacBook *1,1* requires [external flashing](spi.md). MacBook *2,1* can always be flashed internally. iMac 5,2 can be flashed internally. Also check the [Macbook2,1 hardware page](macbook21.md) -ASUS KCMA-D8 / KGPE-D16 (vendor BIOS) --------------------------- +### ASUS KCMA-D8 / KGPE-D16 (vendor BIOS) [You must flash it externally](spi.md) (DIP-8 section) - also look at the [KGPE-D16 hardware page](kgpe-d16.md). @@ -362,8 +345,7 @@ Further information is available on the [KCMA-D8 page](kcma-d8.md). KGPE-D16 installation is essentially the same, with the same type of flash IC (DIP-8). Refer to the external flashing guide. -ASUS KFSN4-DRE (vendor BIOS) -------------------------- +### ASUS KFSN4-DRE (vendor BIOS) This board uses LPC flash in a PLCC32 socket. This coreboot page shows an example of the push pin as a proof of concept: @@ -374,27 +356,23 @@ See: [ASUS KFSN4-DRE guide](kfsn4-dre.md) Hot-swap the flash IC with another one while it's running, and flash it internally. -Intel D945GCLF (vendor BIOS) ---------------------------------- +### Intel D945GCLF (vendor BIOS) See: [Intel D945GCLF flashing guide](d945gclf.md) -Dell OptiPlex 3050 Micro (vendor BIOS) ---------------------- +### Dell OptiPlex 3050 Micro (vendor BIOS) Refer to the [3050 Micro page](dell3050.md). Internal flashing also possible. This has the Intel Boot Guard, but Libreboot uses the *deguard* utility to disable the Boot Guard on this Intel 7th gen board. -Dell OptiPlex 7010/9010 SFF (vendor BIOS) ---------------------- +### Dell OptiPlex 7010/9010 SFF (vendor BIOS) Refer to the [7010/9020 SFF page](dell7010.md). Internal flashing also possible. NOTE: If you have the *MT* variant, read the sections below instead (the SFF ROM is only for SFF). -Dell OptiPlex 7010/9010 MT (vendor BIOS) ---------------------- +### Dell OptiPlex 7010/9010 MT (vendor BIOS) This board is essentially identical to the Dell Precision T1650, except that it does not support ECC memory. Same wiring. @@ -402,22 +380,19 @@ it does not support ECC memory. Same wiring. You can flash the T1650 image on this machine. NOTE: This applies to the MT variant, specifically. Do not flash T1650 images on the 7010/9010 *SFF*. -Dell Precision T1650 desktop ------------------------------------- +### Dell Precision T1650 desktop Refer to the [T1650 hardware page](t1650.md). External flashing required, or you can set the Service Mode jumper and flash internally (from vendor firmware, to Libreboot). -Dell OptiPlex 7020/9020/XE2 SFF/MT / Precision T1700 ------------------------------------- +### Dell OptiPlex 7020/9020/XE2 SFF/MT / Precision T1700 Refer to the [7020/9020 hardware page](dell9020.md). Internal flashing (from vendor firmware to Libreboot) is possible if you set the Service Mode jumper. -HP EliteBook laptops (vendor BIOS) --------------------- +### HP EliteBook laptops (vendor BIOS) Refer to the [hardware page]() for info about HP laptops, and read the [external flashing guide](spi.md). @@ -435,18 +410,15 @@ Links to specific HP laptop pages: These pages provide more info about external flashing. You must remember to [insert vendor files](ivy_has_common.md), if you're using release ROMs. -HP Elite 8200 SFF (vendor BIOS) -------------------------- +### HP Elite 8200 SFF (vendor BIOS) See: [HP Elite 8200 SFF install guide](hp8200sff.md) -HP Elite 8300 USDT (vendor BIOS) ----------------------------- +### HP Elite 8300 USDT (vendor BIOS) See: [HP Elite 8200 USDT install guide](hp8300usdt.md) -ThinkPad X220/X220T/T420/T420s/T520 ------------------------------------ +### ThinkPad X220/X220T/T420/T420s/T520 T420/T520: [T420 flash instructions](t420_external.md) @@ -460,8 +432,7 @@ internally; you must use [an external flasher](spi.md). Otherwise, look at [X230 disassembly](x230_external.md). Note that the X220 has a single 8MB flash, instead of 8MB and 4MB. -ThinkPad X230/T430/T530/W530/X230T ----------------------------------- +### ThinkPad X230/T430/T530/W530/X230T Internal flashing from vendor BIOS to Libreboot is possible, but not recommended. See: [IvyBridge ThinkPad internal flashing](ivy_internal.md). @@ -471,8 +442,7 @@ See: [ThinkPad X230 install guide](x230_external.md). Otherwise, refer to [external SPI flashing](spi.md). -ThinkPad T60/X60/X60Tablet/X60S -------------------------------- +### ThinkPad T60/X60/X60Tablet/X60S Only the Intel GPU is compatible. Do not flash the ATI GPU models. @@ -565,23 +535,20 @@ bootblock, set bucts back to zero: The second flash can be done by simply following the general internal flashing guide further down on this page. -ThinkPad T480/T480S (vendor BIOS) ----------------------- +### ThinkPad T480/T480S (vendor BIOS) See: * [ThinkPad T480/T480S](t480.md) -Thinkpad T440p/W541 (vendor BIOS) ---------------------- +### Thinkpad T440p/W541 (vendor BIOS) Guides: * [ThinkPad T440p flashing guide](t440p_external.md) * [ThinkPad W541 flashing guide](w541_external.md) -HP EliteBook laptops (vendor BIOS) -------------------------- +### HP EliteBook laptops (vendor BIOS) Each machine has it's own guide: @@ -594,16 +561,14 @@ Each machine has it's own guide: * [HP EliteBook 8560w](hp8560w.md) * [HP EliteBook Folio 9470m](hp9470m.md) -HP Elite desktops (vendor BIOS) -------------------------- +### HP Elite desktops (vendor BIOS) Each machine has it's own guide: * [HP Elite 8200 SFF/MT](hp8200sff.md) (HP 6200 Pro Business probably works too) * [HP Elite 8300 USDT](hp8300usdt.md) -ARM-based Chromebooks ---------------------- +### ARM-based Chromebooks See: [Chromebook flashing instructions](chromebooks.md) @@ -612,8 +577,7 @@ the x86 machines, because the Chromebooks still use flashrom with the `-p host` argument instead of `-p internal` when flashing, and you typically need to flash externally, due to Google's security model. -QEMU (arm64 and x86) --------------------- +### QEMU (arm64 and x86) Libreboot can be used on QEMU (virtual machine), which is useful for debugging payloads and generally trying out Libreboot, without requiring real hardware. @@ -621,7 +585,7 @@ payloads and generally trying out Libreboot, without requiring real hardware. See: [Libreboot QEMU guide](../misc/emulation.md) Install via host CPU (internal flashing) -======================================== +---------------------------------------- NOTE: This mainly applies to the x86 machines. @@ -635,14 +599,13 @@ directly. Internal flashing is often unavailable with the factory firmware, but it is usually possible when Libreboot is running (barring special circumstances). -Run flashprog on host CPU ------------------------- +### Run flashprog on host CPU **Always remember to [insert vendor files](ivy_has_common.md), when using release images. Otherwise, these files are added automatically at build time, when building from source (but they are not present in release images).** -### Flash chip size +#### Flash chip size Use this to find out: @@ -650,7 +613,7 @@ Use this to find out: In the output will be information pertaining to your boot flash. -### Howto: read/write/erase the boot flash +#### Howto: read/write/erase the boot flash How to read the current chip contents: @@ -664,7 +627,7 @@ How to erase and rewrite the chip contents: sudo flashprog -p internal:laptop=force_I_want_a_brick,boardmismatch=force -w libreboot.rom NOTE: `force_I_want_a_brick` is not scary. Do not be scared! This merely disables -the safety checks in flashprog. Flashrom and coreboot change a lot, over the years, +the safety checks in flashprog. Flashprog and coreboot change a lot, over the years, and sometimes it's necessary to use this option. If you're scared, then just follow the above instructions, but remove that option. So, just use `-p internal`. If that doesn't work, next try `-p internal:boardmismatch=force`. If that doesn't @@ -680,7 +643,7 @@ NOTE: there are exceptions where the above is not possible. Read about them in the sections below: Removed boards -============== +-------------- These boards were in Libreboot, but have been removed with the intention of re-adding them at a later date. They were removed due to issues. List: @@ -697,8 +660,7 @@ re-adding them at a later date. They were removed due to issues. List: - [Samsung Chromebook XE303 (daisy-snow)](chromebooks.md) - Lenovo ThinkPad X301 (still in lbmk, but with `release="n"`) -NOTES about removed boards --------------------------- +### NOTES about removed boards **WARNING: veyron speedy boards (e.g. C201) have non-functional video init as of 19 February 2023, and no fix is yet available on that date. See: @@ -717,7 +679,7 @@ for now, and have been deleted from the Libreboot 20221214 and 20230319 releases. - see: and ** -d945gclf: Doesn't boot at all, according to last report. D510MO is still in +D945GCLF: Doesn't boot at all, according to last report. D510MO is still in lbmk but still was reported problematic; other boards should be fine (see list above). diff --git a/site/docs/install/ivy_has_common.md b/site/docs/install/ivy_has_common.md index 3541e0e..5ddc40b 100644 --- a/site/docs/install/ivy_has_common.md +++ b/site/docs/install/ivy_has_common.md @@ -3,6 +3,16 @@ title: Insert vendor files not included in release images x-toc-enable: true ... +Open source BIOS/UEFI firmware +------------------------------ + +Libreboot replaces proprietary BIOS/UEFI firmware, but some newer boards still +occasionally need code from the hardware manufacturer in order to boot properly. +This document will teach you how to handle such a scenario, and how to check +for it. For more context, please read Libreboot's [Binary Blob Reduction +Policy](../../news/policy.md) and [Freedom Status](../../freedom-status.md) +pages. + **PLEASE MAKE SURE you read and follow the instructions on this page, prior to flashing Libreboot, if required for your mainboard; failure to heed this warning can and will result in a soft-brick, which would then necessitate @@ -15,7 +25,7 @@ guide to change the GbE MAC address in the flash, if your board has an Intel Gigabit Ethernet device (where an Intel Flash Descriptor is used). WARNING: eCryptfs file name limits -================================= +---------------------------------- Do not run the build system on a eCryptfs file system, because it has very short file name limits and Libreboot's build system deals with very @@ -23,8 +33,8 @@ long file names. We commonly get reports from this by Linux Mint users who encrypt their home directory with eCryptfs; regular LUKS encryption will do nicely. -**Install build dependencies first** -================================ +Install build dependencies first +------------------------------------ **You will be compiling several small utilities from source code. This means you need the compilers and various libraries.** @@ -37,7 +47,7 @@ working. The insertion must work correctly, prior to Libreboot installation, if your board requires it, otherwise your board simply will not boot.** Introduction -============ +------------ On *some* boards, but certainly not all of them, certain files are required from the hardware vendor. Libreboot has strict [rules](../../news/policy.md) @@ -55,8 +65,7 @@ the [Freedom Status](../../freedom-status.md) page. **If in doubt, you should simply follow these instructions. If your board doesn't need vendor files, the tar archive won't be modified.** -MAC address ------------ +### MAC address Regardless of whether your board needs vendorfiles or not, you can also use this command to change the MAC address on systems with Intel GbE regions in @@ -65,8 +74,7 @@ the flash, where an Intel gigabit ethernet device is used. For example, a Lenovo ThinkPad X200 doesn't need any files added, but can still have the mac address changed; please continue reading! -Injecting vendor files into tarballs ------------------------------------- +### Injecting vendor files into tarballs In order to inject the necessary files into a rom image, run the script from the root of lbmk and point to the rom image. @@ -131,8 +139,7 @@ Older versions left the tarball unmodified, and extracted the modified images to `bin/release/` - on current behaviour, you inject the tarball and then extract the tarball yourself afterward, to flash the modified images. -Behaviour changes in Libreboot 20241206 rev8 --------------------------------------------- +### Behaviour changes in Libreboot 20241206 rev8 *Older* versions of this script would have produced the injected images under the `bin/release/` directory, and/or allow you to do it on specific ROM images. @@ -201,10 +208,9 @@ for Libreboot to retroactively modify the official images in this way, since using the older tarballs. Check that the files were inserted -================================== +---------------------------------- -Automatic verification ----------------------- +### Automatic verification You *must* ensure that the files were inserted. The inject command automatically verifies checksums of the complete images, when you run it directly on a @@ -215,8 +221,7 @@ be modified. If you're using newer release images with `DO_NOT_FLASH` and the one-byte padding (as described above), that's a good indicator, but older release images didn't have this modification. -Manual inspection ------------------ +### Manual inspection You could check the files manually, if you're paranoid, after insertion. @@ -266,7 +271,7 @@ uses MEv11 with Intel Boot Guard, the boot guard is automatically disabled by processing the MEv11 image with Mate Kukri's [deguard](deguard.md) utility. Errata -====== +------ This section should not concern you, if you're using newer Libreboot releases. This section largely concerns *bugs* which existed in older releases, pertaining diff --git a/site/docs/install/ivy_internal.md b/site/docs/install/ivy_internal.md index 7adb989..d782e77 100644 --- a/site/docs/install/ivy_internal.md +++ b/site/docs/install/ivy_internal.md @@ -3,13 +3,23 @@ title: Ivybridge internal flashing x-toc-enable: true ... +Open source BIOS/UEFI firmware +------------------------------ + +This document will teach you how to install Libreboot, on your +Lenovo ThinkPad X230 laptop motherboard. Libreboot replaces proprietary +BIOS/UEFI firmware. + +This document demonstrates an *internal flashing* method, by exploiting a +little-known security vulnerability in Lenovo's original UEFI firmware. + **[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](ivy_has_common.md), OR YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions there, before flashing. For posterity, [here is the link again](ivy_has_common.md).** Ch1p's guide -============ +------------ This page tells you how to flash an ivybridge ThinkPad with Libreboot, internally, when it has the Lenovo firmware on it. It was written independently @@ -36,9 +46,6 @@ coreboot patch: Anyway, follow ch1p's guide or this one. Ch1p was on Libreboot IRC and linked the above guide, so it has been added here to honour him. -Introduction -============ - External flashing still recommended ----------------------------------- @@ -58,7 +65,7 @@ or just a dead ThinkPad. Proceed at your own risk! If you prefer external flashing, see: [external flashing](x230_external.md) Internal flashing from vendor firmware (ThinkPads only) ----------------------------------------- +------------------------------------------------------- IVYBRIDGE ONLY: diff --git a/site/docs/install/kcma-d8.md b/site/docs/install/kcma-d8.md index 960eb2a..f3952ab 100644 --- a/site/docs/install/kcma-d8.md +++ b/site/docs/install/kcma-d8.md @@ -1,12 +1,16 @@ --- -title: ASUS KCMA-D8 desktop/workstation board +title: Install Libreboot on ASUS KCMA-D8 x-toc-enable: true ... TODO: this page is OLD. check that the info is still valid. -Introduction -============ +Open source BIOS/UEFI firmware +------------------------------ + +This document will teach you how to install Libreboot, on your +ASUS KCMA-D8 server/workstation motherboard. Libreboot replaces proprietary +BIOS/UEFI firmware. Specifications available here: @@ -36,7 +40,7 @@ If you currently have the ASUS firmware, please ignore the above link and instead refer to the section below: Flashing -======== +-------- The default ASUS firmware write-protects the flash, so you have to remove the chip and re-flash it using external hardware. @@ -56,7 +60,7 @@ Refer to the following guide:\ [Externally rewrite 25xx NOR flash via SPI protocol](../install/spi.md) PCI option ROMs -=============== +--------------- Unlike Libreboot 20160907, Libreboot in newer releases now supports finding and loading PCI option ROMs automatically, both in GRUB and SeaBIOS on this machine. @@ -66,21 +70,21 @@ So for example, if you wish to use an add-on graphics card, you can! It's no problem, and should work just fine. CPU coolers -=========== +----------- With some creativity, standard AM3+ coolers will work fine. 2 x Socket C32 (LGA1207) available, so you can use 2 CPUs. (up to 32GiB per CPU) CPU compatibility -================= +----------------- - Opteron 4100 series: Incompatible - Opteron 4200 series: Compatible - Opteron 4300 series: Compatible Board status (compatibility) {#boardstatus} -============================ +------------------------------------- There are two ways to identify a supported KCMA-D8 board: @@ -99,14 +103,14 @@ For more detailed information regarding the coreboot port, see Form factor {#formfactor} -=========== +----------------------- This board is ATX form factor. While the [ATX standard, version 2.2](https://web.archive.org/web/20120725150314/http://www.formfactors.org/developer/specs/atx2_2.pdf) specifies board dimensions 305mm x 244mm, this board measures 305mm x 253mm; please ensure that your case supports this extra ~cm in width. IPMI iKVM module add-on {#ipmi} -======================= +---------------------------- Don't use it. It uses proprietary firmware and adds a backdoor (remote out-of-band management chip, similar to the [Intel Management @@ -116,7 +120,7 @@ mainboard since it's on the add-on module, which you don't have to install. Flash chips {#flashchips} -=========== +----------------------- 2MiB flash chips are included by default, on these boards. It's on a P-DIP 8 slot (SPI chip). The flash chip can be upgraded to higher sizes: @@ -133,7 +137,7 @@ Ideally, you should not hot-swap. Only remove the IC when the system is powered down and disconnected from mains. Native graphics initialization {#graphics} -============================== +----------------------------------------- Only text-mode is known to work, but linux(kernel) can initialize the framebuffer display (if it has KMS - kernel mode setting). @@ -147,7 +151,7 @@ because the Nouveau driver can't increase the GPU clock (it doesn't know how, as of 18 March 2021). Current issues {#issues} -============== +---------------------- - Opteron 4100 series CPUs are currently incompatible - LRDIMM memory modules are currently incompatible diff --git a/site/docs/install/kfsn4-dre.md b/site/docs/install/kfsn4-dre.md index f8b61c5..31fa80c 100644 --- a/site/docs/install/kfsn4-dre.md +++ b/site/docs/install/kfsn4-dre.md @@ -1,5 +1,5 @@ --- -title: ASUS KFSN4-DRE server/workstation board +title: Install Libreboot on ASUS KFSN4-DRE x-toc-enable: true ... @@ -48,6 +48,13 @@ P*: Partially works with vendor firmware | **SeaBIOS with GRUB** | Partially works | +Open source BIOS/UEFI firmware +------------------------------ + +This document will teach you how to install Libreboot, on your +ASUS KFSN4-DRE server/workstation motherboard. Libreboot replaces proprietary +BIOS/UEFI firmware. + This is a server board using AMD hardware (Fam10h). It can also be used for building a high-powered workstation. Powered by libreboot. @@ -60,14 +67,14 @@ The reason why was explained, in the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** Form factor {#formfactor} -=========== +--------------------- These boards use the SSI EEB 3.61 form factor; make sure that your case supports this. This form factor is similar to E-ATX in that the size is identical, but the position of the screws are different. Flash chips {#flashchips} -=========== +----------------------- These boards use LPC flash (not SPI), in a PLCC socket. The default flash size 1MiB (8Mbits), and can be upgraded to 2MiB (16Mbits). @@ -80,18 +87,18 @@ extractor. These can be found online. See * Native graphics initialization {#graphics} -============================== +--------------------------------------- Native graphics initialization exists (XGI Z9s) for this board. Framebuffer- and text-mode both work. A serial port is also available. Memory -====== +------- DDR2 533/667 Registered ECC. 16 slots. Total capacity up to 64GiB. Hex-core CPUs {#hexcore} -============= +--------------------- PCB revision 1.05G is the latest version of this board and the best one (the revision number is be printed on the board), if you want to use @@ -105,7 +112,8 @@ To be sure your board supports a CPU check the official ASUS website here: If you are running a Hex-Core CPU on any board version, please contact us. Board configurations {#configurations} -============== +---------------------------------------- + There are 7 different configurations of this board: "standard", 2S, iKVM, iKVM/IST, SAS, SAS/iKVM and SAS/iKVM/IST. @@ -124,7 +132,7 @@ The IST versions with PCB revision 1.05G are the ones who are believed to support the six core Opteron Istanbul processors (2400 and 8400 series). Current issues {#issues} -============== +----------------------- - There seems to be a 30 second bootblock delay (observed by tpearson); the system otherwise boots and works as expected. See @@ -151,7 +159,7 @@ Current issues {#issues} the USB booting doesn't work. Other information -================= +------------------ [specifications](https://web.archive.org/web/20181212180051/http://ftp.tekwind.co.jp/pub/asustw/mb/Socket%20F/KFSN4-DRE/Manual/e3335_kfsn4-dre.pdf) diff --git a/site/docs/install/kgpe-d16.md b/site/docs/install/kgpe-d16.md index e6bc293..51ae60e 100644 --- a/site/docs/install/kgpe-d16.md +++ b/site/docs/install/kgpe-d16.md @@ -3,10 +3,17 @@ title: ASUS KGPE-D16 server/workstation board x-toc-enable: true ... +Open source BIOS/UEFI firmware +------------------------------ + +This document will teach you how to install Libreboot, on your +ASUS KGPE-D16 server/workstation motherboard. Libreboot replaces proprietary +BIOS/UEFI firmware. + TODO: OLD page. TODO: check that all the info is still valid. -Introduction -============ +Free your BIOS today! +--------------------- This is a server board using AMD hardware (Fam10h *and Fam15h* CPUs available). It can also be used for building a high-powered workstation. @@ -26,24 +33,24 @@ possible to re-flash using software running in Linux on the KGPE-D16, without using external hardware. CPU compatibility -================= +----------------- Opteron 62xx and 63xx CPUs work just fine. Board status (compatibility) {#boardstatus} -============================ +--------------------- See . Form factor {#formfactor} -=========== +---------------------- These boards use the SSI EEB 3.61 form factor; make sure that your case supports this. This form factor is similar to E-ATX in that the size is identical, but the position of the screws are different. IPMI iKVM module add-on {#ipmi} -======================= +-------------------------- Don't use it. It uses proprietary firmware and adds a backdoor (remote out-of-band management chip, similar to the [Intel Management @@ -53,7 +60,7 @@ mainboard since it's on the add-on module, which you don't have to install. Flash chips {#flashchips} -=========== +-------------------------- 2MiB flash chips are included by default, on these boards. It's on a P-DIP 8 slot (SPI chip). The flash chip can be upgraded to higher sizes: @@ -72,13 +79,13 @@ This guide shows how to flash the chip:\ [25xx NOR flashing guide](../install/spi.md) Native graphics initialization {#graphics} -============================== +---------------------------------- Only text-mode is known to work, but linux(kernel) can initialize the framebuffer display (if it has KMS - kernel mode setting). Current issues {#issues} -============== +---------------------------------- - LRDIMM memory modules are currently incompatible (IT MAY WORK NOWADAYS, TODO TEST) diff --git a/site/docs/install/latitude.md b/site/docs/install/latitude.md index e16fc9a..10d72b1 100644 --- a/site/docs/install/latitude.md +++ b/site/docs/install/latitude.md @@ -1,14 +1,27 @@ --- -title: Flashing Libreboot on Dell Latitude laptops +title: Install Libreboot on Dell Latitude laptops x-toc-enable: true ... +Open source BIOS/UEFI firmware +------------------------------ + +This document will teach you how to install Libreboot, on various models of +Dell Latitude laptop motherboard, namely Dell Latitude E4300, E6400, E6400 XFR, +E6400 ATG, E5420, E5520, E5530, E6420, E6430, E6520, E6530, E6230, E6330 +and E6220; you must only install Libreboot on models with *Intel graphics*. +Libreboot replaces proprietary BIOS/UEFI firmware. + +In case any models are unlisted in the above paragraph, you should also check +the full list of supported Dell Latitude models on the [Libreboot hardware +compatibility](./#which-systems-are-supported-by-libreboot) page. + All of the Dell Latitude models can be flashed internally, which means that you do not need to disassemble them. You can do it from Linux/BSD, using the instructions on this page. Disable security before flashing -================================ +-------------------------------- **[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](ivy_has_common.md), OR YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions @@ -24,13 +37,13 @@ Note that Libreboot does not currently implement UEFI on x86 platforms, but you can set up [Secure libreBoot](../linux/grub_hardening.md) after flashing. MAC address -=========== +----------- Make sure to set your own MAC address in the ROM image before flashing. Please read the [nvmutil manual](nvmutil.md) which says how to do this. Thermal safety -============== +-------------- **Thermal safety**: this machine shuts down very quickly, when the machine exceeds 80c CPU temperature, which is far more conservative than on most @@ -39,18 +52,16 @@ excellent. More info available [here](../install/dell_thermal.md). This is a known bug, but otherwise the machine will be mostly stable. Machine-specific notes -====================== +---------------------- -Latitude E6400 --------------- +### Latitude E6400 Vendor files not required for Dell Latitude E6400 if you have the Intel GPU. If you have the Nvidia model, please use the `e6400nvidia_4mb` target, and make sure to run the [inject script](ivy_has_common.md) prior to flashing. -E6400 nvidia issues -------------------- +### E6400 nvidia issues See: @@ -59,8 +70,7 @@ The `nv` drivers on BSD systems generally work, but can have severe performance issues; use of a tiling window manager is recommended, on BSD systems, because moving windows around can literally lag a lot otherwise, on most window managers. -dGPU variants -------------- +### dGPU variants On everything except E6400, Libreboot only supports the variant with an Intel GPU. Therefore, you must *only* purchase a Dell Latitude that has the Intel @@ -68,7 +78,7 @@ graphics; even on E6400, this is good advice, due to issues with the Nvidia GPU on E6400, documented later in this guide. Internal flashing -================= +----------------- You can simply boot Linux/BSD, on the Dell Latitude you wish to flash, and run `flashprog` from there, for Libreboot installation. Certain other steps @@ -130,12 +140,11 @@ successful. If you don't see that, or you're unsure, please [contact the Libreboot project via IRC](../../contact.md). External flashing -================= +----------------- -General guidance ----------------- +### General guidance -Machine-specific disassembly instructions not provided, but you can find +Machine-specific disassembly instructions are not provided, but you can find the hardware maintenance manual for your Latitude module online. Just search for it. The flash chips(s) is/are usually under the keyboard/palmrest. Near to the PCH/southbridge. @@ -153,10 +162,9 @@ Please read the [external SPI flash guide](spi.md) External flashing is usually not required, on these machines. -Chip size guidance ------------------- +### Chip size guidance -SOme Dell Latitudes use a single flash chip, so you can +Some Dell Latitudes use a single flash chip, so you can just use the ROM images as-is. If there are two flash chips, you must split the ROM images. Check the silk diff --git a/site/docs/install/mac_address.md b/site/docs/install/mac_address.md index 8d8cbc9..8c857f5 100644 --- a/site/docs/install/mac_address.md +++ b/site/docs/install/mac_address.md @@ -4,7 +4,7 @@ x-toc-enable: true ... Introduction (GM45+e1000) -========================= +------------------------- This section is applicable to all libreboot-supported laptops with the mobile 4 series chipset (as shown in `$ lspci`) @@ -17,15 +17,11 @@ for the built-in gigabit ethernet controller is stored inside the flash chip, along with libreboot and other configuration data. Therefore, installing libreboot will overwrite it. -Thus, for these laptops, prebuilt libreboot already contains a generic -MAC address in the configuration section. This address is `00:f5:f0:40:71:fe -in builds before 2018-01-16 and `00:4c:69:62:72:65` (see the ascii character -set) afterwards. +Thus, for these laptops, prebuilt libreboot images already contain a generic +MAC address in the GbE region. Unless you change it, your computer will boot and use it. This can lead to network problems if you have more than one libreboot computer on -the same layer2 network (e.g. on the same network switch). The switch -(postman) will simply not know who to deliver to as the MAC (house) addresses -will be the same. +the same layer2 network (e.g. on the same network switch). To prevent these address clashes, you can either modify prebuilt libreboot to use an address of your own choosing or you can change the address in your @@ -35,7 +31,7 @@ In either case, it is a good idea to write down the address that your computer originally had. Obtaining the existing MAC address -================================== +---------------------------------- The existing MAC address may be obtained by the following methods: @@ -65,7 +61,7 @@ The existing MAC address may be obtained by the following methods: updated. Changing the MAC address in the operating system -================================================ +------------------------------------------------ There are three portable ways of doing so: @@ -91,7 +87,7 @@ configuration. Refer to your operating system's documentation for how to do this. Changing the MAC address on X200/T400/T500/W500 -=============================================== +----------------------------------------------- On GM45 laptops with ICH9M southbridge and Intel PHY module, the MAC address is hardcoded in boot flash, which means it can be changed if you re-flash. @@ -102,7 +98,7 @@ If *all* you want to do is change the MAC address, you might try `nvmutil` instead. See notes below: Changing the MAC address on ivybridge/sandybridge/haswell (e.g. X230/T440p) -========================================================= +----------------------------------------------------------------- See [nvmutil documentation](../install/nvmutil.md) @@ -122,4 +118,4 @@ which the build system automatically fetches from the internet). You can use `nvmutil` to change the existing MAC address in a GbE region. This sets the "hardcoded" MAC address, typically a globally assigned one set by -the vendor. +the vendor, but you can use local addresses, and you can use randomised MACs. diff --git a/site/docs/install/macbook21.md b/site/docs/install/macbook21.md index 52e2cac..bde8002 100644 --- a/site/docs/install/macbook21.md +++ b/site/docs/install/macbook21.md @@ -1,5 +1,5 @@ --- -title: MacBook2,1 and MacBook1,1 +title: Install Libreboot on MacBook2,1 and MacBook1,1 x-toc-enable: true ... @@ -20,7 +20,7 @@ x-toc-enable: true | **Graphics** | Intel GMA 950 | | **Display** | 1280x800 TFT | | **Memory** | 512MB, 1GB (upgradable to 4GB with 3GB usable) | -| **Architecture** | x86_64 | +| **Architecture** | x86\_64 | | **EC** | Proprietary | | **Original boot firmware** | Apple EFI | | **Intel ME/AMD PSP** | Not present. | @@ -50,6 +50,14 @@ P*: Partially works with vendor firmware | **SeaBIOS** | Works | | **SeaBIOS with GRUB** | Works | + +Open source BIOS/UEFI firmware +------------------------- + +This document will teach you how to install Libreboot, on your +Apple MacBook 2,1 2005-2007 laptop motherboard. Libreboot replaces proprietary +BIOS/UEFI firmware. + The MacBook1,1 and MacBook2,1 are very similar to the ThinkPad X60. It shares some hardware with the X60 such as the chipset. @@ -63,15 +71,14 @@ uses Core Duo processors (supports 32-bit OS but not 64-bit), and it is believed that this is the only difference. Compatibility -============= +------------- The following pages list many models of MacBook1,1 and MacBook2,1: * * -Models ------- +### Models Specifically (Order No. / Model No. / CPU) for the MacBook1,1: @@ -99,7 +106,7 @@ then don't forget to [send a patch](../../git.md), confirming that it actually works! Internal flashing -================= +----------------- MacBook2,1 can always be flashed internally, even if running Apple firmware: @@ -114,7 +121,7 @@ The MacBook1,1 can't be flashed internally if running the Apple EFI firmware. You must flash externally. External flashing -================= +----------------- MacBook1,1 requires external flashing, if running the default Apple firmware. MacBook2,1 can be flashed internally, regardless. @@ -134,7 +141,7 @@ Refer to the following guide:\ [Externally rewrite 25xx NOR flash via SPI protocol](../install/spi.md) OSes using Linux on Apple EFI firmware -====================================== +-------------------------------------- You have 2 choices for booting up OSes using Linux as their kernel on the MacBook: @@ -143,8 +150,7 @@ on the MacBook: * Boot via a CD or DVD. -Boot via a CD or DVD --------------------- +### Boot via a CD or DVD The Apple EFI firmware contains a PC BIOS emulation layer for booting Microsoft Windows on CDs and DVDs. That emulation layer **only** works @@ -174,8 +180,7 @@ should boot up properly automatically. to it using GRUB, despite the fact that it does sometimes show up. You also won't be able to boot it up when using Libreboot.* -Boot via USB ------------- +### Boot via USB This method is harder than booting from a CD/DVD and may soft-brick your MacBook but it's the only way to boot up successfully from a USB. @@ -213,14 +218,14 @@ the CMOS/PRAM battery, wait a few minutes, and put it back in. to reconfigure GRUB2 correctly, else your system won't boot.* Coreboot wiki page -================== +------------------ The following page has some information: * Issues and solutions/workarounds -================================ +-------------------------------- There is one mouse button only, however multiple finger tapping works. The Apple logo on the @@ -231,8 +236,7 @@ should [cover it up](http://cweiske.de/tagebuch/tuxbook.htm). software. Webcams are a privacy and security risk; cover it up! Or remove it.* -Make it overheat less ---------------------- +### Make it overheat less NOTE: on newer libreboot revisions, this section is less relevant, because C3 states are supported now. However, this section may still be useful, so it will @@ -272,8 +276,7 @@ PLATFORM_PROFILE_ON_BAT=low-power The MacBook will still overheat, just less. -Enable AltGr ------------- +### Enable AltGr The keyboard has a keypad enter instead of an AltGr. The first key on the right side of the spacebar is the Apple "command" key. On its @@ -297,12 +300,11 @@ line: to the file /etc/vconsole.conf and then restart the computer. -Make touchpad more responsive ------------------------------ +### Make touchpad more responsive Linux kernels of version 3.15 or lower might make the touchpad extremely sluggish. A user reported that they could get better -response from the touchpad with the following in their xorg.conf: +response from the touchpad with the following in their `xorg.conf`: ``` Section "InputClass" diff --git a/site/docs/install/nvmutil.md b/site/docs/install/nvmutil.md index 5f5b876..f131dfa 100644 --- a/site/docs/install/nvmutil.md +++ b/site/docs/install/nvmutil.md @@ -1,10 +1,11 @@ --- -title: nvmutil manual +title: nvmutil usage instructions x-toc-enable: true ... With this software, you can change the MAC address inside GbE regions -on any system that uses an Intel Flash Descriptor. +on any system that uses an Intel Flash Descriptor. This software works well +on most/all of the major Linux or BSD operating systems. This is the reference documentation for `nvmutil`, but an automated script using nvmutil is available for ivy/sandybridge and haswell hardware, when @@ -15,37 +16,26 @@ inserting vendor files, which you can use to change the MAC address. See: You can use the documentation below, if you wish to use `nvmutil` manually. Continue reading... -Introduction -============ +Change the Intel GbE MAC address +-------------------------------- -This is the manual for `nvmutil`, included in the Libreboot, -build system (lbmk) under `util/nvmutil/`. This program lets you modify -the MAC address, correct/verify/invalidate checksums, -swap/copy and dump regions on Intel PHY NVM images, -which are small binary configuration files that go -in flash, for Gigabit (ethernet) Intel NICs. +This is the manual for `nvmutil`, included within the [Libreboot build +system](../maintain/) (lbmk) under `util/nvmutil/`. This program lets you modify +the MAC address, correct/verify/invalidate checksums, swap/copy and dump regions +on Intel PHY NVM images, which are small binary configuration files that go in +flash, for Gigabit (ethernet) Intel NICs. **Please [install build dependencies](../build/) before you do this.** -This software is largely targeted at coreboot users, -but it can be used on most modern Intel systems, or -most systems from about 2008/2009 onwards. +This software is largely targeted at coreboot users, but it can be used on most +modern Intel systems, or most systems from about 2008/2009 onwards, regardless +of which boot firmware they have. -NOTE: Libreboot X200/X200T/X200S/T400/T400S/T500/W500/R400 -users should know that this software does *not* -replace `ich9gen`, because that program generates entire -ICH9M IFD+GbE regions, in addition to letting you set the -MAC address. *This* program, `nvmutil`, can *also* set -the MAC address on those machines, but it operates on a -single GbE dump that is already created. - -This program is operated on dumps of the GbE NVM image, -which normally goes in the boot flash (alongside BIOS/UEFI -or coreboot, IFD and other regions in the flash). The first -half of this README is dedicated to precisely this, telling -you how to dump or otherwise acquire that file; the second -half of this README then tells you how to operate on it, -using `nvmutil`. +This program is operated on dumps of the GbE NVM image, which normally goes in +the boot flash (alongside BIOS/UEFI or coreboot, IFD and other regions in +the flash). The first half of this README is dedicated to precisely this, +telling you how to dump or otherwise acquire that file; the second half of this +README then tells you how to operate on it, using `nvmutil`. Automatic MAC address changer ----------------------------- @@ -73,14 +63,20 @@ is provided without argument, or no argument is given, the MAC address is randomised. Otherwise, you can specify an arbitrary address. The `?` character is random, and you can specify that any of them be random, -while setting others (or all of them) arbitrarily. +while setting others (or all of them) arbitrarily. On the corresponding nibble, +the bit for unicast/multicast and global/local are set accordingly, so that +randomly generated addresses are *always* unicast and *local*, unless the +corresponding nibble is set arbitrarily; if the latter, then an error is thrown +if the arbitrary nibble corresponds to a multicast MAC address (and when errors +are thrown, the file shall remain unchanged). More information about error +handling is provided, later in this document. The `restore` option restores the original one. The command works by using a reference GbE image file present in Libreboot's build system, for the given mainboard. How to download newer versions -============================== +------------------------------ Simply pull down the latest changes in `lbmk.git`. The `nvmutil` software is now part of lbmk, since 17 November 2022. @@ -90,7 +86,7 @@ More info about git: * Context -======= +------- On many Intel systems with an IFD (Intel Flash Descriptor), the Intel PHY (Gigabit Ethernet) stores its configuration, binary @@ -121,8 +117,7 @@ This 4KB region is then repeated, to make an 8KB region in flash, known as the *GbE region*. In `nvmutil`, the first part is referred to as *part 0* and the second part as *part 1*. -Known compatible PHYs ---------------------- +### Known compatible PHYs TODO: write a full list her ofe what actual PHYs are known to work. @@ -135,7 +130,7 @@ files; it is assumed that intel would later change the file size and/or checksum value and/or checksum location. How to obtain the GbE file -========================== +-------------------------- The chip containing your BIOS/UEFI firmware (or coreboot) has it, if you have an Intel PHY for gigabit ethernet. @@ -145,8 +140,7 @@ containing your NIC's configuration. This is the part that many people will struggle with, so we will dedicated an entire next section to it: -Use flashprog ------------- +### Use flashprog **NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) now, as of 27 January 2024, which is a fork of flashrom. @@ -197,8 +191,7 @@ option should be changed accordingly. Read flashprog documentation, and make sure you have everything properly configured. -Use ifdtool ------------ +### Use ifdtool NOTE: This has only been tested on systems that use IFDv1 (Intel Flash Descriptor, version 1). This distinction, between @@ -311,7 +304,7 @@ SPI1. You should adjust the above parameters, according to your configuration. How to compile source code -========================== +-------------------------- The nvmutil source code is located under `util/nvmutil/` in the lbmk repository. A makefile is included there, for you to build an @@ -336,8 +329,7 @@ The `nvmutil` software has been build-tested on `Clang`, `GCC` and `tcc`. Only standard library functions (plus `err.h`) are used, so you don't need any extra libraries. -How to compile it ------------------ +### How to compile nvmutil First, ensure that the current working directory is your copy of the nvmutil source code! @@ -353,7 +345,7 @@ whatever is in your `$PATH` for userspace programs). TODO: Add `make install` to the Makefile, portably. How to use nvmutil -================== +------------------ You run it, passing as argument the path to a file, and you run commands on that file. This section will tell you how to @@ -365,8 +357,7 @@ done that, you could still run it in cwd for instance: ./nvm bla bla bla -Exit status ------------ +### Exit status The `nvmutil` program uses `errno` extensively. The best error handling is done this way, the Unix way. Error handling is extremely @@ -392,8 +383,7 @@ of size *8KB*. Additional rules regarding exit status shall apply, depending on what command you use. Commands are documented in the following sections: -Change MAC address ------------------- +### Change MAC address The `nvm` program lets you change the MAC address. It sets a valid checksum, after changing the MAC address. This program @@ -458,8 +448,7 @@ corrected if you use the `setchecksum` command in `nvmutil`. It is common for vendor gbe files to contain one valid part and one invalid part, per checksum rules. -Verify checksums (and show MAC addresses) ------------------------------------------ +### Verify checksums (and show MAC addresses) This command *only* requires *read* access on files. @@ -475,8 +464,7 @@ NOTE: This will exit with zero status if at least one part contains a valid checksum. If both parts are invalid, nvmutil will exit with non-zero status. -Copy part ---------- +### Copy part This command requires read *and* write access on files. @@ -496,8 +484,7 @@ will be performed, and nvmutil will exit with non-zero status. Otherwise, it will (if all other conditions are met) exit with zero status. -Swap parts ----------- +### Swap parts This command requires read *and* write access on files. @@ -516,8 +503,7 @@ If *at least one* part is valid, nvmutil will return with zero exit status. If both parts are invalid, it will return non-zero. -Set valid checksum ------------------- +### Set valid checksum This command requires read *and* write access on files. @@ -537,8 +523,7 @@ set the checksum. There is no feasible way to guard against use on the wrong file, unlike with the other commands. Please make SURE you're running this on the correct file!* -Set invalid checksum --------------------- +### Set invalid checksum This command requires read *and* write access on files. @@ -568,7 +553,7 @@ Intel gigabit NICs that don't have a valid checksum. This is software-defined, and not enforced by the hardware. History -======= +------- A historical change log is included at [docs/install/nvmutilimport.md](nvmutilimport.md), @@ -596,5 +581,14 @@ it was part of osboot, is still available (for reference) here: * -Please use the latest nvmutil version. The above information is provided -only for reference. +Please use the latest nvmutil version *from lbmk*. The above information is +provided only for reference; it may be useful for future auditing. + +TODO +---- + +* Support higher block sizes e.g. 8KB blocks for GbE part sections +* Adapt this into a manpage (useful for Linux package repositories / BSD ports) +* Send nvmutil upstream to coreboot, for inclusion under `util/` +* In addition to the manpage, when sending to coreboot, also adapt this page + for inclusion into doc.coreboot.org diff --git a/site/docs/install/nvmutilimport.md b/site/docs/install/nvmutilimport.md index 4fa6f82..e5801a4 100644 --- a/site/docs/install/nvmutilimport.md +++ b/site/docs/install/nvmutilimport.md @@ -1,12 +1,9 @@ -nvmutil assimilation -==================== +nvmutil import notes +-------------------- Detailed revision history can be found in the Git repository; for code, look at `lbmk.git` and for documentation, look at `lbwww.git`. -Assimilation by Libreboot -========================= - With no additional changes to nvmutil, the project became part of lbmk, which is the Libreboot build system. Please refer to Libreboot's imported version of the nvmutil documentation: [nvmutil.md](nvmutil.md) @@ -22,8 +19,10 @@ shall be preserved on notabug. See: -nvmutil 20221106 -================ +Version history (osboot) +------------------------ + +### nvmutil 20221106 Very minor bugfix release: @@ -33,8 +32,7 @@ Very minor bugfix release: * Documentation inaccuracies fixed (pertaining to nvmutil exit statuses) * Documentation generally tidied up a bit -nvmutil 20221103 -================ +### nvmutil 20221103 Not much has changed, as this just fixes minor bugs and behavioural quirks seen in the previous release: @@ -49,8 +47,7 @@ quirks seen in the previous release: fully readable. Previously, nvmutil would exit non-zero if one or both checksums was correct, but it now only does this if both are invalid -nvmutil 20220828 -================ +### nvmutil 20220828 No new features have been added. This is a code cleanup and bugfix release. @@ -73,8 +70,7 @@ No new features have been added. This is a code cleanup and bugfix release. were made (e.g. cleaner argument handling). Tested with tcc on an x86\_64 machine, where a 0.16% binary size increase was observed. -nvmutil 20220815 -================ +### nvmutil 20220815 No new features have been added. This is a code cleanup and bugfix release. @@ -105,8 +101,7 @@ No new features have been added. This is a code cleanup and bugfix release. reduces code bloat in nvmutil. The code still warns you if the MAC address is multicast -nvmutil 20220810 -================ +### nvmutil 20220810 * 3.4% reduction in binary size (as tested with tcc on x86\_64), due to code optimizations, *while* adding new checks and new features. @@ -130,8 +125,7 @@ nvmutil 20220810 * The `setmac` command can now be used without specifying a MAC address, which will cause the same behaviour as `setmac ??:??:??:??:??:??` -nvmutil 20220808 -================ +### nvmutil 20220808 Released on 8 August 2022. Changes: @@ -173,8 +167,7 @@ Released on 8 August 2022. Changes: reduction; the other 2/3 of that reduction is due to increased code efficiency in general. -Regarding code size reduction ------------------------------ +#### Regarding code size reduction My test setup is an x86\_64 machine with `tcc` used as the compiler; the libc doesn't really matter, if @@ -215,8 +208,7 @@ binary sizes are much larger with those compilers, even with optimization flags; despite this, the Makefile in nvmutil assumes GCC/Clang and sets `CFLAGS` to `-Os`. -nvmutil 20220802 -================ +### nvmutil 20220802 Released on 2 August 2022. Changes: @@ -236,8 +228,7 @@ Released on 2 August 2022. Changes: * More human-friendly messages and help text * help/version commands actually listed in help output -nvmutil 20220731 -================ +### nvmutil 20220731 Released on 31 July 2022. Changes: @@ -250,8 +241,7 @@ Released on 31 July 2022. Changes: That's it. Bug fixes and safety features added. Enjoy! -nvmutil 20220728 -================ +### nvmutil 20220728 Initial release. It is functionally equivalent to the older `nvmutils`, developed for the osboot project. This diff --git a/site/docs/install/playstation.md b/site/docs/install/playstation.md index 5872774..d3dbfd9 100644 --- a/site/docs/install/playstation.md +++ b/site/docs/install/playstation.md @@ -27,16 +27,16 @@ if you want it to, and you can! | **Original boot firmware** | Sony PS1 BIOS (USA/JPN/EU) | | **Flash chip** | 512KB Mask ROM | -Introduction -============ + +Open source playstation (PS1/PSX) BIOS +--------------------------------- This uses the free/opensource BIOS developed by the PCSX-Redux team, which you can learn more about here: -Build from source ------------------ +### Build from source Pre-compiled builds will be in the next Libreboot release, after version 20240612. For now, you must compile it from source, but the Libreboot @@ -67,7 +67,7 @@ This commonly only builds the BIOS part. If you want to build all of PCSX-Redux, you can, but lbmk does not provide automation for this. Installation -============ +------------ If all went well, you should see `openbios.bin` located under the `bin/playstation/` (within lbmk). Alternatively, you may be using @@ -75,8 +75,7 @@ a release *after* Libreboot 20240612 that has it pre-built. Either way is fine. The `openbios.bin` file is your new BIOS build. -Emulators ---------- +### Emulators Most PlayStation emulators rely on low-level emulation to execute the real BIOS. The Open BIOS by PCSX-Redux (as distributed by Libreboot) can also be used, and @@ -91,8 +90,7 @@ provided with your chosen PlayStation emulator. You can even freely redistribute this BIOS, because it's free software (released under MIT license), which is a major advantage over Sony's original BIOS. -Hardware --------- +### Hardware Not yet tested by the Libreboot project, but the PCSX-Redux developers have stated that it will work on the real console. *It should be noted that the Open @@ -116,7 +114,7 @@ BIOS much more polished, but a number of games have been tested and it's more or less fully reliable in most cases. Game compatibility -================== +------------------ The upstream maintains a compatibility list, here: @@ -126,7 +124,7 @@ NOTE: Google Docs, but an option exists on there to export it for LibreOffice Calc. The list is provided as a spreadsheet. Remarks about hardware -==================== +---------------------- Modern NOR flash can be used. You specifically want a TSOP-32 SMD/SMT type device, one that operates at 3.3v (tolerance 2.7 to 3.6v), organised into 512KB blocks, @@ -146,10 +144,9 @@ We do not yet provide instructions for how to install this on real hardware, in the Libreboot project, but this can be done at a future date. Other mods (hardware) -=============== +--------------------- -Video timings -------------- +### Video timings The Open BIOS will not implement any DRM, so it's possible that you might boot out of region games. In an emulator, this is no problem, but it can prove @@ -199,8 +196,7 @@ By fixing the timings in this way, your region-free console will also have correct timings, thus maximum game compatibility, and colours will always be correct no matter what video cable you're using. -Modchips --------- +### Modchips If using hardware, you will probably still want a modchip. Many proprietary modchip firmwares exist, such as Old crow, MultiMode3 and Mayumi; these run on @@ -228,8 +224,7 @@ not yet been confirmed by the Libreboot project. More hardware testing is planned, but the Open BIOS works perfectly in emulators. Give it a try! -Boot games on SD cards ------------------------ +### Boot games on SD cards The [PicoStation](https://github.com/paulocode/picostation) project provides free firmware for RP2040 devices, which you can solder into a modboard which @@ -240,8 +235,7 @@ real playstation (the picostation replaces your CD drive). Not only is this useful in a development context, but it can also be used when your CD drive has worn out and no longer reads discs properly. -Final remarks -------------- +### Final remarks Combined with PsNee and PicoStation, the Open BIOS from PCSX-Redux team will turn your 90s PlayStation into a very hackable machine. There is @@ -253,7 +247,7 @@ simply computers, fully reprogrammable and as such, Libreboot is happy to provid this support, for the Sony PlayStation Credit -====== +------ Thanks go to the PCSX-Redux team for their excellent work reverse engineering the Sony PS1 BIOS. diff --git a/site/docs/install/r400.md b/site/docs/install/r400.md index 875bddb..a68fac2 100644 --- a/site/docs/install/r400.md +++ b/site/docs/install/r400.md @@ -1,5 +1,5 @@ --- -title: Flashing the ThinkPad R400 +title: Install Libreboot on Lenovo ThinkPad R400 x-toc-enable: true ... @@ -52,16 +52,12 @@ P*: Partially works with vendor firmware | **SeaBIOS with GRUB** | Works | -Dell Latitude E6400 -=================== +Open source BIOS/UEFI firmware +------------------------- -**If you haven't bought an R400 yet: the [Dell Latitude -E6400](../install/latitude.md) is much easier to flash; no disassembly required, -it can be flashed entirely in software from Dell BIOS to Libreboot. It is the -same hardware generation (GM45), with same CPUs, video processor, etc.** - -Introduction -============ +This document will teach you how to install Libreboot, on your +Lenovo ThinkPad R400 laptop motherboard. Libreboot replaces proprietary +BIOS/UEFI firmware. It is believed that all or most R400 laptops are compatible. See notes about [CPU @@ -85,8 +81,16 @@ now, as of 27 January 2024, which is a fork of flashrom. The reason why was explained, in the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** +Dell Latitude E6400 +------------------- + +**If you haven't bought an R400 yet: the [Dell Latitude +E6400](../install/latitude.md) is much easier to flash; no disassembly required, +it can be flashed entirely in software from Dell BIOS to Libreboot. It is the +same hardware generation (GM45), with same CPUs, video processor, etc.** + EC update {#ecupdate} -========= +-------------------- It is recommended that you update to the latest EC firmware version. The [EC firmware](../../faq.md#ec-embedded-controller-firmware) is separate from @@ -111,7 +115,7 @@ TODO: put hardware register logs here like on the [X200](x200.md) and [T400](t400.md) page. Installation notes -================== +------------------ [External flashing](spi.md) required, if Lenovo BIOS is running. @@ -131,15 +135,14 @@ ROM properly first. Although ROM images are provided pre-built in libreboot, there are some modifications that you need to make to the one you chose before flashing. (instructions referenced later in this guide) -Serial port {#serial_port} ------------ +### Serial port {#serial_port} EHCI debug might not be needed. It has been reported that the docking station for this laptop has a serial port, so it might be possible to use that instead. A note about CPUs -================= +----------------- [ThinkWiki](http://www.thinkwiki.org/wiki/Category:R400) has a list of CPUs for this system. The Core 2 Duo P8400 and P8600 are believed to @@ -147,13 +150,12 @@ work in libreboot. The Core 2 Duo T9600 was confirmed to work, so the T9400 probably also works. *The Core 2 Duo T5870/5670 and Celeron M 575/585 are untested!* -Quad-core CPUs --------------- +### Quad-core CPUs Incompatible. Do not use. A note about GPUs -================= +----------------- Some models have an Intel GPU, while others have both an ATI and an Intel GPU; this is referred to as "Dual Graphics" (previously @@ -167,12 +169,12 @@ Intel GPU is used and the ATI GPU is disabled, so native graphics initialization works all the same. CPU paste required -================== +------------------ See [\#paste](#paste). Flash chip size {#flashchips} -=============== +----------------------------- Use this to find out: @@ -184,17 +186,16 @@ The reason why was explained, in the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** MAC address {#macaddress} -=========== +------------------------- Refer to [mac\_address.md](../install/mac_address.md). External flashing -================= +----------------- Refer to [spi.md](spi.md) as a guide for external re-flashing. -Disassembly ------------ +### Disassembly Remove all screws:\ ![](https://av.libreboot.org/r400/0000.jpg)\ @@ -280,7 +281,7 @@ Read [this article](spi.md) to learn how you may flash the chip, which is near to the RAM. Thermal paste (IMPORTANT) -========================= +------------------------- Because part of this procedure involved removing the heatsink, you will need to apply new paste. Arctic MX-4 is ok. You will also need isopropyl @@ -297,7 +298,7 @@ show how to properly apply the thermal paste. Other guides online detail the proper application procedure. Memory -====== +------ In DDR3 machines with Cantiga (GM45/GS45/PM45), northbridge requires sticks that will work as PC3-8500 (faster PC3/PC3L sticks can work as PC3-8500). diff --git a/site/docs/install/spi.md b/site/docs/install/spi.md index 90f5f9e..7ac8bc4 100644 --- a/site/docs/install/spi.md +++ b/site/docs/install/spi.md @@ -4,7 +4,7 @@ x-toc-enable: true ... Need help? -========== +---------- Help is available on [Libreboot IRC](../../contact.md) and other channels. @@ -16,8 +16,41 @@ if you want to send your machine in to have Libreboot installed for you. Leah Rowe, the founder and lead developer of Libreboot, also owns and operates Minifree Ltd; sales provide funding for the Libreboot project. -Introduction -============ +Install open source BIOS/UEFI firmware +-------------------------------------- + +This guide is predominantly about *installing Libreboot* (flashing it) onto +your motherboard's main system flash. You can also adapt this guide for dumping, +erasing and verifying firmware images; this guide shows you how to use +the [flashprog](https://flashprog.org/) software with various external +25XX NOR flash programmers. This guide is written for *Linux* users, but BSD +operating systems are also compatible with flashprog; Windows might be feasible, +ditto Apple's MacOS, as flashprog can also run on those, but they are not +officially supported by Libreboot, and *we recommend* that you use Linux/BSD. + +Although this documentation is written *for the Libreboot project*, it can be +used on any compatible 25xx NOR flash, on any number of devices, such as home +routers and even certain videogame systems. If you're a refurbisher, and not +a Libreboot-based one, but just a regular refurbisher e.g. on eBay, dealing +with proprietary UEFI firmware (and perhaps Windows installations), it may be +that on some of them, SMM-based flash writes are performed to store UEFI firmware +configurations (instead of the old NVRAM/CMOS memory); you could adapt this +guide (and read flashprog documentation) to erase/flash custom configurations, +for example when unlocking boot passwords on the computers that you sell. This +is the power of [Free Software](https://writefreesoftware.org/learn); flashprog +is a Free Software project. The use-case scenario of the humble eBay seller is +real; several of them have in fact used this guide in the past. + +So keep that in mind; this is part of the Libreboot installation instructions, +but it can be used for *any* flashing operation on *any* 25xx NOR flash, with +all sorts of firmware; you could also use this to *reverse* a Libreboot +installation, re-flashing the original vendor firmware if you made a dump of it, +**and we definitely recommend backing that up prior to Libreboot installation**. + +**Please ensure that your programmer's voltage matches that of the flash IC, +and read this guide carefully to account for proper electrical safety. In +general, these programmers operate at 3.3v, so you'll need a logic level +adapter and e.g. buck converter, if you're dealing with a 1.8V flash IC.** **NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) now, as of 27 January 2024, which is a fork of flashrom. @@ -37,10 +70,10 @@ which uses LPC flash in a PLCC32 socket, which you can simply hot-swap after booting the vendor firmware, and then flash internally. Simple! We will be using -the [flashprog](https://flashprog.org/Flashrom) software which is written to +the [flashprog](https://flashprog.org/) software which is written to dump, erase and rewrite these flash chips. -libreboot currently documents how to use these SPI programmers: +Libreboot currently documents how to use these SPI programmers: * Raspberry Pi Pico / Pico 2 * Raspberry Pi (RPi) single-board computers @@ -65,10 +98,9 @@ from Linux, with flashprog. is called *external* because it's not the *internal* one on your mainboard. Raspberry Pi Pico -================= +----------------- -RP2040/RP2530 both supported ----------------------------- +### RP2040/RP2530 both supported **Pico 2 and other RP2530 dongles also supported, on Libreboot 20241206 rev8 or higher. Releases before this only supported the original Pico, and other @@ -86,8 +118,7 @@ Additionally, all the software running on it is free, down to the full versions (Pico W & Pico WH) need vendor firmware to use the Wi-Fi chip, but that is not needed for following this guide. -Download serprog firmware pre-compiled -------------------------- +### Download serprog firmware pre-compiled Download the pico serprog tarball from Libreboot releases. For example, the Libreboot 20241206rev8 one would be @@ -95,8 +126,9 @@ named: `libreboot-20241206rev8_pico_serprog.tar.xz` - it's available under the `roms/` directory in each release. With these binaries, you can easily get started. -Build serprog firmware from source ----------------------------------- +### Build serprog firmware from source (OPTIONAL) + +**Pre-compiled binaries are also available, in Libreboot releases.** You can alternatively download the serprog firmware here:\ \ @@ -119,8 +151,7 @@ at `bin/serprog_pico/serprog_pico.uf2` and `bin/serprog_pico/serprog_pico_w.uf2` - images with `pico2` in the file name are for the Pico 2, and they can also be used. -Install the serprog firmware ----------------------------- +### Install the serprog firmware First, connect just the Pico to your computer with a micro-USB cable. Mount it like any other USB flash drive. If it isn't detected, you might need @@ -136,8 +167,7 @@ release tarball. **NOTE: Other RP2040/2530 devices will also work. You just have to match the right pins and use the correct firmware file!** -Logic levels ------------- +### Logic levels A Pico has proper 3.3V logic levels, unlike a ch341a. Which means it won't destroy your board by sending 5V to it. If you have a 1.8V flash chip, @@ -145,8 +175,7 @@ you need to add a logic level converter. **Please ensure that you have matched the voltage of your programmer to the voltage of your chip; both the data lines and power lines to the chip must match.** -Wiring ------- +### Wiring Disconnect the Pico and proceed to wire it to your [flash chip](/docs/install/spi.html#identify-which-flash-type-you-have). @@ -182,11 +211,16 @@ not worth it. The 12Mbps USB port is limiting the actual speed here. Higher speeds might work nicely, on Pico 2. -Do not use CH341A! -================== +Do not buy CH341A! +------------------ + +This section was heavily expanded, on 19 January 2025, because we see many +people online still talking about the CH341a. Therefore, the hatred has been +amplified. Please read this section carefully, to know why we advise against +use of this particular programmer. NOR flashes on libreboot systems run on 3.3V DC or 1.8V DC, and this includes -data lines. CH341A has 5V logic levels on data lines, which will damage your +data lines. CH341A can have 5V logic levels on data lines, which can damage your SPI flash and also the southbridge that it's connected to, plus anything else that it's connected to. @@ -246,8 +280,80 @@ resistors) performed, on the black CH341A:\ The green version (not shown above) may come with 3.3v logic already wired, but still needs to have pull-up resistors placed for WP/HOLD. +Disclaimer: A few (not many, but wily) people have criticised this section of the +documentation, due to a misconception about what it really means and also because +this section was previously very poorly written. So to be clear: + +Yes, we are quite well aware that the CH341A can in fact operate at 3.3v, +even unmodified black models; the VCC line is 3.3v, and if when you either +directly wire VCC to WP/HOLD pins yourself, or a pull-up resistor on the +motherboard you're flashing pulls these high at 3.3v, then the logic levels +on the data lines do in fact switch to 3V *during an erase, read or write cycle*. +When no flashing operation is underway, the data lines are outputting at almost +negligable current, so the actual amount of heat generated will be negligable, +and therefore damage is unlikely. However, as stated above and as we will state +again: + +* This is bad electrical design. The CH341A can switch flexibly between 3V + and 5V operation, but most flashes today are 1.8V or 5V anyway, and there are + all kinds of scenarios (such as over-current or surge event) where this 5V + idle logic level could still be applied. Modifying your CH341a to 3.3v + only, as defined in the datasheet (and by this page) is highly recommended. +* The drive level is extremely poor anyway, on CH341a, making ISP-based + flashing ill advisable in many cases, such as where the PCH (Intel platforms) + is partly active and the data lines have lower resistance, because some + boards have 0ohms or very low resistance on these lines. +* No pull-ups on the WP/hold lines, when flashing in the socket; they are high + via 0ohm trace to VCC, whereas you are advised to use a pull-up resistor to + mitigate over-current events. +* Crap LDO on the board, and no ESD/overcurrent protection; the CH341a probably + can't provide much current on the VCC line, especially for ISP-based flashing + where the flash shares a common power rail with many other components. + +CH341a is cheap junk. Get yourself a Raspberry Pi Pico instead; it's about the +same price, but of much higher quality from an electrical design perspective, +supports much higher (12mA!) drive levels on data lines, can control multiple +chip selects at once; it's just better, in every way. And the Raspberry Pi is +completely reprogrammable, so you can use it for something else when you're +done, e.g. UART dongle, or if you're wily enough, [PlayStation 1 Optical Disc +Emulator](https://github.com/paulocode/picostation) - the Pico is simply a +highly versatile tool, much better value for money than the piece of junk +CH341a. + +There is only one instance where the CH341a is *good*, and that is when you're +actually flashing a loose (not soldered) chip, in the ZIF socket on the CH341a +board. It's a DIP-8 socket, and you can also buy WSON-8 and SOIC-8 or SOIC-16 +adapters for it; you can also plug a special adapter board into it that converts +the voltages (VCC and data lines) to 1.8V, for 1.8V flashes (you could also +use that same 1.8V adapter circuit in a breadboard wired to your Pico). On +socket-based flashing, *which is specifically what the CH341a was designed +for*, you don't have to worry about weak drive level because there is nothing +contending with it on the flash IC's data pins. + +The *socket-based* flashing operation is what we recommend this programmer +for, *only if you already have one*. We still recommend fixing the issue with +the WP/HOLD pins as described above; if you're doing this, note that there are +also newer models that have a voltage switch and logic level shifter already +on the board, which can be very useful. *Clip-based* flashing (ISP / in-system +programming) is, specifically, what we advise against using the CH341a for. + +Even if you *are* doing socket-based flashing, we still suggest buying the Pico +instead, though the Pico doesn't come with a ZIF socket; you can wire the Pico +to a breadboard instead, if you want to use a socket for flashing. Then you +will also have a good ISP device, and the overall cost covering both use-case +scenarios is *lower* (cheaper part cost) than buying a CH341a *and* Pico; and +the Pico can also emulate the PlayStation Optical Disc Drive in your +playstation to boot from SD card instead of your dead CD drive, or could even +be a [JTAG adapter](https://hackaday.com/2022/04/11/need-a-jtag-adapter-use-your-pico/) - +again, the Pico is a reprogrammable device! Whereas, the CH341a is a fixed-function +device (and performs poorly). + +Why pay $10 for a CH341a when you can pay $10 for a Raspberry Pi Pico which is +electrically and functionally superior in every way? And the Pico is completely +open source, right down to the boot rom. + Identify which flash type you have -================================== +---------------------------------- In all of them, a dot or marking shows pin 1 (in the case of WSON8, pad 1). @@ -255,8 +361,7 @@ Use the following photos and then look at your board. When you've figured out what type of chip you have, use that knowledge and the rest of this guide, to accomplish your goal, which is to read from and/or write to the boot flash. -SOIC8 ------ +### SOIC8 ![](https://av.libreboot.org/chip/soic8.jpg) @@ -271,8 +376,7 @@ SOIC8 | 7 | HOLD | | 8 | VCC | -SOIC16 ------- +### SOIC16 ![](https://av.libreboot.org/chip/soic16.jpg) @@ -289,8 +393,7 @@ SOIC16 SOIC8 and SOIC16 are the most common types, but there are others: -WSON8 ------ +### WSON8 It will be like this on an X200S or X200 Tablet:\ @@ -301,15 +404,13 @@ On T400S, it is in this location near the RAM:\ ![](https://av.libreboot.org/t400s/soic8.jpg)\ NOTE: in this photo, the chip has been replaced with SOIC8. -DIP8 ----- +### DIP8 ![](https://av.libreboot.org/dip8/dip8.jpg) Pinout is the same as SOIC8 above. -Supply Voltage --------------- +### Supply Voltage Historically, all boards that Libreboot supports happened to have SPI NOR chips which work at 3.3V DC. With the recent addition of Chromebooks whose chips are @@ -322,18 +423,16 @@ connect it to the chip through an adapter or logic level converter, never directly. Software configuration -====================== +---------------------- -General/Le potato ------------------ +### General/Le potato The [generic guide](spi_generic.md) is intended to help those looking to use an SBC which is not listed in this guide. The guide will, however, use the libre computer 'Le Potato' as a reference board. If you have that board, you should refer to the [generic guide.](spi_generic.md) -BeagleBone Black (BBB) ----------------------- +### BeagleBone Black (BBB) SSH into your BeagleBone Black. It is assumed that you are running Debian 9 on your BBB. You will run `flashprog` from your BBB. @@ -395,8 +494,7 @@ Note: flashprog can never write if the flash chip isn't found automatically. This means that it's working (the clip isn't connected to any flash chip, so the error is fine). -Caution about BBB ------------------ +### Caution about BBB BeagleBone Black is not recommended, because it's very slow and unstable for SPI flashing, and nowadays much better options exist. We used to mainly @@ -405,8 +503,7 @@ Software on it, but nowadays there are superior options. TODO: document other SPI flashers -Rasberry Pi (RPi) ------------------ +### Rasberry Pi (RPi) SSH into your Raspberry Pi. You will run `flashprog` from your Raspberry Pi. @@ -425,9 +522,9 @@ Under the Interface section, you can enable SPI. The device for communicating via SPI as at `/dev/spidev0.0` -RPi Drive Strength ------------------- -Flashrom on the RPi may not be able to detect the SPI flash chip on some +### RPi Drive Strength + +Flashprog on the RPi may not be able to detect the SPI flash chip on some systems, even if your wiring and clip are set up perfectly. This may be due to the drive strength of the Raspberry Pi GPIOs, which is 8mA by default. Drive strength is essentially the maximum current the pin can output while also @@ -483,8 +580,7 @@ See for more information about the drive strength control on the Pi. -Caution about RPi ------------------ +### Caution about RPi Basically, the Raspbian project, now called Raspberry Pi OS, put in their repo an update that added a new "trusted" repository, which just so happened to be @@ -504,8 +600,7 @@ They then removed it, after a public backlash, via the following commits: * * -Libre firmware on RPi ---------------------- +### Libre firmware on RPi The boot firmware on older Raspberry Pi models can be replaced, with entirely libre firmware. This may be a useful additional step, for some users. See: @@ -516,12 +611,11 @@ Website: -Install flashprog ----------------- +### Install flashprog If you're using a BBB or RPi, you will do this while SSH'd into those. -Flashrom is the software that you will use, for dumping, erasing and rewriting +Flashprog is the software that you will use, for dumping, erasing and rewriting the contents of your NOR flash. In the libreboot build system, from the Git repository, you can download and @@ -550,7 +644,7 @@ for use on x86-64 systems running Ubuntu 20.04, but it should work in Raspbian on the Raspberry Pi. Alternatively, you may download flashprog directly from upstream -at +at If you're flashing a Macronix flashchip on a ThinkPad X200, you will want to use a special patched version of flashprog, which you can download here: @@ -565,13 +659,12 @@ at `config/dependencies/` which you can install using the `apt-get` software. How to use flashprog -=================== +-------------------- Read past these sections, further down this page, to learn about specific chip types and how to wire them. -Reading -------- +### Reading Before flashing a new ROM image, it is highly advisable that you dump the current chip contents to a file. @@ -631,8 +724,7 @@ You can combine both flashes together with `cat` for example: Note that you will need this combined rom if you intend to manually extract vendor files, which is a method not officially supported by Libreboot's build system. -Writing -------- +### Writing Next, run this command (RPi): @@ -668,15 +760,13 @@ For example, to split a rom for the x230, t430, t530, or t440p run: Flash the resulting roms to each of their respective chips according to the above instructions. - Hardware configuration -====================== +---------------------- Refer to the above guidance about software configuration. The following advice will teach you how to wire each type of flash chip. -WARNINGS --------- +### WARNINGS Do not connect the power source until your chip is otherwise properly wired. For instance, do not connect a test clip that has power attached. @@ -701,16 +791,14 @@ DO NOT connect more than 1 DC power source to your flash chip either! Mixing voltages like that can easily cause damage to your equipment, and to your chip/mainboard. -MISO/MOSI/CS/CLK lines ----------------------- +### MISO/MOSI/CS/CLK lines You may want to add 47ohm series resistors on these lines, when flashing the chips. Only do it on those lines (NOT the VCC or GND lines). This provides some protection from over-current. On Intel platforms, the SPI flash is usually connected via such resistors, directly to the Southbridge chipset. -ISP programming and VCC diode ------------------------------ +### ISP programming and VCC diode ISP means in-system programming. It's when you flash a chip that is already mounted to the mainboard of your computer that you wish to install libreboot @@ -750,8 +838,7 @@ the flash into a breadboard when flashing. TODO: Make a page on libreboot.org, showing how to do this on all mainboards supported by libreboot. -GPIO pins on BeagleBone Black (BBB) ------------------------------------ +### GPIO pins on BeagleBone Black (BBB) Use this image for reference when connecting the pomona to the BBB: (D0 = MISO or connects @@ -760,8 +847,7 @@ to MISO). On that page, look at the *P9 header*. It is what you will use to wire up your chip for flashing. -GPIO pins on Raspberry Pi (RPi) 40 Pin --------------------------------------- +### GPIO pins on Raspberry Pi (RPi) 40 Pin This diagram shows the pinout for most modern Pi's and Pi derivatives. The diagram shows the pins of an RPi on the left and the two SOIC clips @@ -769,8 +855,7 @@ on the left. ![](https://av.libreboot.org/rpi/wiring.webp) -GPIO pins on Raspberry Pi (RPi) 26 Pin -------------------------------- +### GPIO pins on Raspberry Pi (RPi) 26 Pin Diagram of the 26 GPIO Pins of the Raspberry Pi Model B (for the Model B+ with 40 pins, start counting from the right and leave 14 pins): @@ -779,8 +864,7 @@ B+ with 40 pins, start counting from the right and leave 14 pins): Use this as a reference for the other sections in this page, seen below: -SOIC8/DIP8/WSON8 wiring diagram -------------------------------- +### SOIC8/DIP8/WSON8 wiring diagram Refer to this diagram: @@ -807,8 +891,7 @@ will provide a stable 3.3V voltage, with adequate current levels. On those laptops, this is necessary because the flash shares a common 3.3V DC rail with many other ICs that all draw quite a lot of current. -SOIC16 wiring diagram (Raspberry Pi) ------------------------------------- +### SOIC16 wiring diagram (Raspberry Pi) RPi GPIO header:\ ![](https://av.libreboot.org/rpi/0009.webp) @@ -846,8 +929,7 @@ NOTE: pins 1 and 9 are WP/HOLD pins. If flashing a chip on a breadboard, please use pull-up resistors on those (see notes below), and decoupling capacitor on pin 2 (VCC). -Pull-up resistors and decoupling capacitors -------------------------------------------- +### Pull-up resistors and decoupling capacitors **Do this for chips mounted to a breadboard. Ignore this section if you're flashing a chip that is already soldered to a mainboard.** @@ -895,8 +977,7 @@ WP/HOLD are not pin 3/7 like above, but instead pins 1 and 9, so wire your pull-up resistors on those. VCC on SOIC16 is pin 2, so wire your decoupling capacitors up on that. -SOIC8/WSON8/DIP8/SOIC16 not mounted to a mainboard --------------------------------------------------- +### SOIC8/WSON8/DIP8/SOIC16 not mounted to a mainboard If your system has lower capacity SPI flash, you can upgrade. On *most* systems, SPI flash is memory mapped and the maximum (in practise) that you can use is a @@ -968,8 +1049,7 @@ and good 60/40 or 63/37 leaded solder (don't use lead-free): ![](https://av.libreboot.org/dip8/adapter.jpg) ![](https://av.libreboot.org/dip8/sop8todip8.jpg) -SOIC8/SOIC16 soldered to a mainboard ------------------------------------- +### SOIC8/SOIC16 soldered to a mainboard This is an example of *in-system programming* or *ISP* for short. @@ -994,8 +1074,7 @@ Here is an example of a test clip connected for SOIC16:\ And here is an example photo for SOIC8:\ ![](https://av.libreboot.org/x60/th_bbb_flashing.jpg) -DIP8 soldered to the mainboard ------------------------------- +### DIP8 soldered to the mainboard It is extremely cursed for DIP8 to be soldered directly to the mainboard. It is usually mounted to a socket. @@ -1010,8 +1089,7 @@ directly soldered. It is almost always mounted in a socket. Your DIP8 IC has the same pinout as a SOIC8 IC. -Replace WSON8 IC with SOIC8 ---------------------------- +### Replace WSON8 IC with SOIC8 **NOTE: You can alternatively purchase WSON8 probes from a site like Aliexpress. They look similar to SOIC8 clips, and they work similarly.** @@ -1126,7 +1204,7 @@ evaporates quickly and it does not leave a corrosive residue. ------------------------------------------------------------------------------- LICENSING -========= +--------- This page is released under different copyright terms than most other pages on this website. diff --git a/site/docs/install/spi.zh-cn.md b/site/docs/install/spi.zh-cn.md index bb9b705..eba229a 100644 --- a/site/docs/install/spi.zh-cn.md +++ b/site/docs/install/spi.zh-cn.md @@ -4,7 +4,7 @@ x-toc-enable: true ... Need help? -========== +---------- Help is available on [Libreboot IRC](../../contact.md) and other channels. @@ -16,14 +16,14 @@ if you want to send your machine in to have Libreboot installed for you. Leah Rowe, the founder and lead developer of Libreboot, also owns and operates Minifree Ltd; sales provide funding for the Libreboot project. -Introduction -============ +Install open source BIOS/UEFI firmware +------------ **[安装之前请先阅读这些指示](ivy_has_common.md),否则你的机器可能会成砖:[安全措施](ivy_has_common.md)** 本指南将教你怎样使用各种工具,通过 SPI 协议对 25xx NOR flash 进行外部再编程。这是 coreboot 所支持的计算机中,最常见的 flash IC 类型。目前 libreboot 支持的每个系统,基本都使用这种类型的引导 flash;唯一的例外就是 ASUS KFSN4-DRE,它在 PLCC32 芯片座中使用了 LPC flash,你可以在供应商固件启动后,对其进行热切换,然后再内部刷入。十分简单! -我们会用到 [flashprog](https://flashprog.org/Flashrom) 软件,这个软件可以读出、擦除及重写这些 flash 芯片。 +我们会用到 [flashprog](https://flashprog.org/) 软件,这个软件可以读出、擦除及重写这些 flash 芯片。 libreboot 目前记录了这些 SPI 编程器的使用方法: @@ -41,10 +41,9 @@ libreboot 目前记录了这些 SPI 编程器的使用方法: 你在读的*这个*教程,使用的是*外部*编程器。之所以叫*外部*,是因为用的不是主板上的*内部*编程器。 Raspberry Pi Pico -================= +----------------- -RP2040/RP2530 both supported ----------------------------- +### RP2040/RP2530 both supported **Pico 2 and other RP2530 dongles also supported, on Libreboot 20241206 rev8 or higher. Releases before this only supported the original Pico, and other @@ -62,8 +61,7 @@ Additionally, all the software running on it is free, down to the full versions (Pico W & Pico WH) need vendor firmware to use the Wi-Fi chip, but that is not needed for following this guide. -Download serprog firmware pre-compiled -------------------------- +### Download serprog firmware pre-compiled Download the pico serprog tarball from Libreboot releases. For example, the Libreboot 20241206rev8 one would be @@ -71,8 +69,7 @@ named: `libreboot-20241206rev8_pico_serprog.tar.xz` - it's available under the `roms/` directory in each release. With these binaries, you can easily get started. -Build serprog firmware from source ----------------------------------- +### Build serprog firmware from source You can alternatively download the serprog firmware here:\ \ @@ -95,8 +92,7 @@ at `bin/serprog_pico/serprog_pico.uf2` and `bin/serprog_pico/serprog_pico_w.uf2` - images with `pico2` in the file name are for the Pico 2, and they can also be used. -Install the serprog firmware ----------------------------- +### Install the serprog firmware First, connect just the Pico to your computer with a micro-USB cable. Mount it like any other USB flash drive. If it isn't detected, you might need @@ -112,8 +108,7 @@ release tarball. **NOTE: Other RP2040/2530 devices will also work. You just have to match the right pins and use the correct firmware file!** -Logic levels ------------- +### Logic levels A Pico has proper 3.3V logic levels, unlike a ch341a. Which means it won't destroy your board by sending 5V to it. If you have a 1.8V flash chip, @@ -121,8 +116,7 @@ you need to add a logic level converter. **Please ensure that you have matched the voltage of your programmer to the voltage of your chip; both the data lines and power lines to the chip must match.** -Wiring ------- +### Wiring Disconnect the Pico and proceed to wire it to your [flash chip](/docs/install/spi.html#identify-which-flash-type-you-have). @@ -159,7 +153,7 @@ not worth it. The 12Mbps USB port is limiting the actual speed here. Higher speeds might work nicely, on Pico 2. 不要使用 CH341A! -================== +---------------- libreboot 支持的机器,NOR flash 使用的是 3.3V DC 或 1.8V DC,这也包括了数据线路。CH341A 在数据线路上有 5V 逻辑电平,这会损伤 SPI flash 和它连接的南桥,以及它连接的其它任何东西。 @@ -190,26 +184,23 @@ libreboot 支持的机器,NOR flash 使用的是 3.3V DC 或 1.8V DC,这也 绿色版本(上面未展示)可能已经连接了 3.3v 逻辑电平,但仍然需要为 WP/HOLD 增加上拉电阻。 识别你的 flash 类型 -================================== +------------------- 每一个 flash,都会有一个点或者标记,表明这是第 1 引脚(如 WSON8 的第 1 焊盘)。 参考下面的图片,再看看你的主板。搞清楚你的芯片类型之后,根据你了解的情况及本教程剩下的部分,来实现你的目标,即对你的引导 flash 进行读/写。 -SOIC8 ------ +### SOIC8 ![](https://av.libreboot.org/chip/soic8.jpg) -SOIC16 ------- +### SOIC16 ![](https://av.libreboot.org/chip/soic16.jpg) SOIC8 和 SOIC16 是最常见的类型,但也有其他的类型: -WSON8 ------ +### WSON8 X200S 或 X200 Tablet 上是像这样的:\ ![](https://av.libreboot.org/x200t_flash/X200T-flashchip-location.jpg) @@ -218,28 +209,24 @@ T400S 上,是在 RAM 附近的这个位置:\ ![](https://av.libreboot.org/t400s/soic8.jpg)\ 注意: 本照片中的芯片换成了 SOIC8 -DIP8 ----- +### DIP8 ![](https://av.libreboot.org/dip8/dip8.jpg) -电源电压 --------------- +### 电源电压 之前,Libreboot 支持的所有主板,刚好都有在 3.3V DC 下工作的 SPI NOR 芯片。因为最近添加了额定 1.8V DC 芯片的 Chromebook,所以就不再是这么回事了。 检查主板上芯片的元件型号,再查找一下它的数据表。找出它需要的电源电压并记下来。如果它和你外部刷写硬件的输出电压不匹配,那你只能通过适配器或者逻辑电平转换器,把它连至芯片,而绝不能直接连接。 软件配置 -====================== +-------- -通用/Le potato ------------------ +### 通用/Le potato [通用指南](spi_generic.md)可以帮助你使用本指南未列出的 SBC(单板电脑)。不过,那份指南会使用 libre computer 'Le Potato' 作为参考板。如果你有那块板子,你应该参考 [通用指南](spi_generic.md)。 -BeagleBone Black(BBB) ----------------------- +### BeagleBone Black(BBB) SSH 连接到你的 BeagleBone Black。假定你在 BBB 上用的是 Debian 9。你将在 BBB 上运行 `flashprog`。 @@ -296,15 +283,13 @@ Note: flashprog can never write if the flash chip isn't found automatically. 这表示正常工作了(夹子没连接任何 flash 芯片,所以出错是正常的)。 -BBB 注意事项 ------------------ +### BBB 注意事项 不建议使用 BeagleBone Black,因为拿它来进行 SPI 刷写,速度很慢而且不稳定,并且现在有更好的选择了。我们以前建议使用 BBB,因为它可以完全运行自由软件,但现在有了更佳的选择。 计划:讲解其他 SPI 刷写工具 -Rasberry Pi(RPi) ------------------ +### Rasberry Pi(RPi) SSH 连接到树莓派。你将在树莓派上运行 `flashprog`。 @@ -321,8 +306,7 @@ SSH 连接到树莓派。你将在树莓派上运行 `flashprog`。 用于 SPI 通讯的设备位于 `/dev/spidev0.0`。 -RPi 驱动强度(Drive Strength) ------------------- +### RPi 驱动强度(Drive Strength) RPi 的 flashprog 可能无法检测到一些系统的 SPI flash,即使你已经完美地连好了线并夹住了芯片。这可能是因为树莓派 GPIO 的驱动强度,它默认是 8mA。驱动强度本质上就是,在保持高电平最低电压的同时,引脚最高能输出的电流。对树莓派而言,这个电压是 3.0 V。 @@ -352,8 +336,7 @@ RPi 的 flashprog 可能无法检测到一些系统的 SPI flash,即使你已 见 了解树莓派上的驱动强度控制。 -RPi 注意事项 ------------------ +### RPi 注意事项 基本上,Raspbian 项目,即现在的 Raspberry Pi OS,对其仓库进行了更新,增加了一个新的“受信任”仓库,这刚好是一个微软软件仓库。他们这么做,似乎是为了 VS Code,但问题在于,这可以让微软自由地控制他们喜欢的依赖(根据 apt-get 规则)。每当你更新,你都会对微软的服务器发送请求。不觉得这很奇怪吗? @@ -366,8 +349,7 @@ RPi 注意事项 * * -RPi 的自由固件 ---------------------- +### RPi 的自由固件 旧款树莓派的引导固件可以替换成完全自由的固件。对有些用户而言,这额外的一步可能很有用。参见: @@ -377,12 +359,11 @@ RPi 的自由固件 -安装 flashprog ----------------- +### 安装 flashprog 如果你在使用 BBB 或者 RPi,你需要在 SSH 进去之后再这么做。 -Flashrom 是用来读出、擦除、重写 NOR flash 内容的软件。 +Flashprog 是用来读出、擦除、重写 NOR flash 内容的软件。 使用 Git 仓库中的 libreboot 构建系统,你可以下载并安装 flashprog。首先下载 [lbmk Git 仓库](https://codeberg.org/libreboot/lbmk),然后执行: @@ -397,19 +378,18 @@ Flashrom 是用来读出、擦除、重写 NOR flash 内容的软件。 接下来,会出现一个 `flashprog/` 目录,其中有一个 `flashprog` 可执行文件。如果你在运行上面的依赖命令的时候,出现了缺失包的错误,则修改 `config/dependencies/ubuntu2004`。那个脚本会在 apt-get 中下载并安装构建依赖,它是为运行 Ubuntu 的 x86-64 系统写的,但在树莓派上的 Raspbian 应该能用。 -或者,你可以直接从上游下载 flashprog,位于: +或者,你可以直接从上游下载 flashprog,位于: 如果你是在 ThinkPad X200 上刷写 Macronix flash 芯片,则要使用一个 flashprog 的特别修改版,下载地址在这里: —— 其中有修改版的源代码,也有可以直接运行的二进制文件。将 `--workaround-mx` 参数传给 flashprog。这会缓解稳定性问题。 如果你直接下载了 flashprog 源代码,你可以进入目录并直接运行 `make`。在 libreboot 构建系统中,`config/dependencies/` 处的脚本写明了构建依赖,你可以直接使用 `apt-get` 软件安装。 如何使用 flashprog -=================== +------------------ 请先阅读本页更下方的部分,了解特定的芯片类型及其接线方法。 -读出 -------- +### 读出 刷入新的 ROM 镜像之前,强烈建议你将当前芯片的内容读出到一个文件。 @@ -449,8 +429,7 @@ BBB 的话,这样: 注意,如果你要手动提取 blob,那你就需要这个组合而成的 rom。 -写入 -------- +### 写入 接下来,运行这个命令(RPi): @@ -483,12 +462,11 @@ Verifying flash... VERIFIED. 硬件配置 -====================== +-------- 软件配置请参考上面的教程。下面的建议会教你如何为每种 flash 芯片接线。 -警告 --------- +### 警告 在芯片还没有正确接好线时,先不要连接电源。例如,不要连接到接通电源的测试夹。 @@ -500,13 +478,11 @@ Verifying flash... VERIFIED. 也不要给你的 flash 芯片连接超过 1 个 DC 电源!那样混合电压的话,很容易损伤你的设备及芯片/主板。 -MISO/MOSI/CS/CLK 接线 ----------------------- +### MISO/MOSI/CS/CLK 接线 在刷写这些芯片的时候,你可能也想增加 47 欧姆的串联电阻(不是加在 VCC 或 GND 线上)。这可以提供一些过流保护。在 Intel 平台上,SPI flash 直接连接到南桥芯片组时,通常会通过这样的电阻。 -ISP 编程及 VCC 二极管 ------------------------------ +### ISP 编程及 VCC 二极管 ISP 即系统内编程(in-system programming)。它指的是,一块芯片已经装在了你想安装 libreboot 的电脑的主板上,而你要对这块芯片进行刷写。 @@ -522,22 +498,19 @@ ISP 即系统内编程(in-system programming)。它指的是,一块芯片 计划:在 libreboot.org 创建一个页面,讲怎么在 libreboot 支持的所有主板这么做。 -BeagleBone Black(BBB)上的 GPIO 引脚 ------------------------------------ +### BeagleBone Black(BBB)上的 GPIO 引脚 把 pomona 夹子连接到 BBB 时,参考这张图片: (D0 = MISO 或连接到 MISO)。 如果你要用 *P9 排针*来连接芯片刷写的话,请看那个页面的那个部分。 -40 引脚树莓派(RPi)的 GPIO 引脚 --------------------------------------- +### 40 引脚树莓派(RPi)的 GPIO 引脚 下图展示了大多数现代树莓派及其衍生版的引脚分配。图中右边是 RPi 的引脚,左边是两个 SOIC 夹。 ![](https://av.libreboot.org/rpi/wiring.webp) -26 引脚树莓派(RPi)的 GPIO 引脚 -------------------------------- +### 26 引脚树莓派(RPi)的 GPIO 引脚 树莓派 B 款 26 GPIO 引脚图(对 40 引脚的 B+ 款而言,从右边开始数,剩下 14 个引脚): @@ -545,8 +518,7 @@ BeagleBone Black(BBB)上的 GPIO 引脚 此处的信息,也请在阅读以下其他部分时参考: -SOIC8/DIP8/WSON8 接线图 -------------------------------- +### SOIC8/DIP8/WSON8 接线图 参考此表: @@ -567,8 +539,7 @@ SOIC8/DIP8/WSON8 接线图 注意:在 X60/T60 thinkpad 上,不要连接第 8 引脚。而是将你的 PSU 接在主板供电口上,但不要启动主板。这会提供稳定的 3.3V 电压及足够的电流。在这些笔记本上,这是必要的,因为 flash 和其他许多 IC 共用一路 3.3V DC 电源,这些 IC 都会分走很多电流。 -SOIC16 接线图(树莓派) ------------------------------------- +### SOIC16 接线图(树莓派) RPi GPIO 排针:\ ![](https://av.libreboot.org/rpi/0009.webp) @@ -604,8 +575,7 @@ BBB P9 排针:\ 注意:第 1 和第 9 引脚是 WP/HOLD 引脚。在面包板上刷写芯片时,请对它们使用上拉电阻(见上面的注记),并在第 2 引脚(VCC)使用去耦电容。 -上拉电阻和去耦电容 -------------------------------------------- +### 上拉电阻和去耦电容 **如果芯片是装在面包板上的,那请遵循这里的步骤。如果你要刷写的芯片已经焊接在了主板上,那请忽略这一部分。** @@ -626,8 +596,7 @@ SOIC8/WSON8/DIP8:如果芯片在主板上,那第 8 引脚,即 VCC,就已 SOIC16:同上,但在面包板上使用 SOIC16 socket。在 SOIC16 上,WP/HOLD 不同于上面的第 3/7 引脚,而是第 1 和第 9 引脚,所以要把上拉电阻接到那里。SOIC16 上的 VCC 是第 2 引脚,所以要把去耦电容接到那里。 -SOIC8/WSON8/DIP8/SOIC16 未安装在主板上 --------------------------------------------------- +### SOIC8/WSON8/DIP8/SOIC16 未安装在主板上 如果你的机器的 SPI flash 容量较低,那你可以升级。在*大多数*机器上,SPI flash 是经过映射的内存,而(实际上)你最大可以使用 16MiB 的芯片。例如,libreboot 的 KGPE-D16 和 KCMA-D8 主板默认有 2MiB flash,但你可以对它们轻松升级。另一个例子是 ThinkPad X200S、X200 Tablet 和 T400S,它们都有 WSON8,而最佳的方案就是将它替换为 SOIC8 flash 芯片。 @@ -664,8 +633,7 @@ SOIC8/WSON8/DIP8/SOIC16 未安装在主板上 ![](https://av.libreboot.org/dip8/adapter.jpg) ![](https://av.libreboot.org/dip8/sop8todip8.jpg) -SOIC8/SOIC16 焊接在主板上 ------------------------------------- +### SOIC8/SOIC16 焊接在主板上 这是*系统内编程*或 *ISP* 的一个简短例子。 @@ -681,8 +649,7 @@ Pomona 5252 是一个 SOIC16 测试夹。也有其他的可以用,但这个是 SOIC8 例子的照片如下:\ ![](https://av.libreboot.org/x60/th_bbb_flashing.jpg) -DIP8 焊接在主板上 ------------------------------- +### DIP8 焊接在主板上 把 DIP8 直接焊接在主板上怪异至极。它通常是安装在芯片座上的。 @@ -692,8 +659,7 @@ DIP8 焊接在主板上 DIP8 IC 的引脚分配和 SOIC8 IC 一样。 -使用 SOIC8 替换 WSON8 IC ---------------------------- +### 使用 SOIC8 替换 WSON8 IC **NOTE: You can alternatively purchase WSON8 probes from a site like Aliexpress. They look similar to SOIC8 clips, and they work similarly.** @@ -759,7 +725,7 @@ WSON8 IC:\ ------------------------------------------------------------------------------- 许可证 -========= +------ 本页面发布所使用的版权条款,不同于本网站上大多数其他页面。 diff --git a/site/docs/install/spi_generic.md b/site/docs/install/spi_generic.md index cea61cd..97e143e 100644 --- a/site/docs/install/spi_generic.md +++ b/site/docs/install/spi_generic.md @@ -13,6 +13,9 @@ YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions there, before flashing. For posterity, [here is the link again](ivy_has_common.md).** +Background information +---------------------- + There are a plethora of single board computers with which you can flash libreboot to a SOIC chip. Some users might be daunted by the price of a raspberry pi. This guide is intended to help users looking to use a programmer which is not listed in the [main guide.](spi.md) @@ -29,7 +32,7 @@ All of this means that you should try to find a board that is *known* to support It is *not* enough to know that the board itself supports SPI. Selecting an Operating System -============================= +----------------------------- In theory, any linux based operating system will do. In practice, many distros are highly limited when it comes to single-board-computers. @@ -43,7 +46,7 @@ If your SBC supports [Raspbian](https://www.raspberrypi.com/software/) then usin As a bonus, you may refer to the [main guide](spi.md) if the SBC you have supports raspbian, should you get confused with this guide. Connecting to your Programmer -============================= +----------------------------- Many SBC operating systems enable ssh by default. If the OS you chose does not enable ssh on first boot, try checking the distro documentation and looking for terms such as 'headless install.' @@ -61,10 +64,10 @@ SSH to your programmer using the default credentials as specified in your distro The IP address is the one determined in the earlier step. For example: -`ssh root@192.168.0.167` + ssh root@192.168.0.167 Finding GPIO Pins -================= +----------------- If you have determined that a board supports SPI then the only step left is to determine the correct location of the SPI pins. @@ -76,7 +79,7 @@ Match each of the categories in the 'signal' column with those in the 'pin' colu Using this method, you can theoretically use any single board computer with SPI support. Enabling SPI -============ +------------ The modules needed and methods to enable SPI vary based on the SBC you choose. You should always make sure there is a well documented method for enabling SPI on your SBC before purchasing. @@ -87,8 +90,8 @@ sudo ldto enable spicc spicc-spidev sudo ldto merge spicc spicc-spidev ``` -Using Flashrom -============== +Using flashprog +-------------- Most linux distros will provide flashprog in their default repositories. You can also download flashprog in binary form with [libreboot utils.](https://libreboot.org/download.html#https) diff --git a/site/docs/install/t1650.md b/site/docs/install/t1650.md index 3e77a08..75269d2 100644 --- a/site/docs/install/t1650.md +++ b/site/docs/install/t1650.md @@ -1,5 +1,5 @@ --- -title: Dell Precision T1650 +title: Install Libreboot on Dell Precision T1650 x-toc-enable: true ... @@ -54,8 +54,13 @@ P*: Partially works with vendor firmware | **SeaBIOS** | Works | | **SeaBIOS with GRUB** | Works | -Introduction -============ + +Open source BIOS/UEFI firmware +------------------------------ + +This document will teach you how to install Libreboot, on your +Dell Precision T1650 desktop motherboard. Libreboot replaces proprietary +BIOS/UEFI firmware. **Unavailable in Libreboot 20230625 or earlier. You must [compile from source](../build/), or use at least Libreboot 20231021.** @@ -67,18 +72,19 @@ This is similar code-wise to [Dell OptiPlex 9010](https://doc.coreboot.org/mainboard/dell/optiplex_9010.html) which coreboot supports. -Build ROM image from source ---------------------------- +### Build ROM image from source The build target, when building from source, is thus: ./mk -b coreboot t1650_12mb -Installation -============ +Alternatively, you can use release images, but please ensure that you've +inserted vendor files prior to flashing; see notes. -Insert binary files -------------------- +Install Libreboot +----------------- + +### Insert vendor files If you're using a release ROM, please ensure that you've inserted extra firmware required refer to the [guide](../install/ivy_has_common.md) for that. (failure @@ -88,15 +94,13 @@ Libreboot's build system automatically downloads and processes these files if you build Libreboot from source, but the same logic that it uses must be re-run if you're using a release image. -Set MAC address ---------------- +### Set MAC address This platform uses an Intel Flash Descriptor, and defines an Intel GbE NVM region. As such, release/build ROMs will contain the same MAC address. To change the MAC address, please read [nvmutil documentation](../install/nvmutil.md). -WARNING about CPU/GPU compatibility -------------------------------- +### WARNING about CPU/GPU compatibility At the time of testing this board, I didn't have a CPU with graphics built in, so I could only use discrete graphics on the PCI-E slot (in my case, Nvidia @@ -129,8 +133,7 @@ way (SeaBIOS first) because Libreboot's configuration does not tell *coreboot* to execute VGA Option ROMs, and it's important that we try to prevent bricks whenever possible. -Flash a ROM image (software) ------------------ +### Flash a ROM image (software) If you're already running Libreboot, and you don't have flash protection turned on, [internal flashing](../install/) is possible. @@ -150,8 +153,7 @@ Here is a close-up: Simply short those pins, on the header, using a jumper. When you do this, all flash protections will be disabled. -Flash a ROM image (hardware) ------------------ +### Flash a ROM image (hardware) **REMOVE all power sources and connectors from the machine, before doing this. This is to prevent short circuiting and power surges while flashing.** @@ -200,4 +202,4 @@ flashing instructions [in Chinese](../install/spi.zh-cn.md): Other aspects of the machine are not much to write home about. It's a standard desktop PC form factor, and you can just run whatever you want on it. -Enjoy! +Enjoy your Libreboot machine! diff --git a/site/docs/install/t400.md b/site/docs/install/t400.md index 62a67da..1821097 100644 --- a/site/docs/install/t400.md +++ b/site/docs/install/t400.md @@ -1,5 +1,5 @@ --- -title: Flashing the ThinkPad T400 externally +title: Install Libreboot on Lenovo ThinkPad T400 x-toc-enable: true ... @@ -51,16 +51,12 @@ P*: Partially works with vendor firmware | **SeaBIOS with GRUB** | Works | -Dell Latitude E6400 -=================== +Open source BIOS/UEFI firmware +------------------------- -**If you haven't bought an T400 yet: the [Dell Latitude -E6400](../install/latitude.md) is much easier to flash; no disassembly required, -it can be flashed entirely in software from Dell BIOS to Libreboot. It is the -same hardware generation (GM45), with same CPUs, video processor, etc.** - -Introduction -============ +This document will teach you how to install Libreboot, on your +Lenovo ThinkPad T400 laptop motherboard. Libreboot replaces proprietary +BIOS/UEFI firmware. It is believed that all or most laptops of the model T400 are compatible. See notes about [CPU @@ -84,8 +80,16 @@ now, as of 27 January 2024, which is a fork of flashrom. The reason why was explained, in the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** +Dell Latitude E6400 +------------------- + +**If you haven't bought an T400 yet: the [Dell Latitude +E6400](../install/latitude.md) is much easier to flash; no disassembly required, +it can be flashed entirely in software from Dell BIOS to Libreboot. It is the +same hardware generation (GM45), with same CPUs, video processor, etc.** + EC update {#ecupdate} -========= +--------------------- It is recommended that you update to the latest EC firmware version. The [EC firmware](../../faq.md#ec-embedded-controller-firmware) is separate from @@ -107,7 +111,7 @@ The T400 is almost identical to the X200, code-wise. See [x200.md](x200.md). Installation notes -============ +------------------ [External flashing](spi.md) required, if Lenovo BIOS is running. @@ -123,15 +127,14 @@ the screws on page 114 (with title "1130 Keyboard bezel") are swapped and if you follow the HMM you will punch a hole through the bezel in the upper right corner. -Serial port {#serial_port} ------------ +### Serial port {#serial_port} EHCI debug might not be needed. It has been reported that the docking station for this laptop has a serial port, so it might be possible to use that instead. A note about CPUs -================= +----------------- [ThinkWiki](http://www.thinkwiki.org/wiki/Category:T400) has a list of CPUs for this system. The Core 2 Duo P8400, P8600 and P8700 are believed @@ -139,8 +142,7 @@ to work in libreboot. T9600, T9500, T9550 and T9900 are all compatible, as reported by users. -Quad-core CPUs --------------- +### Quad-core CPUs Very likely to be compatible, but requires hardware modification. Based on info from German forum post about installing Core Quad CPU on T500 found in coreboot mailing list. Currently work in progress and no guide available. @@ -148,9 +150,8 @@ Based on info from German forum post about installing Core Quad CPU on T500 foun - [Coreboot mailing list post](https://mail.coreboot.org/pipermail/coreboot/2016-November/082463.html) - [German forum post about install Core Quad on T500](https://thinkpad-forum.de/threads/199129) - A note about GPUs -================= +----------------- Some models have an Intel GPU, while others have both an ATI and an Intel GPU; this is referred to as "switchable graphics". In the *BIOS @@ -163,29 +164,28 @@ Intel GPU is used and the ATI GPU is disabled, so native graphics initialization works all the same. CPU paste required -================== +------------------ See [\#paste](#paste). Flash chip size {#flashchips} -=============== +--------------------------- Use this to find out: flashprog -p internal MAC address {#macaddress} -=========== +------------------------ Refer to [mac\_address.md](mac_address.md). How to flash externally -========================= +----------------------- Refer to [spi.md](spi.md) as a guide for external re-flashing. -The procedure -------------- +### The procedure Remove *all* screws, placing them in the order that you removed them:\ ![](https://av.libreboot.org/t400/0001.jpg) ![](https://av.libreboot.org/t400/0002.jpg) @@ -283,7 +283,7 @@ Refer to the external flashing instructions [here](spi.md), and when you're done, re-assemble your laptop. Thermal paste (IMPORTANT) -========================= +------------------------- Because part of this procedure involved removing the heatsink, you will need to apply new paste. Arctic MX-4 is ok. You will also need isopropyl @@ -300,7 +300,7 @@ show how to properly apply the thermal paste. Other guides online detail the proper application procedure. Memory -====== +------ In DDR3 machines with Cantiga (GM45/GS45/PM45), northbridge requires sticks that will work as PC3-8500 (faster PC3/PC3L sticks can work as PC3-8500). diff --git a/site/docs/install/t420_external.md b/site/docs/install/t420_external.md index c053962..89bf973 100644 --- a/site/docs/install/t420_external.md +++ b/site/docs/install/t420_external.md @@ -3,12 +3,13 @@ title: ThinkPad T420 external flashing x-toc-enable: true ... -**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](ivy_has_common.md), OR -YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions -there, before flashing. For posterity, -[here is the link again](ivy_has_common.md).** +Open source BIOS/UEFI firmware +------------------------------ + +This document will teach you how to install Libreboot, on your +Lenovo ThinkPad T420 laptop motherboard. Libreboot replaces proprietary +BIOS/UEFI firmware. -Read the [Ivybridge/Haswell common guide](/docs/install/ivy_has_common.html) if you want more information. Please note, for Thinkpad T420, splitting the rom is not required. The following instructions expect you to have these on hand: + a clone of lbmk, can be obtained from `https://codeberg.org/libreboot/lbmk` @@ -20,6 +21,11 @@ The following instructions expect you to have these on hand: Preparing a release Rom ----------------------- +**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](ivy_has_common.md), OR +YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions +there, before flashing. For posterity, +[here is the link again](ivy_has_common.md).** + **Please follow this prior to flashing, or you may brick your machine.** Please [inject vendor files](ivy_has_common.md) prior to flashing. You can also diff --git a/site/docs/install/t440p_external.md b/site/docs/install/t440p_external.md index 2a274f3..23c2b37 100644 --- a/site/docs/install/t440p_external.md +++ b/site/docs/install/t440p_external.md @@ -1,16 +1,23 @@ --- -title: ThinkPad T440p external flashing +title: Install Libreboot on Lenovo ThinkPad T440p x-toc-enable: true ... +Open source BIOS/UEFI firmware +------------------------- + +This document will teach you how to install Libreboot, on your +Lenovo ThinkPad T440p laptop motherboard. Libreboot replaces proprietary +BIOS/UEFI firmware. + Buy Libreboot preinstalled -========================== +-------------------------- **Minifree now sells the Libreboot T480, instead of the Libreboot T440p. See: ** -Introduction -============ +Safety advice +------------- **NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) now, as of 27 January 2024, which is a fork of flashrom. @@ -31,8 +38,7 @@ root of that project. To do so, run You can now follow the rest of the instructions. -Preparing a release Rom ------------------------ +### Preparing a release Rom **Please follow this prior to flashing, or you may brick your machine.** @@ -41,8 +47,7 @@ use this guide to change the built-in MAC address for your Intel Gigabit Ethernet device; doing so is advisable, because otherwise you will have a default, generic MAC address. -Splitting The Rom ------------------ +### Splitting The Rom You can use `dd` to easily split your rom into the two separate portions for external flashing. @@ -54,9 +59,7 @@ Flash the top chip with top.rom, and tho bottom chip with bottom.rom. Don't worry about knowing which chip is which on a standard setup; flashprog will let you know if the image size is incorrect for the chip you're flashing. - -Disassembly ------------ +### Disassembly Start by removing the back cover screws and the main battery.\ @@ -82,16 +85,17 @@ You should now be able to see the two flash chips near the RAM.\ You can now proceed to [flashing](/docs/install/spi.html) this machine. -`thinkpad_acpi` issues {#thinkpad-acpi} ---------------------------------------- +Errata +------ + +### thinkpad\_acpi issues {#thinkpad-acpi} It has been reported by that `thinkpad_acpi` does not load correctly on the T440p. If you encounter this, check [this page](../../faq.md#thinkpad-acpi) for details as to how to fix this. -Errata -====== +### target names NOTE: As of Libreboot releases from May 2024 onward, the Intel MRC is no longer included for Haswell; MRC is a blob for raminit, but we now provide libre diff --git a/site/docs/install/t480.md b/site/docs/install/t480.md index c8ba150..ecc4351 100644 --- a/site/docs/install/t480.md +++ b/site/docs/install/t480.md @@ -1,5 +1,5 @@ --- -title: Lenovo ThinkPad T480/T480s information +title: Install Libreboot on Lenovo ThinkPad T480 and/or T480s x-toc-enable: true ... @@ -13,7 +13,7 @@ there, before flashing. For posterity,
    -ThinkPad T480 +Lenovo ThinkPad T480 with Libreboot pre-installed
    | ***Specifications*** | | @@ -58,6 +58,22 @@ P*: Partially works with vendor firmware | **SeaBIOS with GRUB** | Works |
    +Open source BIOS/UEFI firmware +------------------------------ + +This document will teach you how to install Libreboot, on your +Lenovo ThinkPad T480 and/or T480s laptop motherboard. Libreboot replaces +proprietary BIOS/UEFI firmware. + +Buy pre-installed +----------------- + +**ThinkPad T480/T480S is available to purchase with Libreboot pre-installed. See: +** + +ThinkPad T480/T480s information +------------------------- + Regarding memory: T480s (S model) has 8GB onboard RAM, and an available DIMM slot on which an additional 32GB SODIMM can be installed. The regular T480 has two DIMM slots, allowing 2x32GB DDR4 SODIMMs. @@ -67,18 +83,6 @@ ports; he is also the author of the deguard utility, which is used to disable the Intel Boot Guard on these machines; disabling the Boot Guard was necessary in order to get coreboot working! -Buy pre-installed -================= - -**ThinkPad T480/T480S is available to purchase with Libreboot pre-installed. See: -** - -Introduction -============ - -**Unavailable in Libreboot 20241008 or earlier. You must [compile from -source](../build/), or alternatively an image from Libreboot 20241206 or higher. - Official information about the T480 can be found here:\ @@ -99,8 +103,7 @@ use this guide to change the built-in MAC address for your Intel Gigabit Ethernet device; doing so is advisable, because otherwise you will have a default, generic MAC address. -Absolutely unsigned Intel ME! ------------------------------ +### Absolutely unsigned Intel ME! Libreboot already disables the Intel ME by default, using `me_cleaner`, but the T480/T480s specifically have an additional quirk: @@ -120,8 +123,7 @@ recent Intel systems in Libreboot, so it's certainly a very interesting port! Libreboot uses both `me_cleaner` *and* `deguard` on the T480/T480s. -What works in this port: ------------------------ +### What works in this port: Intel graphics, internal screen, ethernet, USB, WLAN, HDA verbs (e.g. headphone jack), S3 suspend/resume, M2 NVMe SSDs and SATA, B+M key NVMe SSDs in WWAN slot, @@ -133,7 +135,7 @@ There *are* a few minor exceptions as to what works; this will be covered in other sections of this page. This port is *almost* perfect, but with some caveats. Build images from source -======================== +------------------------ Please refer to the standard [build instructions](../build/) first. @@ -147,10 +149,12 @@ differences in their wiring, so you MUST flash the correct image. Please choose one of the above build targets accordingly.** Installation -============ +------------ -**Insert binary files (DO THIS FIRST)** -------------------- +**Please read carefully**, because *many* prerequisite steps are required +prior to Libreboot installation. + +### Insert binary files (DO THIS FIRST) **If you're using a release ROM**, please ensure that you've inserted extra firmware required. Refer to the [guide](../install/ivy_has_common.md) for that. **(failure @@ -173,8 +177,7 @@ If you're [building from source](../build/) via Libreboot's build system, these files are inserted during build. You only need to manually insert them, using the above linked guide, on the pre-compiled release images! -Set MAC address ---------------- +### Set MAC address This platform uses an Intel Flash Descriptor, and defines an Intel GbE NVM region. As such, release/build ROMs will contain the same MAC address. To @@ -184,8 +187,7 @@ change the MAC address, please read [nvmutil documentation](../install/nvmutil.m argument when using it: `--platform sklkbl`** - otherwise, ifdtool will handle the IFD incorrectly! -Thunderbolt issue (READ THIS BEFORE FLASHING) ------------------- +### Thunderbolt issue (READ THIS BEFORE FLASHING) The thunderbolt firmware on launch units had a bug where certain debug info is written on certain events, such as plugging in a charger to the USB-C @@ -203,6 +205,8 @@ centre of the board, and the ThunderBolt flash near the edge of the board, as it is on the T480, but the T480/T480s use slightly different wiring and they have a slightly different board layout. +#### What is the problem? + If that flash gets full, thunderbolt PCI-E stops working and fast charging stops working, but slow charging still works. The issue can be prevented by updating the firmware. See: @@ -215,6 +219,8 @@ with Lenovo's software-based flasher, if the issue is already present, so you *must* flash externally in that case; you can also flash externally, even if the issue is not yet present. +#### External flashing recommended + The benefit of flashing it *externally* is that you would then no longer need to boot Windows, because there is currently no way of doing it from Linux, and Lenovo does not provide a *boot image* like they do for UEFI updates. So, to @@ -226,6 +232,8 @@ Use the [25XX NOR flashing guide](spi.md) if you need to flash this chip. It's the same guide that you will use for the main system flash, which is a separate flash IC. +#### Download ThunderBolt firmware + The firmware can be extracted from Lenovo's updater, specifically the `.exe` file. For your convenience, lbmk (Libreboot's build system) can download this for you. Run the following commands in lbmk: @@ -248,6 +256,8 @@ size (within the `.exe` file) was 256KB. These files are *also* generated, if you used the `./mk inject` command, on a pre-compiled release image, as documented [here](ivy_has_common.md). +#### Flash the ThunderBolt firmware + **WARNING: DO NOT FLASH IT FIRST; YOU MUST PERFORM SOME PRE-REQUISITE STEPS FIRST, BEFORE FLASHING `tb.bin`**: @@ -303,6 +313,11 @@ make sure to flash the correct one for your board: * T480: `vendorfiles/t480/tb.bin` * T480s: `vendorfiles/t480s/tb.bin` +#### Manual TBT.bin extraction (optional) + +If you already used the `./mk -d` commands above, to grab `tb.bin`, then you +can skip this section. + Libreboot's automated build system has a lot more dependencies. If you want to avoid installing them, and extract the file manually, you can. Simply download the `.exe` file and do this: @@ -325,6 +340,8 @@ the `null.bin` file). Libreboot's build system makes this size configurable per board, on the theory that we may encounter other flash sizes in the future, when we add more ThinkPads of this generation to Libreboot. +#### Continue flashing ThunderBolt firmware + Ok, so you have the file. Now you can flash it. Example: @@ -341,7 +358,7 @@ You can repeat the above steps to restore the old firmware version. This is why you were instructed to make a backup, on the off-chance that you may wish to do so for some reason in the future. -Troubleshooting: +#### ThunderBolt troubleshooting If you accidentally flashed an incorrect firmware image, or you didn't properly erase and boot first before flashing the new image, you can simply repeat the @@ -357,8 +374,7 @@ release after Libreboot 20241206, and many of those have this same issue; when it does, Libreboot will document this fix for those machines too, and probably move these instructions to a dedicated page on the website. -Flash a ROM image (software) ------------------------ +### Flash a Libreboot ROM image (software) If you're already running Libreboot, and you don't have flash protection turned on, [internal flashing](../install/) is possible. @@ -367,8 +383,9 @@ The default Libreboot setup removes all flash restrictions, allowing you to flash internally, from a Linux or BSD systems running on the T480/T480. You must also [disable /dev/mem protections](devmem.md) for internal flashing to work. -Flash a ROM image (hardware) ------------------ +### Flash a ROM Libreboot image (hardware) + +#### Prepare your external programmer **First, please assimilate all knowledge in the [25XX NOR flashing guide](spi.md) - it shows how to program these flash @@ -378,6 +395,12 @@ physically connect to the flash chip.** Again: this is only necessary if you have Lenovo BIOS, or if you enabled [flash write protections](../linux/grub_hardening.md) on an existing Libreboot setup. +#### Update Lenovo firmware first + +*Before* installing Libreboot for the first time, it is important that you +first update the Lenovo UEFI firmware and EC firmware to a *specific* version, +mentioned below. + **MAKE SURE to update the Lenovo UEFI firmware before installing Libreboot. You must also make a dump of the NOR flash, before updating Lenovo's firmware, and once again before flashing Libreboot, being sure you have good dumps.** @@ -414,6 +437,8 @@ BIOS/UEFI updater. Once you've updated, you can flash Libreboot. Please ensure also that you've already dealt with the Thunderbolt issue, which is described above. After all of this, you can flash Libreboot. +#### Disassemble the T480 + Find videos online of how to disassemble this, and/or find Lenovo's own service manual online. Otherwise, observe: @@ -453,13 +478,12 @@ both machines, the system flash (for Libreboot) is toward the centre, near the memory. Post-installation -================= +----------------- These next sections will tell you how to use certain hardware features, which work a little bit differently due to idiosyncrasies of coreboot. -How to use the headphone jack --------------- +### How to use the headphone jack Sometimes the headphone jack might not work automatically. Simply install the `pavucontrol` program. Under Output Devices, you can select the headphones @@ -468,21 +492,18 @@ you've inserted manually. If it says "Unplugged", try it anyway. The HDA Verb may be incorrect. This will be investigated and a hotfix patch made to the Libreboot 20241206 images. -How to use HDMI audio ------------------- +### How to use HDMI audio You can get audio from Displayport/HDMI, but you must select it manually. For example, you can select it in `pavucontrol` if you're using PulseAudio or PipeWire. -Touchscreen on T480 -------------------- +### Touchscreen on T480 The touchscreen was tested, and confirmed working. Not all models have it, but it does indeed work perfectly on ones that do. -How to use backlight controls ------------------------------ +### How to use backlight controls Backlight controls work, via software control (e.g. `xbacklight` utility), but the Fn keys for it don't currently work, as of 6 December 2024. @@ -490,8 +511,10 @@ the Fn keys for it don't currently work, as of 6 December 2024. You can set the backlight manually, or use a hotkey, depending on your window manager or desktop environment. -UART (T480 only. Not T480S) ----- +### UART (T480 only. Not T480S) + +**You need to have first flashed the correct EC firmware version, as detailed +above.** **NOT supported on the S model (T480s). Please only do it on a T480.** @@ -517,8 +540,7 @@ soldering skills because it's easy to goof this up if you're not careful. You can hook this up to any 3.3v TTL UART dongle, to get a serial console. The correct baud rate is 115200. -Idea for 2nd NVMe mod ----------------------- +### Idea for 2nd NVMe mod Interestingly, on boards without the Nvidia graphics, the solder pads for all the componentry (including the GPU) is still present, so you could theoretically @@ -535,13 +557,12 @@ NVMe caddy in the remaining space would be how to go about it there. On the regular T480, the existing caddy area could easily fit two NVMe drives. Errata -====== +------ Some features either don't work, or are untested, when running Libreboot on the ThinkPad T480 or T480s. -Power-on after power failure ----------------------------- +### Power-on after power failure Older Libreboot revisions made this machine always turn on, when plugging in a power supply (charger brick), if a previous power loss was observed. This is @@ -562,19 +583,16 @@ by reading the `tree` variable in your board's `target.cfg` file within lbmk). Use the patch as reference, to modify the coreboot behaviour as you wish, and re-compile [from source](../build/). -TPM disabled ------------- +### TPM disabled The TPM is disabled on this device, to prevent hanging/boot delay in SeaBIOS, due to buggy TPM drivers there. -Legacy 8254 timer ------------------ +### Legacy 8254 timer Legacy 8254 timer enabled in coreboot, to prevent SeaBIOS from hanging. -HyperThreading on T480/T480s ----------------------- +### HyperThreading on T480/T480s Also called SMT. This is a feature where you get 2 threads on a single core. It can improve performance in some workloads, but is actually a performance @@ -600,22 +618,19 @@ For example, if you're compiling a large codebase from source that takes hours, SMT increases the building speed by about 15 percent; for example, a 3 hour build job might take about 2 hours and 40 minutes instead. -NFC support in T480 -------------------- +### NFC support in T480 Some T480 models might have NFC support but this is untested in Libreboot, and probably dosen't work in current Libreboot releases. The PCH's NFC device is unsupported in Linux anyway. -Smartcard reader ----------------- +### Smartcard reader The smartcard reader is enabled but it is still untested. If you have one, please test it and report back to the Libreboot project. -Thunderbolt not supported yet ------------------------------ +### Thunderbolt not supported yet Thunderbolt is a way to get PCI-E on a USB port. With it, you can use high-bandwidth devices such as 10Gbps network interfaces. @@ -698,16 +713,16 @@ from S3 (resume from sleep). If you do test this, please report whether the Thunderbolt devices actually work, but remember that you must NOT suspend or put your machine to sleep.** -Nvidia dGPU not supported -------------------------- +### Nvidia dGPU not supported Nvidia dGPU doesn't work and is disabled as of 6 December 2024; the Intel graphics are still available even on Nvidia models, so Intel graphics are used. +### WWAN cards + B+M key NVMe SSDs in WWAN slot works, other cards are untested. -`thinkpad_acpi` issues {#thinkpad-acpi} ---------------------------------------- +### thinkpad\_acpi issues {#thinkpad-acpi} It has been reported that `thinkpad_acpi` does not load correctly on the T480. This should also be the case for the T480s. diff --git a/site/docs/install/t500.md b/site/docs/install/t500.md index 5226153..7beaa1a 100644 --- a/site/docs/install/t500.md +++ b/site/docs/install/t500.md @@ -1,5 +1,5 @@ --- -title: ThinkPad T500 external flashing +title: Install Libreboot on Lenovo ThinkPad T500 and/or W500 x-toc-enable: true ... @@ -51,16 +51,12 @@ P*: Partially works with vendor firmware | **SeaBIOS with GRUB** | Works | -Dell Latitude E6400 -=================== +Open source BIOS/UEFI firmware +------------------------- -**If you haven't bought an T500 yet: the [Dell Latitude -E6400](../install/latitude.md) is much easier to flash; no disassembly required, -it can be flashed entirely in software from Dell BIOS to Libreboot. It is the -same hardware generation (GM45), with same CPUs, video processor, etc.** - -Introduction -============ +This document will teach you how to install Libreboot, on your +Lenovo ThinkPad T500 or ThinkPad W500 laptop motherboard. Libreboot replaces +proprietary BIOS/UEFI firmware. It is believed that all or most T500 laptops are compatible. See notes about [CPU @@ -86,8 +82,16 @@ now, as of 27 January 2024, which is a fork of flashrom. The reason why was explained, in the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** +Dell Latitude E6400 +------------------- + +**If you haven't bought an T500 yet: the [Dell Latitude +E6400](../install/latitude.md) is much easier to flash; no disassembly required, +it can be flashed entirely in software from Dell BIOS to Libreboot. It is the +same hardware generation (GM45), with same CPUs, video processor, etc.** + EC update {#ecupdate} -========= +------------------- It is recommended that you update to the latest EC firmware version. The [EC firmware](../../faq.md#ec-embedded-controller-firmware) is separate from @@ -109,7 +113,7 @@ The T500 is almost identical to the X200, code-wise. See [x200.md](x200.md). Installation notes -================== +------------------ [External flashing](spi.md) required, if Lenovo BIOS is running. @@ -119,15 +123,14 @@ followed (adapted) if you brick your T500, to know how to recover. W500 is also mostly compatible with this guide. -Serial port {#serial_port} ------------ +### Serial port {#serial_port} EHCI debug might not be needed. It has been reported that the docking station for this laptop has a serial port, so it might be possible to use that instead. A note about CPUs -================= +----------------- [ThinkWiki](http://www.thinkwiki.org/wiki/Category:T500) has a list of CPUs for this system. The Core 2 Duo P8400, P8600 and P8700 are believed @@ -137,8 +140,8 @@ confirmed working. T9550 and T9900 was tested by a user, and is compatible as reported in the IRC channel. T9500 and T9400 may also work, but YMMV. -Quad-core CPUs --------------- +### Quad-core CPUs + Very likely to be compatible, but requires hardware modification. Based on info from German forum post about installing Core Quad CPU on T500 found in coreboot mailing list. Currently work in progress and no guide available. @@ -154,7 +157,7 @@ everything nicely: A note about GPUs -================= +----------------- Some models have an Intel GPU, while others have both an ATI and an Intel GPU; this is referred to as "switchable graphics". In the *BIOS @@ -167,29 +170,28 @@ Intel GPU is used and the ATI GPU is disabled, so native graphics initialization works all the same. CPU paste required -================== +------------------ See [\#paste](#paste). Flash chip size {#flashchips} -=============== +----------------------------- Use this to find out: flashprog -p internal MAC address {#macaddress} -=========== +------------------------ Refer to [mac\_address.md](mac_address.md). Clip wiring -=========== +----------- Refer to [spi.md](spi.md) as a guide for external re-flashing. -The procedure -------------- +### The procedure Remove all screws:\ ![](https://av.libreboot.org/t500/0000.jpg)\ @@ -292,7 +294,7 @@ Connect your programmer, then connect GND and 3.3V\ Now flash Libreboot. Thermal paste (IMPORTANT) -========================= +------------------------- Because part of this procedure involved removing the heatsink, you will need to apply new paste. Arctic MX-4 is ok. You will also need isopropyl @@ -309,7 +311,7 @@ show how to properly apply the thermal paste. Other guides online detail the proper application procedure. Wifi -==== +---- It is recommended that you install a new wifi chipset. This can only be done after installing libreboot, because the original firmware has a @@ -321,7 +323,7 @@ the Intel chip that this T500 came with:\ ![](https://av.libreboot.org/t400/0012.jpg) ![](https://av.libreboot.org/t400/ar5b95.jpg) WWAN -==== +---- If you have a WWAN/3G card and/or sim card reader, remove them permanently. The WWAN-3G card has DMA, and proprietary firmware inside; @@ -331,7 +333,7 @@ also track your movements. Not to be confused with wifi (wifi is fine). Memory -====== +------ In DDR3 machines with Cantiga (GM45/GS45/PM45), northbridge requires sticks that will work as PC3-8500 (faster PC3/PC3L sticks can work as PC3-8500). diff --git a/site/docs/install/t60_unbrick.md b/site/docs/install/t60_unbrick.md index e12010e..14f8027 100644 --- a/site/docs/install/t60_unbrick.md +++ b/site/docs/install/t60_unbrick.md @@ -3,6 +3,14 @@ title: ThinkPad T60 Recovery guide x-toc-enable: true ... +Open source BIOS/UEFI firmware +------------------------------ + +This document will teach you how to install Libreboot, on your +Lenovo Thinkpad T60 motherboard. Libreboot replaces proprietary +BIOS/UEFI firmware. *This* version of the guide shows you how to +flash using external hardware, which can be useful for un-bricking. + **NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) now, as of 27 January 2024, which is a fork of flashrom. The reason why was explained, in diff --git a/site/docs/install/w541_external.md b/site/docs/install/w541_external.md index 097136f..e439ba1 100644 --- a/site/docs/install/w541_external.md +++ b/site/docs/install/w541_external.md @@ -1,24 +1,26 @@ --- -title: ThinkPad W541/W540 external flashing +title: Install Libreboot on Lenovo ThinkPad W541 and/or W540 x-toc-enable: true ... -NOTE: The same image for W541 also works on the W540, as the motherboard is -identical. +Open source BIOS/UEFI firmware +------------------------- + +This document will teach you how to install Libreboot, on your +Lenovo ThinkPad W541 and/or W540 laptop motherboard. Libreboot replaces +proprietary BIOS/UEFI firmware. + +NOTE: The same image for W541 also works on the W540, as the motherboards are +identical for coreboot purposes. Buy Libreboot preinstalled -========================== +-------------------------- **Minifree now sells the Libreboot T480, instead of the Libreboot W541. See: ** -Introduction -============ - -**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) -now, as of 27 January 2024, which is a fork of flashrom. -The reason why was explained, in -the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** +Safety advice +------------- **[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](ivy_has_common.md), OR YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions @@ -34,6 +36,11 @@ root of that project. To do so, run You can now follow the rest of the instructions. +**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) +now, as of 27 January 2024, which is a fork of flashrom. +The reason why was explained, in +the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** + Preparing a release Rom ----------------------- @@ -99,7 +106,7 @@ used when flashing either of the chips. You can now proceed to [flashing](/docs/install/spi.html) this machine. -`thinkpad_acpi` issues {#thinkpad-acpi} +thinkpad\_acpi issues {#thinkpad-acpi} --------------------------------------- It has been reported by a user that `thinkpad_acpi` does not load correctly on @@ -110,7 +117,7 @@ If you encounter this, check [this page](../../faq.md#thinkpad-acpi) for details as to how to fix this. Errata -====== +------ NOTE: As of Libreboot releases from May 2024 onward, the Intel MRC is no longer included for Haswell; MRC is a blob for raminit, but we now provide libre diff --git a/site/docs/install/x200.md b/site/docs/install/x200.md index 8c65f11..8287ae5 100644 --- a/site/docs/install/x200.md +++ b/site/docs/install/x200.md @@ -1,5 +1,5 @@ --- -title: First-time ThinkPad X200 flashing +title: Install Libreboot on Lenovo ThinkPad X200 / X200s / X200 Tablet x-toc-enable: true ... @@ -18,7 +18,7 @@ x-toc-enable: true | **Graphics** | Intel GMA X4500MHD | | **Display** | 1280x800/1440x900 TFT | | **Memory** | 1,2,3 or 4GB (Upgradable to 8GB, unofficially) | -| **Architecture** | x86_64 | +| **Architecture** | x86\_64 | | **EC** | Proprietary | | **Original boot firmware** | LenovoBIOS | | **Intel ME/AMD PSP** | Present. Can be completly disabled. | @@ -49,16 +49,12 @@ P*: Partially works with vendor firmware | **SeaBIOS with GRUB** | Works | -Dell Latitude E6400 -=================== +Open source BIOS/UEFI firmware +------------------------- -**If you haven't bought an X200 yet: the [Dell Latitude -E6400](../install/latitude.md) is much easier to flash; no disassembly required, -it can be flashed entirely in software from Dell BIOS to Libreboot. It is the -same hardware generation (GM45), with same CPUs, video processor, etc.** - -Introduction -============ +This document will teach you how to install Libreboot, on your +Lenovo ThinkPad X200, X200s or X200 Tablet laptop motherboard. Libreboot +replaces proprietary BIOS/UEFI firmware. It is believed that all X200 laptops are compatible. X200S and X200 Tablet will also work, [depending on the configuration](#x200s). @@ -84,8 +80,16 @@ now, as of 27 January 2024, which is a fork of flashrom. The reason why was explained, in the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** +Dell Latitude E6400 +------------------- + +**If you haven't bought an X200 yet: the [Dell Latitude +E6400](../install/latitude.md) is much easier to flash; no disassembly required, +it can be flashed entirely in software from Dell BIOS to Libreboot. It is the +same hardware generation (GM45), with same CPUs, video processor, etc.** + EC update {#ecupdate} -========= +--------------------- It is recommended that you update to the latest EC firmware version. The [EC firmware](../../faq.md#ec-embedded-controller-firmware) is separate from @@ -106,7 +110,7 @@ Updated EC firmware has several advantages e.g. better battery handling. Battery Recall {#batteryrecall} -============== +------------------------------ [On 21 April 2015, Lenovo expanded a recall on Lenovo batteries found in some ThinkPad models, which includes the X200 and X200S.](https://pcsupport.lenovo.com/cr/en/solutions/hf004122) To find out if you are affected, use [this Lenovo tool.](https://lenovobattery2014.orderz.com/) @@ -165,14 +169,13 @@ Sources: Mod](http://forum.thinkpads.com/viewtopic.php?p=660662#p660662) - [ThinkWiki.de - X200 Displayumbau](http://thinkwiki.de/X200_Displayumbau) -### X200S +#### X200S explains that the X200S screens/assemblies are thinner. You need to replace the whole lid with one from a normal X200/X201. -How to tell if it has an LED or CCFL? {#led_howtotell} -------------------------------------- +### How to tell if it has an LED or CCFL? {#led_howtotell} Some X200s have a CCFL backlight and some have an LED backlight, in their LCD panel. This also means that the inverters will vary, so you must be careful if @@ -186,7 +189,7 @@ a lamp which contains mercury; dispose according to local, state or federal laws"* (one with an LED backlit panel will say something different). Installation notes -================== +------------------ [External flashing](spi.md) required, if running Lenovo BIOS. @@ -202,20 +205,17 @@ re-flash the chip externally while it is powered off with the battery removed. NOTE: This guide only applies to the regular X200. For X200S and X200 Tablet flashing, please read other guides available on libreboot.org. -Flash chip size -=============== +### Flash chip size Run this command on x200 to find out flash chip model and its size: flashprog -p internal -MAC address -=========== +### MAC address Refer to [mac\_address.md](mac_address.md). -The procedure -------------- +### The procedure This section is for the X200. This does not apply to the X200S or X200 Tablet (for those systems, you have to remove the motherboard @@ -250,7 +250,7 @@ When you're done, put the system back together. If it doesn't boot, try other RAM modules because raminit is very unreliable on this platform (in coreboot). Memory -====== +------ In DDR3 machines with Cantiga (GM45/GS45/PM45), northbridge requires sticks that will work as PC3-8500 (faster PC3/PC3L sticks can work as PC3-8500). @@ -276,8 +276,10 @@ You should see something like this: Now [install Linux](../linux/). -X200S and X200 Tablet users: GPIO33 trick will not work. --------------------------------------------------------- +Errata +------ + +### X200S and X200 Tablet users: GPIO33 trick will not work. sgsit found out about a pin called GPIO33, which can be grounded to disable the flashing protections by the descriptor and stop the ME from diff --git a/site/docs/install/x200.uk.md b/site/docs/install/x200.uk.md index b1ce8af..7064ab2 100644 --- a/site/docs/install/x200.uk.md +++ b/site/docs/install/x200.uk.md @@ -18,7 +18,7 @@ x-toc-enable: true | **Графіка** | Intel GMA X4500MHD | | **Дісплей** | 1280x800/1440x900 TFT | | **Пам'ять** | 1,2,3 or 4GB (оновлюється до 8GB, неофіційно) | -| **Архітектура** | x86_64 | +| **Архітектура** | x86\_64 | | **EC** | Пропрієтарний | | **Оригінальна прошивка** | LenovoBIOS | | **Intel ME/AMD PSP** | Наявний. Можна повністю вимкнути. | @@ -50,7 +50,7 @@ P*: Частково працює з бінарними компонентами Вступ -============ +----- Вважається що всі ноутбуки X200 сумісні. X200S та X200 Tablet також працюватимуть, [залежно від конфігурації](#x200s). @@ -77,7 +77,7 @@ The reason why was explained, in the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** Оновлення EC {#ecupdate} -========= +------------------------ Рекомендується оновити мікропрограму EC до останньої версії. [Прошивка EC](../../faq.md#ec-embedded-controller-firmware) є окремою від @@ -98,7 +98,7 @@ Lenovo BIOS, ви можете просто запустити утиліту о з акумулятором. Відкликання батареї {#batteryrecall} -============== +------------------------------------ [21 квітня 2015 року, Lenovo розширила відкликання акумуляторів Lenovo, які були встановлені в деяких моделях Thinkpad, зокрема X200 та X200S.](https://pcsupport.lenovo.com/cr/en/solutions/hf004122) Щоб дізнатися, чи вас це стосується, використовуйте [цей інструмент Lenovo.](https://lenovobattery2014.orderz.com/) @@ -107,8 +107,7 @@ Lenovo радить власникам відкликаних моделей "в Після перевірки батареї, Lenovo безкоштовно замінить відкликані батареї. Інструкції щодо заміни батареї для X200/X200s [можна знайти на цій сторінці.](https://pcsupport.lenovo.com/cr/en/parts/pd003507/) -Список сумісності LCD {#lcd_supported_list} ----------------------- +### Список сумісності LCD {#lcd_supported_list} Список РК-панелей (там перераховані панелі X200): @@ -157,14 +156,13 @@ Lenovo радить власникам відкликаних моделей "в Mod](http://forum.thinkpads.com/viewtopic.php?p=660662#p660662) - [ThinkWiki.de - X200 Displayumbau](http://thinkwiki.de/X200_Displayumbau) -### X200S +#### X200S пояснює, що екрани/блоки X200S тонші. Вам потрібно замінити всю кришку на одну від звичайного X200/X201. -Як визначити, чи у нього LED, чи CCFL? {#led_howtotell} -------------------------------------- +### Як визначити, чи у нього LED, чи CCFL? {#led_howtotell} Деякі X200 мають підсвічування CCFL, а деякі - світлодіодне підсвічування на РК-панелі. Це також означає, що інвертори відрізнятимуться, тому ви повинні бути обережними, @@ -178,7 +176,7 @@ CCFL містять меркурій. На X200 з CCFL підсвіткою (я законів"* (на тому, що має світлодіодне підсвічування, буде написано щось інше). Installation notes -================== +------------------ [External flashing](spi.md) required, if running Lenovo BIOS. @@ -195,19 +193,18 @@ Installation notes будь-ласка прочитайте інші посібники, доступні на libreboot.org. Розмір флеш-чіпа -=============== +---------------- Виконайте цю команду на x200, щоб дізнатися модель флеш-чіпа та його розмір: flashprog -p internal MAC адреса -=========== +---------- Зверніться до [mac\_address.md](mac_address.md). -Процедура -------------- +### Процедура Цей розділ стосується X200. Цей не стосується X200S або X200 Tablet (для цих систем потрібно повністю видалити материнську плату, @@ -242,7 +239,7 @@ Tablet (для цих систем потрібно повністю видал модулі оперативної пам'яті, тому що raminit дуже ненадійний на цій платформі (в coreboot). Пам'ять -====== +------- У машинах DDR3 з Cantiga (GM45/GS45/PM45), північний міст потребує стіків, які працюватимуть як PC3-8500 (швидші стіки PC3/PC3L можуть працювати як PC3-8500). @@ -259,8 +256,7 @@ Tablet (для цих систем потрібно повністю видал ![](https://av.libreboot.org/x200/disassembly/0018.jpg) -Завантажуйтесь! --------- +### Завантажуйтесь! Ви маєте побачити щось подібне цьому: @@ -268,8 +264,7 @@ Tablet (для цих систем потрібно повністю видал Тепер [встановлюйте Linux](../linux/). -Користувачі X200S та X200 Tablet: трюк GPIO33 не спрацює. --------------------------------------------------------- +### Користувачі X200S та X200 Tablet: трюк GPIO33 не спрацює. sgsit дізнався про контакт під назвою GPIO33, який можна заземлити, щоб вимкнути захист прошивки за допомогою дескриптора та зупинити ME від diff --git a/site/docs/install/x230_external.md b/site/docs/install/x230_external.md index 80bd2c4..1b89e18 100644 --- a/site/docs/install/x230_external.md +++ b/site/docs/install/x230_external.md @@ -3,6 +3,13 @@ title: ThinkPad X230/X230T external flashing x-toc-enable: true ... +Open source BIOS/UEFI firmware +------------------------------ + +This document will teach you how to install Libreboot, on your +Lenovo ThinkPad X230 laptop motherboard. Libreboot replaces proprietary +BIOS/UEFI firmware. + **Minifree now sells the Libreboot T480, instead of the Libreboot X230. See: ** diff --git a/site/docs/install/x60_unbrick.md b/site/docs/install/x60_unbrick.md index 74107d0..3ec2b92 100644 --- a/site/docs/install/x60_unbrick.md +++ b/site/docs/install/x60_unbrick.md @@ -1,8 +1,15 @@ --- -title: ThinkPad X60 Recovery guide +title: Install Libreboot on Lenovo ThinkPad X60 x-toc-enable: true ... +Open source BIOS/UEFI firmware +------------------------------ + +This document will teach you how to install Libreboot, on your +Lenovo ThinkPad X60 laptop motherboard. Libreboot replaces proprietary +BIOS/UEFI firmware. + **NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) now, as of 27 January 2024, which is a fork of flashrom. The reason why was explained, in diff --git a/site/docs/install/x60tablet_unbrick.md b/site/docs/install/x60tablet_unbrick.md index f3ab37c..13a29ca 100644 --- a/site/docs/install/x60tablet_unbrick.md +++ b/site/docs/install/x60tablet_unbrick.md @@ -1,8 +1,15 @@ --- -title: ThinkPad X60 Tablet Recovery guide +title: Install Libreboot on Lenovo ThinkPad X60 Tablet x-toc-enable: true ... +Open source BIOS/UEFI firmware +------------------------------ + +This document will teach you how to install Libreboot, on your +Lenovo Thinkpad X60 Tablet laptop motherboard. Libreboot replaces proprietary +BIOS/UEFI firmware. + **NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) now, as of 27 January 2024, which is a fork of flashrom. The reason why was explained, in diff --git a/site/docs/linux/grub_boot_installer.md b/site/docs/linux/grub_boot_installer.md index 4876ad1..d7a48a3 100644 --- a/site/docs/linux/grub_boot_installer.md +++ b/site/docs/linux/grub_boot_installer.md @@ -1,9 +1,10 @@ --- -title: Installing Linux +title: Boot Linux distro installers on Libreboot x-toc-enable: true ... -# Introduction +GRUB payload assumed +-------------------- This guide assumes that you are using the GRUB bootloader directly. If you're using SeaBIOS, it's quite intuitive and works similarly to other BIOS @@ -17,7 +18,9 @@ Linux distributions, by default). These instructions are intended to be generic, applicable to just about any Linux distribution. -## Prepare the USB Drive in Linux +Prepare the USB Drive in Linux +------------------------------ + If you downloaded your ISO while on an existing Linux system, here is how to create the bootable Linux USB drive: @@ -40,19 +43,25 @@ folder, this is the command we would run: That's it! You should now be able to boot the installer from your USB drive (the instructions for doing so will be given later). -## Prepare the USB drive in NetBSD +Prepare the USB drive in NetBSD +------------------------------- + [This page](https://wiki.netbsd.org/tutorials/how_to_install_netbsd_from_an_usb_memory_stick/) on the NetBSD website shows how to create a NetBSD bootable USB drive, from within NetBSD itself. You should the `dd` method documented there. This will work with any Linux ISO image. -## Prepare the USB drive in FreeBSD +Prepare the USB drive in FreeBSD +-------------------------------- + [This page](https://www.freebsd.org/doc/handbook/bsdinstall-pre.html) on the FreeBSD website shows how to create a bootable USB drive for installing FreeBSD. Use the `dd` method documented. This will work with any Linux ISO image. -## Prepare the USB drive in LibertyBSD or OpenBSD +Prepare the USB drive in OpenBSD +-------------------------------- + If you downloaded your ISO on a LibertyBSD or OpenBSD system, here is how to create the bootable Linux USB drive: @@ -78,14 +87,17 @@ the OpenBSD installer to it with `dd`. Here's an example: That's it! You should now be able to boot the installer from your USB drive (the instructions for doing so will be given later). -## GRUB2 config on external media +GRUB2 config on external media +------------------------------- Pick the menu option: *Search for GRUB2 configuration on external media* If the distro installer image has a `grub.cfg` file inside, this menuentry is scripted to find it. This works well for many distros. -## Debian or Devuan net install +Debian or Devuan net installation +--------------------------------- + Download the Debian or Devuan net installer. You can download the Debian ISO from [the Debian homepage](https://www.debian.org/), or the Devuan ISO from [the Devuan homepage](https://www.devuan.org/). @@ -97,12 +109,16 @@ You can select the option, in the Libreboot GRUB menu, to load GRUB config from external media, and that should work just fine. Alternatively, pick one of the ISOLINUX-related menu options. -## Booting ISOLINUX Images (Automatic Method) +Booting ISOLINUX Images (Automatic Method) +------------------------------------------ + Boot it in GRUB using the `Parse ISOLINUX config (USB)` option. A new menu should appear in GRUB, showing the boot options for that distro; this is a GRUB menu, converted from the usual ISOLINUX menu provided by that distro. -## Booting ISOLINUX Images (Manual Method) +Booting ISOLINUX Images (Manual Method) +--------------------------------------- + These are generic instructions. They may or may not be correct for your distribution. You must adapt them appropriately, for whatever Linux distribution it is that you are trying to install. @@ -152,7 +168,11 @@ to see a list of USB devices/partitions. Of course, this will vary from distro to distro. If you did all of that correctly, then it should now be booting your USB drive in the way that you specified. -## Troubleshooting +Troubleshooting +--------------- + +### Display modes + Most of these issues occur when using libreboot with coreboot's `text-mode` with libgfxinit for video initialization. This mode is useful for text mode payloads, like `MemTest86+`, which expect `text-mode`, but for Linux @@ -162,6 +182,7 @@ do Kernel Mode Setting, so they are able to initialize a frame buffer in bare metal regardless of whatever coreboot is doing). ### debian-installer Graphical Corruption in Text-Mode (Debian and Devuan) + When using the ROM images that use Coreboot's `text mode`, instead of the coreboot framebuffer, while using libgfxinit, booting the Debian or Devuan net installer results in graphical corruption, because it is trying to switch to a diff --git a/site/docs/linux/grub_cbfs.md b/site/docs/linux/grub_cbfs.md index 3f7a1fc..8406397 100644 --- a/site/docs/linux/grub_cbfs.md +++ b/site/docs/linux/grub_cbfs.md @@ -3,12 +3,21 @@ title: Modifying grub.cfg in CBFS x-toc-enable: true ... +Configure boot order and so on +------------------------------ + Read [Libreboot flashing guides](../install/) before continuing, and make sure to back up the current flash contents before you consider following this guide. Before you follow this guide, it is advisable that you have the ability to [flash externally](../install/spi.md), just in case something goes wrong. +Libreboot's *GRUB* payload is much more flexible than most other types of boot +payload, but can sometimes require hands-on configuration depending on what you +want to do. + +### Why modify the configuration? + Libreboot's own GRUB configuration automatically scans for one provided by your distro, and this automation will usually work. Sometimes, you might wish to override it with your own custom menuentry or additional logic in the GRUB @@ -17,10 +26,11 @@ to actually *put in the config* will not be covered here. This guide will simply teach you how to modify the config, but not what to put, whereas the [GRUB hardening](../linux/grub_hardening.md) guide specifically -says what to modify; cross reference that page and this page. +says what to modify; cross reference that page and this page, if you want to +follow the GRUB hardening guide. Otherwise, this page contains generic guidance. **Disable security before continuing** -================================ +-------------------------------------- **Before internal flashing, you must first disable `/dev/mem` protections. Make sure to re-enable them after you're finished.** @@ -32,12 +42,11 @@ flashing, from an existing installation. If you're externally flashing the machine, you can ignore this advice. Build dependencies -================== +------------------ **Please first [install build dependencies](../build/).** -Coreboot utilities ------------------- +### Coreboot utilities You need `cbfstool` from coreboot. For whatever board you have, check which coreboot tree it uses in Libreboot's build system, lbmk. For example, let's @@ -59,8 +68,7 @@ This will result in the following binary: `elf/cbfstool/default/cbfstool` We won't assume the path to cbfstool, in the remainder of this guide, so adapt accordingly. -GRUB utilities --------------- +### GRUB utilities Again, let's assume the coreboot board is `x200_8mb`. Check the file `config/coreboot/x200_8mb/target.cfg` for `grubtree` - if it's not set, @@ -72,8 +80,7 @@ This will compile GRUB for the given tree. If you need to use any of the GRUB utilities, this command will build them and in this example, they will be available under `src/grub/default/`. -Flashprog ---------- +### Flashprog Compile flashprog like so: @@ -82,7 +89,7 @@ Compile flashprog like so: A binary will appear at `elf/flashprog/flashprog`. Default GRUB config -=================== +------------------- The coreboot image has its own filesystem, CBFS, and within CBFS is the GRUB binary, and within the GRUB binary is another filesystem called memdisk, where @@ -91,10 +98,9 @@ the default GRUB configuration is located. You can override it by inserting your own GRUB config within CBFS. Acquiring a GRUB config -======================= +----------------------- -Dump the boot flash -------------------- +### Dump the boot flash This is only useful if you already inserted a GRUB config in CBFS. Otherwise, you can grab it from Libreboot's build system, lbmk. @@ -105,8 +111,7 @@ look at the [main flashing guide](../install/). Those guides show how to dump the flash contents, which you are advised to do. -Default GRUB config location ----------------------------- +### Default GRUB config location We'll assume that your GRUB tree is `default`, so the file `config/grub/default/config/payload` is your GRUB config; this will be the @@ -116,7 +121,7 @@ Modify *that* file, or the one you extracted if you already inserted a custom one before, and you will re-insert it when you're done. Insert grubtest.cfg -=================== +------------------- Before reading the next section, please note: if you only have the fallback GRUB config in memdisk, and no configs in CBFS, you can test the modified @@ -128,7 +133,7 @@ Libreboot will not automatically load it, but it will be available from the default GRUB menu. This can be useful for test purposes, hence the name. Insert new grub.cfg -=================== +------------------- If you already have a `grub.cfg` in cbfstool, you can extract and modify that one, e.g.: @@ -155,7 +160,7 @@ test config from the default menu, before deciding whether to make it the main config, as `grub.cfg`, overriding the one in GRUB memdisk. Flash the modified ROM image -============================ +---------------------------- Check the [Libreboot flashing guide](../install/) which says how to flash the new image. diff --git a/site/docs/linux/grub_hardening.md b/site/docs/linux/grub_hardening.md index c8d57d5..00875d6 100644 --- a/site/docs/linux/grub_hardening.md +++ b/site/docs/linux/grub_hardening.md @@ -1,18 +1,47 @@ --- -title: Hardening GRUB +title: Hardening GRUB (i.e. Secure libreBoot) x-toc-enable: true ... +What is Secure libreBoot? +------------------------- + +Libreboot provides open source BIOS/UEFI firmware, replacing proprietary +BIOS/UEFI firmware, and that precisely is Libreboot primary mission; Libreboot +is a [Free Software](https://writefreesoftware.org/learn) project, *first*. +Our *next* priority is to provide you with *highly secure* boot firmware, free +from backdoors and with well-audited code. *This* document does just that, by +telling you how to *harden* your Libreboot installation against various physical +access attacks. + +### Not UEFI SecureBoot! + +UEFI SecureBoot was invented by Microsoft for booting Microsoft Windows. We +don't use UEFI SecureBoot in the Libreboot project, because UEFI SecureBoot +is *completely inferior* to Libreboot's security model. We call our own +security model *Secure libreBoot* and we use neither BIOS nor UEFI; we use GRUB! + +*Strong encryption* is the name of the game. You will use the *GRUB payload*. GRUB supports various security mechanisms that are not enabled by default. This page will tell you how to enable them, for the purpose of boot security, both detecting and attempting to prevent certain types of attack. +Please also expect to brick your machine at least once, because many of these +changes are highly invasive and may even require you to *modify source code*. **Make sure you have an [external SPI programmer](../install/spi.md), for recovery purposes, just in case you brick your machine. The modifications -documented here are highly invasive and it would be easy to make mistakes.** +documented here are highly invasive. An external SPI programmer can be used +to restore the previous working state, should a brick occur.** + +Libreboot's design philosophy is that the most non-technical user must be +catered to first, which means that certain security hardening steps are skipped +by default. With the steps documented here, you will be able to thwart many +types of physical attack on your machine. Many of the types of configurations +documented here are *unique*, and available only in Libreboot! (or otherwise +only *practical* in Libreboot) Full disk encryption -==================== +-------------------- [Encrypted /boot with LUKS2 on argon2 key derivation is now possible](../../news/argon2.md) - the work is based on that done by @@ -33,7 +62,7 @@ You are advised to do this *first*, because steps below depend on certain configuration changes to be made on your installed Linux distro. **Dependencies (do this first)** -============================= +-------------------------------- **Please read this: [Modifying GRUB in CBFS](grub_cbfs.md)** @@ -42,15 +71,14 @@ which tells you what modifications to actually perform, whereas the guide linked above tells you how to apply your modifications for flashing.** Flash write protection -====================== +---------------------- Although not strictly related to GRUB, flash protection will prevent anyone except you from overwriting the flash without permission. This is important, because you don't want some malicious software running as root from overwriting your flash, thus removing any of the above protections. -Build-time write protect ---------------------------- +### Build-time write protect Let's assume your board is `x200_8mb`, do: @@ -82,8 +110,7 @@ Anyway, when you're done, save the config and then build it from source in lbmk. See: [build from source](../build/) -IFD-based flash protection --------------------------- +### IFD-based flash protection **NOTE: This CAN cause bricks on a lot of machines. You should use this with care. The FLILL and/or PRx based methods are more reliable - also SMM methods. @@ -103,8 +130,7 @@ version matching the coreboot tree for your mainboard. Note that this only works for Intel-based systems that use an Intel Flash Descriptor, which is actually most Intel systems that Libreboot supports. -Other facts ------------ +### Other facts Strapping `HDA_SDO` or `HDA_DOCK_EN` requires physical access, because you have to short a pin on the HDA chip on the motherboard, or there will be a header @@ -121,8 +147,7 @@ Enable `CONFIG_STRICT_DEVMEM` in your Linux kernel, or set `securelevel` above zero on your BSD setup (but BSD cannot be booted with GRUB very easily so it's a moot point). -FLILL ------ +### FLILL On Intel Flash Descriptor, you can insert up to four (4) commands on a list within, called *FLILL*; not yet documented, but any SPI command listed here @@ -130,14 +155,13 @@ would no longer work during internal flash operations. For example, you could use it to disable certain erase/write commands. You could also use it to disable *reads*. -PRx registers -------------- +### PRx registers Protected Range registers are available on Intel platforms, to disable flash writes. This is not yet documented, and it varies per platform. -GRUB Password -============= +GRUB password +------------- The security of this setup depends on a good GRUB password as GPG signature checking can be disabled through the GRUB console with this command: @@ -175,7 +199,7 @@ GRUB will also ask for a username in addition to the password; the "root" user is specified above, but you can cahnge it to whatever you want. Unset superusers -================ +---------------- Find this line in `grub.cfg`: @@ -190,7 +214,7 @@ because `unset superusers` in fact disables passwordh authentication, so it's very important that you comment out this line. Disable the SeaBIOS menu -==================== +------------------------ **Very important. Make sure you read this carefully.** @@ -218,8 +242,7 @@ Release images with `seagrub` in the name already have this bootorder file, so you only need to disable the menu on these images. If you have the image with `seabios` in the name (instead of `seagrub`), you must do both. -SeaBIOS option ROMs -------------------- +### SeaBIOS option ROMs SeaBIOS will also still execute PCI option ROMs. Depending on your preference, you may wish to disable this, but please note that this will break certain @@ -229,8 +252,7 @@ things like graphics cards. More information is available here: If you're using a graphics card, you *need* VGA option ROMs at least. -GRUBSEA -------- +### GRUBSEA Another option is to make it so that GRUB is the primary payload on your board. In this setup, SeaBIOS and U-Boot are still available. @@ -250,7 +272,7 @@ and disable the SeaBIOS menu, making SeaBIOS load only GRUB; SeaGRUB is useful because GRUB will piggyback off of the VGA setup done by SeaBIOS first. GPG keys -======== +-------- First, generate a GPG keypair to use for signing. Option RSA (sign only) is ok. @@ -292,7 +314,7 @@ into CBFS, using instructions already provided on the GRUB CBFS guide linked above, earlier on in this guide. Enforce GPG check in GRUB -========================= +------------------------- The following must be present in `grub.cfg`, but please note that the background image used by GRUB is in the memdisk by default, not CBFS, so you @@ -311,7 +333,7 @@ the GRUB CBFS guide that was also linked above, earlier on in the article you're currently reading. Install the new image -===================== +--------------------- Now simply flash the new image, using the [flashing instructions](../install/). @@ -322,8 +344,29 @@ and the system is now unbootable, that's OK because you can use an external flasher; please read [external flashing instructions](../install/spi.md) +Linux kernel hardening +---------------------- + +You may also wish to compile your own kernel, because distro kernels will always +have code in the same place, so attackers are more easily able to know exactly +where to attack your kernel (ROP-based attacks). + +The Whonix/KickSecure Linux projects have guidance about Linux kernel +hardening: + +* +* +* + +There's info there about userspace too, but start with kernel first. Libreboot +is a boot firmware project, so Linux kernel hardening is beyond the scope of +the Libreboot project documentation, **for now**. + +(for now, because Libreboot may in fact provide a Linux distro in the flash +at some point, and this page will definitely be updated when that happens) + References -========== +---------- * [GRUB manual](https://www.gnu.org/software/grub/manual/html_node/Security.html#Security) * [GRUB info pages](http://git.savannah.gnu.org/cgit/grub.git/tree/docs/grub.texi) diff --git a/site/docs/linux/index.md b/site/docs/linux/index.md index bb17991..fc80616 100644 --- a/site/docs/linux/index.md +++ b/site/docs/linux/index.md @@ -1,10 +1,15 @@ --- -title: Linux guides +title: Install Linux on a Libreboot system x-toc-enable: true ... +Booting Linux from GRUB payload +------------------------------- + NOTE: This guide pertains to x86 hosts, and does not cover supported CrOS/ARM -chromebooks. For ARM targets, you should refer to u-boot documentation. +chromebooks. For ARM targets, you should refer +to [u-boot documentation](../uboot/) - separate [U-Boot x86 +documentation](../uboot/uboot-x86.md) is also available. This page is useful for those who wish to use the GRUB GRUB payload directly. If you're using SeaBIOS, the boot process will work similarly to traditional @@ -14,48 +19,19 @@ on Linux is generally assumed, especially for Libreboot development, but Libreboot also works quite nicely with [BSD systems](../bsd/). -Useful links -============ +### Useful links -Refer to the following pages: +Refer to these pages, hosted by the Libreboot project: * [How to Prepare and Boot a USB Installer in libreboot Systems](grub_boot_installer.md) * [Modifying the GRUB Configuration in libreboot Systems](grub_cbfs.md) * [How to Harden Your GRUB Configuration, for Security](grub_hardening.md) -NOTE ABOUT VGA MODES and GRUB -============================= - -Libreboot does not support switching VGA modes, when coreboot's libgfxinit is -used on Intel GPUs. Many distros will install GRUB, which Libreboot then finds -and executes, if running SeaBIOS payload; if using GRUB, just the distro's -grub.cfg file is loaded instead, by Libreboot's own GRUB in flash. - -Libreboot GRUB boots in text mode or uses the coreboot framebuffer. Anyway, -set `GRUB_TERMINAL=console` in GRUB and you should be fine. This avoids GRUB, -the one provided by your distro, switching video modes. - -In Debian for example (steps largely the same on other distros): - -Edit `/etc/default/grub` as root, and uncomment or add the line: - - GRUB_TERMINAL=console - -Then still as root, do these commands: - - export PATH="$PATH:/sbin" - update-grub - -NOTE: `update-grub` is very much Debian-centric. Not all distros will have it. -On Arch-based distros for instance, you might do: - - grub-mkconfig -o /boot/grub/grub.cfg - -Now your distro's GRUB menu should work, when your distro's GRUB bootloader is -executed from Libreboot's SeaBIOS payload. +They will provide specific information; the information below pertains mostly +to troubleshooting, and there are some notes about Full Disk Encryption: Encrypted /boot via LUKS2 with argon2 -======================================= +------------------------------------- Full encryption for basic LUKS2 (with PBKDF or argon2 key derivation) is supported in libreboot. Legacy LUKS1 is also supported. On *most* other @@ -103,8 +79,7 @@ At the time of the Libreboot 20231021 release, the GRUB upstream (on gnu.org) did not have these argon2 patches in its source tree, but Libreboot merges and maintains them out of tree. -argon2id --------- +### argon2id You should *specifically* use argon2id. Please ensure this, because some older LUKS2 setups defaulted to the weaker *argon2i*. This post by Matthew @@ -112,10 +87,46 @@ Garret contains information about that: +Libreboot's GRUB Argon2id implementation was created by Patrick Steinhardt, +who adapted PHC's Argon2 implementation for use in GRUB; Ax33l later added it +to Arch Linux AUR for GRUB 2.06, and Nicholas Johnson rebased *that* for +GRUB 2.12 so that Libreboot could use it. + NOTE: You should also read the instructions about about `GRUB_TERMINAL`. +NOTE ABOUT VGA MODES and GRUB +----------------------------- + +Libreboot does not support switching VGA modes, when coreboot's libgfxinit is +used on Intel GPUs. Many distros will install GRUB, which Libreboot then finds +and executes, if running SeaBIOS payload; if using GRUB, just the distro's +grub.cfg file is loaded instead, by Libreboot's own GRUB in flash. + +Libreboot GRUB boots in text mode or uses the coreboot framebuffer. Anyway, +set `GRUB_TERMINAL=console` in GRUB and you should be fine. This avoids GRUB, +the one provided by your distro, switching video modes. + +In Debian for example (steps largely the same on other distros): + +Edit `/etc/default/grub` as root, and uncomment or add the line: + + GRUB_TERMINAL=console + +Then still as root, do these commands: + + export PATH="$PATH:/sbin" + update-grub + +NOTE: `update-grub` is very much Debian-centric. Not all distros will have it. +On Arch-based distros for instance, you might do: + + grub-mkconfig -o /boot/grub/grub.cfg + +Now your distro's GRUB menu should work, when your distro's GRUB bootloader is +executed from Libreboot's SeaBIOS payload. + Rebooting system in case of freeze -=================================== +---------------------------------- Linux kernel has a feature to do actions to the system any time, even with it freezes, this is called a @@ -133,13 +144,12 @@ command line paramter. So append `sysrq_always_enabled=1` to your You can also run `# sysctl kernel.sysrq=1` to enable them. Fedora won't boot? -================== +------------------ This may also apply to CentOS or Redhat. Chroot guide can be found on [fedora website](https://docs.fedoraproject.org/en-US/quick-docs/bootloading-with-grub2/#restoring-bootloader-using-live-disk) -linux16 issue -------------- +### linux16 issue Libreboot's default GRUB config sources fedora's grub config `grub.cfg` (in `/boot/grub2/grub.cfg`), fedora by default makes use of the @@ -153,8 +163,7 @@ Set the `sixteenbit` variable to an empty string, then run: grub2-mkconfig -o /boot/grub2/grub.cfg -BLS issue ---------- +### BLS issue With [newer versions of fedora](https://fedoraproject.org/wiki/Changes/BootLoaderSpecByDefault), scripts from grub package default to generating [BLS](https://www.freedesktop.org/wiki/Specifications/BootLoaderSpec/) @@ -166,3 +175,6 @@ to `/etc/default/grub` (or modify existing one if it already exists): Then generate `grub.cfg` with: grub2-mkconfig -o /boot/grub2/grub.cfg + +These idiosyncrasies aside, Fedora is a great distro. It's well-tested with the +Libreboot build system, and it boots up just fine. diff --git a/site/docs/maintain/index.md b/site/docs/maintain/index.md index bbe4e00..05ecb62 100644 --- a/site/docs/maintain/index.md +++ b/site/docs/maintain/index.md @@ -1,12 +1,16 @@ --- -title: lbmk maintenance manual +title: LibreBoot MaKe (lbmk) build system design and maintenance manual x-toc-enable: true ... -**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) -now, as of 27 January 2024, which is a fork of flashrom. -The reason why was explained, in -the [Libreboot 20240225 release](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** +Open source BIOS/UEFI firmware +------------------------------ + +Libreboot is a [Free Software](https://writefreesoftware.org/learn) project, +replacing proprietary BIOS/UEFI firmware. It provides coreboot and a number +of *payloads* such as GRUB, U-Boot or SeaBIOS, which boot your operating system. +This document describes the very essence of Libreboot's design, how the project +functions and how releases are made. In addition to this manual, you should also refer to [porting.md](porting.md) and [testing.md](testing.md). @@ -14,7 +18,7 @@ and [testing.md](testing.md). Please also read about the [lbmk coding style and design](style.md). Automated coreboot build system -=============================== +------------------------------- This document describes the entire Libreboot build system, its design philosophy and how it's used to prepare Libreboot releases; it is provided as a *reference* @@ -40,7 +44,7 @@ first, it will do so automatically. Therefore, you can run any part of lbmk on its own, and the entire design is modular. Use Free Software when possible -=============================== +------------------------------- The coreboot software is nominally free, but occasionally requires an additional file or two from the vendor on a few systems. The libreboot @@ -50,7 +54,7 @@ project *allows* them, only when they are absolutely required. the [freedom status page](../../freedom-status.md) provides additional details. Best practises for learning lbmk -================================ +-------------------------------- The follow sections will cover subdirectories, within lbmk. Contrary to what some may otherwise assume, it's best to learn about everything *except* scripts @@ -68,8 +72,7 @@ bottom-up; most documents take the latter approach, in other projects, but most people naturally want to learn how a specific thing works first, hence the approach taken here. -Don't be deceived by simplicity -------------------------------- +### Don't be deceived by simplicity Libreboot's build system is powerful, and highly configurable, yet deceptively simple at the same time. Remember this rule, a rule that applies to *all* @@ -80,12 +83,11 @@ Many people will be shocked by how *small* Libreboot is, at its core. You will be surprised by just how much can be done with so little. Continue reading! System requirements -=================== +------------------- This concerns system requirements when *building* Libreboot. -Operating system ----------------- +### Operating system Any sensible Linux distribution will do. Libreboot's build system is regularly testing on all the major distros. Please do report bugs if you encounter @@ -104,16 +106,14 @@ build dependencies for these distros. NOTE: **Linux** is assumed. BSD systems may work, for parts of the build system, but BSD systems are currently not well-tested with lbmk. -**Dependencies** ----------------- +### **Dependencies** **Make sure you have dependencies installed!** **The [main build guide](../build) will tell you how to install dependencies, such as GNU toolchains and various libraries.** -Host CPU --------- +### Host CPU At least an Intel Core 2 Duo, though we recommend much faster CPUs if building entire release archives, e.g. quad-core Haswell CPU or better. @@ -128,8 +128,7 @@ NOTE3: *32-bit* x86 (i686) machines can be used to compile Libreboot, but MemTest86\+ is only compiled for 64-bit, and not cross compiled, so builds are disabled when lbmk detects a 32-bit host CPU. -Memory ------- +### Memory At least 2GB per CPU core, ideally 4GB; for example, 16GB RAM is recommended if you're compiling an a quad-core CPU. @@ -140,8 +139,7 @@ For example, when you're building on a quad-core, do this prior to building: export XBMK_THREADS=4 -Disk space ----------- +### Disk space About 20GB bare minimum, if only compiling for 1 board. The sources take up a lot of space. However, Libreboot is always expanding as it's developed. @@ -157,10 +155,9 @@ fast NVMe (PCI-E) SSD if you can. project that Libreboot imports, such as coreboot.** Environmental variables -======================= +----------------------- -XBMK\_THREADS -------------- +### XBMK\_THREADS For example: @@ -171,8 +168,7 @@ This would build on two threads, when running lbmk. It defaults to 1. Previous revisions of lbmk used `nproc` by default, but this was set to 1 instead, because nproc is not available on every operating system. -XBMK\_RELEASE -------------- +### XBMK\_RELEASE If set to `y`, it signals to `script/roms` that a release is being built, and it will honour `release="n"` in target.cfg files. You could also set this @@ -182,7 +178,7 @@ behaves running it in release mode. Do this if you want to: export XBMK_RELEASE=y Projects/files downloaded/generated by lbmk -=========================================== +-------------------------------------------- The following sections will describe files and directories that are not included in `lbmk.git`, but *are* created by running various lbmk commands; @@ -191,8 +187,7 @@ many of these will also be provided, pre-generated, under release archives. Some of these are *downloaded* by Libreboot's build system, automatically, while others are created during the build process based on these downloaded programs. -bin/ ---------------- +### bin/ This directory is created when running any of the following commands, with the right arguments: @@ -216,14 +211,12 @@ now only puts coreboot images in `bin/`, with payloads included. If you still have `elf/` coreboot images in your lbmk tree, please do not use them (and you may aswell delete them). -cache/ ---------------- +### cache/ Certain files are cached here automatically, by lbmk. The user need not touch these files. -cache/app --------------- +### cache/app/ When vendor updates are extracted, they go here, which is then processed to find individual files for use in coreboot images (e.g. KBC1126 EC firmware). @@ -231,8 +224,7 @@ find individual files for use in coreboot images (e.g. KBC1126 EC firmware). This directory is constantly over-written, so it's essentially another temporary directory used by the build system. -cache/file/ --------------- +### cache/file/ Files that are downloaded are hashed, and the cached version of the file is stored there, named as the SHA512 checksum. This is used for vendor file @@ -246,8 +238,7 @@ files relative to the directory locations for those repositories, but subfiles are not downloaded to the *cached git repository*, only the work directory used for building in lbmk. -cache/hash ---------------- +### cache/hash/ When lbmk is handling any project, it sorts a list of files under `config/` including `config/project` (or `config/project/TREE`) and `config/data/project`. @@ -260,20 +251,17 @@ If the currently stored hash differs from what's calculated, it means that the project has changed, and the source directories plus builds are deleted. The project source is then re-prepared and re-build. -cache/repo --------------- +### cache/repo/ Git repositories are cached here. This avoids wasting bandwidth, when downloading multiple repositories. **Git submodules are also cached here!** -ec/ ---------------- +### ec/ KBC1126 EC firmware goes here, required on HP EliteBook laptops. These images are inserted into those coreboot images, under `elf/` *and* `bin/`. -elf/ ---------------- +### elf/ **DO NOT flash coreboot ROM images contained under `elf/`. Please use ROM images under `bin/` instead! - In modern lbmk, only the ones under `bin/` are ever @@ -308,23 +296,20 @@ As of Libreboot 20240612, the `elf/` directory must be used by default for all builds, in an effort to make exclusive use of *out-of-source builds*. As such, the `cbutils` directory is no longer used. -mrc/ ---------------- +### mrc/ Intel System Agent downloaded at build time for HP EliteBook 820 G2. The *Haswell* MRC file is no longer downloaded here, because Haswell machines now use native raminit *exclusively*; only Broadwell uses MRC, at present. -pciroms/ ---------------- +### pciroms/ PCI Option ROMs, currently used only for the VGA ROM on models of Dell Latitude E6400 containing an Nvidia GPU; it provides video initialisation, where coreboot currently only initialises Intel GPUs natively, on Libreboot systems. -release/ ---------------- +### release/ The script at `build` create tarballs in here, which constitute regular Libreboot releases. It is meticulously maintained, as per @@ -356,13 +341,11 @@ Or with a custom directory: The build system expects there to be a *git tag*, so make sure there is one. This is used to create the version number for a given release. -src/ ----- +### src/ Third-party source trees are downloaded into this directory, by lbmk. -src/bios\_extract/ ---------------- +### src/bios\_extract/ Used by the vendor file handler scripts. The upstream that we use is here: @@ -371,8 +354,7 @@ The `dell_inspiron_1100_unpacker.py` script is used here, to extract from Dell BIOS updates, to get at the VGA ROM for Nvidia GPU on certain models of Dell Latitude E6400. -src/biosutilities/ ---------------- +### src/biosutilities/ Used by the vendor file handler scripts. The upstream that we use is here: @@ -380,8 +362,7 @@ Used by the vendor file handler scripts. The upstream that we use is here: Specifically: the pfs extract utility from this is used on Dell vendor updates, to extract SCH5545 EC (Environment Control) firmware. -src/coreboot/ ---------------- +### src/coreboot/ Please also visit: @@ -400,8 +381,7 @@ This may be less efficient on disk usage, but it simplifies the logic greatly. Coreboot also uses its own toolchain called *crossgcc*, and crossgcc is in fact compiled *per tree* in Libreboot. -src/deguard/ ------------- +### src/deguard/ Mate Kukri's utility that disables the Intel Boot Guard on Intel MEv11-based PCH. More info available on the [deguard page](../install/deguard.md). @@ -426,18 +406,16 @@ out and replaced by deguard, with one specific to the target machine. More information is available on the deguard page, and in the deguard README, which when downloading in lbmk in the `src/deguard/` directory. -src/flashprog/ ---------------- +### src/flashprog/ Please also visit: Although currently unused by any part of lbmk, we provide flashprog for the -convenience of users, and this is copied to release archives. Flashrom is the +convenience of users, and this is copied to release archives. Flashprog is the program that you will use to read, erase and write the flash, containing coreboot firmware. -src/gpio-scripts ----------------- +### src/gpio-scripts This is a fork of the original gpio-scripts. The fork is maintained by Riku Viitanen, based on code written by Angel Pons (author of the Haswell native @@ -448,8 +426,7 @@ machines, when porting new boards to coreboot. NOTE: Not included in Libreboot yet, but `intelp2m` is used instead for this purpose, on much newer Intel systems (from around Skylake era or later). -src/grub/TREE ---------------- +### src/grub/TREE Please also visit: @@ -482,22 +459,19 @@ tree contains NVMe SSD support but not xHCI support. The `default` tree contains no NVMe or xHCI support. All trees otherwise have the same fixes on top of upstream GRUB, e.g. fix for Dell Latitude keyboard controllers. -src/int/ --------- +### src/int/ Riku Viitanen wrote this tool for debugging, when implementing MXM option ROM support in coreboot and SeaBIOS, for the HP EliteBook 8560w. -src/memtest86plus/ ---------------- +### src/memtest86plus/ Please also visit: This is provided inside ROM images, as a payload executed from main GRUB or SeaBIOS payload. It checks for corrupted memory. -src/mxmdump/ ------------- +### src/mxmdump/ Riku Viitanen wrote this utility, for dumping the MXM config on graphics cards that use it. The HP EliteBook 8560w uses these cards, and normally you would @@ -510,8 +484,7 @@ SeaBIOS. If the MXM data is not handled, the VGA option ROM (when executed) will often complain and refuse to boot; some of them can be hacked to bypass this fact, but such hacks are no longer required because of Riku's tool. -src/seabios/ ---------------- +### src/seabios/ Please also visit: @@ -523,8 +496,7 @@ particular, the BSD bootloaders can be executed from SeaBIOS. This is provided as a coreboot payload, either as first payload or it can be executed from GRUB (if GRUB is the main payload, on a given target). -src/u-boot/ ---------------- +### src/u-boot/ Please also visit: @@ -541,8 +513,7 @@ More information can be found on the [U-Boot x86 page](../uboot/uboot-x86.md); it is available as an alternative to the traditional SeaBIOS and GRUB payloads, and it can successfully boot UEFI applications on x86 Libreboot systems. -src/uefitool/ ---------------- +### src/uefitool/ Please also visit: @@ -553,8 +524,7 @@ firmware (used for fan control on Dell Precision T1650). This has also been modified to build reliably on non-glibc-based systems e.g. Alpine Linux, which uses musl libc. -src/pcsx-redux ----------------- +### src/pcsx-redux/ PCSX-Redux is a Sony Playstation (PS1/PSX) emulator, but Libreboot only uses one part from it: the Open BIOS. This is used by Libreboot to provide an @@ -565,8 +535,7 @@ More information available on the [PlayStation page](../install/playstation.md). This is automatically compiled by the main build script, and the resulting BIOS image is provided in Libreboot release archives. -src/pico-serprog ---------------------------- +### src/pico-serprog/ Used by lbmk, to build firmware for serprog-based SPI flashers with RP2040 SoC. Alongside this, `util-fw/rp2040/pico-sdk` is imported which is required for @@ -577,8 +546,7 @@ Please visit these pages: * * -src/stm32-vserprog ----------------------- +### src/stm32-vserprog/ Used by lbmk, to build firmware for serprog-based SPI flashers with STM32 MCU. Alongside this, `libopencm3` is imported which is required for building it. @@ -593,8 +561,7 @@ Before moving onto configurations, we will now cover *utilities* provided by Libreboot itself (included within lbmk, rather than being downloaded like the third party projects listed above): -tmp/ ---------------- +### tmp/ The `TMPDIR` environmental variable is set by lbmk, to a location under `/tmp`, but some users may have `/tmp` mounted as a *tmpfs* (file system in RAM), and @@ -603,8 +570,7 @@ may not have much RAM. Where large files (or a large number of files) are handled by lbmk on a temporary basis, this `tmp/` directory is created and then used. -vendorfiles/ ---------------- +### vendorfiles/ Used by the vendor file handler scripts, referenced in certain coreboot configs. @@ -613,7 +579,7 @@ here; not all such files are downloaded here however, as some are handled under separate directories. util/ -=============== +----- If a codebase is not frequently used by Libreboot, is actively developed (making it not viable to maintain in Libreboot) or the codebase is very large, we would @@ -623,8 +589,7 @@ where the intention is that `lbmk.git` itself should be small and efficient. Where appropriate, and where the code is small enough, or it is otherwise deemed desirable, `lbmk.git` provides a few utilities as part of itself, namely: -util/dell-flash-unlock/ ---------------- +### util/dell-flash-unlock/ This program, written by Nicholas Chin, unlocks the boot flash on Dell Latitude E6400; it permits internal flashing, from factory firmware to Libreboot, so that @@ -633,8 +598,7 @@ the user need not disassemble and flash externally. It also supports several other Dell laptops, with similar ECs. Check the README file included in this directory, for more information. -util/me7\_update\_parser/ ---------------- +### util/me7\_update\_parser/ This is a special fork of `me_cleaner`, specifically for parsing and neutering Intel ME images provided by Lenovo for ThinkPad X220 and other Lenovo @@ -650,8 +614,7 @@ auto-neuters Intel ME images, during build, so that the user does not have to manually extract such images from dumps of the original vendor firmware (in the flash) on a given machine. -util/nvmutil/ ---------------- +### util/nvmutil/ The `nvmutil` software allows you to set the MAC address on Intel GbE NVM files. It also allows you to set *random* MAC addresses, in addition to @@ -662,8 +625,7 @@ about here: [nvmutil manual](../install/nvmutil.md) -util/spkmodem\_recv/ ---------------- +### util/spkmodem\_recv/ Libreboot imported this from coreboot, who is turn imported it from GRUB with little to no modification. @@ -700,13 +662,12 @@ do this. Other improvemnts include: by lbmk: config/ -======= +------- This directory contains configuration files, used by the Libreboot build system. These next sections will cover specific configuration files. -config/PROJECT\*/nuke.list --------------------------- +### config/PROJECT\*/nuke.list The script `include/git.sh` handles deletion of certain files, for downloaded projects, based on a `nuke.list` file that can (for single-tree projects) be @@ -724,8 +685,7 @@ foo/bar.txt Ditto `src/flashprog/`, if you wanted to delete a file from in there, as one other example. Deletions occur when the source tree is created. -config/vendor/ ---------------- +### config/vendor/ URLs and hashes for vendor files containing Intel ME images within them. Where feasible, backup URLs are also provided. SHA512 checksums are defined, so that @@ -741,10 +701,9 @@ installing Libreboot or any other spin of coreboot. This file is also used to define the VGA ROM, on Nvidia models of Dell Latitude E6400. -config/coreboot ---------------- +### config/coreboot/ -### config/coreboot/BOARDNAME/ +#### config/coreboot/BOARDNAME/ Each target name (e.g. `x200_8mb`) has its own directory under here. Targets that do not define defconfigs also exist here; for example, the `default` @@ -759,14 +718,14 @@ the vendor scripts, for adding or removing certain vendor firmware (for example, a config will define where `me.bin` is located, and if it doesn't exist, the vendor scripts will look up that file and download/process it with `me_cleaner`). -### config/coreboot/BOARDNAME/patches/ +#### config/coreboot/BOARDNAME/patches/ For any given coreboot tree, patches with the `patch` file extension are placed here, alphanumerically in the order that they should be applied. These patches are then so applied, when lbmk downloads the given source tree. -### config/coreboot/BOARDNAME/target.cfg +#### config/coreboot/BOARDNAME/target.cfg This file can contain several configuration lines, each being a string, such as: @@ -876,7 +835,7 @@ by this variable, to also be present. The `grubtree` option specifies which GRUB tree to use. If unset, it defers to the `default` GRUB tree. -### config/coreboot/BOARDNAME/config/ +#### config/coreboot/BOARDNAME/config/ Files in this directory are *coreboot* configuration files. @@ -954,8 +913,7 @@ Even if your board doesn't actually use `libgfxinit`, the config for it should still be named as such. From a user's perspective, it really makes no difference. -config/dependencies/ ---------------- +### config/dependencies/ Files here are so named, and called like so: e.g. the `debian` file would be referenced when running: @@ -966,8 +924,7 @@ These files define a list of packages, and the correct package manager command to use on a given distro. This can be used to install build dependencies, which are required for compiling Libreboot from source code. -config/git/ ---------------- +### config/git/ Configuration related to third-party Git repositories, that Libreboot makes use of. @@ -982,8 +939,7 @@ of their own; for example, `config/grub/` exists. Multiple files exist here, and they are *concatenated* in a temporary file by lbmk, which is then scanned to find information about projects. -config/data/PROJECT/mkhelper.cfg --------------------------------- +### config/data/PROJECT/mkhelper.cfg These `mkhelper.cfg` files define common configuration that can be supplied for any single- or multi-tree project. Arguments available are as follows: @@ -1028,18 +984,17 @@ In the simplest of terms, you may regard mkhelpers as *plugins*, of a sort. They simply extend the core functionality of the build system, in a way that can differ flexibly between projects. -GRUB config ---------------- +### GRUB config -### config/data/grub/background +#### config/data/grub/background/ Splash screen images applied duing startup when using the GRUB payload. -### config/data/grub/background/background1024x768.png +#### config/data/grub/background/background1024x768.png Used on ThinkPad X60 and T60. -### config/data/grub/background/background1280x800.png +#### config/data/grub/background/background1280x800.png Used on all other machines, besides X60 and T60 thinkpads. @@ -1049,23 +1004,23 @@ example, `config/coreboot/x60/target.cfg` specifies this: grub_background="background1024x768.png" -### config/data/grub/background/COPYING +#### config/data/grub/background/COPYING Licensing info for GRUB bootsplash images. -### config/grub/TREE/config/ +#### config/grub/TREE/config/ GRUB configuration files. -### config/grub/config/AUTHORS +#### config/grub/config/AUTHORS Author info for GRUB configuration files. -### config/grub/config/COPYING +#### config/grub/config/COPYING Licensing info for GRUB configuration files. -### config/grub/TREE/config/payload +#### config/grub/TREE/config/payload This is a configuration file. It is used to program GRUB's shell. @@ -1079,7 +1034,7 @@ A `grubtest.cfg` can be inserted into CBFS, but it will not override the default `grub.cfg` (either in CBFS or on memdisk); however, the one in memdisk will provide a menuentry for switching to this, if available. -### config/data/grub/memdisk.cfg +#### config/data/grub/memdisk.cfg This GRUB configuration checks whether `grub.cfg` exists in CBFS and switches to that first (not provided by default) or, if one is not available in CBFS, @@ -1089,12 +1044,12 @@ The GRUB memdisk is a file system within `grub.elf`, itself stored within the coreboot file system named *CBFS*, which is part of the coreboot ROM image on every coreboot target. -### config/data/grub/keymap/ +#### config/data/grub/keymap/ Keymap files used by GRUB. They can alter the character set corresponding to inputted scancodes. -### config/data/grub/keymap/\*.gkb +#### config/data/grub/keymap/\*.gkb The keymap files themselves. These are inserted into the GRUB memdisk, and the `grub.cfg` file can specify which one is to be used. @@ -1103,7 +1058,7 @@ These files are binary-encoded, defining which characters correspond to which scancodes. It is handled by `grub-core/commands/keylayouts.c` in the GRUB source code. -### config/data/grub/module/TREE +#### config/data/grub/module/TREE This defines which modules are inserted into `grub.elf`. These modules can be anything from file systems, small applications/utilities, launchers (e.g. @@ -1117,7 +1072,7 @@ This list is used by lbmk when it runs `grub-mkstandalone`, which is the utility from GRUB that generates `grub.elf` files (to be compressed inside CBFS and then executed as a coreboot payload). -### config/grub/TREE/patches/ +#### config/grub/TREE/patches/ For a given GRUB revision, patches with the `patch` file extension are placed here, alphanumerically in the order that they should be applied. For example, @@ -1126,69 +1081,66 @@ partitions to be decrypted by GRUB. These patches are then so applied, when lbmk downloads the given source tree. -config/ifd/\* ---------------- +### config/ifd/\* Intel Flash Descriptors and GbE NVM images, which are binary-encoded configuration files. These files are referenced in coreboot defconfigs, used by lbmk to build coreboot ROM images. -config/seabios/ ---------------- +### config/seabios/ -### config/data/seabios/build.list +#### config/data/seabios/build.list When a given SeaBIOS tree is compiled, for a given target, this file defines which files to copy from the `seabios/` directory, which are then copied to a location under `elf/seabios`. -### config/seabios/default/ +#### config/seabios/default/ Currently the only tree in use, this defines what SeaBIOS revision is to be used, when the SeaBIOS payload is enabled on a given coreboot target. -### config/seabios/default/config/ +#### config/seabios/default/config/ Configuration files go in here. -### config/seabios/default/config/libgfxinit +#### config/seabios/default/config/libgfxinit Configuration file for when native video initialisation is available in coreboot. -### config/seabios/default/config/normal +#### config/seabios/default/config/normal Configuration file for when native video initialisation is unavailable in coreboot, and VGA ROM initialisation is also not provided by coreboot (in this configuration, the usual setup will be that *SeaBIOS* finds and executes them, instead of coreboot). -### config/seabios/default/config/vgarom +#### config/seabios/default/config/vgarom Configuration file for when native video initialisation is unavailable in coreboot, and VGA ROM initialisation is provided by coreboot; in this setup, SeaBIOS should not execute VGA ROMs. -### config/seabios/default/target.cfg +#### config/seabios/default/target.cfg Similar concept to `target.cfg` files provided by coreboot. This specifies which SeaBIOS revision (from Git) is to be used, when compiling SeaBIOS images. -config/u-boot/ ---------------- +### config/u-boot/ This directory contains configuration, patches and so on, for each mainboard that can use U-Boot as a payload in the `lbmk` build system. U-Boot doesn't yet have reliable generic configurations that can work across all coreboot boards (per-architecture), so these are used to build it per-board. -### config/data/u-boot/build.list +#### config/data/u-boot/build.list When a given U-Boot tree is compiled, for a given target, this file defines which files to copy from the U-Boot source build, which are then copied to a location under `elf/u-boot/`. -### config/u-boot/TREENAME/ +#### config/u-boot/TREENAME/ Each `TREENAME` directory defines configuration for a corresponding mainboard. It doesn't actually have to be for a board; it can also be used to just define @@ -1196,14 +1148,14 @@ a U-Boot revision, with patches and so on. To enable use as a payload in ROM images, this must have the same name as its `config/coreboot/TREENAME/` counterpart. -### config/u-boot/TREENAME/patches/ +#### config/u-boot/TREENAME/patches/ For any given U-Boot tree, patches with the `patch` file extension are placed here, alphanumerically in the order that they should be applied. These patches are then so applied, when lbmk downloads the given source tree. -### config/u-boot/TREENAME/target.cfg +#### config/u-boot/TREENAME/target.cfg This file can contain several configuration lines, each being a string, such as: @@ -1239,7 +1191,7 @@ to a non-native arch means that necessary crossgcc-arch will be compiled and be available when building roms, but not necessarily built or discovered when individual scripts are called manually.* -### config/u-boot/TREENAME/config/ +#### config/u-boot/TREENAME/config/ Files in this directory are *U-Boot* configuration files. Configuration file names can be anything, but for now `default` is the only one used. @@ -1269,8 +1221,7 @@ Another interesting config option is `CONFIG_POSITION_INDEPENDENT` for ARM boards, which has been so far enabled in the ones `lbmk` supports, just to be safe. -config/submodule ----------------- +### config/submodule/ In here you can find submodule configurations for projects. It works for both single- and multi-tree projects. Use the existing examples as reference. @@ -1313,14 +1264,12 @@ because files are not extracted, only placed at their configured destination). The destination path in `module.list` is relative to the location of the main Git repository under which it is placed. -config/data/PROJECT -------------------- +### config/data/PROJECT/ Random configuration data provided on a per-project basis. Complements the `config/PROJECT` directory. -U-Boot build system -------------------- +### U-Boot build system If you wish to know about U-Boot, refer here:\ @@ -1352,28 +1301,24 @@ configs, but not for adding them. Adding them is to be done manually, based on the above guidance. Config files in lbmk root directory -=================================== +----------------------------------- -projectsite -------------- +### projectsite Domain name linking to the project home page (e.g. libreboot.org). -projectname ---------------- +### projectname This is a text file, containing a single line that says `libreboot`. This string is used by the build system, when naming releases alongside the version number. -version ---------------- +### version Updated each time lbmk runs, based on either `git describe` or, on release archives, this file is static and never changes. It says what Libreboot revision is currently in use (or was in use, if lbmk isn't running). -versiondate ---------------- +### versiondate Updated each time lbmk runs, based on either `git describe` or, on release archives, this file is static and never changes. It says the *time* of @@ -1383,10 +1328,9 @@ At last, you will now learn about the *scripts* (exclusively written as posix shell scripts) that constitute the entire Libreboot build system, lbmk: Scripts in root directory of lbmk -================================= +--------------------------------- -build ---------------- +### build This is the main build script. @@ -1410,14 +1354,13 @@ You can also know what build system revision you have by running: This script is the beating heart of Libreboot. Break it and you break Libreboot. include/ -=============== +-------- This directory contains *helper scripts*, to be included by main scripts using the `.` command (called the `source` command in `bash`, but we rely upon posix `sh` only). -include/git.sh --------------- +### include/git.sh These functions in here previously existed as independent scripts, but they were unified here, and they are used when you pass the `-f` argument @@ -1427,8 +1370,7 @@ These functions deal with git cloning, submodule updates, revision resets and the application of patch files via `git am`. *Every* git repository downloaded by lbmk is handled by the functions in this file. -include/mrc.sh --------------- +### include/mrc.sh This was previously a separate script. The download logic was removed, and now the logic under `include/vendor.sh` is used for downloads. This file now @@ -1442,8 +1384,7 @@ it is provided as an include to bypass license incompatibility. It has been heavily modified to use the same style of logic and general control flow used in the script at `include/vendor.sh`, and it is used from there. -include/lib.sh ---------------- +### include/lib.sh Several other parts of lbmk also use this file. It is added to as little as possible, and contains miscallaneous functions that don't belong anywhere else. @@ -1468,8 +1409,7 @@ so if for example you say `mk coreboot`, it would build every coreboot target. This is useful for the release build logic, because now it can much more simply build all of Libreboot, while still being flexible about it. -include/rom.sh ------------ +### include/rom.sh This builds coreboot ROM images. Specifically, this contains mkhelper functions. It also builds serprog images, and it could be used to provide functions for @@ -1540,8 +1480,7 @@ CCACHE is automatically used, when building coreboot, but not currently for other projects. This is done by cooking coreboot configs at build time, enabling coreboot's build option for it. -Serprog images: --------------- +### Serprog images: Build firmware images for serprog-based SPI programmers, where they use an STM32 MCU. It also builds for RP2040-based programmers like Raspberry Pi Pico. @@ -1553,8 +1492,7 @@ Example command: `./mk -b stm32-vserprog` This also uses `rom.sh` as with the coreboot image build logic. It's all defined in that file, so read the main section pertaining to this file. -include/vendor.sh ------------------ +### include/vendor.sh Helper functions for downloading and injecting vendor files. How to use: @@ -1565,10 +1503,9 @@ Refer elsewhere in the documentation for how to handle vendor files, and/or read [the guide](../install/ivy_has_common.md). script/ -======= +------- -script/trees ------------- +### script/trees *This* is the other beating heart of Libreboot. Used heavily by Libreboot, this script is what handles defconfig files for SeaBIOS, U-Boot *and* coreboot; it diff --git a/site/docs/maintain/porting.md b/site/docs/maintain/porting.md index e464e9b..dff145f 100644 --- a/site/docs/maintain/porting.md +++ b/site/docs/maintain/porting.md @@ -16,7 +16,11 @@ Most boards in coreboot can be quite easily ported to libreboot. You don't need any knowledge of a particular programming language or technology in general to port a board. If you want to make more major contributions to the build system, -please read the [main maintenance page.](/docs/maintain/index.html) +please read the [LibreBoot MaKe (lbmk) build system design and maintenance +manual](./). + +Background information +---------------------- You will certainly need flashing equipment if you wish to follow this guide. See the [flashing guide](/docs/install/spi.html) to find out what you'll need. @@ -42,7 +46,7 @@ unclear, then contact libreboot developers. The best way to get in touch is via [libreboot irc.](/contact.html#irc-chatroom) Cloning lbmk -============ +------------ Before you try to get any work done, you'll need to clone the lbmk (libreboot make) project. @@ -53,8 +57,8 @@ the project. If you want more information on building lbmk see [the build instructions.](/docs/build/index.html) -Coreboot Config -=============== +Coreboot config +--------------- Coreboot payloads (GRUB, Seabios, etc) are built separately. You therefore only need to focus on the coreboot config(s) for `board.` @@ -94,7 +98,7 @@ If you try to flash this rom and it fails, then there are two probable reasons: Solutions to these problems follow in the proceeding sections. Wrong CBFS and or ROM size -========================== +-------------------------- Different boards have different flash chip setups. Generally, you have one or two flash chips with a combined size of 4-16MB. @@ -113,8 +117,8 @@ for various rom sizes. | 12MB | 0xBE0000 | | 16MB | 0xFE0000 | -Getting Help -============ +Getting help +------------ Once you have tried everything above, you might find that the board still doesn't work. diff --git a/site/docs/maintain/porting.uk.md b/site/docs/maintain/porting.uk.md index faaaa73..e33022a 100644 --- a/site/docs/maintain/porting.uk.md +++ b/site/docs/maintain/porting.uk.md @@ -40,7 +40,7 @@ libreboot як `плата.` Найкращий шлях вийти на зв'язок через [irc libreboot.](/contact.uk.html#кімната-irc) Клонування lbmk -============ +--------------- Перед тим, як ви спробуєте зробити будь-яку роботу, вам потрібно буде клонувати проект lbmk (libreboot make). Щоб зробити це, ви будете потребувати git, встановлений на вашій машині. Ви можете потім клонувати @@ -51,7 +51,7 @@ libreboot як `плата.` Якщо ви хочете більше інформації про побудову lbmk, дивіться [інструкції побудови.](/docs/build/index.uk.html) Конфігурація Coreboot -=============== +--------------------- Корисні навантаження Coreboot (GRUB, Seabios, і так далі) будуються окремо. Ви таким чином тільки потребуєте фокусуватись на конфігурації(ях) coreboot для `плати.` @@ -91,7 +91,7 @@ libreboot як `плата.` Рішення до цих проблем ідуть в наступних розділах. Неправильний розмір CBFS та/або розмір ROM -========================== +------------------------------------------ Різні плати мають різні налаштування чіпів флеш-пам'яті. Загалом, ви маєте один або два флеш-пам'яті з сумарним розміром в 4-16Мбайт. @@ -111,7 +111,7 @@ libreboot як `плата.` | 16Мбайт | 0xFE0000 | Отримання допомоги -============ +------------------ Коли ви спробували все вищенаведене, ви могли би знайти, що ця плата досі не працює. diff --git a/site/docs/maintain/style.md b/site/docs/maintain/style.md index 702ef76..ef95d33 100644 --- a/site/docs/maintain/style.md +++ b/site/docs/maintain/style.md @@ -13,7 +13,7 @@ and several practises may persist in spite of it; nonetheless, this article shall serve as a reference for lbmk development. NO BASHISMS -=========== +----------- Libreboot's build system was previously written in Bash, and actually used Bash-specific behaviour. This was later *corrected*, thanks largely to work @@ -27,15 +27,14 @@ and an even more excellent introduction: (seriously, it's good. Read it!) Design -====== +------ Libreboot's build system design is very simple: put as much as possible under `config/`, and keep actual logic to a minimum. You can read about that design in the [lbmk maintenance manual](index.md). -No Makefiles ------------- +### No Makefiles We have Makefiles in some C programs, under `util/`, and projects that we import may use Makefiles, but lbmk itself does not contain any Makefiles. Instead, we @@ -46,7 +45,7 @@ code is more readable. It's easier to implement a cleaner coding style, which the next sections will cover. Coding style -============ +------------ Read and go read a few userland program source trees in OpenBSD's main CVS tree. This is the style that inspires the lbmk @@ -60,19 +59,17 @@ Libreboot scripts, and also C programs like `nvmutil`, are heavily inspired by this style. We insist on its use, because this style is extremely readable and forces you to write better code. -main on top ------------ +### main on top In every lbmk script, it is our intention that there be a `main()` function. All logic should be inside a function, and `main()` should be the function that executes first; at the bottom of each script, insert this line: - main $@ + main "$@" This will execute `main()`, passing any arguments (from the user's shell) to it. -Top-down logic --------------- +### Top-down logic *Every* function called from main should always be *below* the calling function. Therefore, if multiple functions call a given function, that function should be @@ -118,11 +115,10 @@ complicated_function() do_some_complicated_stuff || return 1 } -main $@ +main "$@" ``` -PWD is always root of lbmk --------------------------- +### PWD is always root of lbmk In any script executed by lbmk, under `script/`, the work directory is relative to the main `lbmk` script. In other words, all scripts under `script/` also @@ -131,8 +127,7 @@ assume this. This is actually one of the reasons for that design, as also alluded to in the main [lbmk maintenance manual](index.md). -main should only be a simple skeleton -------------------------------------- +### main should only be a simple skeleton The `main()` function should not implement much logic itself. Each script in lbmk is its own program. The `main()` function should contain the overall @@ -144,7 +139,7 @@ be below a function that builds ROM images with SeaBIOS payloads inside them, when building coreboot ROM images. One task, one script -==================== +-------------------- Not literally *one task*, but one theme, one *kind* of overall task. For example, `script/build/roms` builds final ROM images of coreboot, @@ -155,7 +150,7 @@ another program that does another thing very well; programs communicate with each other via the universal method, namely text. Error handling -============== +-------------- Where feasible, a script should do: @@ -183,8 +178,7 @@ For example: $err "function_name: this shit doesn't work. fix it." -Do not directly exit --------------------- +### Do not directly exit Please try to use `err` for all error exits. @@ -196,8 +190,7 @@ A script should either return zero status, or call `err()`. An individual function may, in some cases, return 1 or 0 itself, which would then be handled accordingly by the calling function. -How to handle errors --------------------- +### How to handle errors There are some instances where errors should be *ignored*, in which case you might do: @@ -211,7 +204,7 @@ command succeeded, then do this. Never mix `&&` and `||` If/else blocks -============== +-------------- Keep these simple, and where possible, maybe don't use them at all! For example: @@ -236,8 +229,7 @@ or do something ``` -Warnings --------- +### Warnings In C, the `stderr` file is 2 as represented by `int fd` style. In shell scripts, it's the same: 1 for standard output, 2 for errors/warnings. The `err` function @@ -249,25 +241,24 @@ should not yield an exit, you should do something like this: printf "function_name: this is dodgy stuff. fix it maybe?\n" 1>&2 Avoid passing arguments excessively -=================================== +----------------------------------- In functions, use of arguments passed to them can be useful, but in general, they should be avoided; use global variables when feasible. Do not exceed 80 characters per line -==================================== +------------------------------------ See: RFC 3676 Excessively long code lines are really annoying to read. Use tab-based indendation -========================= +------------------------- A new line should begin with tab indentation, in a function. -Multi-line commands -------------------- +### Multi-line commands Use \\ at the end, as you would, but use *four spaces* to indent on the follow-up line. For example: @@ -281,14 +272,14 @@ function_name() ``` Use printf! -=========== +----------- Don't use `echo` unless there's some compelling reason to do so. The `printf` functionality is more standard, across various sh implementations. env -=== +--- Don't do: @@ -301,7 +292,7 @@ Do: This is more portable, between various Unix systems. Be portable! -============ +------------ In addition to not using bashisms, commands that lbmk uses must also be portable; where possible, third party projects should be tweaked. @@ -315,7 +306,7 @@ Work+testing is sorely needed, in this area. It would be nice if Libreboot could be built on BSD systems, for example. Do as little as possible -======================== +------------------------ Don't over-engineer anything. Write as simply as you can, to perform a single task. This is basically the same as what has been written elsewhere, but it's diff --git a/site/docs/maintain/testing.md b/site/docs/maintain/testing.md index 6d3d749..aaa680a 100644 --- a/site/docs/maintain/testing.md +++ b/site/docs/maintain/testing.md @@ -40,7 +40,7 @@ provide testing for the same mainboard if that's what you have. The more the merrier! Be Contactable -============== +-------------- You should monitor whatever email you provide in your application. There is no specific time-frame for how long it should take after @@ -50,7 +50,7 @@ If you are the *only* maintainer for your board then please take into consideration that your input is especially vital. Have External Flashing Equipment -================================ +-------------------------------- The roms you test will of course be untested. To avoid having a bricked machine, you need to have external flashing @@ -62,7 +62,7 @@ Refer to [Coreboot's documentation](https://doc.coreboot.org/) or ask on IRC if you are unsure. Testing Procedure -================= +----------------- You will receive an email when roms are ready for testing. The email will link to an open issue on our [current git hosting platform.](/git.html#lbmk-libreboot-make) @@ -83,6 +83,6 @@ note: [insert any notes if relevant] For example, a board status comment might look like this: - board: t440p_12mb - status: fail - note: GRUB throws error 'something_is_b0rked' + board: t440p_12mb + status: fail + note: GRUB throws error 'something_is_b0rked' diff --git a/site/docs/maintain/testing.uk.md b/site/docs/maintain/testing.uk.md index 369c4c8..be3f733 100644 --- a/site/docs/maintain/testing.uk.md +++ b/site/docs/maintain/testing.uk.md @@ -37,7 +37,7 @@ Libreboot намагається зробити Coreboot доступним дл краще! Будьте доступними для зв'язку -============== +-------------------------- Вам варто відслідковувати будь-яку електронну пошту, що ви вкажете в вашому поданні. Немає конкретного часового проміжку для того, скільки має пройти часу після того, як @@ -47,27 +47,27 @@ Libreboot намагається зробити Coreboot доступним дл врахуйте, що ваш внесок є особливо значущим. Майте обладнання для зовнішньої прошивки -================================ +------------------------------------- Образи rom, які ви випробуєте, будуть звісно невипробуваними. Задля уникнення отримання непрацездатної машини, вам потрібно мати обладнання для зовнішньої прошивки в наявності для відновлення вашої плати з поламаного rom. -В більшості випадків ви можете посилатися на [керівництво SPI.](../install/spi.html) +В більшості випадків ви можете посилатися на [керівництво SPI](../install/spi.md). В менш частих випадках -таких як, деякі ARM chromebook- ваша плата може бути прошита іншим чином. Посилайтесь на [документацію Coreboot](https://doc.coreboot.org/) або спитайте в IRC, якщо не впевнені. Процедура випробування -================= +--------------------- Ви отримаєте лист електронною поштою, коли образи rom будуть готовими для випробування. -Лист електронною поштою буде посилатися на відкритий issue на нашій [поточній платформі розміщення git.](/git.html#lbmk-libreboot-make) +Лист електронною поштою буде посилатися на відкритий issue на нашій [поточній платформі розміщення git.](../../git.md#lbmk-libreboot-make) Чи ви отримаєте лист електронною поштою через поштовий домен libreboot.org, або один з email розробників, вам варто перевірити (для вашої власної безпеки), -що завантажені rom підписано з [офіційним ключем.](/download.html#gpg-signing-key) +що завантажені rom підписано з [офіційним ключем.](../../download.md#gpg-signing-key) Коли ваше випробування закінчено, прокоментуйте в issue, на яке наведено посилання в вашому відправленому листі електронною поштою, таким чином: @@ -80,6 +80,6 @@ note: [вставьте будь-які приміткі, якщо релева Наприклад, відгук про статус плати міг би виглядати подібним чином: - board: t440p_12mb - status: fail - note: GRUB throws error 'something_is_b0rked' + board: t440p_12mb + status: fail + note: GRUB throws error 'something_is_b0rked' diff --git a/site/docs/misc/codenames.md b/site/docs/misc/codenames.md index c56a431..33740b5 100644 --- a/site/docs/misc/codenames.md +++ b/site/docs/misc/codenames.md @@ -6,7 +6,7 @@ x-toc-enable: true TODO: this page could do with an update. More info, about more boards Introduction -============ +------------ This document lists product codenames for some hardware. Please note that just because a certain device is listed here does NOT mean @@ -28,7 +28,7 @@ of reliability): they will appear silver. List of models and codenames -============================ +---------------------------- ### Codenames @@ -101,6 +101,7 @@ under RAM sticks. - Port Replicator II - Seville-lite ### Miscellaneous + - [Calistoga](https://ark.intel.com/products/codename/5950/Calistoga): 945GM/945PM chipset family name - Napa: calistoga based platform @@ -118,7 +119,8 @@ GM45/GS45/PM45 chipset family name. of it fully describes its operation. See also -======== +-------- + - Many more Intel codenames can be found at [Wikipedia](https://en.wikipedia.org/wiki/List_of_Intel_codenames). - For ThinkPads see [Documentation/thinkpad/codenames.csv @ Coreboot] diff --git a/site/docs/misc/emulation.md b/site/docs/misc/emulation.md index 2fd4433..375eecf 100644 --- a/site/docs/misc/emulation.md +++ b/site/docs/misc/emulation.md @@ -3,8 +3,8 @@ title: Building Libreboot for Emulation x-toc-enable: true ... -Introduction -============ +Libreboot on QEMU +----------------- Libreboot supports building for qemu as a target board. The resulting rom can then be tested using qemu. @@ -13,7 +13,7 @@ The qemu board is mostly intended to speed up development by removing the need t Qemu may also be useful for end users who intend to make changes to their libreboot rom without having to flash and reboot their machine. Building and Testing -==================== +-------------------- Libreboot can be built for qemu just like any other board. @@ -60,7 +60,7 @@ qemu-system-aarch64 \ U-Boot is also available on the x86 QEMU images. Use Cases -========= +--------- While development is the primary motivation for qemu support, the board makes it easy to test minor changes to release roms. For example one can use *cbfstool* from coreboot to edit the background image in a libreboot rom as follows: diff --git a/site/docs/misc/index.md b/site/docs/misc/index.md index 4d54293..39adf9e 100644 --- a/site/docs/misc/index.md +++ b/site/docs/misc/index.md @@ -6,7 +6,7 @@ x-toc-enable: true TODO: this page is very old, and could do with an update. High Pitched Whining Noise on Idle in Arch-based distros -============================================================== +-------------------------------------------------------- The following removes most of the noise. It reduces what is a high frequency whine (that not everyone can hear) to a slight buzz (which @@ -62,7 +62,6 @@ using [this guide](../linux/grub_cbfs.md). X60/T60: Serial port - how to use (for dock owners) [Note: using a grsec enabled kernel will disable the powertop function. ](https://en.wikibooks.org/wiki/Grsecurity/Appendix/Grsecurity_and_PaX_Configuration_Options) -=================================================== For the Thinkpad X60 you can use the "UltraBase X6" dock (for the X60 Tablet it is called X6 Tablet UltraBase). For the ThinkPad T60, you @@ -97,8 +96,8 @@ Note: part of the tutorial above requires changing your grub.cfg. Just change the `linux` line to add instructions for enabling getty. See [../linux/grub\_cbfs.md](../linux/grub_cbfs.md). -Finetune backlight control on intel gpu's -========================================= +Finetune backlight control on intel GPUs +---------------------------------------- Sometimes the backlight control value (BLC\_PWM\_CTL) set by libreboot is not ideal. The result is either flicker, which could cause nausea or @@ -190,7 +189,7 @@ on page 94. More research needs to be done on this target so proceed with care. Power Management Beeps on Thinkpads -=================================== +----------------------------------- When disconnecting or connecting the charger, a beep occurs. When the battery goes to a critically low charge level, a beep occurs. Nvramtool @@ -225,7 +224,7 @@ Finally, you need to flash the rom with this new image. See here for a detailed explanation. Get EDID: Find out the name (model) of your LCD panel -===================================================== +----------------------------------------------------- Get the panel name: @@ -248,7 +247,7 @@ removing the LCD panel is an option. Usually, there will be information printed on the back. e1000e driver trouble shooting (Intel NICs) -=========================================== +------------------------------------------- Example error, ¿may happen on weird and complex routing schemes(citation needed for cause): diff --git a/site/docs/uboot/index.md b/site/docs/uboot/index.md index f5ac9a8..3dc04a4 100644 --- a/site/docs/uboot/index.md +++ b/site/docs/uboot/index.md @@ -6,32 +6,20 @@ x-toc-enable: true **NOTE: This documentation refers only to ARM64. For AMD64/i386 (Intel/AMD) U-Boot setups, please read [uboot-x86.md](uboot-x86.md).** -Libreboot has experimental support for using U-Boot as a coreboot -payload since the [20221214](../../news/libreboot20221214.md) release, on ARM64 -systems, and on x86 since late 2024. - -U-Boot integration in Libreboot is currently at a proof-of-concept -stage, with most boards completely untested and most likely not working. ROM images for them are mostly intended for further testing and development. If you have one of these machines and want to help fix things, you can ping `alpernebbi` on Libera IRC, who ported these boards to Libreboot. -As of 14 December 2022, building of U-Boot images has been tested on -Debian. Make sure you have the latest `lbmk` from the Git repository, -and the build dependencies are installed like so, from `lbmk/` as root: - - ./mk dependencies debian - -This installs everything needed for `./mk -b coreboot`, and part of the -build process makes use of coreboot's own cross-compile toolchain. +Emulation +--------- [QEMU x86/ARM64 virtual machines](../misc/emulation.md) are also supported, which should be easy targets to start tinkering on if you want to contribute. Usage -===== +----- When your board is powered on, U-Boot will ideally turn on the display and start printing console messages there. After a countdown of a few @@ -65,7 +53,7 @@ table, unexpected parts of the SPI ROM image, or do something else entirely. Known issues -============ +------------ U-Boot integration in Libreboot is incomplete. Here is a list of known issues that affect all boards: @@ -83,7 +71,8 @@ issues that affect all boards: - UEFI support is incomplete See also -======== +-------- + - [U-Boot documentation](https://u-boot.readthedocs.io/en/latest/) - [U-Boot documentation (unmigrated files)](https://source.denx.de/u-boot/u-boot/-/tree/master/doc) - [U-Boot and generic distro boot](https://marcin.juszkiewicz.com.pl/2021/03/14/u-boot-and-generic-distro-boot/) diff --git a/site/docs/uboot/uboot-archlinux.md b/site/docs/uboot/uboot-archlinux.md index 45b8d94..13cce6f 100644 --- a/site/docs/uboot/uboot-archlinux.md +++ b/site/docs/uboot/uboot-archlinux.md @@ -4,9 +4,9 @@ x-toc-enable: true ... Background -========== +---------- -ArchLinuxARM Latest (as of May 1st 2023) boots and can be installed successfully using libreboot 20230319 on a gru_bob chromebook. +ArchLinuxARM Latest (as of May 1st 2023) boots and can be installed successfully using libreboot 20230319 on a gru\_bob chromebook. The following process should theoretically be applicable to other U-Boot devices and Linux distributions, but the focus here is specifically on ArchLinuxARM. @@ -18,7 +18,7 @@ And the the instructions from the ArchLinuxARM wiki [here](https://archlinuxarm. The purpose of this guide is to instruct users on how to install an ArchLinuxARM on an external disk that will boot on a gru_bob chromebook, and optionally on the internal eMMC. Many concepts covered in this guide may be familiar to prospective and veteran Libreboot users, with the scope being comprehensive. Boot Method -=========== +----------- There are (at least) three methods that can be used to boot into a Linux distribution from u-boot: 1) EFI - common, modern boot method for amd64 architecture machines. This is not distribution-specific, so if you intend to make a portable drive that is compatible across multiple systems, you may have a use case. @@ -36,7 +36,7 @@ For more information about what actually goes into a boot.scr script, check [thi Since extlinux.conf is supported by multiple bootloaders, making your system more portable, is natively supported by u-boot, it seems to be the best choice for a chromebook. Creating extlinux.conf -====================== +---------------------- Here is an example template of extlinux.conf, [similar examples are found in the u-boot docs](https://u-boot.readthedocs.io/en/latest/develop/distro.html): @@ -46,7 +46,6 @@ menu title Libre-U-Boot menu prompt 0 timeout 50 - label arch menu label Arch Linux ARM linux /Image @@ -63,7 +62,7 @@ label archfallback ``` Formatting and Partitioning Your External Media -=============================================== +----------------------------------------------- Now it's time partition the boot disk. During testing, a microSD card was used in the microSD card slot of the gru-bob chromebook. The libreboot configuration (in the 20230319 release) will boot the microSD card above the onboard eMMC if both are present and bootable. This is useful because it means no knowledge or use of the u-boot console is required. @@ -75,10 +74,12 @@ Find your device with my favourite command, `lsblk` and open it with `fdisk` ``` fdisk /dev/sdX ``` + For users creating a bootable SD card, your device may show up as `/dev/mmcblkX` - if this is the case, make sure to change the commands in this guide to contain that path instead of `/dev/sdX`. In the fdisk tui, create two partitions on a Master Boot Record: + - create a new MBR label - create boot partition of approx. 200MB or greater - set bootable flag on this partition @@ -88,27 +89,32 @@ In the fdisk tui, create two partitions on a Master Boot Record: You will find the appropriate options by typing `m` when using the fdisk tui on Linux distros. Now make the filesystems: + ``` mkfs.vfat /dev/sdX1 mkfs.ext4 /dev/sdX2 - ``` It's now time to get the PARTUUID of `/dev/sdX2`: + ``` sudo blkid | grep "/dev/sdX2" ``` + make sure to note down the PARTUUID of your second partition; not your boot partition. paste this into your extlinux.conf file in the `append` section, e.g.: + ``` append console=ttyS0,115200 console=tty1 rw root=PARTUUID=fc0d0284-ca84-4194-bf8a-4b9da8d66908 ``` + in the template provided above, replace `$PARTUUID` with your own. It's possible to specify root in other ways - check the u-boot docs for more examples. Boot-Disk Creation -================== +------------------ Now that we've got an extlinux.conf file, copy it to your /tmp directory, and we'll begin. + ``` cd /tmp curl -LO http://os.archlinuxarm.org/os/ArchLinuxARM-aarch64-latest.tar.gz @@ -125,6 +131,7 @@ sync umount boot umount root ``` + Note the use of ArchLinuxARM-aarch64-latest.tar.gz and not ArchLinuxARM-gru-latest.tar.gz The current gru build only supports a depthcharge payload and, of course, we're not using depthcharge are we? @@ -135,7 +142,7 @@ Extensive testing with ArchLinuxARM-latest release, showed that booting the fall If you create an extlinux.conf file with paths to both images - like in the template above - you can select either by number at boot. Going Live - Necessary Tweaks -============================= +----------------------------- Once you're at the login prompt, the fun isn't over! Login & password for root are both `root` by default. Most Arch users will likely try to update their system now - don't update just yet. @@ -144,10 +151,12 @@ Run `lsblk` and you'll see that the boot partition is not mounted by default. Updating with `pacman -Syu` at this stage will cause driver problems if you update without your boot partition mounted, likely meaning you cannot connect to the internet with a USB peripheral. To prevent this becoming a problem: + ``` mkdir /boot mount /dev/sdX1 /boot ``` + With that out of the way, yes, you may now update. It's worth creating a basic filesystem table to automate mounting at boot - it's blank by default so here's another template: @@ -162,18 +171,22 @@ UUID=$UUID1 / ext4 rw,relatime 0 1 # /dev/mmcblk1p1 boot UUID=$UUID0 /boot vfat rw,relatime 0 2 ``` + It should go without saying that you'll replace `$UUID0` and `UUID1` with your boot and root filesystem UUID. To get the right information in there: + ``` lsblk -o NAME,UUID,FSTYPE,SIZE ``` + `NAME` and `SIZE` are not necessary, but they will help you tell which partition is which. Final Steps -=========== +----------- At this stage, you now have a fully functional ArchLinuxARM system on an external disk, and are ready to configure your system. If you intend to install onto the eMMC module, you can make your changes permanent with: + ``` dd if=/dev/mmcblk0 of=/dev/mmcblk1 bs=4M status=progress ``` diff --git a/site/docs/uboot/uboot-debian-bookworm.md b/site/docs/uboot/uboot-debian-bookworm.md index 77738c3..1e4eef5 100644 --- a/site/docs/uboot/uboot-debian-bookworm.md +++ b/site/docs/uboot/uboot-debian-bookworm.md @@ -4,9 +4,9 @@ x-toc-enable: true ... System Configuration -==================== +-------------------- -Hardware: Samsung Chromebook Plus XE513C24 (gru_kevin) +Hardware: Samsung Chromebook Plus XE513C24 (gru\_kevin) Libreboot: 2023-04-23 @@ -15,7 +15,7 @@ Operating System: Debian Bookworm RC2 [https://wiki.debian.org/Firmware](https://wiki.debian.org/Firmware) Install Media Preparation -========================= +------------------------- Follow the Debian installation instructions in the link below: @@ -26,16 +26,17 @@ page and I selected the DVD image to have all the packages available when offline (3.7 gigabyte iso). See the notes below about alternately using the netinst version. -[https://cdimage.debian.org/cdimage/bookworm_di_rc2/arm64/iso-dvd/](https://cdimage.debian.org/cdimage/bookworm_di_rc2/arm64/iso-dvd/) +[https://cdimage.debian.org/cdimage/bookworm\_di\_rc2/arm64/iso-dvd/](https://cdimage.debian.org/cdimage/bookworm_di_rc2/arm64/iso-dvd/) -Write the iso file to a micro sdcard. Replace "sdcard_device" below +Write the iso file to a micro sdcard. Replace `sdcard_device` below with the appropriate device path on your system. + ``` # dd if=debian-bookworm-DI-rc2-arm64-DVD-1.img of=/dev/sdcard_device bs=1M status=progress; sync ``` Installation -============ +------------ 1. Insert the micro sdcard into the slot on the Chromebook. 2. Power on the Chromebook. @@ -149,7 +150,7 @@ internal emmc. ![](https://av.libreboot.org/xe513c24/debbook-firefox.jpg) System Functionality -==================== +-------------------- Things that work: diff --git a/site/docs/uboot/uboot-openbsd.md b/site/docs/uboot/uboot-openbsd.md index 75388b4..6b23caf 100644 --- a/site/docs/uboot/uboot-openbsd.md +++ b/site/docs/uboot/uboot-openbsd.md @@ -4,16 +4,16 @@ x-toc-enable: true ... System Configuration -==================== +-------------------- -Hardware: Samsung Chromebook Plus XE513C24 (gru_kevin) +Hardware: Samsung Chromebook Plus XE513C24 (gru\_kevin) Libreboot: 2023-04-23 Operating System: OpenBSD 7.3 Install Media Preparation -========================= +------------------------- Follow the OpenBSD arm64 installation instructions in the link below: @@ -26,7 +26,7 @@ with the appropriate device path on your system. ``` Installation Attempt -==================== +-------------------- 1. Insert the micro sdcard into the slot on the Chromebook. 2. Power on the Chromebook. diff --git a/site/docs/uboot/uboot-x86.md b/site/docs/uboot/uboot-x86.md index bb0f637..b3fd090 100644 --- a/site/docs/uboot/uboot-x86.md +++ b/site/docs/uboot/uboot-x86.md @@ -3,8 +3,8 @@ title: U-Boot payload (x86 specific) x-toc-enable: true ... -Introduction -============ +U-Boot UEFI on x86 +------------------ @@ -25,8 +25,7 @@ payload. It has several boot methods but the most interesting (in an x86 context) is UEFI. U-Boot provides a very sensible UEFI implementation that can reliably boot many Linux and BSD systems. -Availability ------------- +### Availability Do this in lbmk.git (Libreboot's build system) to check whether your board has U-Boot enabled: @@ -50,8 +49,7 @@ Here is an example of what it looks like on the boot menu: -Errors ------- +### Errors If you see error `-25` in the bootflow menu, it's because there's nothing installed that i t can use e.g. EFI bootloader such as GRUB. @@ -60,8 +58,7 @@ If you see error `-2` it's likely that you have tried to boot a USB drive automatically; sometimes you have to do it manually (see the section below about using the bootflow command manually, via `bootflow select`). -Boot Linux/BSD installer (USB) ---------------------------- +### Boot Linux/BSD installer (USB) Just stick your formatted USB stick in. U-Boot should detect it. Sometimes some USB flash drives are broken, because many of them violate specifications and @@ -82,8 +79,7 @@ After selecting the device, you can do: bootflow boot -Booting installed system ------------------------- +### Booting installed system It should just work. If all is well, it'll show the bootflow menu. Simply select your device. If you see error, perhaps try: @@ -91,10 +87,9 @@ select your device. If you see error, perhaps try: bootefi bootmgr Tested operating systems -======================== +------------------------ -Linux/BSD ---------- +### Linux/BSD Arch Linux, Debian Linux and OpenBSD have been tested. @@ -108,15 +103,14 @@ bootloader in the installed system). EFI-based GRUB menus like in the Debian installer seemed to work just fine, that is: setups that use the EFI framebuffer instead of a text console. -Windows -------- +### Windows Windows was tested, and doesn't work yet. Simon Glass maintains the x86 coreboot payload, and has informed me that he still has some work to do there. SecureBoot -========== +---------- Supported by U-Boot, though U-Boot does not currently have a robust way of storing EFI variables, and Libreboot disables SecureBoot by default. However, @@ -131,7 +125,7 @@ sense to Libreboot's GRUB hardening setup, though the latter is more flexible, albeit not widely used by the mainstream, but it does work (I use it myself!). ThinkPad X60/T60 -================ +---------------- The 32-bit U-Boot payload is only useful for 32-bit setups, and 32-bit UEFI isn't really that common on x86; the 64-bit U-Boot payload is much more useful, @@ -168,7 +162,7 @@ interesting in the future, as more distros stop supporting BIOS-based methods, or where the latter may become untested in the future. Bugs -==== +---- Limited testing, at least as of 6 December 2024, but some issues that appeared included: @@ -188,7 +182,7 @@ but some don't very well; the GM45 machines work well, e.g. a ThinkPad X200 was tested. Mitigating instability -======================= +---------------------- U-Boot is not a primary payload on any board where it's enabled. It's instead chainloaded from SeaBIOS on 64-bit x86, and from GRUB on 32-bit x86. You select diff --git a/site/download.md b/site/download.md index 5c6ba07..4be0c58 100644 --- a/site/download.md +++ b/site/download.md @@ -1,5 +1,5 @@ --- -title: Downloads +title: Download Libreboot x-toc-enable: true ... diff --git a/site/faq.md b/site/faq.md index 8a0e0db..f1e7d13 100644 --- a/site/faq.md +++ b/site/faq.md @@ -11,7 +11,7 @@ the [Libreboot 20240225 release](news/libreboot20240225.md#flashprog-now-used-in AKA Frequently Questioned Answers Disable security before flashing -================================ +-------------------------------- Before internal flashing, you must first disable `/dev/mem` protections. Make sure to re-enable them after you're finished. @@ -19,7 +19,7 @@ sure to re-enable them after you're finished. See: [Disabling /dev/mem protection](docs/install/devmem.md) Buy Libreboot pre-installed -============================= +--------------------------- If you want professional installation, Minifree Ltd sells [Libreboot pre-installed](https://minifree.org/) on select hardware, and it also provides @@ -30,20 +30,17 @@ Leah Rowe, the founder and lead developer of Libreboot, also owns and operates Minifree Ltd; sales provide funding for the Libreboot project. Important issues -================ +---------------- -How to compile libreboot from source ------------------------------------- +### How to compile libreboot from source Refer to the [lbmk build instructions](docs/build/). -How does the build system work? -------------------------------- +### How does the build system work? Refer to the [lbmk maintenance manual](docs/maintain/). -Do not use CH341A! ------------------- +### Do not use CH341A! This SPI flasher will damage your chip, and the mainboard that it is connected to. @@ -51,8 +48,7 @@ to. Read the notes about CH341A on [docs/install/spi.md](docs/install/spi.md) to learn more. -How Can I Help --------------- +### How Can I Help You do not need to be a skilled developer in order to help the project substantially. @@ -65,8 +61,7 @@ Testing involves minimal effort and really helps out the project. See the [board maintainers documentation](/docs/maintain/testing.md) if you are interested in testing roms before they are released. -Uneven backlight on GM45 ThinkPads ----------------------------------- +### Uneven backlight on GM45 ThinkPads We don't know how to detect the correct PWM value to use in coreboot, so we just use the default one in coreboot which has @@ -75,8 +70,7 @@ this issue on some CCFL panels, but not LED panels. You can work around this in your distribution, by following the notes at [docs: backlight control](../docs/misc/#finetune-backlight-control-on-intel-gpus). -GM45 thinkpad ethernet port doesn't autoconnect ------------------------------------------------ +### GM45 thinkpad ethernet port doesn't autoconnect This was observed on some systems using network-manager. This happens both on the original BIOS and in libreboot. It's a quirk in the @@ -92,8 +86,7 @@ On systemd-based distros, you might try: (the service name might be different for you, depending on your configuration) -PIKE2008 module hangs KGPE-D16 / KCMA-D8 ------------------------------------------ +### PIKE2008 module hangs KGPE-D16 / KCMA-D8 Loading the option ROM from the PIKE2008 module on either ASUS KCMA-D8 or KGPE-D16 causes the system to hang at boot. It's possible to use @@ -102,8 +95,7 @@ or to boot (with SeaGRUB and/or SeaBIOS) from regular SATA and then use it in Linux. The Linux kernel is capable of using the PIKE2008 module without loading the option ROM. -How to save kernel panic logs on thinkpad laptops? --------------------------------------------------- +### How to save kernel panic logs on thinkpad laptops? The easiest method of doing so is by using the kernel's netconsole and reproducing the panic. Netconsole requires two machines, the one that is @@ -168,23 +160,21 @@ the target (`target$`): 7. Try to reproduce the kernel panic. Hardware compatibility -====================== +---------------------- -What systems are compatible with libreboot? --------------------------------------------- +### What systems are compatible with libreboot? Any system can easily be added, so *compatibility* merely refers to whatever boards are integrated in the `lbmk` build system, which libreboot uses. The [installation page](docs/install/) lists compatible machines. -Freedom pitfalls with modern Intel hardware {#intel} ----------------------------------------------------- +### Freedom pitfalls with modern Intel hardware {#intel} Coreboot is nominally Free Software, but requires certain vendor code on some x86 targets that it supports, on both Intel and AMD. -### Intel Management Engine (ME) {#intelme} +#### Intel Management Engine (ME) {#intelme} NOTE: The information below is slightly out of date. Nowadays, Intel ME does not run on an ARC coprocessor, but instead runs on a modified Intel 486 based @@ -353,7 +343,7 @@ If you're stuck with the ME (non-libreboot system), you might find this interesting: -### Firmware Support Package (FSP) {#fsp} +#### Firmware Support Package (FSP) {#fsp} On all recent Intel systems, coreboot support has revolved around integrating a vendor file (for each system) called the *FSP* (firmware support @@ -367,7 +357,7 @@ Since the FSP is responsible for the early hardware initialization, that means it also handles SMM (System Management Mode). This is a special mode that operates below the operating system level. -### CPU microcode updates {#microcode} +#### CPU microcode updates {#microcode} The microcode configures logic gates in your CPU, to implement an instruction set architecture. Your CPU will already contain them, but it also supplies a @@ -393,8 +383,7 @@ The git repository for that project is here: Both the video and the repository give some further insight about CPU microcode. The way it works on AMD will be very similar to Intel. -Freedom pitfalls to consider on AMD hardware {#amd} ----------------------------------------------------------------------------- +### Freedom pitfalls to consider on AMD hardware {#amd} NOTE: Nowadays there's openSIL - it's AMD's attempt to provide some source code again, that projects like coreboot @@ -404,7 +393,7 @@ be "neutered" (nothing like `me_cleaner`, or *psp\_cleaner*) exists yet. AMD has more or less the same problem as Intel, when it comes to software freedom. -### AMD Platform Security Processor (PSP) +#### AMD Platform Security Processor (PSP) This is basically AMD's own version of the [Intel Management Engine](#intelme). It has all of the same basic security and freedom @@ -447,13 +436,13 @@ anecdotal reports indicate that AMD's boot guard counterpart will be used on most OEM hardware, disabled only on so-called "enthusiast" CPUs. -### AMD IMC firmware +#### AMD IMC firmware Read . NOTE: This section is oudated, and it is in need of cleanup. -### AMD SMU firmware +#### AMD SMU firmware NOTE: This section may be outdated, and it is in need of cleanup. @@ -471,7 +460,7 @@ and based on this work, Damien Zammit (another coreboot hacker) firmware, but on the relevant system (ASUS F2A85-M) there were still other such files present (Video BIOS, and others). -### AMD AGESA firmware +#### AMD AGESA firmware NOTE: More needs to be written about this, to reflect the current reality. The situation with AMD has evolved in recent years. The information on this FAQ @@ -483,7 +472,7 @@ project, releasing this as source code under a free license. In 2014, they stopped releasing source code and started releasing AGESA as vendor blobs instead. This makes AGESA now equivalent to [Intel FSP](#fsp). -### AMD CPU microcode updates +#### AMD CPU microcode updates Read the Intel section practically the same, though it was found with much later hardware in @@ -493,8 +482,7 @@ the updates are needed on all AMD boards (depends on CPU). The libreboot project does not consider microcode updates a problem, and it enables them by default on all supported hardware. -Hi, I have <insert random system here>, is it supported? --------------------------------------------------------------------------------------------------------- +### Hi, I have <insert random system here>, is it supported? If it's supported by coreboot, you can add it immediately. Read the [porting guide](/docs/maintain/porting.html) for how to port for a new board. @@ -505,15 +493,13 @@ If coreboot lacks support for your hardware, you must add support for it. Please consult the coreboot project for guidance. General questions -================= +----------------- -How do I install libreboot? -------------------------------------------------------- +### How do I install libreboot? See [installation guide](docs/install/) -How do I program an SPI flash chip? ---------------------------------------------------------------------------------- +### How do I program an SPI flash chip? Refer to:\ [Externally rewrite 25xx NOR flash via SPI protocol](docs/install/spi.md) @@ -521,8 +507,7 @@ Refer to:\ It's possible to use a 16-pin SOIC test clip on an 8-pin SOIC chip, if you align the pins properly. The connection is generally more sturdy. -How do I write-protect the flash chip? ----------------------------------------------------------------------------- +### How do I write-protect the flash chip? By default, there is no write-protection on a libreboot system. This is for usability reasons, because most people do not have easy access to an @@ -542,8 +527,7 @@ welcome to submit patches adding these instructions. TODO: Document PRx based flash protection on Intel platforms, and investigate other methods on AMD systems. -How do I change the BIOS settings? ------------------------------------------------------------------------- +### How do I change the BIOS settings? Most libreboot setups actually use the [GRUB payload](http://www.coreboot.org/GRUB2). More information about payloads @@ -577,8 +561,7 @@ To get a full list of available options, do this: This will change the default inside that ROM image, and then you can re-flash it. -How do I pad a ROM before flashing? -------------------------------------- +### How do I pad a ROM before flashing? It is advisable to simply use a larger ROM image. This section was written mostly for ASUS KCMA-D8 and KGPE-D16 mainboards, where previously we only @@ -617,8 +600,7 @@ padded 16MiB image do the following: With padding removed cbfstool will be able to operate on the image as usual. -Do I need to install a bootloader when installing a distribution? ------------------------------------------------------------------ +### Do I need to install a bootloader when installing a distribution? Most libreboot setups integrate the GRUB bootloader already, as a *[payload](http://www.coreboot.org/Payloads)*. This means that the GRUB @@ -636,8 +618,7 @@ Nowadays, other payloads are also provided. If you're using the SeaBIOS payload, then the normal MBR bootsector is used on your HDD or SSD, like you would expect. So the above paragraphs only apply to the GRUB payload. -Do I need to re-flash when I re-install a distribution? -------------------------------------------------------- +### Do I need to re-flash when I re-install a distribution? Not anymore. Recent versions of libreboot (using the GRUB payload) will automatically switch to a GRUB configuration on the HDD or SSD, if it @@ -649,14 +630,13 @@ more information, see If you're using the SeaBIOS payload, it's even easier. It works just like you would expect. SeaBIOS implements a normal x86 BIOS interface. -What does a flash chip look like? ------------------------------------------------------------------ +### What does a flash chip look like? You can find photos of various chip types on the following page:\ [External 25xx NOR flashing guide](docs/install/spi.md) Inability to load `thinkpad_acpi` on post-haswell systems {#thinkpad-acpi} -========================================================================== +-------------------------------------------------------------------------- Reported by a user on Debian 11 (on a ThinkPad T440p) and a user on Void Linux (ThinkPad T480), Linux (or modprobe) may fail to load @@ -697,8 +677,7 @@ thinkpad_acpi.force_load=1 to your kernel parameters (in GRUB, or your preferred linux-capable bootloader). -tlp ---- +### tlp You can install the `tlp` package and start that service. For example, on Debian: @@ -724,7 +703,7 @@ tlp-stat -b This will provide information about the battery. What other firmware exists outside of libreboot? -================================================== +------------------------------------------------ You can also read information about these in the [libreboot binary blob reduction policy](news/policy.md), where it goes into more detail about some @@ -940,10 +919,9 @@ Use of ethernet or wifi is recommended, as opposed to mobile networks, as these are generally much safer. Operating Systems -================= +----------------- -Can I use Linux? --------------------------------------------------- +### Can I use Linux? Absolutely! It is well-tested in libreboot, and highly recommended. See [installing Linux](../docs/linux/grub_boot_installer.md) and @@ -952,15 +930,13 @@ Absolutely! It is well-tested in libreboot, and highly recommended. See Any recent distribution should work, as long as it uses KMS (kernel mode setting) for the graphics. -Fedora won't boot? (may also be applicable to Redhat/CentOS) ------------------------------------------------------------ +### Fedora won't boot? (may also be applicable to Redhat/CentOS) On Fedora, by default the grub.cfg tries to boot linux in 16-bit mode. You just have to modify Fedora's GRUB configuration. Refer to [the Linux page](docs/linux/). -Can I use BSD? ----------------------------------- +### Can I use BSD? Absolutely! The libreboot firmware has good support for FreeBSD, NetBSD and OpenBSD. Other systems are untested, but should work just fine. @@ -968,8 +944,7 @@ OpenBSD. Other systems are untested, but should work just fine. See: [docs/bsd/](docs/bsd/) -Windows?? ---------- +### Windows?? Yes, you can use Windows 10 and 11. They are not officially supported and the Libreboot project recommends that you *avoid* this choice, because Windows is @@ -1006,13 +981,12 @@ SeaBIOS, with the coreboot framebuffer initialised at startup, on an Intel GPU initialised via coreboot's *libgfxinit*, on November 2023 versions of Libreboot. We do not yet support booting with UEFI on x86 machines. -Are other operating systems compatible? -------------------------------------------------------------------- +### Are other operating systems compatible? Unknown. Perhaps so, but it's impossible to say without further testing. What level of software freedom does libreboot give me? -=================================================== +-------------------------------------------------- Please read the [libreboot binary blob minimalisation policy](news/policy.md). @@ -1062,7 +1036,7 @@ exist, for example, the work done by Sam Zeloof and the Libre Silicon project: (Sam literally makes CPUs in his garage) Where can I learn more about electronics -========================================== +---------------------------------------- * Basics of soldering and rework by PACE Both series of videos are mandatory regardless of your soldering skill. diff --git a/site/faq.uk.md b/site/faq.uk.md index dc3d784..5974ae3 100644 --- a/site/faq.uk.md +++ b/site/faq.uk.md @@ -11,7 +11,7 @@ the [Libreboot 20240225 release](news/libreboot20240225.md#flashprog-now-used-in Також відомо як Відповіді на часті питання Buy Libreboot pre-installed -========== +------------------------- If you want professional installation, Minifree Ltd sells [Libreboot pre-installed](https://minifree.org/) on select hardware, and it also provides @@ -22,20 +22,17 @@ Leah Rowe, the founder and lead developer of Libreboot, also owns and operates Minifree Ltd; sales provide funding for the Libreboot project. Важливі питання -================ +--------------- -Як скомпілювати libreboot з джерельного коду ------------------------------------- +### Як скомпілювати libreboot з джерельного коду Зверніться до [інструкцій зі збірки lbmk](docs/build/index.uk.md). -Як працює система збірки? -------------------------------- +### Як працює система збірки? Зверніться до [посібника з обслуговування lbmk](docs/maintain/). -Не використовуйте CH341A! ------------------- +### Не використовуйте CH341A! Цей програматор SPI пошкодить ваш чіп і материнську плату, до якої він підключений. @@ -43,8 +40,7 @@ operates Minifree Ltd; sales provide funding for the Libreboot project. Прочитайте примітки щодо CH341A на [docs/install/spi.md](docs/install/spi.md), щоб вивчити більше. -Flashrom скаржиться на доступ DEVMEM --------------------------------------- +### Flashprog скаржиться на доступ DEVMEM Якщо запущено `flashprog -p internal` для програмної перепрошивки та ви отримуєте помилку, пов'язану з доступом до /dev/mem, вам слід перезавантажити систему з @@ -64,8 +60,7 @@ Error accessing DMI Table, 0x1000 bytes at 0x000000007fb27000 /dev/mem mmap failed: Operation not permitted ``` -Підсвічування в лівій частині екрана стає темнішим ---------------------------------------------------------------------------------------------------------------- +### Підсвічування в лівій частині екрана стає темнішим Ми не знаємо, як визначити правильне значення ШІМ для використання в coreboot, тому ми просто використовуємо стандартне в coreboot, який має @@ -74,8 +69,7 @@ coreboot, тому ми просто використовуємо стандар Ви можете вирішити цю проблему у своєму дистрибутиві, дотримуючись приміток на [документація: контроль підсвічуванням](../docs/misc/#finetune-backlight-control-on-intel-gpus). -Ethernet не працює на моєму X200/T400/X60/T60, коли я його підключаю -------------------------------------------------------------------- +### Ethernet не працює на моєму X200/T400/X60/T60, коли я його підключаю Це спостерігалося в деяких системах, які використовують network-manager. Таке буває як в оригінальному BIOS, так і в libreboot. Це примха в @@ -91,8 +85,7 @@ Ethernet не працює на моєму X200/T400/X60/T60, коли я йог (назва служби може відрізнятися для вас, залежно від вашої конфігурації) -Мій KCMA-D8 або KGPE-D16 не завантажується з встановленим модулем PIKE2008 ------------------------------------------------------------------------ +### Мій KCMA-D8 або KGPE-D16 не завантажується з встановленим модулем PIKE2008 **Материнські плати KGPE-D16, KCMA-D8 та KFSN4-DRE ASUS було видалено 19 листопада 2022. Ви все ще можете використовувати старіші версії Libreboot, і випуски @@ -105,8 +98,7 @@ Ethernet не працює на моєму X200/T400/X60/T60, коли я йог це в Linux. Ядро Linux здатне використовувати PIKE2008 модуль без завантаження Option ROM. -Як зберегти журнали паніки ядра на ноутбуках Thinkpad? --------------------------------------------------- +### Як зберегти журнали паніки ядра на ноутбуках Thinkpad? Найпростіший спосіб зробити це за допомогою netconsole ядра і відтворення паніки. Netconsole вимагає двох машин, тієї, що є @@ -171,23 +163,21 @@ Ethernet не працює на моєму X200/T400/X60/T60, коли я йог 7. Спробуйте відтворити паніку ядра. Апаратна сумісність -====================== +------------------- -Які системи сумісні з libreboot? ------------------------------------------------------------------------------------ +### Які системи сумісні з libreboot? Будь-яку систему можна легко додати, тому *сумісність* посилається до будь-якої інтегрованої до системи побудови `lbmk` плати, яку libreboot використовує. The [installation page](docs/install/) lists compatible machines. -Пастки свободи з сучасним обладнанням Intel {#intel} ----------------------------------------------------- +### Пастки свободи з сучасним обладнанням Intel {#intel} Coreboot номінально є вільним програмним забезпеченням, але для більшості x86 цілей, які він підтримує, потрібні двійкові блоби, як на Intel, так і на AMD. -### Intel Management Engine (ME) {#intelme} +#### Intel Management Engine (ME) {#intelme} ПРИМІТКА: Інформація нижче трохи застаріла. Зараз Intel ME не працює на співпроцесорі ARC, а працює на архітектурі модифікованого процесора Intel 486, @@ -357,7 +347,7 @@ Revealed (Розкрито вбудовану технологію безпек цікавим: -### Firmware Support Package (FSP) {#fsp} +#### Firmware Support Package (FSP) {#fsp} У всіх останніх системах Intel, підтримка coreboot обертається навколо інтеграції блоба (для кожної системи) під назвою *FSP* (Firmware Support Package, пакет підтримки @@ -376,7 +366,7 @@ Revealed (Розкрито вбудовану технологію безпек руткітів SMM було продемонстровано в природі (використайте пошукову систему, щоб знайти їх). -### Оновлення мікрокода ЦП {#microcode} +#### Оновлення мікрокода ЦП {#microcode} Мікрокод налаштовує логічні вентилі у вашому ЦП, щоб реалізувати архітектуру набору інструкцій. Ваш ЦП уже містить їх, але він також надає спосіб оновлення @@ -400,8 +390,7 @@ Revealed (Розкрито вбудовану технологію безпек І відео, і репозиторій дають деяку додаткову інформацію про мікрокод ЦП. Те, як це працює на AMD, буде дуже схожим на Intel. -Підводні камені свободи, які слід враховувати на апаратному забезпеченні AMD {#amd} ----------------------------------------------------------------------------- +### Підводні камені свободи, які слід враховувати на апаратному забезпеченні AMD {#amd} ПРИМІТКА: В ці дні є openSIL - це спроба AMD надати деякий джерельний код знову, який проекти, подібні coreboot @@ -411,7 +400,7 @@ Revealed (Розкрито вбудовану технологію безпек AMD має більш-менш ту саму проблему, що й Intel, коли справа стосується свободи програмного забезпечення. -### AMD Platform Security Processor (PSP) +#### AMD Platform Security Processor (PSP) По суті, це власна версія [Intel Management Engine](#intelme) від AMD. Він має ті самі базові проблеми безпеки та свободи, @@ -454,13 +443,13 @@ Management Engine), PSP від AMD також може діяти як тира на більшості апаратного забезпечення OEM, відключений лише на так званих процесорах "ентузіастів". -### Прошивка AMD IMC +#### Прошивка AMD IMC Прочитайте . ПРИМІТКА: Ця секція є застарілою, та потребує очищення. -### Прошивка AMD SMU +#### Прошивка AMD SMU ПРИМІТКА: Ця секція є застарілою, та потребує очищення. @@ -478,7 +467,7 @@ Management Engine), PSP від AMD також може діяти як тира прошивкою, але у відповідній системі (ASUS F2A85-M) все ще були присутні інші блоби (Відео BIOS та інші). -### Прошивка AMD AGESA +#### Прошивка AMD AGESA ПРИМІТКА: Більше має бути написано про це, щоб відобразити сучасну реальність. Ситуація з AMD в останні роки змінилась. Інформація на цій сторінці поширених @@ -490,7 +479,7 @@ Management Engine), PSP від AMD також може діяти як тира вони припинили випускати джерельний код і замість цього почали випускати AGESA у вигляді бінарних блобів. Це робить AGESA еквівалентом [Intel FSP](#fsp). -### Оновлення мікрокоду ЦП AMD +#### Оновлення мікрокоду ЦП AMD Прочитайте розділ Intel практично так само, хоча було виявлено, що з набагато пізнішим апаратним забезпеченням @@ -501,7 +490,7 @@ AMD можна працювати без оновлень мікрокоду. Н вмикає їх за замовчуванням на всьому апаратному забезпеченні, яке підтримується. -### AMD не співпрацює +#### AMD не співпрацює Здавалося, що AMD була на правильному шляху в 2011 році, коли вони почала співпрацювати та випускати джерельний код для кількох критичних @@ -528,8 +517,7 @@ Family 15h (на стороні AMD) або будь-яке інше, випущ Це також стосується викривачів або будь-кого, кому потрібна справжня конфіденційність та безпека. -Привіт, у мене <вставте сюди випадкову систему>, чи підтримується вона? --------------------------------------------------------------------------------------------------------- +### Привіт, у мене <вставте сюди випадкову систему>, чи підтримується вона? Якщо вона підтримується coreboot, ви можете додати її негайно. Прочитайте [посібник з перенесення](/docs/maintain/porting.html) про перенесення нової плати. @@ -540,15 +528,13 @@ Family 15h (на стороні AMD) або будь-яке інше, випущ Будь ласка, проконсультуйтесь з проектом coreboot для наставництва. Загальні питання -================= +---------------- -Як встановити libreboot? -------------------------------------------------------- +### Як встановити libreboot? Подивіться [посібник з встановлення](docs/install/) -Як запрограмувати флеш-чіп SPI? ---------------------------------------------------------------------------------- +### Як запрограмувати флеш-чіп SPI? Зверніться до:\ [Зовнішній перезапис 25xx NOR flash через протокол SPI](docs/install/spi.md) @@ -556,8 +542,7 @@ Family 15h (на стороні AMD) або будь-яке інше, випущ Можна використовувати 16-контактний затискач SOIC на 8-контактній мікросхемі SOIC, якщо правильно впорядкувати контакти. Як правило, з'єднання більш міцне. -Як захистити флеш-чіп від запису? ----------------------------------------------------------------------------- +### Як захистити флеш-чіп від запису? За замовчуванням немає захисту від запису на системі libreboot. Це з міркувань зручності використання, оскільки більшість людей не мають легкого доступу до зовнішнього @@ -577,8 +562,7 @@ Family 15h (на стороні AMD) або будь-яке інше, випущ ЗРОБИТИ: Задокументувати захист флеш-пам'яті на основі PRx на платформах Intel і дослідити інші методи на системах AMD. -Як змінити налаштування BIOS? ------------------------------------------------------------------------- +### Як змінити налаштування BIOS? Більшість налаштувань libreboot насправді використовує [корисне навантаження GRUB](http://www.coreboot.org/GRUB2). Більше інформації про корисні навантаження @@ -612,8 +596,7 @@ coreboot вікі для більшої інформації. Це змінить за замовчуванням всередині образа ROM, і потім ви можете перепрошити його. -Як заповнити ROM перед перепрошивкою? --------------------------------------- +### Як заповнити ROM перед перепрошивкою? Бажано просто використовувати більший образ ROM. Цей розділ був написаний здебільшого для материнських плат ASUS KCMA-D8 та KGPE-D16, де раніше ми надавали @@ -652,8 +635,7 @@ ROM та флеш-чіпом. Випадок вище, наприклад: Після видалення заповнення cbfstool зможе працювати із образом як зазвичай. -Чи потрібно встановлювати завантажувач під час встановлення дистрибутива? ---------------------------------------------------------------------------------------------------- +### Чи потрібно встановлювати завантажувач під час встановлення дистрибутива? Більшість налаштувань libreboot уже інтегрують завантажувач GRUB як *[корисне навантаження](http://www.coreboot.org/Payloads)*. Це означає, що завантажувач GRUB @@ -671,8 +653,7 @@ HDD або SSD під час встановлення нового дистри тоді на вашому HDD або SSD використовується звичайний завантажувальний сектор MBR, як і слід було очікувати. Отже, наведені вище параграфи стосуються лише корисного навантаження GRUB. -Чи потрібно мені перепрошивати, коли я перевстановлю дистрибутив? -------------------------------------------------------------------------------------------- +### Чи потрібно мені перепрошивати, коли я перевстановлю дистрибутив? Більше ні. Останні версії libreboot (з використанням корисного навантаження GRUB) автоматично переключатимуться на конфігурацію GRUB на HDD або SSD, якщо @@ -684,14 +665,13 @@ GRUB (наприклад, флеш-накопичувач USB). Для Якщо ви використовуєте корисне навантаження SeaBIOS, це ще простіше. Це працює так, як ви очікували. SeaBIOS реалізує звичайний інтерфейс x86 BIOS. -Як виглядає флеш-чіп? ------------------------------------------------------------------ +### Як виглядає флеш-чіп? Ви можете знайти фотографії різних видів чипів на наступній сторінці:\ [Керівництво зовнішньої прошивки 25xx NOR](docs/install/spi.md) Неможливість виконати modprobe thinkpad\_acpi на Haswell -=============================================== +-------------------------------------------------------- This pertains to ThinkPad T480, T440p and W541. @@ -716,8 +696,7 @@ modprobe: ERROR: could not insert 'thinkpad_acpi': "No such device" options thinkpad_acpi force_load=1 ``` -tlp ---- +### tlp Ви можете встановити пакет `tlp` та розпочати той сервіс. Наприклад, на Debian: @@ -743,13 +722,13 @@ tlp-stat -b Це надасть інформацію про батарею. Яке ще мікропрограмне забезпечення існує за межами libreboot? -================================================== +------------------------------------------------------ Ви можете також прочитати інформацію про цих в [політиці мінімізації бінарних блобів libreboot](news/policy.uk.md), де вона розповідає в більших подробицях про деяких із них. -### Зовнішні графічні карти +#### Зовнішні графічні карти Відео BIOS наявний на більшості графічних карт. Для інтегрованої графіки VBIOS (спеціальний вид OptionROM) зазвичай вбудовано @@ -765,7 +744,7 @@ libreboot буде використовувати цей код, коли він В конфігураціях, де SeaBIOS і власна ініціалізація GPU використовуються разом, додається спеціальна прокладка VBIOS, яка використовує лінійний кадровий буфер coreboot. -### Прошивка EC (вбудований контролер) +#### Прошивка EC (вбудований контролер) Це є у більшості (всіх?) ноутбуків. EC (вбудований контролер) - це невеликий, окремий процесор, який в основному обробляє вхідні/вихідні дані, характерні @@ -785,7 +764,7 @@ libreboot буде використовувати цей код, коли він EC присутній ледь не на всіх ноутбуках. Інші пристрої використовують, залежно від складності, або EC, або варіант із прошивкою в Mask ROM - SuperIO. -### Прошивка HDD/SSD +#### Прошивка HDD/SSD Жорсткі диски та твердотільні накопичувачі містять вбудоване програмне забезпечення, призначене для обробки внутрішньої роботи пристрою, водночас відкриваючи простий, стандартний інтерфейс (наприклад, @@ -885,7 +864,6 @@ SATA через USB, і проект Libreboot здатний завантажу звичайним чином. Проконсультуйтесь з документацією для вашої операційної системи Linux/BSD, щоб знати те, як встановити їх з *повнодисковим шифруванням*: - Поточна теорія (недоведена) полягає в тому, що це принаймні запобіжить зловмисним дискам неправильно маніпулювати даними, які зчитуються з диска або записуються на диск, оскільки він не може отримати доступ до вашого ключа LUKS, @@ -895,7 +873,7 @@ SATA через USB, і проект Libreboot здатний завантажу **Сприймайте сказане в цьому абзаці з дрібкою солі. Це все ще обговорюється і нічого з цього не доведено.** -### NIC (контролер ethernet) +#### NIC (контролер ethernet) Мережеві карти Ethernet зазвичай запускають вбудоване програмне забезпечення, яке відповідає за внутрішню ініціалізацію пристрою. Теоретично його можна налаштувати @@ -904,7 +882,7 @@ SATA через USB, і проект Libreboot здатний завантажу З належним IOMMU можна було би пом'якшити проблеми, пов'язані з DMA. Також можна використовувати мережевий адаптер USB, який не має DMA. -### Мікрокод процесора +#### Мікрокод процесора Мікрокод налаштовує масиви логічних вентилів у мікропроцесорі для реалізації архітектури набору інструкцій. Спеціальні *декодери* в мікропроцесорі налаштують @@ -913,13 +891,13 @@ SATA через USB, і проект Libreboot здатний завантажу [Політика зменшення блобів libreboot](news/policy.uk.md) докладно описує мікрокод. -### Звукова карта +#### Звукова карта Звукове обладнання (інтегроване чи дискретне) зазвичай має вбудоване програмне забезпечення (DSP) для обробки введення/виведення. Знову ж таки, USB DAC є хорошим обхідним шляхом. -### Веб-камера +#### Веб-камера Веб-камери мають вбудоване програмне забезпечення, яке обробляє зображення, що вводиться в камеру; налаштування фокуса, балансу білого тощо. Можна використовувати апаратне забезпечення @@ -927,12 +905,12 @@ SATA через USB, і проект Libreboot здатний завантажу (наприклад, на ноутбуках) не рекомендовані проектом libreboot з міркувань безпеки. -### Хост-контролер USB +#### Хост-контролер USB Хост-контролери USB потребують мікропрограми. Іноді це потрібно надати самому coreboot. -### Прошивка WWAN +#### Прошивка WWAN Деякі ноутбуки можуть мати пристрій для зчитування SIM-карт із карткою для роботи з WWAN, підключення до мережі 3g/4g (наприклад, GSM). Це та @@ -959,10 +937,9 @@ WWAN, підключення до мережі 3g/4g (наприклад, GSM). оскільки вони, як правило, набагато безпечніші. Операційні системи -================= +------------------ -Чи я можу використовувати Linux? --------------------------------------------------- +### Чи я можу використовувати Linux? Абсолютно! Він добре перевірений в libreboot, та дуже рекомендований. Подивіться [встановлення Linux](../docs/linux/grub_boot_installer.md) та @@ -971,15 +948,13 @@ WWAN, підключення до мережі 3g/4g (наприклад, GSM). Будь-який сучасний дистрибутив має працювати, допоки він використовує KMS (kernel mode setting) для графіки. -Fedora не завантажується? (також може бути застосовано до Redhat/CentOS) ------------------------------------------------------------ +### Fedora не завантажується? (також може бути застосовано до Redhat/CentOS) У Fedora типово grub.cfg намагається завантажити linux в 16-розрядному режимі. Вам просто потрібно змінити конфігурацію GRUB Fedora. Зверніться до [сторінки Linux](docs/linux/). -Чи я можу використовувати BSD? ----------------------------------- +### Чи я можу використовувати BSD? Абсолютно! Прошивка libreboot має добру підтримку для FreeBSD, NetBSD та OpenBSD. Інші системи не перевірені, але мають працювати нормально. @@ -987,8 +962,7 @@ OpenBSD. Інші системи не перевірені, але мають п Дивіться: [docs/bsd/](docs/bsd/index.uk.md) -Windows?? ---------- +### Windows?? Yes, you can use Windows 10 and 11. They are not officially supported and the Libreboot project recommends that you *avoid* this choice, because Windows is @@ -1025,13 +999,12 @@ SeaBIOS, with the coreboot framebuffer initialised at startup, on an Intel GPU initialised via coreboot's *libgfxinit*, on November 2023 versions of Libreboot. We do not yet support booting with UEFI on x86 machines. -Чи підтримуються інші операційні системи? -------------------------------------------------------------------- +### Чи підтримуються інші операційні системи? Невідомо. Можливо, але неможливо сказати без подальшого випробовування. Який рівень програмної свободи дає мені libreboot? -=================================================== +-------------------------------------------------- Будь ласка, прочитайте [політику мінімізації бінарних блобів libreboot](news/policy.uk.md). @@ -1077,7 +1050,7 @@ We do not yet support booting with UEFI on x86 machines. (Сем буквально робить процесори в своєму гаражі) Де я можу вивчати більше про електроніку -========================================== +---------------------------------------- * Основи пайки та переробки від PACE Обидві серії відео є обов'язковими незалежно від ваших навичок паяння. diff --git a/site/freedom-status.md b/site/freedom-status.md index 738785c..2568f92 100644 --- a/site/freedom-status.md +++ b/site/freedom-status.md @@ -3,11 +3,11 @@ title: Software and hardware freedom status for each mainboard supported by Libr x-toc-enable: true ... -Introduction -============ +Free as in freedom +------------------ -This page documents how Libreboot's [binary blob reduction -policy](news/policy.md), adopted in November 2022, is implemented in practise, +This page documents how Libreboot's [Binary Blob Reduction +Policy](news/policy.md), adopted in November 2022, is implemented in practise, especially that line which says: *"if free software can be used, it must be used."* @@ -38,15 +38,14 @@ possible* for normal, non-technical users who like the idea of coreboot but who are otherwise not competent to configure it from scratch. Such harm was *corrected*, in November 2022. -Coreboot architecture ---------------------- +### Coreboot architecture For context about certain topics, please read: 100% libre init in coreboot -=========================== +--------------------------- The reason this distinction matters (referring specifically to coreboot's side of the initialisation) will become clearer, in the following sections: @@ -62,10 +61,9 @@ are **OK**](news/policy.md#more-detailed-insight-about-microcode) excluded, alongside default ones with microcode included.](news/microcode.md) Intel platforms -=============== +--------------- -Descriptor vs descriptorless setup ----------------------------------- +### Descriptor vs descriptorless setup Libreboot supports several mainboards using Intel platforms. Of these, there are essentially two class of machine (for the purposes of this article): @@ -116,8 +114,7 @@ datasheets, but those datasheets often contain *reserved* sections where parts are left undocumented. Reverse engineering efforts over the years have documented some of these blank spots. -Libreboot does *not* distribute Intel ME images ------------------------------------------------ +### Libreboot does *not* distribute Intel ME images Libreboot does *not* distribute the Intel ME firmware in any way, whether in the Git repository or in releases. Where it is needed, Libreboot provides @@ -151,8 +148,7 @@ The ME firmware is *required* on almost all Intel platforms, or the machine will turn *off* after 30 minutes (or it will not boot, if the ME also controls whether the CPU comes out of reset). -More about Intel ME removal/disabling ----------------------------------- +### More about Intel ME removal/disabling *Libreboot* provides a way to fully remove the ME firmware, while retaining full use of the machine, on GM45 platforms with ICH9M southbridge. These are @@ -165,10 +161,9 @@ specifically written by Leah Rowe, in 2014 and improved incrementally since. On newer platforms as alluded to above, `me_cleaner` is used instead. Notes about specific types of vendor file -=================================== +----------------------------------------- -VGA option ROMs ---------------- +### VGA option ROMs *Native* video initialisation is supported and *enabled*, for all supported Intel platforms that have it. The source code is provided by coreboot, under @@ -200,8 +195,7 @@ of the following paragraph in Libreboot policy: libreboot is to be configurable, allowing the user to do whatever they like."* - configurable, it most certainly is! See: [docs/maintain/](docs/maintain/) -Memory controller initialisation --------------------------------- +### Memory controller initialisation Libreboot has *fully libre* initialisation available for all Intel memory controllers up to and including Haswell (ThinkPad T440p @@ -209,7 +203,7 @@ and W541) as of Libreboot 20230319 or higher; on Broadwell, Intel MRC is used and on Skylake/newer, FSP-M is used. ARM platforms (chromebooks) -============= +--------------------------- Mostly free software, except for the requirement on `daisy` and `peach` mainboards to include BL1 bootloader files from the vendor. These are: @@ -223,7 +217,7 @@ to include BL1 bootloader files from the vendor. These are: Libreboot List of vendor files, specifically for each board -================================================= +------------------------------------------------- This article has thoroughly explained, in a detailed overview, the precise nature as to *what* vendor files are accomodated for in Libreboot. Again, @@ -234,10 +228,9 @@ the main flash IC which (in some cases) contains software outside of coreboot. Here is a list, *for each* board, of those files: -Intel/x86 ---------- +### Intel/x86 -### Intel ME: +#### Intel ME: Neutered ME required on these targets: @@ -251,7 +244,7 @@ disabled. This is done using `me_cleaner`. See: On MEv11-based platforms, such as the ThinkPad T480 and Dell OptiPlex 3050 Micro, we also use [deguard](docs/install/deguard.md) to disable the Intel Boot Guard. -### KBC1126 EC firmware (HP laptops): +#### KBC1126 EC firmware (HP laptops): This applies to the following targets: `hp2170p_16mb`, `hp2560p_8mb`, `hp2570p_16mb`, `hp8470pintel_16mb`, `hp9470m_16mb`. @@ -265,7 +258,7 @@ it during the build process. Libreboot 20230423 onwards does scrub EC firmware and provide functionality in a special script, to insert them with `cbfstool` at the correct offset as defined by coreboot config for each board. -### Intel FSP +#### Intel FSP Provides romstage and raminit, used by coreboot on some boards. In Libreboot, we use it for the following build targets: @@ -273,11 +266,11 @@ we use it for the following build targets: `t480_fsp_16mb`, `t480_vfsp_16mb`, `t480s_fsp_16mb`, `t480s_vfsp_16mb`, `dell3050micro_fsp_16mb`, `dell3050micro_vfsp_16mb` -### SMSC SCH5545 Environmental Control +#### SMSC SCH5545 Environmental Control This is a tiny firmware required for fan control, on Dell Precision T1650. -### CPU microcode: +#### CPU microcode: [*Microcode* updates](faq.md#microcode) for CPU provided on *all* x86 platforms, by default. Not @@ -302,7 +295,7 @@ CPU microcode files included by default, on all x86 boards. While not needed in most cases, their use is highly recommended. For reasons why, see: [news/policy.md#more-detailed-insight-about-microcode](news/policy.md#more-detailed-insight-about-microcode) -### Intel Flash Descriptor (IFD): +#### Intel Flash Descriptor (IFD): Intel Flash Descriptors are provided as blobs on some boards, but these are not *software* blobs. They are configurations provided in a binary format, @@ -322,10 +315,9 @@ Intel GbE NVM config (configuration data, binary-encoded, for gigabit NIC): for Intel NICs used in GM45 thinkpads. * Libreboot's `nvmutil` program can manipulate GbE NVM images -ARM/chromebooks ---------------- +### ARM/chromebooks -### BL1 bootloader (peach/daisy): +#### BL1 bootloader (peach/daisy): BL1 bootloader needed on: `daisy_snow`, `daisy_spring` and `peach_pit`. @@ -334,7 +326,7 @@ because the build system does not yet auto-insert the BL1 files. The boards are otherwise believed to work, using Alper's port of U-Boot in Libreboot. Conclusion -========== +---------- From the above, you can see that Libreboot really *does* implement a *binary blobs reduction policy*, with the emphasis on *reduction* being most critical. @@ -348,8 +340,7 @@ power that proprietary software developers have over users. I hope this article provided food for thought. -An aside: hardware freedom --------------------------- +### An aside: hardware freedom None of the currently supported Libreboot machines have libre *hardware*, in the sense that ICs do not come with publicly available *verilog* files and the @@ -361,7 +352,7 @@ them yourself; one day, the Right To Repair movement will hopefully bring about universal access to such documents by the public. Further reading -=============== +--------------- This article has described code what goes in the *main boot flash*, but any computer you buy will have *tons* of firmware elsewhere in the system. Some diff --git a/site/freedom-status.uk.md b/site/freedom-status.uk.md index 92df089..7081ac7 100644 --- a/site/freedom-status.uk.md +++ b/site/freedom-status.uk.md @@ -4,7 +4,7 @@ x-toc-enable: true ... Вступ -============ +---------- Коротка версія історії: *всі* плати, які наразі підтримуються Libreboot можна ініціалізувати в coreboot з *вільним*, *поважаючим свободу* або *з відкритим джерелом* кодом, який @@ -46,8 +46,7 @@ Libreboot досі має суворі стандарти про те, *які* реалізовує цю *політику зменшення блобів*, особливо в тому рядку в ній, який каже, цитата, "якщо блоб можна уникнути, його необхідно уникнути". -Чому це має значення? ---------------------- +### Чому це має значення? *Практичною метою* проекта Libreboot є підтримка якомога більшої кількості апаратного забезпечення підтримки coreboot, повністю протестованого з попередньо зібраними образами ROM @@ -78,8 +77,7 @@ raminit на даній платі, блоб було би надано Libreboo Будь ласка, прочитайте документ, названий: [Політика зменшення бінарних блобів](news/policy.uk.md).* -Архітектура Coreboot ---------------------- +### Архітектура Coreboot Хоча не *суворо* необхідно для не-розробників, Ви можете знайти корисним набуття розуміння на високому рівні того, *як* працює coreboot, для набуття @@ -88,7 +86,7 @@ raminit на даній платі, блоб було би надано Libreboo 100% вільна ініціалізація coreboot -=========================== +---------------------------- *Всі* плати, які наразі підтримуються Libreboot можуть мати 100% вільну ініціалізацію *зі сторони coreboot*. В цьому контексті, це має на увазі @@ -112,10 +110,9 @@ raminit на даній платі, блоб було би надано Libreboo excluded, alongside default ones with microcode included.](news/microcode.md) Платформи Intel -=============== +-------------- -Дескрипторне проти бездескрипторного налаштування ----------------------------------- +### Дескрипторне проти бездескрипторного налаштування Libreboot підтримує декілька материнських плат, які використовують платформи Intel. Серед них існує суттєво два класи машин (для цілей цієї статті): @@ -173,8 +170,7 @@ Libreboot підтримує декілька материнських плат, частини залишені незадокументованими. Зусилля зворотної розробки протягом років задокументували деякі з цих прогалин. -Libreboot *не* розповсюджує образи Intel ME ------------------------------------------------ +### Libreboot *не* розповсюджує образи Intel ME ME містить багато модулів в собі, і один з цих модулів це код BringUp. Цей код BringUp є *власною* прошивкою ініціалізації ME, @@ -218,8 +214,7 @@ Git, ні в випусках. Де необхідно, Libreboot надає Intel ME вимкне той час скидання в 30 хвилин, дозволяючи вам використовувати ваш комп'ютер нормально, навіть незважаючи на те, що ME *не* виконує нічого після цього. -Нейтралізований ME дійсно є вимкненим ------------------------------- +### Нейтралізований ME дійсно є вимкненим Зважайте на це: якщо ME тільки робить свій власний BringUp, але потім не виконує нічого, чи це дійсно щось більше ніж незначний відтік часу життя вашої @@ -245,8 +240,7 @@ Intel ME вимкне той час скидання в 30 хвилин, доз зважає нейтралізовані налаштування ME прийнятними, обидва з перспективи безпеки та перспективи свободи програмного забезпечення. -Більше про видалення/вимкнення Intel ME ----------------------------------- +### Більше про видалення/вимкнення Intel ME *Libreboot* надає шлях повністю видалити прошивку ME, зберігаючи повне використання машини, на платформах GM45 з південним мостом ICH9M. Це @@ -258,7 +252,7 @@ Intel ME вимкне той час скидання в 30 хвилин, доз Option ROM VGA -============ +------------- *Нативна* ініціалізація відео підтримується та *увімкнена*, для всіх платформ Intel, які підтримуються, що мають її. Джерельний код надано coreboot, під @@ -289,8 +283,7 @@ T440p ідуть з обома графічними картками Intel та libreboot є налаштовуваним, дозволяючи користувачу робити все, що заманеться."* - налаштовуваний, напевно! Дивіться: [docs/maintain/](docs/maintain/) -Memory controller initialisation --------------------------------- +### Memory controller initialisation Libreboot has *fully libre* initialisation available for all Intel memory controllers up to and including Haswell (ThinkPad T440p @@ -298,7 +291,7 @@ and W541) as of Libreboot 20230319 or higher; on Broadwell, Intel MRC is used and on Skylake/newer, FSP-M is used. Платформи ARM (chromebook) -============= +----------------------- В більшості без блобів, за вийнятком вимоги на материнських платах `daisy` та `peach` включати блоби завантажувача BL1. Це: @@ -314,7 +307,7 @@ Libreboot *наразі* не розміщує ці блоби взагалі, наразі бракує на веб-сайті Libreboot. Список необхідних блобів, конкретно для кожної плати -================================================= +-------------------------------------------------- Ця стаття ретельно пояснила, в деталізованому огляді, точний характер того, *які* бінарні блоби розміщуються в Libreboot. Знову, @@ -325,10 +318,9 @@ Libreboot *наразі* не розміщує ці блоби взагалі, Ось список, *для кожної* плати, цих блобів: -Intel/x86 ---------- +### Intel/x86 -### Intel ME: +#### Intel ME: Нейтралізований ME потрібен на цих цілях: @@ -342,7 +334,7 @@ Intel/x86 On MEv11-based platforms, such as the ThinkPad T480 and Dell OptiPlex 3050 Micro, we also use [deguard](docs/install/deguard.md) to disable the Intel Boot Guard. -### KBC1126 EC firmware (HP laptops): +#### KBC1126 EC firmware (HP laptops): This applies to the following targets: `hp2170p_16mb`, `hp2560p_8mb`, `hp2570p_16mb`, `hp8470pintel_16mb`, `hp9470m_16mb`. @@ -356,7 +348,7 @@ it during the build process. Libreboot 20230423 onwards does scrub EC firmware and provide functionality in a special script, to insert them with `cbfstool` at the correct offset as defined by coreboot config for each board. -### Intel FSP +#### Intel FSP Provides romstage and raminit, used by coreboot on some boards. In Libreboot, we use it for the following build targets: @@ -364,11 +356,11 @@ we use it for the following build targets: `t480_fsp_16mb`, `t480_vfsp_16mb`, `t480s_fsp_16mb`, `t480s_vfsp_16mb`, `dell3050micro_fsp_16mb`, `dell3050micro_vfsp_16mb` -### SMSC SCH5545 Environmental Control +#### SMSC SCH5545 Environmental Control This is a tiny firmware required for fan control, on Dell Precision T1650. -### CPU microcode: +#### CPU microcode: Оновлення [*мікрокоду*](faq.uk.md#microcode) для ЦП надано на *всіх* платформах x86, за замовчуванням. Не @@ -388,7 +380,7 @@ excluded, alongside default ones with microcode included.](news/microcode.md) в більшості випадків, їх використання надзвичайно рекомендовано. Дивіться для причин чому: [news/policy.uk.md#більш-детальна-інформація-про-мікрокод](news/policy.uk.md#більш-детальна-інформація-про-мікрокод) -### Intel Flash Descriptor (IFD): +#### Intel Flash Descriptor (IFD): Intel Flash Descriptor надано в якості блобів на деяких платах, але це не є блобами *програмного забезпечення*. Це конфігурації, які надано в двійковому форматі, @@ -408,15 +400,14 @@ Intel Flash Descriptor надано в якості блобів на деяки для мережевих карток Intel, які використані в Thinkpad GM45. * Програма Libreboot `nvmutil` може маніпулювати образами GbE NVM -ARM/chromebook ---------------- +### ARM/chromebook -### BL1 bootloader (peach/daisy): +#### BL1 bootloader (peach/daisy): BL1 завантажувач потрібен на: `daisy_snow`, `daisy_spring` та `peach_pit`. Висновки -========== +--------- З вищезазначеного, ви можете бачити, що Libreboot в дійсності *надає* *політику зменшення бінарних блобів*, з наголошенням на *зменшенні*, що є найбільш критичним. @@ -428,8 +419,7 @@ Libreboot *міг би* додати багато блобів для різни Я сподіваюсь, що ця стаття надала їжу для роздумів. -Відступ: свобода обладнання --------------------------- +### Відступ: свобода обладнання Жодна з машин, які наразі підтримуються Libreboot не має вільного *апаратного забезпечення*, в тому сенсі, що інтегральні схеми не ідуть з публічно доступними файлами *verilog* та @@ -441,7 +431,7 @@ Libreboot *міг би* додати багато блобів для різни універсальний доступ до таких документів спільноті. Для подальшого читання -=============== +------------------- В цій статті описано код, який міститься в *основній завантажувальній флеш-пам'яті*, але будь-який комп'ютер, який ви придбаєте, матиме *тони* мікропрограм в інших частинах системи. Деякі diff --git a/site/git.de.md b/site/git.de.md index fd72cfd..03b72a8 100644 --- a/site/git.de.md +++ b/site/git.de.md @@ -4,7 +4,7 @@ x-toc-enable: true ... Libreboot Repositories -=================== +--------------------- Das `libreboot` Projekt hat hauptsächlich 3 Git Repositories: @@ -70,8 +70,7 @@ welche dieselbe Platform bzw. denselben Chipsatz verwenden. Dokumentation für `ich9utils` ist hier verfügbar:\ [ich9utils Dokumentation](docs/install/ich9utils.md) -lbmk (libreboot-make) ---------------------- +### lbmk (libreboot-make) Dies ist das zentrale build system in Libreboot. Man könnte auch sagen `lbmk` *ist* Libreboot! Das Git repository herunterladen: @@ -90,8 +89,7 @@ Für Anleitungen bzgl. `lbmk` build, siehe [build Anleitungen](docs/build/). Informationen über das build system selbst und wie es funktioniert, sind verfügbar unter dem [lbmk maintenance guide](docs/maintain/). -lbwww and lbwww-img -------------------- +### lbwww and lbwww-img Die *gesamte* Libreboot Website sowie Dokumentation befindet sich in einem Git Repository. @@ -160,8 +158,7 @@ Repository dorthin. Konfiguriere deinen lokalen HTTP Server entsprechend. Nochmal, Anleitungen hierfür findest Du auf der Untitled Webseite. -Name nicht erforderlich ------------------ +### Name nicht erforderlich Beiträge die Du hinzufügst, werden in einem für jeden zugänglichen Git Repository öffentlich aufgezeichnet. Dies betrifft ebenso den Namen sowie @@ -189,8 +186,7 @@ Commits/Patches verwendest dann solltest Du anonym sein. Verwende und [git show](https://git-scm.com/docs/git-show) um dies zu überprüfen bevor Du einem öffentlichen Git Repository Änderungen hinzufügst. -Lizenzen (für Mitwirkende) --------- +### Lizenzen (für Mitwirkende) Stelle sicher, dass deine Beiträge mit einer libre Lizenz frei lizensiert sind. Libreboot schreibt nicht mehr vor, welche Lizenzen akzeptiert werden, @@ -220,8 +216,7 @@ Lizenzen nicht der Fall ist: -Patches senden ------------- +### Patches senden Erstelle einen Account unter und navigiere (während Du eingeloggt bist) zu dem Repository das Du bearbeiten möchtest. Klicke @@ -252,8 +247,7 @@ Ein weiterer Weg Patches zu senden ist Leah Rowe direkt eine email zu senden: Um den Prozess der Quelltext Überprüfung transparent zu gestalten, wird jedoch empfohlen künftig Codeberg zu verwenden. -Mailing list ------------- +### Mailing list Libreboot has this mailing list: @@ -261,7 +255,7 @@ Libreboot has this mailing list: The email address is [~libreboot/libreboot@lists.sr.ht](mailto:~libreboot/libreboot@lists.sr.ht) Mirrors für lbmk.git -=================== +-------------------- Das `lbmk` Repository enthält Libreboot's automatischess build system, welches Libreboot Veröffentlichungen herstellt (inklusive kompilierter ROM Images). @@ -280,12 +274,11 @@ angeklickt werden, um Änderungen in deinem Web Browser anzusehen): * Mirrors fur pico-serprog.git -========================= +---------------------------- * -lbwww.git Mirror ----------------- +### lbwww.git Mirror Das `lbwww` Repository enthält Markdown Dateien (Pandoc Variant), für die Verwendung mit dem [Untitled Static Site Generator](https://untitled.vimuser.org/); @@ -311,7 +304,7 @@ des Libreboot Projektes *Mirror* mit zusätzlichen Datenverkehr durch Bilder zu belasten. Notabug Repositories -==================== +-------------------- Commits die zu codeberg gepusht werden, werden ebenso zu notabug gepusht, zusätzlich zu den anderen Mirrors. diff --git a/site/git.md b/site/git.md index a2c3667..228655d 100644 --- a/site/git.md +++ b/site/git.md @@ -3,8 +3,8 @@ title: Code review x-toc-enable: true ... -libreboot repositories -=================== +Libreboot repositories +---------------------- The `libreboot` project has 3 main Git repositories: @@ -64,8 +64,7 @@ also work for other systems using the same platform/chipset. Documentation for `ich9utils` is available here:\ [ich9utils documentation](docs/install/ich9utils.md) -lbmk (libreboot-make) ---------------------- +### lbmk (libreboot-make) This is the core build system in libreboot. You could say that `lbmk` *is* libreboot! Download the Git repository: @@ -83,8 +82,7 @@ build `lbmk`, refer to the [build instructions](docs/build/). Information about the build system itself, and how it works, is available in the [lbmk maintenance guide](docs/maintain/). -lbwww and lbwww-img -------------------- +### lbwww and lbwww-img The *entire* libreboot website and documentation is hosted in a Git repository. Download it like so: @@ -149,8 +147,7 @@ repository there. Configure your local HTTP server accordingly. Again, instructions are available on the Untitled website for this purpose. -Name not required ------------------ +### Name not required Contributions that you make are publicly recorded, in a Git repository which everyone can access. This includes the name and email address of the @@ -175,8 +172,7 @@ should be fairly anonymous. Use and [git show](https://git-scm.com/docs/git-show) to confirm that before you push changes to a public Git repository. -Licenses (for contributors) --------- +### Licenses (for contributors) Make sure to freely license your work, under a libre license. Libreboot no longer sets arbitrary restrictions on what licenses are accepted, and many @@ -205,8 +201,7 @@ sublicense) that other licenses do not: -Send patches ------------- +### Send patches Make an account on and navigate (while logged in) to the repository that you wish to work on. Click *Fork* and in your account, @@ -232,8 +227,7 @@ Another way to submit patches is to email Leah Rowe directly: However, for transparency of the code review process, it's recommended that you use Codeberg, for the time being. -Mailing list ------------- +### Mailing list Libreboot has this mailing list: @@ -241,7 +235,7 @@ Libreboot has this mailing list: The email address is [~libreboot/libreboot@lists.sr.ht](mailto:~libreboot/libreboot@lists.sr.ht) Mirrors of lbmk.git -=================== +------------------- The `lbmk` repository contains Libreboot's automated build system, which produces Libreboot releases (including compiled ROM images). @@ -260,12 +254,11 @@ to view changes in your Web browser): * Mirrors of pico-serprog.git -========================= +-------------------------- * -lbwww.git mirror ----------------- +### lbwww.git mirror The `lbwww` repository contains Markdown files (pandoc variant), for use with the [Untitled Static Site Generator](https://untitled.vimuser.org/); this @@ -290,7 +283,7 @@ and it is not the intention of the Libreboot project to bog down *mirrors* with additional traffic by hosting images. Notabug repositories -==================== +-------------------- Commits that go to codeberg are also still pushed to notabug, in addition to the other mirrors. Notabug is considered a *mirror* since 8 April 2023, when diff --git a/site/git.uk.md b/site/git.uk.md index d8168a6..8bf7d53 100644 --- a/site/git.uk.md +++ b/site/git.uk.md @@ -4,7 +4,7 @@ x-toc-enable: true ... репозиторії libreboot -=================== +--------------------- Проект `libreboot` має 3 основні сховища Git: @@ -64,8 +64,7 @@ Linux. Наприклад, система збірки (lbmk) не переві Документація для `ich9utils` доступна тут:\ [документація ich9utils](docs/install/ich9utils.md) -lbmk (libreboot-make) ---------------------- +### lbmk (libreboot-make) Це основна система збирання в libreboot. Можна сказати, що `lbmk` *це* libreboot! Завантажте репозиторій Git: @@ -83,8 +82,7 @@ libreboot! Завантажте репозиторій Git: Інформація про саму систему збірки та про те, як вона працює, доступна в [посібнику обслуговування lbmk](docs/maintain/). -lbwww та lbwww-img -------------------- +### lbwww та lbwww-img *Весь* веб-сайт і документація libreboot розміщені в репозиторії Git. Завантажте так: @@ -149,8 +147,7 @@ Untitled. Знову ж таки, інструкції для цього доступні на веб-сайті Untitled. -Ім'я не вимагається ------------------ +### Ім'я не вимагається Внески, які ви робите, реєструються публічно в репозиторії Git, доступ до якого мають всі. Це включає ім'я та електронну адресу @@ -175,8 +172,7 @@ Untitled. та [git show](https://git-scm.com/docs/git-show), щоб підтвердити це перед тим, як ви надсилаєте зміни до загальнодоступного сховища Git. -Ліцензії (для учасників) --------- +### Ліцензії (для учасників) Обов'язково вільно ліцензуйте свою роботу, за вільною ліцензією. Libreboot більше не встановлює довільні обмеження на те, які ліцензії приймаються, і багато @@ -205,8 +201,7 @@ Untitled. -Надсилайте виправлення ------------- +### Надсилайте виправлення Створіть обліковий запис на і перейдіть (увійшовши в систему) до репозиторію, над яким ви хочете працювати. Натисніть *Fork*, і у вашому обліковому записі, @@ -232,8 +227,7 @@ IRC-канал libreboot і повідомити канал, які виправ Однак, для прозорості процесу перевірки коду, ми рекомендуємо на даний момент використовувати Codeberg. -Mailing list ------------- +### Mailing list Libreboot has this mailing list: @@ -241,7 +235,7 @@ Libreboot has this mailing list: The email address is [~libreboot/libreboot@lists.sr.ht](mailto:~libreboot/libreboot@lists.sr.ht) Дзеркала lbmk.git -=================== +----------------- Репозиторій `lbmk` містить автоматизовану систему побудови Libreboot, що створює випуски Libreboot (включаючи зібрані образи ROM). @@ -260,12 +254,11 @@ The email address is [~libreboot/libreboot@lists.sr.ht](mailto:~libreboot/libreb * Дзеркала pico-serprog.git -========================= +------------------------- * -дзеркало lbwww.git ----------------- +### дзеркало lbwww.git Репозиторій `lbwww` містить файли Markdown (варіант pandoc), для використання з [генератором статичних сайтів Untitled](https://untitled.vimuser.org/); це те, @@ -290,7 +283,7 @@ The email address is [~libreboot/libreboot@lists.sr.ht](mailto:~libreboot/libreb в додатковий трафік шляхом розміщення зображень. Репозиторії Notabug -==================== +------------------- Коміти, які ідуть до codeberg досі push'аться до notabug, в додаток до інших дзеркал. Notabug розцінюється *дзеркалом* з 8 квітня 2023 року, коли diff --git a/site/index.md b/site/index.md index d723f7a..4640701 100644 --- a/site/index.md +++ b/site/index.md @@ -38,7 +38,7 @@ you continue to use your hardware, with continued firmware updates. All of this is *why* Libreboot exists. Overview of Libreboot design -============================ +---------------------------- @@ -66,7 +66,7 @@ Libreboot, coreboot would be inaccessible for most users; you can also still [reconfigure](docs/maintain/) Libreboot however you wish. Why use Libreboot? -================== +------------------ @@ -80,7 +80,7 @@ whereas Libreboot is specifically crafted for end users. In other words, the purpose of Libreboot is to *Just Work*. Direct configuration and installation of coreboot is also possible, but Libreboot makes it *much* easier. -Libreboot gives you [freedoms](https://writefreesoftware.org/) that +Libreboot gives you [Free Software](https://writefreesoftware.org/) that you otherwise can't get with most other boot firmware, plus faster boot speeds and [better security](docs/linux/grub_hardening.md). It's extremely powerful and [configurable](docs/maintain/) for many use cases. If you're unhappy with @@ -113,7 +113,7 @@ over your own property (your computer), and so, we make it our mission to help you [wrest](https://trmm.net/TOCTOU/) back such control. Libreboot is not a fork of coreboot -=================================== +----------------------------------- @@ -140,8 +140,7 @@ knowledge or skill except the ability to follow [simplified instructions, written for non-technical users](docs/install/). -How to help ------------ +### How to help The [tasks page](tasks/) lists tasks that could (will) be worked on. It will be updated over time as more tasks are added/completede. If you want to help, @@ -176,8 +175,7 @@ repository](https://codeberg.org/libreboot/lbwww) where you can send patches. Any and all development discussion and user support are all done on the IRC channel. More information is on the [contact page](contact.md). -Translations needed, for libreboot.org --------------------------------------- +### Translations needed, for libreboot.org Libreboot currently has translated Web pages in Ukrainian and French (but not for all pages, yet, on either language). diff --git a/site/index.ru.md b/site/index.ru.md index 9dd8ed6..567c9ac 100644 --- a/site/index.ru.md +++ b/site/index.ru.md @@ -25,7 +25,7 @@ methods in a single image, so you can choose which one you use at boot time, and more payloads (e.g. Linux kexec payload) are planned for future releases. Обзор устройства Libreboot -============================ +-------------------------- @@ -34,7 +34,7 @@ Libreboot предоставляет [coreboot](https://coreboot.org/) для [ Libreboot - это *дистрибутив coreboot* также, как и Debian - *диструбутив Linux*. Libreboot делает coreboot простым к использованию для обычных пользователей, предоставляя [полностью автоматизированную систему сборки](docs/build/) и [дружелюбные к пользователю инструкции к установке](docs/install/), в дополении к регулярному бинарному релизу, дающему скомпилированные ROM образы для установки на поддерживаемом оборудовании. Без автоматизации, предоставляемой Libreboot, coreboot был бы недоступен для большинства пользователей; однако вы также можете [сконфигурировать](docs/mantain) Libreboot как вы желаете. Почему стоит использовать Libreboot? -================== +------------------------------------ @@ -47,7 +47,7 @@ Libreboot надежнее многих проприетарных прошив Libreboot ориентирован на сообщество, с фокусом на помощь людям перестать пользоваться проприетарными загрузочными прошивками; мы сами хотим жить в таком мире, где все программное обеспечение [свободное](https://writefreesoftware.org/), и поэтому, Libreboot - это попытка приблизиться к этому миру. В отличие от больших поставщиков, мы не пытаемся задушить вас любыми способами, мы тажке не видим в вас никакой угрозы; мы уважаем возможность использовать, изучать, модифицировать и распространять программное обеспечение без ограничения и считаем, что все должны иметь это право. Что касается компьютеров, это вещи, которые вы купили, и у вас есть право изменять их как вам угодно. Когда вы слышите, что Intel разговаривает о *Boot Guard* (который мешает coreboot, разрешая запускать только прошивку, имеющую их подпись) или других крупных производителей, налагающих похожие ограничения, и вы слышите о "безопасности", они только говорят о *своей* безопасности, но не вашей. В Libreboot все наоборот: мы видим Intel Boot Guard и похожие технологии как покушение на ваши свободы и собственность (ваш компьютер), и поэтому наша миссия - помочь вам [вырвать](https://trmm.net/TOCTOU/) контроль обратно. Libreboot это не форк coreboot -=================================== +------------------------------ @@ -59,8 +59,7 @@ Libreboot это не форк coreboot Регулярные бинарные релизы Libreboot предоставляет эти ROM образы уже собранными, и вы просто можете их установить, без каких-либо дополнительных знаний или навыков, исключая способность следовать [упрощенной инструкции, написанной для пользователей, не обладающими техническими знаниями](docs/install/). -Как помочь? ------------ +### Как помочь? [Страница задач](tasks/) показывает задачи, над которыми нужно работать. Она будет обновляться по мере того, как задания будут выполнены/добавлены. Если вы хотите помочь, выбирайте одно из заданий и работайте над ним. @@ -78,8 +77,7 @@ Libreboot это не форк coreboot Вся дискуссии насчет разработки и поддержка пользователей осуществляется через IRC. Больше информации можно найти на [странице контактов](contact.ru.md) -Требуется помощь с переводом libreboot.org --------------------------------------- +### Требуется помощь с переводом libreboot.org Сейчас Libreboot перевел веб страницы на украинский и французский (но не все страницы). diff --git a/site/news/10.md b/site/news/10.md index 70bc7c9..b60b371 100644 --- a/site/news/10.md +++ b/site/news/10.md @@ -14,8 +14,8 @@ history. This article complements the pre-existing [contrib](../contrib.md) page, which attempts to list the numerous contributions made by people to Libreboot, over the years. -Introduction -============ +Ten years of Free Software +----------------------- The *Libreboot* project provides [free, open source](https://writefreesoftware.org/) (*libre*) boot @@ -49,10 +49,9 @@ since I've been here all this time. Let's get started! How did Libreboot start? -======================== +------------------ -*Why* did it start? -------------------- +### *Why* did it start? I'm a free software activist. First and foremost, my focus is on using as much Free Software *myself*, and I want to help other people achieve a level of @@ -63,8 +62,7 @@ believe in the ideology behind it. I merely apply it in different, more so I have to put myself in the headspace I was in, during each development year relative to when Libreboot started. -Early history -------------- +### Early history The name *Libreboot* actually existed from about February 2014 onward. The *libreboot.org* domain name was registered on 26 January 2014. I initially @@ -126,7 +124,7 @@ talking about my company, which is where you could download my source tarballs at the time. 2013-2014: early days -===================== +-------------------- When Libreboot first started, it *only* provided very basic releases: pre compiled ROM images, with source code, but there was no automated build system. @@ -159,14 +157,12 @@ directly boot Linux kernels. GRUB has many advanced features, such as GPG and LUKS support, and it has support for virtually all of the major file systems in use today. -Libreboot logo --------------- +### Libreboot logo Marcus Moeller designed the Libreboot logo in 2014, after I publicly requested that samples be prepared for my review. Marcus's logo was the one I chose. -Why GRUB? ---------- +### Why GRUB? Libreboot has always, at least on x86, preferred *GRUB* as a coreboot payload. @@ -261,8 +257,7 @@ you no longer need to install anything bootloader-related on your HDD/SSD. Although excluding this usually requires re-configuring `grub.cfg` in flash, Libreboot does provide this capability. -Automatic build system ----------------------- +### Automatic build system One of Libreboot's other main innovations, in addition to providing binary releases, was to provide an automated *build system* interface. With it, the @@ -319,7 +314,7 @@ You can learn more about the build system by reading [lbmk documentation](../docs/maintain/). late 2014-2016: expansion -======================== +------------------------- Libreboot up until late 2014 was mainly a proof of concept. It *worked*, but not well. The precursor of what became Libreboot's automated build system, @@ -329,8 +324,7 @@ Almost all of 2014 was spent entirely on the build system, and on documentation, without much additional focus on hardware support; I always knew then that it would later expand, so I focused solely on the infrastructure. -GM45 hardware (e.g. ThinkPad X200) ---------------------------------- +### GM45 hardware (e.g. ThinkPad X200) I was approached by another developer, named Steve Shenton, around October of 2014. I'd expressed interest in the ThinkPad X200, as an upgrade to the X60 @@ -381,8 +375,7 @@ Based on this, and extensive amounts of documentation was written during the same period, I then provided the Libreboot 20150124 release on 24 January 2015. It added ThinkPad X200, X200S and X200 Tablet support. -2015: T400, T500, W500... R400 ------------------------- +### 2015: T400, T500, W500... R400 Coreboot lacked supported for other GM45 thinkpads at this time, when X200 support was first added to Libreboot. Testing was later done on these other @@ -397,8 +390,7 @@ So, during 2015, Libreboot added support for many newer laptops. ASUS KCMA-D8 and KGPE-D16 support was also first added to Libreboot during this year, worked on by Timothy Pearson and integrated into Libreboot. -2015-2016: Major build system improvements ------------------------------------------- +### 2015-2016: Major build system improvements The build system was heavily improved during this period, improving the automation and greatly expanding the supported features. @@ -432,7 +424,7 @@ people contributed to the project, during this period. You can check the [contrib](../contrib.md) page for a list of people, and check git logs. 2016: GNU Libreboot -=================== +-------------------- Yes. *That* is also covered here. Naturally, Libreboot was becoming very popular and I looked for ways to extend that. Back in 2015 and most of 2016, @@ -440,8 +432,7 @@ I saw GNU membership as a natural step for the project to take. Libreboot had a mailing list at that time, hosted on the GNU Savannah infrastructure, so it seemed only logical to give it a go. -Evaluation and accession ---------------------------- +### Evaluation and accession Libreboot was briefly a GNU project, between 14 April 2016 to 15 September 2016. I had proposed this during the summer of 2015, and worked with the GNU Eval @@ -464,8 +455,7 @@ start integrating with the GNU infrastructure. *Three* Libreboot releases were released, during its GNU membership, namely: Libreboot 20160818, 20160902 and 20160907. -Initial outcomes -------------- +### Initial outcomes Libreboot's popularity reached great heights during this time, greatly expanding and attracting many new developers. Joining GNU accelerated this further, @@ -475,8 +465,7 @@ I later realised otherwise, regarding the ideology; more on this later, in the sections about osboot, and the osboot/libreboot merge, and events after that. -Regret ------- +### Regret Anyway: during Libreboot's membership, I started to realise that many of the technical requirements imposed on Libreboot were unworkable, especially the @@ -574,8 +563,7 @@ accept Libreboot early; yet another example of the power that he held. Needless to say, I was stunned. And now, I will write about Libreboot's subsequent exit from the GNU project: -Exit ----- +### Exit Later, a member of the FSF staff got fired, who happened to be transgender, and I had been friends with that person. I myself had only recently come out @@ -605,8 +593,7 @@ have a tendency to list projects as *unmaintained* or *decommissioned* if no longer developed within GNU, but they do not have language pertaining to *active* projects that leave, that stay active. -GNU's response --------------- +### GNU's response Libreboot's decision to leave was not without precedent. GnuTLS also left, as did Nano (Nano later re-joined), though GnuTLS's departure was never officially @@ -654,10 +641,9 @@ and Libreboot's newer [Binary Blob Reduction Policy](policy.md), later in the article. 2017-2021: Post-GNU years -========================= +--------------------- -GNU cuts Libreboot loose --------------------------- +### GNU cuts Libreboot loose Libreboot's departure from GNU came about 1 week after a big stable release, the Libreboot 20160907 release. I pretty much burned out after that release, @@ -677,8 +663,7 @@ back at these years now with pride; I did the right thing, even if I caused a lot of trouble while doing it, trouble that I had to later correct, and atone for. It's a bittersweet realisation, but it is what it is. -Apology to GNU --------------- +### Apology to GNU Alyssa Rosenzweig, who later founded the Panfrost project and nowadays works on free graphics drivers for Asahi Linux, briefly joined the Libreboot project @@ -722,10 +707,9 @@ and user support to other people - I later took over the project again in 2021, a topic which I will also cover, later in this article. 2017-2021: the great rewrite -============================ +----------------------- -Initial work, and why ---------------------- +### Initial work, and why While Libreboot was a member of the GNU project, I did a thought experiment: what if Libreboot's build system and general infrastructure *did* adhere to @@ -739,8 +723,7 @@ This was later scrapped, when I decided to accept Alyssa's work instead; she converted the website to use Markdown instead, with a custom static site generator. -Paper build system ------------------- +### Paper build system I simultaneously commissioned a re-write of the build system. There wasn't anything seriously wrong with the one I wrote, but I wanted to see if it could @@ -776,8 +759,7 @@ I keep that repository there for archival, but it is no longer developed. I took over the project again in 2021, and scrapped the rewrite. More on this later in the article! -Andrew Robbins and Sebastian Grzywna ------------------------------------- +### Andrew Robbins and Sebastian Grzywna Sebastian had joined the project during early 2016, advising about hardware and he made quite a few useful code contributions at first. For example, he @@ -800,8 +782,7 @@ component could work independently of the other. If I had to make an analogy, it was sort of like the monolith vs microkernel argument, paper being the same sort of mentality for the latter. -I was AWOL for years --------------------- +### I was AWOL for years I wasn't active in the project during these years, at all. I first was prepping mentally and financially for gender reassignment surgery scheduled for late @@ -852,8 +833,7 @@ But that's how it all was, for many years. I regard Libreboot as having been a *dead project*, during this period. All (*all*) of the work put into it at that time, was a complete waste of energy and effort. -Paper never worked ------------------- +### Paper never worked The rewrite largely failed. During 2017-2021, Libreboot no longer had any releases. The Paper build system *never* reliably built any ROM images, due @@ -946,7 +926,7 @@ in the next sections. Paul stopped working on Libreboot after around late 2017, leaving the work solely in the hands of Andrew and Sebastian. late 2020: osboot -================ +---------------- I started the [osboot project](https://notabug.org/osboot) in December 2020. Check *osboot.org* on the Wayback Machine. Osboot was initially called @@ -1024,8 +1004,7 @@ fun again, and I found that I once again had the energy. In short, I had my mojo back. My then 4-year hiatus was over. -December 2020 Libreboot takeover --------------------------------- +### December 2020 Libreboot takeover Perhaps getting too carried away too soon, I actually took over the Libreboot project again in late December 2020. I was rapidly working on adding all the @@ -1038,8 +1017,7 @@ a Libreboot takeover yet. I needed more time to polish everything. Doing a tiny release for 1 customer, on 1 machine (the X230) was all well and good, but I decided that I had time to polish it more. -March 2021 Libreboot takeover ------------------------------ +### March 2021 Libreboot takeover I wanted to get rid of Sebastian and Andrew for some time, at that point. Too many years had gone by, without any releases in Libreboot, and the Paper build @@ -1084,10 +1062,9 @@ However, I only had osboot then. I started actually working on a new Libreboot release *after* I took over. 2021 (lib)reboot -=============== +--------------- -New Libreboot repositories --------------------------- +### New Libreboot repositories The original Libreboot git repository can be found here: @@ -1108,8 +1085,7 @@ In mid-2021, Libreboot was split into smaller repositories: * `untitled`: the static site generator, which creates the website, by creating HTML files from the Markdown files in `lbwww` -Untitled Static Site Generator ------------------------------- +### Untitled Static Site Generator Untitled Static Site Generator was going to be part of Libreboot officially, but by that time, I had forked the Libreboot static site generator many times, for @@ -1126,8 +1102,7 @@ The osboot project greatly expanded, during this time. It never made any releases officially, but it provided an excellent proof of concept, and it became the basis for modern day Libreboot. -May 2021 Libreboot release --------------------------- +### May 2021 Libreboot release Somewhat annoyingly, it coincided with the Freenode/Libera drama at that time, when the latter forked from Freenode after a hostile takeover. Thankfully, that @@ -1154,15 +1129,14 @@ in about 5 years, at that point, and it added many new boards. It inherited all of the massive build system design improvements from osboot. Osboot from 2021-2022 -==================== +---------------------- The *osboot* project continued, since December 2020 when it started. I started adding many new boards to it. The purpose of Osboot was the same as Libreboot, except that it had the [Binary Blob Reduction Policy](policy.md) instead. This is the policy that *modern* Libreboot uses, since merging with osboot. -Goals of osboot ---------------- +### Goals of osboot I *wanted* to start a project like osboot much earlier, in 2017. In fact, I was going to, but real life got in the way and I went on hiatus for a few years. @@ -1221,8 +1195,7 @@ other files such as Intel MRC firmware and SMSC KBC1126 EC firmware (KBC1126 EC firmware extraction was only done in Libreboot, after it merged with osboot - more on this later) -November 2022: osboot/libreboot merger -------------- +### November 2022: osboot/libreboot merger I *shut* down the osboot project, formerly hosted on *osboot.org*, during November 2022. The website was redirected to Libreboot. I then added all @@ -1241,16 +1214,26 @@ everyone supported this move. Sure enough, I saw a relative lack of opposition to it; though, some of the more dogmatic members of the FSF were quite upset. This level of upset later caused.... well, that's what I'm going to cover next. -FSF fork -======== +Cold Boot War +------- + +This period of Libreboot's history involved a massive amount of extreme and +hostile competition between the Libreboot project and a *hostile fork* of +Libreboot started by the FSF (now a GNU project). Libreboot fought hard to ensure +that it, the *real* Libreboot project, the one on libreboot.org, survived, +becauseu the FSF literally tried to destroy it. They made no secret of it, and +even publicly announced such intentions at their LibrePlanet 2023 conference. + +Much of the remainder of this article will cover this period, and its aftermath. +This period of Libreboot's history is called the *Cold Boot War*. SPOILER ALERT: +Libreboot won. The purpose of today's article has been to write a rigorous history section for the Libreboot project, because a lot of earlier history for the project wasn't available. Many of Libreboot's early years were turbulent, and I never expected then that the project would last 5 years, let alone 10. -Initial hostile fork --------------------- +### FSF's hostile fork During Libreplanet 2023, which is the FSF's annual conference, the FSF, through Denis Carikli who is part of their inner circle, announced a *hostile fork* of @@ -1301,8 +1284,7 @@ product. No. They put a paragraph in their documentation, urging people to *delete* links to libreboot.org, and link to them. *They were out for blood*. -FSF's 2nd fork attempt ---------------------- +### FSF's 2nd fork attempt So I've responded in kind, ever since. Regardless of whether they succeed or whether they are competent, a thought exists in their head. A dream, you could @@ -1343,8 +1325,7 @@ So, my strategy has been to constantly develop Libreboot from now on, much more aggressively, and generally stay on top of my game. And I made no secret of this strategy; I've been pretty open about everything, throughout 2023. -Countercoup ------------ +### Countercoup My countercoup has essentially consisted of a single strategy: be the best, on a technical level. During all of 2023, roughly 5x as much work has gone into @@ -1399,8 +1380,7 @@ I also previously wrote about each of the three audits during 2023: and now: -Canoeboot ---------- +### Canoeboot Purely for my own entertainment, I decided to re-create blob-free Libreboot *myself*, exactly the same one that Libreboot used in the past, before @@ -1451,7 +1431,9 @@ the writing of documentation. Conversely, GNU is *1 year* and *2 years* out of date, in terms of code and documentation respectively. 2024 reconciliation intentions -============================== +------------------------------ + +### End of the Cold Boot War **This reconciliation was cancelled. Please see the [update from January 2025](#january-1st-2025-update).** @@ -1506,7 +1488,7 @@ to manually upload HTML files to, generated by Untitled, which they wrapped around directly, within their fork of the Libreboot build system). Last remarks -============ +----------- I've pretty much gone through the entire history, to the best of my ability. I probably did forget a few things, but these are the broad strokes. If you @@ -1535,15 +1517,23 @@ with Libreboot pre-installed. You can find it on [minifree.org](https://minifree.org/). January 1st, 2025, UPDATE! -======================== +------------------------ + +### Cold Boot War II The truce of 2024 has ended. GNU did a talk during 38C3 conference, where they spent at least *one third* of the talk, telling people to stop using Libreboot, to stop promoting Libreboot, stop contributing to it. This is an -act of war against the Libreboot project. +act of war against the Libreboot project. Their decision, in the talk, +demonstrated that they have all the same intentions that they originally had +in their LibrePlanet 2023 talk, that lead to the *first* Cold Boot War. + +Intent matters. A lot of people might disagree, but the world runs on dreams. +What we do in the moment is just an implementation dreams. Their dream is +to *destroy the Libreboot project*. Therefore, Cold Boot War II was declared, in the early hours of January 1st, 2025. -There won't be much material difference sa a result of this, but the consequence +There won't be much material difference as a result of this, but the consequence is that there is no longer good will from Libreboot towards the GNU project. Canoeboot will be developed as aggressively as before, if not more so. It will diff --git a/site/news/argon2.md b/site/news/argon2.md index 0d752ec..0ad2d60 100644 --- a/site/news/argon2.md +++ b/site/news/argon2.md @@ -4,8 +4,8 @@ -Introduction -============ +Free as in... PHC +------------------------ The GRUB payload has supported LUKSv2 for a long time, but only with the old-school PBKDF2 key derivation method; most Linux dm-crypt setups on LUKSv2 @@ -28,8 +28,7 @@ the original work that Nicholas imported from Archlinux AUR. The work on AUR, and Nicholas's update based on it, was ultimately based on the work done by Patrick Steinhardt for the GRUB project, importing PHC Argon2. -Why does this matter? ---------------------- +### Why does this matter? Libreboot previously documented how to boot distros from encrypted `/boot`, which is a boon for security because it's harder to compromise a machine that @@ -49,8 +48,7 @@ Argon2 is the newer key derivation preferred on modern LUKSv2 setups. It is strongly recommended that you *upgrade* to argon2id, specifically, for your setup. -How to get it -------------- +### How to get it This is unavailable in the Libreboot 20230625 release, but will be available in the next Libreboot release. @@ -62,18 +60,16 @@ you may still compile a ROM image yourself from the Libreboot build system. See: **[How to build Libreboot ROM images from source](../docs/build/)** Further reading -=============== +---------------- -PHC argon2 implementation -------------------------- +### PHC argon2 implementation This is the reference argon2 implementation, now used by Libreboot, and the upstream project for that is hosted here: -Article by Matthew Garrett --------------------------- +### Article by Matthew Garrett [PSA: upgrade your LUKS key derivation function](https://mjg59.dreamwidth.org/66429.html) by Matthew Garrett, talks diff --git a/site/news/argon2.uk.md b/site/news/argon2.uk.md index 1671f93..a931992 100644 --- a/site/news/argon2.uk.md +++ b/site/news/argon2.uk.md @@ -5,7 +5,7 @@ Вступ -============ +------ Корисне навантаження GRUB підтримувало LUKSv2 протягом довгого часу, але тільки з старосвітовським методом формування ключа PBKDF2; більшість Linux dm-crypt встановлень на LUKSv2 @@ -28,8 +28,7 @@ AUR](https://aur.archlinux.org/cgit/aur.git/tree/?h=grub-improved-luks2-git&id=1 The work on AUR, and Nicholas's update based on it, was ultimately based on the work done by Patrick Steinhardt for the GRUB project, importing PHC Argon2. -Чому це має значення? ---------------------- +### Чому це має значення? Libreboot раніше документував, як завантажувати дистрибутиви з зашифрованого `/boot`, що є добрим для безпеки, тому що складніше скомпрометувати машину, яка має @@ -49,8 +48,7 @@ Argon2 є новішим формуванням ключа, якому нада ви *оновились* на argon2id, в точності, для вашого встановлення. -Як отримати це -------------- +### Як отримати це Це є недоступним для поточного випуску Libreboot 20230625, але буде доступним в наступному випуску Libreboot. Наразі, ви можете зібрати образ ROM @@ -59,18 +57,16 @@ Argon2 є новішим формуванням ключа, якому нада [Як побудувати образи ROM Libreboot з джерела](../docs/build/index.uk.md) Наступне читання -=============== +---------------- -Реалізація PHC argon2 -------------------------- +### Реалізація PHC argon2 Це реалізація argon2 для посилання, що тепер використовується Libreboot, і апстрім проект для цього розміщено тут: -Стаття Метью Гарретт --------------------------- +### Стаття Метью Гарретт [PSA: оновіть ваш LUKS метод формування ключа](https://mjg59.dreamwidth.org/66429.html) від Метью Гарретт, розповідає diff --git a/site/news/audit.md b/site/news/audit.md index 05fc1e4..68629f4 100644 --- a/site/news/audit.md +++ b/site/news/audit.md @@ -3,7 +3,7 @@ % 13 June 2023 Introduction -============ +------------ Literally about 200+ changes have been made to the Libreboot build system, since the last release of Libreboot. This has been the primary focus, thus far. @@ -24,8 +24,7 @@ and compiles everything from scratch, but in a way that is simplified from the perspective of the end user (almost everything is just a single command, where users are typically not required to edit any files unless they want to). -Brief summary of changes ------------------------- +### Brief summary of changes In short, the following work has been performed: @@ -50,8 +49,7 @@ is usually *why* (or *when*). Libreboot's build system tries to avoid bloat and *feature creep* when possible, intentionally refusing to implement certain features that are considered superfluous. -Example of BSD coding style on shell scripts --------------------------------------------- +### Example of BSD coding style on shell scripts One of the most common practises in BSD style in *top-down* logic, which makes programs much easier to read (in my opinion). Here is an example @@ -79,7 +77,7 @@ in the Libreboot build system, with existing scripts modified accordingly. This and other work is ongoing. Auditing of utilities -===================== +--------------------- This process has *also* been applied to some of the utilities (written in C) that Libreboot includes as part of lbmk. The following utilities have been @@ -89,8 +87,7 @@ audited: * `e6400-flash-unlock` (minor cleanup, basically removing one unused function) * `nvmutil` (massive code size reduction, minor fixes here and there) -Pledge ------- +### Pledge The `nvmutil` program was already pledged, when compiled on OpenBSD, but it was not handled well. It is now handled correctly (correct ifdef rule), and it @@ -102,8 +99,7 @@ The code has also been unveiled. See manpages: -spkmodem-recv -------------- +### spkmodem-recv This utility was *added* after the last release. It was imported from coreboot, which in turn previously forked it from GRUB. It is a receiving client for @@ -130,7 +126,7 @@ code is conditionally *pledged* if you compile it on OpenBSD (for OpenBSD), see: Other plans for next release -============================ +---------------------------- I have a bunch of Dell/HP boards that I plan to add, which I would have added already but I've focused on the audit (which is more or less complete, now). @@ -153,7 +149,7 @@ Besides this, I also wish to: with Libreboots u-boot payload, at present). FULL list of changes so far since last release -============================================== +---------------------------------------------- Not all patches are listed below, if they are patches not relevant, or patches not currently pushed to upstream Libreboot git mirrors. The following patches diff --git a/site/news/audit2.md b/site/news/audit2.md index 7768d23..e0c8b31 100644 --- a/site/news/audit2.md +++ b/site/news/audit2.md @@ -2,8 +2,8 @@ % Leah Rowe % 11 September 2023 -Introduction -============ +Free as in freedom! +-------------------- This article pertains to the current Libreboot (lbmk) revision at this time of writing, which is `c400916e33b8870384c30b83a9ecb9cdf7121917` from 11 diff --git a/site/news/audit3.md b/site/news/audit3.md index 12b57c9..45ae5b1 100644 --- a/site/news/audit3.md +++ b/site/news/audit3.md @@ -7,8 +7,8 @@ now, as of 27 January 2024, which is a fork of flashrom. The reason why was explained, in the [Libreboot 20240225 release](libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** -Introduction -============ +Free software BIOS/UEFI +------------------------ This article pertains to the current Libreboot (lbmk) revision at this time of writing, which is `c7e764a3f088e2dbcacb507995476ce3082451ef` from 20 @@ -24,8 +24,7 @@ decided that I would perform *another* audit immediately, so there have been two audits (this audit, dubbed audit 3, and the previous audit 2) between now and the Libreboot 20230625 release. -Massive code size reduction ---------------------------- +### Massive code size reduction The focus has been improved error handling, general bug fixing and improving the efficiency of lbmk (in terms of speed). Reduced complexity. The focus has diff --git a/site/news/audit4.md b/site/news/audit4.md index 7ab72d6..128f20d 100644 --- a/site/news/audit4.md +++ b/site/news/audit4.md @@ -7,8 +7,8 @@ now, as of 27 January 2024, which is a fork of flashrom. The reason why was explained, in the [Libreboot 20240225 release](libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** -Introduction -============ +Free/open source BIOS +-------------------- This article pertains to the current Libreboot (lbmk) revision at this time of writing, which is `11a821637d8a36f4a72001ef8d8c41952f066cc3` from 31 @@ -22,8 +22,7 @@ Audit 3](audit3.md), which coincided with the [Libreboot 20231021](libreboot20231021.md) release, right up to [Libreboot 20231106](libreboot20231106). -Modest code size reduction --------------------------- +### Modest code size reduction The main purpose of audit 4 has been to *finish* audit 3. More logic has been generalised, and *another* sloccount reduction has been observed: 1618 SLOC in @@ -286,7 +285,7 @@ And now, specific changes: re-used by other planned ports for Dell latitudes in lbmk. Patch courtesy of Nicholas Chin. -Exact git log, relative to 20231106: +### Exact git log, relative to 20231106: ``` * 11a82163 Bump GRUB to 2.12 release diff --git a/site/news/audit5.md b/site/news/audit5.md index ceda45c..126cb98 100644 --- a/site/news/audit5.md +++ b/site/news/audit5.md @@ -6,7 +6,7 @@ about the [Libreboot 20240612 release](libreboot20240612.md).** Introduction -============ +------------ Libreboot is a free/opensource boot firmware project. It replaces your proprietary BIOS/UEFI firmware, on supported x86 and ARM computers. It does @@ -32,8 +32,7 @@ revision `2ee186aee3aa3ab9619ed9549bd3b82909dcfbd0` from 9 June 2024. You can read about the *previous* audit in the article for [Libreboot Build System Audit 4](audit4.md). -Modest code size reduction --------------------------- +### Modest code size reduction There are 1482 lines of shell script in the build system, versus 1680 in the Libreboot 20240504 release. Libreboot's build system is written purely in @@ -43,12 +42,11 @@ This is a difference of 198 lines, or a 12% reduction. Despite the reduction, numerous features have been added and a large number of bugs were fixed. Summarised list of changes -========================== +-------------------------- Changes are in order per category, from newest to oldest: -Feature changes ---------------- +### Feature changes * **Download crossgcc tarballs as dependencies, when cloning coreboot.** We previously relied on the coreboot build system, which automatically fetches @@ -183,8 +181,7 @@ Feature changes * Removed all status checks from script/roms (formerly script/build/roms), because it's better to document this instead, and rely on testing regardless. -Bug fixes ---------- +### Bug fixes Some of these changes fix actual issues that were found in testing, while others were fixed *before* being triggered/reported and are thus *preventative @@ -418,8 +415,7 @@ The changes are, from newest to earliest: * Main build script: exit (with error status) if not running directly from the root of the lbmk work directory. -General code cleanup --------------------- +### General code cleanup In addition to *general* very sweeping code cleanup, condensing code lines where possible and so on: @@ -545,13 +541,12 @@ where possible and so on: * script/build/roms: split up `main()` into multiple smaller functions Revision updates -================ +---------------- Some revisions were updated as part of standard routine, but happened to be done during this audit. Those updates are as follows: -SeaBIOS -------- +### SeaBIOS Bump SeaBIOS to revision `e5f2e4c69643bc3cd385306a9e5d29e11578148c`, which has these changes relative to the old one: @@ -581,8 +576,7 @@ these changes relative to the old one: * a6ed6b70 limit address space used for pci devices. ``` -Flashprog ---------- +### Flashprog Updated to revision 5b4fdd1 from 2 May 2024, rebasing the MX workaround patch. @@ -653,7 +647,7 @@ Flashrom, lead by Nico Huber after a dispute with the new leadership of Flashrom, and it was felt that Flashprog is a better choice for Libreboot. Git log -======= +------- This entire set of changelogs is based on the precise Git history in lbmk, relative to Libreboot 20240504 which is from where the audit began. diff --git a/site/news/audit6.md b/site/news/audit6.md index a86f045..9bb3d93 100644 --- a/site/news/audit6.md +++ b/site/news/audit6.md @@ -5,8 +5,8 @@ Heavy amount of code reduction in this audit, and general cleanup. A new Libreboot release is planned, for the early days of August 2024. -Introduction -============ +Efficient software freedom +-------------------------- Libreboot is a free/opensource boot firmware project. It replaces your proprietary BIOS/UEFI firmware, on supported x86 and ARM computers. It does @@ -38,8 +38,7 @@ revision `31f1e4dadfcc1ceecacec50dd2a14e63a44364bd` from 19 July 2024. You can read about the *previous* audit in the article for [Libreboot Build System Audit 5](audit5.md). -Notable code size reduction --------------------------- +### Notable code size reduction There are 1109 lines of shell script in the build system, versus 1482 in the Libreboot 20240612 release. Libreboot's build system is written *entirely* in @@ -67,7 +66,7 @@ A *lot* of work on new ports is planned. There are a number of new mainboards that will be available, in the next Libreboot release. Summarised list of changes -========================== +-------------------------- The most interesting changes are marked in **bold**. "Interesting" means that the change greatly improves the usefulness/reliability of Libreboot, or that it @@ -75,8 +74,7 @@ affects the user in a profound and noticeable way. Changes are in order per category, from newest to oldest: -Feature changes ---------------- +### Feature changes Some unused features have been removed, and yet more added. The overall focus of Audit 6 has been to remove legacy cruft from lbmk, and in general to simplify @@ -257,8 +255,7 @@ The changes are as follows: possible to create such a broken setup. Libreboot mitigates this fact, by avoiding such configurations. -Configuration changes ---------------------- +### Configuration changes This pertains to anything under `config/`, for any changes that are of note, but it does not pertain to *revisions* for specific projects, nor does it @@ -301,8 +298,7 @@ The changes are as follows: which is loaded per-project on multi-tree projects, before each target file. It allows easier configuration tree-wide on multi-tree projects. -Bug fixes ---------- +### Bug fixes There are fewer *acute* bug fixes in Audit 6, because bugfixes was the primary focus of *Audit 5*. The word *acute* is used, referring to triggered bugs, because @@ -464,8 +460,7 @@ The changes are as follows: could create situations where the user can longer run lbmk without intervention such as changing permission on certain files. Avoid the issue entirely. -General code cleanup --------------------- +### General code cleanup Extensive code cleanup has been performed, as was the main purpose of Audit 6. @@ -820,10 +815,9 @@ The changes are as follows: * `script/roms`: shorter variable names, condensed several functions. Revision updates -================ +---------------- -U-Boot ------- +### U-Boot Alper Nebi Yasak is the maintainer of U-Boot, within Libreboot, and submitted a patch updating U-Boot to v2024.07, on the `gru_bob` and `gru_kevin` @@ -837,7 +831,7 @@ is announced, as a priority for further work that is to be completed for the next Libreboot release, ETA August 2024. Git log -======= +-------- This git log covers all changes in this audit, relative to Libreboot 20240612. diff --git a/site/news/codeberg.md b/site/news/codeberg.md index 9eb08e1..4e12b7e 100644 --- a/site/news/codeberg.md +++ b/site/news/codeberg.md @@ -3,7 +3,7 @@ % 8 April 2023 RIP Notabug -=========== +------------- Git repositories provided by Libreboot are still available via Notabug, but the Notabug site has been quite unreliable for some time now. I notice it @@ -18,8 +18,7 @@ admin (single) would fix issues, but I can't keep waiting. Libreboot was originally a member of the Peers Community, which hosts Notabug. So I had an affinity for Notabug. -Libreboot repos now hosted by Codeberg --------------------------------------- +### Libreboot repos now hosted by Codeberg I've decided to set up an account on Codeberg. You can find it here: @@ -37,8 +36,7 @@ under `util/ich9utils`, so the ich9utils repository was not needed on Codeberg (it still exists on Notabug). I'll add bucts to Libreboot's lbmk repo too (under `util/bucts/`). -Codeberg has nicer features ---------------------------- +### Codeberg has nicer features Codeberg runs on forgejo, itself a fork of Gitea, which *itself* is a fork of Gogs. *Notabug* runs on an older, modified version of Gogs, which lacks a @@ -54,8 +52,7 @@ You can send issue reports and pull requests in much the same way as before, but you will need to make a new account on codeberg.org if you don't already have one. -Notabug still available ------------------------ +### Notabug still available The notabug repositories are *still* available, and I'll still push new code to them. I push to several repositories, not just codeberg/notabug, but those @@ -66,7 +63,7 @@ so it's no longer viable for production use, but it's still viable as a backup. If codeberg is ever down, at least you'd be able to download from Notabug. Why not self-host? -================== +------------------ Forgejo, based on Gitea, is what runs on Codeberg. They host the project, on behalf of the developers. Forgejo is working on federating the git forge, so @@ -86,8 +83,7 @@ When federation becomes available, I assume Codeberg's forgejo instance will become part of that, so it just makes practical sense for Libreboot to use Codeberg. -Why not sourcehut? ------------------- +### Why not sourcehut? I considered sourcehut. I like the concept of it (mailing lists made easier, email-based collaboration) but I don't think most people will want to use that. diff --git a/site/news/e6400.md b/site/news/e6400.md index b53dd6c..ac36d2e 100644 --- a/site/news/e6400.md +++ b/site/news/e6400.md @@ -5,8 +5,8 @@ **UPDATE (9 May 2023): Libreboot confirmed working on variants such as [E6400 XFR, and the Nvidia GPU variant is now supported](e6400nvidia.md).** -Introduction -============ +Free as in freedom! +------------------ Today, Libreboot gained the Dell Latitude E6400 laptop port. This is a blob-less port, courtesy of Nicholas Chin (`nic3-14159` on Libreboot IRC). @@ -18,8 +18,7 @@ Libreboot already supports. You can learn more on the [Latitude flashing guide](../docs/install/latitude.md) -100% libre, blob-free ---------------------- +### 100% libre, blob-free This is a *blob-free* board in the boot flash. No Intel ME firmware needed, and [microcode can be removed if you wish](gm45microcode.md) (you should still @@ -28,8 +27,7 @@ we give them - see: [Binary Blobs Reduction Policy](policy.md)). *But wait.* There's more. A lot more of *them*, that is. -Readily available on eBay etc, and cheap ------------------------------ +### Readily available on eBay etc, and cheap Dells were much more popular than those ThinkPads, and more commonly used, so there are still *several* of these available on sites like eBay. Enough to @@ -42,8 +40,7 @@ this a very nice machine indeed. But wait.... It gets better: -Software flashing possible! (no disassembly) ---------------------------- +### Software flashing possible! (no disassembly) **NOTE (15 October 2023): The util is now called `dell-flash-unlock`, but it was previously called `e6400-flash-unlock`. Links have been updated. And diff --git a/site/news/e6400.uk.md b/site/news/e6400.uk.md index d1fec10..64cc732 100644 --- a/site/news/e6400.uk.md +++ b/site/news/e6400.uk.md @@ -8,7 +8,7 @@ there, before flashing. For posterity, [here is the link again](../docs/install/ivy_has_common.md).** Вступ -============ +------ Сьогодні, Libreboot отримав порт ноутбука Dell Latitude E6400. Цей порт є вільним від блобів, увічливість Ніколаса Чін (`nic3-14159` на Libreboot IRC). @@ -20,8 +20,7 @@ there, before flashing. For posterity, Ви можете вивчити більше на [сторінці встановлення](../docs/install/latitude.md) -вільна від блобів конфігурація ------------------------------- +### вільна від блобів конфігурація Це є *вільною від блобів* платою в завантажувальній флеш-пам'яті. Прошивка Intel ME не потрібна, та [мікрокод може бути видалено, якщо ви бажаєте](gm45microcode.md) @@ -31,8 +30,7 @@ there, before flashing. For posterity, *Але почекайте.* Є більше. Набагато більше *цього*, так ось. -Доступно на eBay і так далі, а також дешево ------------------------------ +### Доступно на eBay і так далі, а також дешево Dell були набагато більш популярні, ніж ті ThinkPad, та більш звичайно використовувались, тому існує досі *багато* цих в доступності на сайтах, подібних @@ -45,8 +43,7 @@ eBay. Достатньо, щоб тримати людей з симпатією Але почекайте.... Стає ще краще: -Прошивка програмним забезпеченням можлива! (без розбору) ---------------------------- +### Прошивка програмним забезпеченням можлива! (без розбору) **NOTE (15 October 2023): The util is now called `dell-flash-unlock`, but it was previously called `e6400-flash-unlock`. Links have been updated.** diff --git a/site/news/e6400nvidia.md b/site/news/e6400nvidia.md index d65b4a3..c5d5107 100644 --- a/site/news/e6400nvidia.md +++ b/site/news/e6400nvidia.md @@ -16,7 +16,7 @@ in coreboot, on this mainboard.** Introduction -============ +------------ [Dell Latitude E6400 *with Intel GMA 4500MHD* graphics](e6400.md) was added, and included in Libreboot release 20230423 or newer. *Today*, support is now @@ -31,8 +31,7 @@ than Libreboot 20231021 only support the Intel GPU variant.** The 6400 XFR testing+photo was provided, courtesy Mark Cornick (`mcornick` on Libreboot IRC). -Preparing a release Rom ------------------------ +### Preparing a release Rom NOTE: Not strictly required on Intel graphics models, but still useful for changing the MAC address. @@ -45,7 +44,7 @@ Ethernet device; doing so is advisable, because otherwise you will have a default, generic MAC address. Dell Latitude E6400 with Nvidia GPU -=================================== +----------------------------------- This section *also* applies to E6400 XFS and ATG models. [Testers are needed!](../docs/maintain/testing.md). @@ -70,8 +69,7 @@ following pages (which have been updated, while publishing this news article): * [Dell Latitude E6400 information](../docs/install/latitude.md) -Nouveau(in Linux) currently broken ----------------------------------- +### Nouveau(in Linux) currently broken Nouveau is the libre driver in Linux, for Nvidia graphics. Nvidia themselves do not provide binary drivers anymore, for these GPUs. It crashes in Linux, @@ -85,8 +83,7 @@ Development discussion, for Nvidia variants of E6400, is available here: -OpenBSD's Nvidia driver works perfectly ---------------------------------------- +### OpenBSD's Nvidia driver works perfectly OpenBSD 7.3 was tested, on my Nvidia-model E6400, and Xorg works OK with the `nv` driver. @@ -103,8 +100,7 @@ main guide: * [BSD Operating Systems](../docs/bsd/) -FreeBSD and newer Linux (e.g. Archlinux) untested! --------------------------------------------------- +### FreeBSD and newer Linux (e.g. Archlinux) untested! [Testers needed! Please get in touch!](../docs/maintain/testing.html) @@ -113,8 +109,7 @@ and newer Linux have not yet been tested** (I plan to test *Arch Linux*), but the older Linux/Mesa version in Debian 11.6 works just fine in the Dell BIOS, and I've confirmed that it uses the exact same Video BIOS Option ROM. -Dell Latitude E6400 ATG model ------------------------------ +### Dell Latitude E6400 ATG model [Testers needed! Please get in touch!](../docs/maintain/testing.html) diff --git a/site/news/fam15h.md b/site/news/fam15h.md index 6705cc5..3be961e 100644 --- a/site/news/fam15h.md +++ b/site/news/fam15h.md @@ -2,8 +2,8 @@ % Leah Rowe % 16 July 2023 -Introduction -============ +Freedom as in... again +------------------------- [Libreboot 20211122](libreboot20211122.md) was the last release to officially support these boards: ASUS KFSN4-DRE, KCMA-D8 and KGPE-D16; they were removed @@ -20,8 +20,7 @@ release of Libreboot. It was implemented with this patch: -Differences now, versus Libreboot 20211122 ------------------------------------------- +### Differences now, versus Libreboot 20211122 The following changes have been made, relative to Libreboot 20211122: @@ -50,8 +49,7 @@ The PIKE2008 fix from Libreboot 20211122 was retained, and it is included in today's change. This inserts an empty option ROM in CBFS, without which SeaBIOS would hang; the empty option ROM prevents SeaBIOS from loading the real one. -Dasharo firmware ----------------- +### Dasharo firmware **Libreboot does not yet integrate Dasharo.** diff --git a/site/news/gm45microcode.md b/site/news/gm45microcode.md index 1c6d587..a9dd1dd 100644 --- a/site/news/gm45microcode.md +++ b/site/news/gm45microcode.md @@ -18,8 +18,8 @@ updates using the instructions on this page, *or* if you need pre-built ROM images, Libreboot 20220710 had no-microcode ROMs by default and it has the mitigation patches described by this article. -Introduction -============ +Free as in freedom +------------ Microcode updates provide stability and security fixes, using the files provided by coreboot, which are assembled at boot time. CPUs have microcode @@ -70,8 +70,7 @@ The patch re-adding these mitigations can be seen here: -Why? ----- +### Why? Free choice, that's why. We don't lecture anyone. We just help people. @@ -94,8 +93,7 @@ This change, today, fixes a practical violation of Libreboot policy by once again restoring such practical choice to the user. It is already said how to do so elsewhere, but I'll repeat it here in this news article for posterity: -How to add/remove microcode updates from ROM --------------------------------------------- +### How to add/remove microcode updates from ROM Extract to file on disk: diff --git a/site/news/hp2170p.md b/site/news/hp2170p.md index f8f5656..101d7d5 100644 --- a/site/news/hp2170p.md +++ b/site/news/hp2170p.md @@ -7,8 +7,8 @@ -Introduction -============ +Free software BIOS/UEFI +----------------------- HP EliteBook 2170p support was added to coreboot, in the [coreboot 4.20.1 release](https://doc.coreboot.org/releases/coreboot-4.20.1-relnotes.html) @@ -25,8 +25,7 @@ Information about the board can be found on the coreboot documentation: Installation instructions are being written for Libreboot, but you can refer to the coreboot instructions for now. -Socketed flash IC! ------------------- +### Socketed flash IC! I love HP EliteBooks. Truly. This is the only 11 inch laptop I've ever seen that has socketed SOIC8 flash: @@ -53,10 +52,9 @@ this is no longer true. GRUB has fixed this, courtesy of a patch that Riku Viitanen sent them. Other works currently in progress -================================= +--------------------------- -More boards coming soon ------------------------ +### More boards coming soon I'm on a spree, adding more boards to Libreboot, especially HP EliteBooks. @@ -74,8 +72,7 @@ in future revisions of Libreboot: * Dell OptiPlex 9010 * Dell Precision T1650 -Another build system audit --------------------------- +### Another build system audit I've also started another audit of the Libreboot build system; the [last one](audit.md) was quite intense and a lot more work is going in for the diff --git a/site/news/hp8200sff.md b/site/news/hp8200sff.md index b7fe26e..e566d0e 100644 --- a/site/news/hp8200sff.md +++ b/site/news/hp8200sff.md @@ -2,8 +2,8 @@ % Leah Rowe % 15 April 2023 -Introduction -============ +Free software BIOS/UEFI +---------------------------- Today, Libreboot gains its *first* desktop machine for nearly 2 years. The last one added was Acer G43T-AM3. @@ -21,8 +21,7 @@ readily available on merchant sites such as eBay. Desktop support has traditionally been much weaker in Libreboot, and this is something that should (can, and will) change. -HP EliteBook 2560p (laptop) ------------------- +### HP EliteBook 2560p (laptop) Riku is also interested in adding HP EliteBook 2560p support in Libreboot. Coreboot has support for that board. For *that* board, I committed this @@ -42,8 +41,7 @@ in the Libreboot [blobs reduction policy](policy.md), because it makes the EC firmware easier to replace with libre code (based on reverse engineering, perhaps). -Dell Optiplex 7020/9020 probably soon (testing needed) -------------------------------------- +### Dell Optiplex 7020/9020 probably soon (testing needed) I've purchased Dell Optiplex 7020 and 9020 workstations (Haswell gen), which is available for coreboot with this gerrit patch: @@ -52,8 +50,7 @@ available for coreboot with this gerrit patch: Libreboot will eventually support *all* coreboot targets. -Want to help add boards yourself? ---------------------------------- +### Want to help add boards yourself? Libreboot has the following documentation available: diff --git a/site/news/hp8200sff.uk.md b/site/news/hp8200sff.uk.md index f9e2521..1dcf1e7 100644 --- a/site/news/hp8200sff.uk.md +++ b/site/news/hp8200sff.uk.md @@ -3,7 +3,7 @@ % 15 квітня 2023 року Вступ -============ +------ Сьогодні, Libreboot отримує його *першу* настільну машину за майже 2 роки. Останнім доданим був Acer G43T-AM3. @@ -21,8 +21,7 @@ традиційно набагато слабішою в Libreboot, і це щось, що має (може, і буде) змінюватися. -HP EliteBook 2560p (ноутбук) ------------------- +### HP EliteBook 2560p (ноутбук) Ріку також зацікавлений в додаванні підтримки HP EliteBook 2560p в Libreboot. Coreboot має підтримку для тієї плати. Для *тієї* плати, я зробила commit цього @@ -42,8 +41,7 @@ Coreboot має підтримку для тієї плати. Для *тієї* це робить прошивку EC легшою для заміни на вільний код (заснований на зворотній розробці, мабуть). -Dell Optiplex 7020/9020 можливо скоро (потребує випробування) -------------------------------------- +### Dell Optiplex 7020/9020 можливо скоро (потребує випробування) Я купила робочі станції Dell Optiplex 7020 та 9020 (покоління Haswell), що доступно для coreboot з цим виправленням gerrit: @@ -52,8 +50,7 @@ Dell Optiplex 7020/9020 можливо скоро (потребує випроб Libreboot в певний момент буде підтримувати *всі* цілі coreboot. -Хочете допомогти додати плати самостійно? ---------------------------------- +### Хочете допомогти додати плати самостійно? Libreboot має наступну документацію в наявності: diff --git a/site/news/hp820g2.md b/site/news/hp820g2.md index 7115f42..33a60a5 100644 --- a/site/news/hp820g2.md +++ b/site/news/hp820g2.md @@ -23,8 +23,8 @@ Full hardware specifications can be found on HP's own website: -Introduction -============ +Free software BIOS +------------------ This is a beastly 12.5" Broadwell machine from HP, the main benefit of which is greater power efficiency (compared to Ivybridge and Haswell platforms), while @@ -47,7 +47,7 @@ All variants of this mainboard will come with Intel HD 5500 graphics, which has completely free software initialisation in coreboot, provided by *libgfxinit*. How to install Libreboot -======================== +-------------------- Refer to the [HP 820 G2 install guide](../docs/install/hp820g2.md) for more information about how to flash this board. This machine is widely diff --git a/site/news/hp8470p_and_dell_t1650.md b/site/news/hp8470p_and_dell_t1650.md index b59e2d2..a871743 100644 --- a/site/news/hp8470p_and_dell_t1650.md +++ b/site/news/hp8470p_and_dell_t1650.md @@ -7,16 +7,15 @@ HP EliteBook 8470p](../docs/install/hp8470p.md) and also [Dell Precision T1650](../docs/install/t1650.md).** -Introduction -============ +Free your BIOS today! +------------------- I've ported and tested two new boards, and merged them into the `lbmk` master branch. They will be available in the next regular release: -HP EliteBook 8470p ------------------- +### HP EliteBook 8470p HP EliteBook 8470p is another IvyBridge platform, similar to other EliteBooks that Libreboot already supports, such as the HP EliteBook 9470m that Riku @@ -35,8 +34,7 @@ Another quirk: SOIC16 flash IC, but it's 16MB in size (Winbond W25Q128). There is currently no documentation on the coreboot website, but installation instructions will be written for the Libreboot website. -Dell Precision T1650 --------------------- +### Dell Precision T1650 This machine is truly unique, among most desktop boards in coreboot. It's yet another IvyBridge desktop, same platform as [HP 8300 @@ -83,14 +81,13 @@ would be a boon. Stick 32GB of ECC RAM with RAID10 HDDs on FreeBSD and run OpenBSD virtual servers in bhyve! Other works currently in progress -================================= +------------------------------- A similar report was made in the [HP EliteBook 2170p news page](hp2170p.md). Some of that is now done, so the list is updated (and more work is also being done): -More boards coming soon ------------------------ +### More boards coming soon I'm *still* on a spree, adding more boards to Libreboot, especially HP EliteBooks. These boards are of interest, to the Libreboot project, at this diff --git a/site/news/hp_elitebooks.md b/site/news/hp_elitebooks.md index ff401c5..5807e8a 100644 --- a/site/news/hp_elitebooks.md +++ b/site/news/hp_elitebooks.md @@ -2,8 +2,8 @@ % Riku Viitanen % 23 April 2023 -Introduction -============ +Free software BIOS +------------------ ![Two HP EliteBooks side by side, both running Libreboot](https://av.libreboot.org/hp9470m/9470m+2560p.jpg) @@ -19,8 +19,7 @@ Additionally, a [long-standing bug](https://browse.libreboot.org/lbmk.git/plain/ with GRUB on coreboot now has a functional workaround which is applied automatically by Libreboot. -More to come ------------- +### More to come! Leah Rowe has recently been on a buying spree, so more Sandy/Ivy Bridge and Haswell EliteBooks are making their way to Libreboot soon. Libreboot's goal diff --git a/site/news/kgpe-d16.md b/site/news/kgpe-d16.md index ee82e1d..315ccc9 100644 --- a/site/news/kgpe-d16.md +++ b/site/news/kgpe-d16.md @@ -5,7 +5,7 @@ **UPDATE: I have this board now. I do not require donation anymore.** Please donate a D16 machine if you can -====================================== +----------------------------------- If someone can donate one to me, that would be a great service to the Libreboot project. Preferably assembled, with CPU, cooler, working RAM (in coreboot), in @@ -23,15 +23,14 @@ and (especially) the coolers is a challenge, to say the least. If you would like to help, and have a machine to spare, please can you contact me at my email address: [info@minifree.org](mailto:info@minifree.org) -KCMA-D8 also needed -------------------- +### KCMA-D8 also needed I'm also arranging for an assembled machine with KCMA-D8 in it to be sent to me - though I'm not yet sure if that will go through, so if you have one of those aswell, I'd be interested too. How I plan to re-add -==================== +-------------------- Dasharo produces updated coreboot images for KGPE-D16, with source code. They took coreboot from release 4.11 and updated the code. I plan to add support in diff --git a/site/news/libreboot20131212.md b/site/news/libreboot20131212.md index e27ac54..e469d72 100644 --- a/site/news/libreboot20131212.md +++ b/site/news/libreboot20131212.md @@ -3,18 +3,16 @@ % 12 December 2013 r20131212 (1st release) {#release20131212} -======================= +---------------------------- - 12th December 2013 -Supported: ----------- +### Supported: - ThinkPad X60 - ThinkPad X60s -Development notes ------------------ +### Development notes - initial release - source code deblobbed diff --git a/site/news/libreboot20131213.md b/site/news/libreboot20131213.md index 6cfa6d3..436ce69 100644 --- a/site/news/libreboot20131213.md +++ b/site/news/libreboot20131213.md @@ -3,18 +3,16 @@ % 13 December 2013 r20131213 (2nd release) {#release20131213} -======================= +----------------------------------------- - 13th December 2013 -Supported: ----------- +### Supported: - ThinkPad X60 - ThinkPad X60s -Development notes ------------------ +### Development notes - added background image to GRUB2 - added memtest86+ payload to grub2 diff --git a/site/news/libreboot20131214.md b/site/news/libreboot20131214.md index 826ff4e..9b8395f 100644 --- a/site/news/libreboot20131214.md +++ b/site/news/libreboot20131214.md @@ -3,18 +3,16 @@ % 14 December 2013 r20131214 (3rd release) {#release20131214} -======================= +----------------------------- - 14th December 2013 -Supported: ----------- +### Supported: - ThinkPad X60 - ThinkPad X60s -Development notes ------------------ +### Development notes - Added SeaBIOS payload to GRUB2 (for booting USB drives) - new grub.cfg diff --git a/site/news/libreboot20140622.md b/site/news/libreboot20140622.md index daa41f6..0a0bab7 100644 --- a/site/news/libreboot20140622.md +++ b/site/news/libreboot20140622.md @@ -3,34 +3,30 @@ % 22 June 2014 Release 20140622 (5th release) -============================== +-------------------------- - 7th March 2014 - revised 22nd June 2014 -Officially supported --------------------- +### Officially supported - ThinkPad X60 - ThinkPad X60s -Revision (22nd June 2014 - extra) ---------------------------------- +### Revision (22nd June 2014 - extra) - Documentation: added X60 Unbricking tutorial - Documentation: added info about enabling or disabling wifi - Documentation: added info about enabling or disabling trackpoint -Revision (22nd June 2014 - extra) ---------------------------------- +### Revision (22nd June 2014 - extra) - Documentation: Improved the instructions for using flashprog - Documentation: Improved the instructions for using cbfstool (to change the default GRUB menu) - Documentation: Numerous small fixes. -Revision notes (22nd June 2014) -------------------------------- +### Revision notes (22nd June 2014) - updated GRUB (git 4b8b9135f1676924a8458da528d264bbc7bbb301, 20th April 2014) diff --git a/site/news/libreboot20140911.md b/site/news/libreboot20140911.md index e8be283..408c7ad 100644 --- a/site/news/libreboot20140911.md +++ b/site/news/libreboot20140911.md @@ -3,7 +3,7 @@ % 11 September 2014 6th release (pre-release, 7th beta) -=================================== +---------------------------- - Released 11th July 2014 (pre-release) 1st beta - Revised (pre-release, 2nd beta) 16th July 2014 @@ -14,15 +14,13 @@ - Revised (pre-release, 6th beta) 3rd September 2014 - Revised (pre-release, 7th beta) 11th September 2014 -Machines still supported (compared to previous release): --------------------------------------------------------- +### Machines still supported (compared to previous release): - **Lenovo ThinkPad X60/X60s** - You can also remove the motherboard from an X61/X61s and replace it with an X60/X60s motherboard. -New systems supported in this release: --------------------------------------- +### New systems supported in this release: - **Lenovo ThinkPad X60 Tablet** (1024x768 and 1400x1050) with digitizer support @@ -43,13 +41,11 @@ New systems supported in this release: MB063LL/A, MB062LL/A) - See **hardware/\#macbook21**. -Machines no longer supported (compared to previous release): ------------------------------------------------------------- +### Machines no longer supported (compared to previous release): - **All previous systems still supported!** -Revisions for r20140911 (7th beta) (11th September 2014) --------------------------------------------------------- +### Revisions for r20140911 (7th beta) (11th September 2014) - The changes below were made in a git repository, unlike in previous releases. Descriptions below are copied from 'git log'. diff --git a/site/news/libreboot20141015.md b/site/news/libreboot20141015.md index 499081b..d7e9087 100644 --- a/site/news/libreboot20141015.md +++ b/site/news/libreboot20141015.md @@ -3,7 +3,7 @@ % 15 October 2014 Machines supported in this release: -=================================== +--------------------------------- - **Lenovo ThinkPad X60/X60s** - You can also remove the motherboard from an X61/X61s and replace @@ -29,8 +29,7 @@ Machines supported in this release: MB063LL/A, MB062LL/A) - See **hardware/\#macbook21**. -Changes for this release (latest changes first, earliest changes last) ----------------------------------------------------------------------- +### Changes for this release (latest changes first, earliest changes last) - Updated coreboot (git commit 8ffc085e1affaabbe3dca8ac6a89346b71dfc02e), the latest at the time of diff --git a/site/news/libreboot20150124.md b/site/news/libreboot20150124.md index 23f3cc4..b051942 100644 --- a/site/news/libreboot20150124.md +++ b/site/news/libreboot20150124.md @@ -3,7 +3,7 @@ % 24 January 2015 Machines supported in this release: -=================================== +--------------------------------- - **Lenovo ThinkPad X60/X60s** - You can also remove the motherboard from an X61/X61s and replace @@ -38,8 +38,7 @@ Machines supported in this release: MB063LL/A, MB062LL/A) - See **hardware/\#macbook21**. -Changes for this release (latest changes first, earliest changes last) ----------------------------------------------------------------------- +### Changes for this release (latest changes first, earliest changes last) - grub.cfg: Added (ahci1) to list of devices for ISOLINUX parser (CD/DVD) (this is needed for the X200 docking station). diff --git a/site/news/libreboot20150126.md b/site/news/libreboot20150126.md index 3729125..f419ea1 100644 --- a/site/news/libreboot20150126.md +++ b/site/news/libreboot20150126.md @@ -3,7 +3,7 @@ % 26 January 2015 Machines supported in this release: -=================================== +---------------------------------- - **Lenovo ThinkPad X60/X60s** - You can also remove the motherboard from an X61/X61s and replace @@ -38,8 +38,7 @@ Machines supported in this release: MB063LL/A, MB062LL/A) - See **hardware/\#macbook21**. -Revisions for r20150126 (relative to r20150124) ------------------------------------------------ +### Revisions for r20150126 (relative to r20150124) This is a bug fix release based on r20150124. It contains a few small changes: diff --git a/site/news/libreboot20150208.md b/site/news/libreboot20150208.md index a65fa37..44aa332 100644 --- a/site/news/libreboot20150208.md +++ b/site/news/libreboot20150208.md @@ -3,7 +3,7 @@ % 8 February 2015 Machines supported in this release: -=================================== +------------------------------------- - **Lenovo ThinkPad X60/X60s** - You can also remove the motherboard from an X61/X61s and replace @@ -38,8 +38,7 @@ Machines supported in this release: MB063LL/A, MB062LL/A) - See **hardware/\#macbook21**. -Revisions for r20150208 (relative to r20150126) ------------------------------------------------ +### Revisions for r20150208 (relative to r20150126) This is a maintenance release (polishing) based on r20150126. Users who installed r20150126 don't really need to update to this release. diff --git a/site/news/libreboot20210522.md b/site/news/libreboot20210522.md index 6539cbe..6370871 100644 --- a/site/news/libreboot20210522.md +++ b/site/news/libreboot20210522.md @@ -3,10 +3,9 @@ % 22 May 2021 Join us now and flash the firmware! -=================================== +---------------------------------- -You'll be free! ---------------- +### You'll be free! Libreboot is [free](https://writefreesoftware.org/) (as in freedom) boot firmware, which initializes the hardware @@ -26,8 +25,7 @@ mirrors. If you check in the `stable` directory, you'll still only find the 20160907 release in there, so please ensure that you check the `testing` directory! -Tested boards -------------- +### Tested boards More testing is needed, for this release. Frequent update releases are planned after this release, fixing any issues that people may come across. @@ -40,31 +38,28 @@ as ThinkPad X60/T60 and Macbook2,1 have been tested, and should work fine. Intel D510MO and D945GCLF boards are untested! Acer G43T-AM3 is untested! New boards -========== +--------- -Desktops --------- +### Desktops -### Acer G43T-AM3 +#### Acer G43T-AM3 This is a desktop mainboard, with similar hardware to the already supported Gigabyte GA-G41M-ES2L -Laptops -------- +### Laptops -### Lenovo ThinkPad R500 +#### Lenovo ThinkPad R500 This is another Intel GM45 target, similar to the ThinkPad T500 that Libreboot already supports. -### Lenovo ThinkPad X301 +#### Lenovo ThinkPad X301 This is another Intel GM45 target, similar to the ThinkPad X200 that Libreboot already supports. -List of supported boards ------------------------- +### List of supported boards This release has focused on the build system, and updating to the latest coreboot release. This Libreboot release uses coreboot 4.14. Only a few boards @@ -73,7 +68,7 @@ release is planned soon, specifically an update release with ROM images in it for more boards, while being built from the Libreboot 20210522 source code. Visit the [tasks page](/tasks/) to know which machines are on the TODO list. -### Desktops (AMD, Intel, x86) +#### Desktops (AMD, Intel, x86) - Gigabyte GA-G41M-ES2L motherboard - Intel D510MO and D410PT motherboards @@ -81,13 +76,13 @@ Visit the [tasks page](/tasks/) to know which machines are on the TODO list. - Apple iMac 5,2 - Acer G43T-AM3 -### Servers/workstations (AMD, x86) +#### Servers/workstations (AMD, x86) - ASUS KCMA-D8 motherboard - ASUS KGPE-D16 motherboard - ASUS KFSN4-DRE motherboard -### Laptops (Intel, x86) +#### Laptops (Intel, x86) - ThinkPad X60 / X60S / X60 Tablet - ThinkPad T60 (with Intel GPU) @@ -100,14 +95,12 @@ Visit the [tasks page](/tasks/) to know which machines are on the TODO list. - Lenovo ThinkPad X301 - Apple MacBook1,1 and MacBook2,1 -Dropped boards --------------- +### Dropped boards ASUS Chromebook C201 was dropped. It will be re-added at a later date, when the build system in Libreboot has better integration for ARM hardware. -More boards coming soon! ------------------------- +### More boards coming soon! I had planned to add a lot more boards before doing a new release, but the existing boards are greatly improved already (lots of new fixes and features @@ -118,7 +111,7 @@ referencing this release (Libreboot 20210522) for the source code. See the tasks page on libreboot.org for a list of the boards I plan to add. lbmk -==== +---- The build system in libreboot is called `lbmk`, short for Libreboot Make. In the previous Libreboot release, this build system had no name. It was simply @@ -224,7 +217,7 @@ compared to the Libreboot 20160907 build system: It's better documented, and easier for the average person to maintain. Documentation -============= +---------------- Generally, the documentation is much improved. In particular, the "maintain" page has been reintroduced, which describes every aspect of the build system @@ -252,7 +245,7 @@ support, rather than build system changes. As such, the installation guides are greatly improved and there are *more* systems documented now. GRUB -==== +---- In GRUB payloads, a much more recent version is used. The difference is literally: the GRUB version that Libreboot 20160907 uses was released 5 years @@ -296,7 +289,7 @@ Download GRUB from the upstream repository and check every commit since then. GM45/X4X now set 352MiB VRAM by default -======================================= +-------------------------------------- In the previous Libreboot release, PCI MMIO size was set to 1GiB. It is now set to 2GiB, allowing for 352MiB VRAM to be allocated when using the onboard @@ -309,7 +302,7 @@ The following patch in coreboot allowed that (shortly after the Libreboot Quad-core CPU mod on ThinkPad T500 etc -======================================= +----------------------------------- NOTE: The actual modification (to the hardware) is only documented for T500, but it should be possible to adapt those instructions for similar GM45 laptops @@ -334,7 +327,7 @@ This is necessary, for a special mod that is possible on these machines, to enable quad-core CPUs (core2quad). libgfxinit -========== +---------- In Libreboot 20160907, *native graphics initialization* was C code implemented on each platform, and it was very messy, but it *worked*. @@ -614,7 +607,7 @@ running `git submodule update --init` in a coreboot git clone: ```` coreboot release logs -===================== +--------------------- The following is a page linking to release logs for coreboot, upstream:\ @@ -624,8 +617,7 @@ are most relevant to Libreboot. Roughly speaking, Libreboot 20160907 (the previous release, 4 years and 8 months ago) used revisions of coreboot near or around coreboot version 4.4 and 4.5, depending on the board. -coreboot 4.14 -------------- +### coreboot 4.14 Lots of random fixes, too many to list. Instead, see git logs on this page for specific boards/platforms. @@ -639,8 +631,7 @@ However, the following fixes were made for Lenovo X200 recently: * * -coreboot 4.13 -------------- +### coreboot 4.13 * Mostly re-factoring and minor bug fixes, but it has some interesting fixes that benefit libreboot @@ -651,8 +642,7 @@ coreboot 4.13 interesting in the future on x86 targets * New resource allocator: enables more efficient use of memory during bootup -coreboot 4.12 -------------- +### coreboot 4.12 * SMMSTORE is now a thing. See: . This is relevant for Tianocore, a UEFI payload, which libreboot currently @@ -663,8 +653,7 @@ coreboot 4.12 configurations, in SPI flash. it's handled via SMM interrupts (SMIs). NOTE: SMMSTOREv2 is also becoming a thing now -coreboot 4.11 -------------- +### coreboot 4.11 * C\_ENVIRONMENTAL\_BOOTBLOCK is now preferred, instead of the old romcc bootblocks. i945, x4x and gm45 platforms have been adapted to use this (this @@ -673,14 +662,12 @@ coreboot 4.11 * Generally, this was another "code cleanup release" of coreboot. A lot of code in coreboot was re-factored -coreboot 4.10 -------------- +### coreboot 4.10 * nothing noteworthy to libreboot, this was mainly a "code cleanup" release in coreboot -coreboot 4.9 ------------- +### coreboot 4.9 * Less repetition in the codebase, for similar boards. For example, X200 thinkpad is its own codebase, and similar boards are "variants" where only @@ -689,8 +676,7 @@ coreboot 4.9 * Intel X4X platform: Add DDR3 support (raminit) * -coreboot 4.8 ------------- +### coreboot 4.8 * Improved VBT implementations in libgfxinit * i945 (X60/T60/macbook21 etc): native video initialization is now skipped @@ -699,8 +685,7 @@ coreboot 4.8 of this coreboot release, the framebuffer driver couldn't. this will need to be tested! -coreboot 4.7 ------------- +### coreboot 4.7 * GM45 laptops: set display backlight PWM correctly * Add romstage timings @@ -710,8 +695,7 @@ coreboot 4.7 * Intel X4X: Rework and fixSPD reading and decoding * Intel X4X: Allow external GPU to take VGA cycles -coreboot 4.6 ------------- +### coreboot 4.6 * fix buggy S3 suspend/resume on Gigabyte GA-G41M-ES2L mainboard, and fix bugs in raminit @@ -724,7 +708,7 @@ coreboot 4.6 Detailed coreboot git logs -========================== +-------------------------- The following are lists of changes in coreboot 4.14, versus coreboot revisions used in various platforms/mainboards from Libreboot 20160907. These lists are @@ -744,8 +728,7 @@ There are many other aspects of coreboot that can be shown here, but it's not useful to list all of them. Listing just the platform/board changes gives an excellent picture overall. -Northbridge changes -------------------- +### Northbridge changes For all intents and purposes, the northbridge and southbridge code *is* the platform for a given board, and then you have board specific code. diff --git a/site/news/libreboot20211122.md b/site/news/libreboot20211122.md index a0d6c67..5cd0797 100644 --- a/site/news/libreboot20211122.md +++ b/site/news/libreboot20211122.md @@ -3,7 +3,7 @@ % 22 November 2021 Free your BIOS today! -===================== +-------------------- Libreboot is [free](https://writefreesoftware.org/) (as in freedom) boot firmware, which initializes the hardware @@ -27,8 +27,7 @@ This is a *bug fix* release, relative to 20210522. No new boards or major features have been added, but several problems that existed in the previous release have now been fixed. -Work done since the 20210522 release: -------------------------------------- +### Work done since the 20210522 release: * Updated to newer coreboot, SeaBIOS and GRUB versions. The 20210522 release was using coreboot 4.14, on most boards, from May 2021. This release @@ -75,7 +74,7 @@ Work done since the 20210522 release: * Turkish keyboard layout added on GRUB payloads New release schedule under consideration -======================================== +------------------------------------- The 20210522 release happened to coincide with coreboot 4.14's release, more or less. diff --git a/site/news/libreboot20220710.md b/site/news/libreboot20220710.md index 75a290a..ea54c27 100644 --- a/site/news/libreboot20220710.md +++ b/site/news/libreboot20220710.md @@ -3,7 +3,7 @@ % 10 July 2022 Free your BIOS today! -===================== +--------------------- Libreboot is [free](https://writefreesoftware.org/) (as in freedom) boot firmware, which initializes the hardware @@ -21,14 +21,12 @@ This is a *bug fix* release, relative to 20211122. No new boards or major features have been added, but several problems that existed in the previous release have now been fixed. -Build from source ------------------ +### Build from source *This* release was build-tested on Debian 11. Your mileage may vary, with other distros. -Work done since the 20211122 release: -------------------------------------- +### Work done since the 20211122 release: * Lots and lots of improvements to the documentation. Previous 2021 testing releases did not include snapshots of the documentation (which is actually @@ -68,8 +66,7 @@ Work done since the 20211122 release: * lbmk: Preliminary fix for git credentials check. Set a placeholder name/email if one is not set. -Caveats -------- +### Caveats Due to reported issues by users, these boards do not have ROM images available in the Libreboot 20220710 release: @@ -90,19 +87,17 @@ All other boards are reasonably stable, and shouldn't provide any issues (no major issues reported, and/or non-blocking issues only). Planned future work -=================== +------------------- In general, you should also check the issue tracker to find other notes. There is always more work to do, to improve Libreboot. -Support for non-x86 platforms ------------------------------ +### Support for non-x86 platforms This is still on hold, but will be done as part of a future release. The coreboot firmware does support other platforms. -Linux distro in flash ---------------------- +### Linux distro in flash This is another project that has been on hold for a while. The issue has been that I need a decent userland project. I've looked at many @@ -116,8 +111,7 @@ so as to allow any number of packages to be downloaded. It could also provide lots of utils in general, to be a live *rescue system* of sorts. Linux system in flash, that can bootstrap other systems. -Re-factor and optimize GRUB ---------------------------- +### Re-factor and optimize GRUB GRUB is full of unused bloat that almost nobody uses, yet is in the current Libreboot builds. It's been on TODO for some time, but work has not yet diff --git a/site/news/libreboot20221214.md b/site/news/libreboot20221214.md index 35a3039..0a45579 100644 --- a/site/news/libreboot20221214.md +++ b/site/news/libreboot20221214.md @@ -2,6 +2,9 @@ % Leah Rowe % 14 December 2022 +Free as in freedom! +-------------------- + The last Libreboot release, version 20220710, was released on 10 July in 2022. *This* new release, Libreboot 20221214, is released today on December 14th, 2022. This is intended to be a *testing* release. @@ -14,20 +17,18 @@ YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions there, before flashing. For posterity, [here is the link again](../docs/install/ivy_has_common.md).** -Build from source ------------------ +### Build from source *This* release was build-tested on Debian 11. Your mileage may vary, with other distros. Work done since last release -============================ +-------------------- For more detailed change logs, look at the Git repository. This is a summary of changes. -New boards, x86 ----------- +### New boards, x86 This list *may not be complete*, but it is as follows: @@ -44,8 +45,7 @@ This list *may not be complete*, but it is as follows: * lenovo/t420 (thinkpad) * lenovo/x230 tablet (thinkpad) -GA-G41M-ES2L ROMs ------------- +### GA-G41M-ES2L ROMs GA-G41M-ES2L ROM images are back, but your mileage may vary. Only the SeaBIOS payload is enabled, on this board. @@ -58,8 +58,7 @@ well. GA-G41M-ES2L support is therefore stable, for all intents and purposes. This section of the release announcement previously alluding to issues, but those speculations were premature, based on limited prior testing.** -New boards, ARM ----------- +### New boards, ARM NOTE: These boards use u-boot payload, instead of depthcharge. @@ -83,8 +82,7 @@ of Alper Nebi Yasak (`alpernebbi` on libreboot IRC). In these configurations, u-boot is a *payload of coreboot*. -Removed boards --------------- +### Removed boards ASUS KGPE-D16, KCMA-D8 and KFSN4-DRE are removed, because raminit never worked reliably on these boards to begin with and they were @@ -437,10 +435,9 @@ would simply merge) ``` Known issues -============ +------------ -Intel ME firmware missing in ROMs that need it ----------------------------------------------- +### Intel ME firmware missing in ROMs that need it If you compile ROM images with lbmk directly, the build system automatically fetches ME images from the internet and neuters @@ -456,14 +453,12 @@ e.g. X220, T420, X230, T430, T440p. On *older* Intel platforms such as GM45+ICH9M (X200, T400, etc) the Intel ME image isn't needed and Libreboot ships with ME-disabled configuration. -MRC image missing in Haswell ROMs ---------------------------------- +### MRC image missing in Haswell ROMs Ditto ME images. To re-insert, follow the [guide](../docs/install/ivy_has_common.md). -Internal flashing on 16MB X230 images -------------------------------------- +### Internal flashing on 16MB X230 images The X230 has two ways of upgrading the default 12MB (8MB and 4MB chips) flash to 16MB: remove a bunch of resistors and capacitors on the board @@ -483,8 +478,7 @@ So, 16MB images on X230 are experimental. When these ROM images are built, the required IFD modification is already done in Libreboot's IFD for this setup. -S3 suspend/resume on Haswell (T440p/W541) ------------------------------------------ +### S3 suspend/resume on Haswell (T440p/W541) Totally broken. The suspected cause is component2density setting in IFD being wrong: ifdtool reports it as being too big for what's actually @@ -502,43 +496,7 @@ When X230 16MB was experimented with, Haswell was also looked at, and what seemed to be the same component density bits were set, also resulting in a brick (it's why only 12MB images are available for haswell in libreboot). -Chromebook boards mostly untested ---------------------------------- +### Chromebook boards mostly untested Alper has tested the `gru_kevin` ROM images produced by lbmk, but the other images are untested as of this day. - -Planned future work -=================== - -In general, you should also check the issue tracker to find other notes. -There is always more work to do, to improve Libreboot. - -Linux distro in flash ---------------------- - -STILL ON TODO SINCE LAST RELEASE. - -This is another project that has been on hold for a while. The issue -has been that I need a decent userland project. I've looked at many -different userlands and recently (as of late June) decided to make -my own. I want a BusyBox-like solution, but based on code from OpenBSD, -ported to run under Linux with musl libc. - -I want this distro to provide a kexec bootloader in flash, similar to Heads, -and I also want it to use apk-tools, pointing at Alpine Linux repositories -so as to allow any number of packages to be downloaded. It could also provide -lots of utils in general, to be a live *rescue system* of sorts. Linux system -in flash, that can bootstrap other systems. - -Re-factor and optimize GRUB ---------------------------- - -STILL ON TODO SINCE LAST RELEASE. - -GRUB is full of unused bloat that almost nobody uses, yet is in the current -Libreboot builds. It's been on TODO for some time, but work has not yet -begun on this project. My efforts are currently focused on the Linux distro. - -What I want is a fork of GRUB, optimized to run on bare metal as a coreboot -payload, on x86 and ARM platforms. diff --git a/site/news/libreboot20230319.md b/site/news/libreboot20230319.md index 70b5922..cbc737a 100644 --- a/site/news/libreboot20230319.md +++ b/site/news/libreboot20230319.md @@ -12,8 +12,8 @@ YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions there, before flashing. For posterity, [here is the link again](../docs/install/ivy_has_common.md).** -Introduction -============ +Free your BIOS today! +-------------------- Libreboot provides boot firmware for supported x86/ARM machines, starting a bootloader that then loads your operating system. It replaces proprietary @@ -35,20 +35,18 @@ been provided pre-compiled; specifically, `daisy` and `veyron` chromebook boards are not available pre-compiled, but the other boards are. A few new boards have been added, in addition to several fixes and feature additions. -Build from source ------------------ +### Build from source *This* release was build-tested on Debian *Sid*, as of 18 March 2023. Your mileage may vary, with other distros. Refer to Libreboot documentation. Work done since last release -============================ +-------------------------- For more detailed change logs, look at the Git repository. This is a summary of changes. -Brief overview of changes ------------------ +### Brief overview of changes I've been very busy these last couple months, so there have been less changes in Libreboot lately. I'm expecting to have a lot more time throughout the @@ -106,8 +104,7 @@ Pre-compiled ROM images will for the `t440pmrc_12mb` and `w541mrc_12mb` targets will be available in the next release; the `t440p_12mb` and `w541_12mb` images are still available in this release, pre-compiled. -REMARK: libre raminit on Haswell --------------------------------- +### REMARK: libre raminit on Haswell Upon testing, I've discovered that the libre code has the following problems: @@ -137,8 +134,7 @@ The libre raminit comes from this patchset: The MRC vendor file (and Angel's replacement code) don't just do raminit, they handle a few other init tasks aswell, including USB host controller. -New boards, x86 ----------- +### New boards, x86 * Lenovo ThinkPad W530 * Lenovo ThinkPad T530 @@ -154,8 +150,7 @@ add for the next release: ^ I would have put these in today's release, but didn't have time, and wanted to get this release done today. -Removed boards --------------- +### Removed boards * asus p2b\_ls/p3b\_f - they didn't boot properly in pcbox, and the real hardware is basically useless / impossible to find @@ -244,90 +239,4 @@ follows: * 00187811 - util/nvmutil: exit non-zero if close() fails (3 months ago) ``` -Major works planned -=================== -In general, you should also check the issue tracker to find other notes. -There is always more work to do, to improve Libreboot. - -Linux distro in flash ---------------------- - -STILL ON TODO SINCE LAST RELEASE. - -This is another project that has been on hold for a while. The issue -has been that I need a decent userland project. I've looked at many -different userlands and since late June in 2022, decided to make -my own. I want a BusyBox-like solution, but based on code from OpenBSD, -ported to run under Linux with musl libc. - -I want this distro to provide a kexec bootloader in flash, similar to Heads, -and I also want it to use apk-tools, pointing at Alpine Linux repositories -so as to allow any number of packages to be downloaded. It could also provide -lots of utils in general, to be a live *rescue system* of sorts. Linux system -in flash, that can bootstrap other systems. - -About a week before this release, I actually started on the project for real, -after having many false starts. I've forked a project called `lobase` which -already ports OpenBSD's userland utilities *to glibc* under Linux, and it's -as of today about 5 years outdated based on OpenBSD 6.3. - -I've ported these utilities directly from OpenBSD 7.2, in my local fork of -lobase, superimposing the new code on top of the old and adapting according -to musl libc (lobase is full of hacks for glibc that I don't need): - -`mail`, `cat`, `ls`, `head`, `rcs`, `hexdump`, `whois` and `time` - -I've been working on this in a dedicated Alpine Linux virtual machine, -currently on release 3.17 of Alpine Linux. Alpine is an ideal test distro for -such development, because it already uses musl libc and has *libressl* -available in aports. - -I don't have enough to release yet, but when I have a release ready, I will -upload it to a Git repository. When the userland port is fully complete, -I shall then base off of Alpine Linux abuild+aports build system -infrastructure to provide small base images. It will be similar to the Heads -project, but built separately and not specifically targeted at Libreboot, -but in general to any coreboot setup, on supported hardware. It won't be a -general purpose distro, but I would at that point submit my userland port to -Alpine, proposing it as a replacement of their busybox package in base. - -Unlike Heads, I don't plan yet to make this a direct coreboot payload. -Instead, it'll be a standalone image loaded into CBFS, and chainloaded via -the GRUB or SeaBIOS payloads, which are both capable of executing ELF binaries -from the flash. - -Lobase, which my development is forked from, can be found here (archived): - - -I've been re-using lobase's build system, adapting newer code from OpenBSD. -It's a lot of work, but I'm hopeful I can have this ready before the next -Libreboot release. - -Re-factor and optimize GRUB ---------------------------- - -STILL ON TODO SINCE LAST RELEASE. - -GRUB is full of unused bloat that almost nobody uses, yet is in the current -Libreboot builds. It's been on TODO for some time, but work has not yet -begun on this project. My efforts are currently focused on the Linux distro. - -What I want is a fork of GRUB, optimized to run on bare metal as a coreboot -payload, on x86 and ARM platforms. - -I have an update since the last release. Paul Menzel of coreboot *has* made -GRUB modules more configurable, making it possible to reduce the size of the -payload. His patch is not yet used in Libreboot (not in this release, anyway), -but the patch in GRUB is: - -``` -commit 6c5ee45548fcb65d7921c9fca5867b256f9a48ad -Author: Paul Menzel -Date: Thu Mar 7 12:16:06 2019 +0100 - Makefile: Allow to set file systems modules for default_payload.elf -``` - -I'm going to play around with this when I get the time. Even with this -modification, GRUB is still full of code that Libreboot will never use. -A *GRUB Valhalla Rampage* is still in order! diff --git a/site/news/libreboot20230413.md b/site/news/libreboot20230413.md index 9e3182b..629aaad 100644 --- a/site/news/libreboot20230413.md +++ b/site/news/libreboot20230413.md @@ -8,7 +8,7 @@ there, before flashing. For posterity, [here is the link again](../docs/install/ivy_has_common.md).** Introduction -============ +------------ Libreboot provides boot firmware for supported x86/ARM machines, starting a bootloader that then loads your operating system. It replaces proprietary @@ -35,14 +35,12 @@ existing supported hardware; the focus is going to be on adding *more* boards to Libreboot, to support more hardware. I've been on a spree, buying lots of mainboards that coreboot supports, that would be interesting in Libreboot. -Build from source ------------------ +### Build from source *This* release was build-tested on Debian *Sid*, as of 13 April 2023. Your mileage may vary, with other distros. Refer to Libreboot documentation. -KCMA-D8 and KGPE-D16 wanted! ----------------------------- +### KCMA-D8 and KGPE-D16 wanted! [ASUS KGPE-D16 and KCMA-D8 needed for testing!](kgpe-d16.md) @@ -52,13 +50,12 @@ with one (or both) of these, I would appreciate it. Please [get in touch](../contact.md)! Work done since last release -============================ +---------------------------- For more detailed change logs, look at the Git repository. This is a summary of changes. -Summary of changes: -------------------- +### Summary of changes: Zero code changes within coreboot on any boards, but the build system went through a mild overhaul: @@ -80,8 +77,7 @@ through a mild overhaul: images need `mrc.bin` for raminit. More info about this is in the previous release. -MRC W541/T440p ROM images re-added ----------------------------------- +### MRC W541/T440p ROM images re-added As alluded to and applied by the above text, T440p/W541 thinkpad images that use `mrc.bin` have been re-added. Libreboot supports experimental raminit on @@ -91,8 +87,7 @@ that use it, so that users can choose which one they want. More information this is available, in the *previous* [Libreboot 20230319 release announcement](libreboot20230319.md). -Detailed descriptions of changes --------------------------------- +### Detailed descriptions of changes Changelog: @@ -145,13 +140,12 @@ Changelog: patch courtesy of Andreas Hartmann. Hardware supported in this release -================================== +---------------------------------- All of the following are believed to *boot*, but if you have any issues, please contact the Libreboot project. They are: -Desktops (AMD, Intel, x86) ------------------------ +### Desktops (AMD, Intel, x86) - [Gigabyte GA-G41M-ES2L motherboard](../docs/install/ga-g41m-es2l.md) - [Acer G43T-AM3](../docs/install/acer_g43t-am3.md) @@ -190,7 +184,7 @@ Desktops (AMD, Intel, x86) - [Samsung Chromebook Plus (v1) (gru-kevin)](../docs/install/chromebooks.md) Downloads -========= +--------- You can find this release on the downloads page. At the time of this announcement, some of the rsync mirrors may not have it yet, so please check diff --git a/site/news/libreboot20230423.md b/site/news/libreboot20230423.md index a1491ea..1033a4d 100644 --- a/site/news/libreboot20230423.md +++ b/site/news/libreboot20230423.md @@ -7,8 +7,8 @@ YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions there, before flashing. For posterity, [here is the link again](../docs/install/ivy_has_common.md).** -Introduction -============ +Free software BIOS/UEFI +--------------------- Libreboot provides boot firmware for supported x86/ARM machines, starting a bootloader that then loads your operating system. It replaces proprietary @@ -34,14 +34,12 @@ The *priority* for Libreboot is to add as many new boards as possible, from now to the next stable release (ETA Q3 2023), with many testing releases in between. Release early, release often. Rigorious testing ensues. -Build from source ------------------ +### Build from source *This* release was build-tested on Debian *Sid*, as of 23 April 2023. Your mileage may vary, with other distros. Refer to Libreboot documentation. -KCMA-D8 and KGPE-D16 wanted! ----------------------------- +### KCMA-D8 and KGPE-D16 wanted! [ASUS KGPE-D16 and KCMA-D8 needed for testing!](kgpe-d16.md) @@ -51,15 +49,14 @@ with one (or both) of these, I would appreciate it. Please [get in touch](../contact.md)! Work done since last release -============================ +-------------------------- This is in the last *10 days*, since the previous release was 10 days ago! Ergo, this is a very conservative changelog. It seems Libreboot has been releasing almost fortnightly, as of late; perhaps this could continue from now on. -New mainboards now supported: ------------------------------ +### New mainboards now supported: * **Dell Latitude E6400 (laptop)** (GM45, blob-free, flashable entirely in software, no disassembly required!) - courtesy Nicholas Chin, `nic3-14159` on @@ -71,8 +68,7 @@ New mainboards now supported: * HP EliteBook 2560p (laptop), courtesy Riku Viitanen (*seriously* cool guy) - Sandybridge hardware gen -Build system changes: ---------------------- +### Build system changes: * **GM45 no-microcode bug mitigations re-added: revert to old SMRR handling and disable PECI (for e.g. X200/T400 users who want to [remove microcode @@ -115,13 +111,12 @@ Build system changes: Leah Rowe. Hardware supported in this release -================================== +--------------------------------- All of the following are believed to *boot*, but if you have any issues, please contact the Libreboot project. They are: -Desktops (AMD, Intel, x86) ------------------------ +### Desktops (AMD, Intel, x86) - [Gigabyte GA-G41M-ES2L motherboard](../docs/install/ga-g41m-es2l.md) - [Acer G43T-AM3](../docs/install/acer_g43t-am3.md) @@ -165,7 +160,7 @@ Desktops (AMD, Intel, x86) - [Samsung Chromebook Plus (v1) (gru-kevin)](../docs/install/chromebooks.md) More boards soon! -================= +--------------- I've purchased about ~10 HP mainboards, all of the viable sandybridge, ivybridge and haswell ones from coreboot. I'm going to add them all. @@ -179,7 +174,7 @@ available on ThinkPad T440p and W541 as an option in Libreboot (including in this release!) Downloads -========= +------- You can find this release on the downloads page. At the time of this announcement, some of the rsync mirrors may not have it yet, so please check diff --git a/site/news/libreboot20230625.md b/site/news/libreboot20230625.md index 3a8f82d..368e406 100644 --- a/site/news/libreboot20230625.md +++ b/site/news/libreboot20230625.md @@ -7,8 +7,8 @@ YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions there, before flashing. For posterity, [here is the link again](../docs/install/ivy_has_common.md).** -Introduction -============ +Free software BIOS/UEFI +------------------------ Libreboot provides boot firmware for supported x86/ARM machines, starting a bootloader that then loads your operating system. It replaces proprietary @@ -36,8 +36,7 @@ firmware, but not Libreboot! Booting Linux/BSD is also [well](../docs/linux/) a new *stable* release of Libreboot. The previous stable release was Libreboot 20220710, released on 10 July 2022. -A note about the changelog --------------------------- +### A note about the changelog The changes listed here are relative to Libreboot *20230423*, *not* 20220710. Therefore, to get a full list of changes since 20220710 (the previous stable @@ -47,17 +46,15 @@ the [20221214](libreboot20221214.md), [20230319](libreboot20230319.md), announcements before reading the *20230625* change log, in order to get a complete picture. -Build from source ------------------ +### Build from source *This* release was build-tested on Debian *Sid*, as of 25 June 2023. Your mileage may vary, with other distros. Refer to Libreboot documentation. Work done since last release -============================ +---------------------------- -New mainboards now supported: ------------------------------ +### New mainboards now supported: These boards were added to Libreboot: @@ -73,8 +70,7 @@ thus hardware support is not greatly improved since the last release. Moving forward, the next Libreboot release will be a *testing* release and *will* focus on hardware support in addition to payloads (linux boot, UEFI etc). -No-microcode ROMs available ---------------------------- +### No-microcode ROMs available Since Libreboot 20221214 and up, CPU microcode is included by default on all applicable x86 mainboards. However, @@ -89,8 +85,7 @@ and [Freedom Status](../freedom-status.md). An earlier article was written about this, [here](microcode.md) -Massive build system audit --------------------------- +### Massive build system audit The full change log below will list all build system changes, but may not provide the overall picture, so to be clear: the @@ -101,8 +96,7 @@ based on the OpenBSD coding style) and many bugs are fixed. An earlier article was written about this, [here](audit.md) -Full list of build system changes --------------------- +### Full list of build system changes Certain build system changes will not be listed here in detail, if they pertain to general code style cleanup/re-factoring, as already alluded to @@ -264,13 +258,12 @@ Newest changes first, oldest changes last: the 20230423 release) Hardware supported in this release -================================== +---------------------------------- All of the following are believed to *boot*, but if you have any issues, please contact the Libreboot project. They are: -Desktops (AMD, Intel, x86) ------------------------ +### Desktops (AMD, Intel, x86) - [Gigabyte GA-G41M-ES2L motherboard](../docs/install/ga-g41m-es2l.md) - [Acer G43T-AM3](../docs/install/acer_g43t-am3.md) @@ -313,14 +306,14 @@ Desktops (AMD, Intel, x86) - [Samsung Chromebook Plus (v1) (gru-kevin)](../docs/install/chromebooks.md) Downloads -========= +--------- You can find this release on the downloads page. At the time of this announcement, some of the rsync mirrors may not have it yet, so please check another one if your favourite one doesn't have it. Post-release errata -=================== +------------------- When building ROM images from the release archives, the following error is observed in some cases, depending on distro: diff --git a/site/news/libreboot20231021.md b/site/news/libreboot20231021.md index f37c461..8b73915 100644 --- a/site/news/libreboot20231021.md +++ b/site/news/libreboot20231021.md @@ -7,8 +7,8 @@ YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions there, before flashing. For posterity, [here is the link again](../docs/install/ivy_has_common.md).** -Introduction -============ +Free software BIOS/UEFI +------------------------ *This* new release, Libreboot 20231021, released today 21 October 2023, is a new *testing* release of Libreboot. The previous release was @@ -37,10 +37,9 @@ firmware, but not Libreboot! Booting Linux/BSD is also [well](../docs/linux/) [supported](../docs/bsd/). Work done since last release -============================ +-------------------------- -New mainboards now supported: ------------------------------ +### New mainboards now supported: The *primary* focus of this release has been build system improvements, and new build system features. However, these boards were added to Libreboot: @@ -64,8 +63,7 @@ they compile properly on modern distros/toolchains. More info can be found in a previous news article: [ASUS KGPE-D16, KCMA-D8 and KFSN4-DRE re-added to Libreboot](fam15h.md) -GRUB LUKS2 now supported (with argon2 key derivation) ---------------------------------------------------- +### GRUB LUKS2 now supported (with argon2 key derivation) This was covered in a [previous article](argon2.md), which you should read. GRUB *2.12* is now the version that Librebooot uses, although it's currently in @@ -95,8 +93,7 @@ These libreboot patches added argon2 support: This means that you can now boot from encrypted `/boot` partitions. I'm very grateful to everyone who made this possible! -Simplified commands (build system) -------------------------- +### Simplified commands (build system) Simply put, lbmk (the Libreboot build system) is now *easier to use*; there are only *12* shell scripts in this release, versus 50 or so in the previous @@ -109,8 +106,7 @@ As always, you can find information about *using* the build system in the [Libreboot build instructions](../docs/build/) and in the [lbmk maintenance manual](../docs/maintain/). -TWO massive audits. 50% code size reduction in lbmk. --------------------------------------------- +### TWO massive audits. 50% code size reduction in lbmk. Libreboot's build system, lbmk, is written entirely in shell scripts. It is an automatic build system that downloads, patches, configures and compiles @@ -132,8 +128,7 @@ Their changes will also be listed here. The Libreboot build system (lbmk) has been completely re-designed, since the last release. It's the same fundamental design, but all of the commands have changed, and everything is much simpler. -Serprog firmware building (RP2040 and STM32) ------------------------------------ +### Serprog firmware building (RP2040 and STM32) In addition to coreboot firmware, the Libreboot build system (lbmk) can now build *serprog* firmware, specifically `pico-serprog` and `stm32-vserprog`, on @@ -147,8 +142,7 @@ Pre-compiled firmware images are available, for many of these devices, under the `roms/` directory in this Libreboot 20231021 release! Riku Viitanen is the one who added this capability to Libreboot. -Updated U-Boot revision (2023.10) ----------------------------- +### Updated U-Boot revision (2023.10) Alper Nebi Yasak submitted patches that update the U-Boot revision in Libreboot, on `gru_bob` and `gru_kevin` chromebooks. Additionally, the `cros` @@ -175,8 +169,7 @@ reading these diffs: Thank you, Alper! -Coreboot, GRUB, U-Boot and SeaBIOS revisions ------------------------------------- +### Coreboot, GRUB, U-Boot and SeaBIOS revisions In Libreboot 20231021 (*this release*): @@ -199,10 +192,9 @@ In Libreboot 20230625 (*previous release*): As you can see, all revisions are quite new in this release. Build system tweaks -=================== +----------------- -resources/ now config/ ----------------------- +### resources/ now config/ The `resources/scripts/` directory is now `script/`, and what was `resources/` now only contains configuration data plus code patches for various projects, @@ -1052,7 +1044,7 @@ The log is as follows, relative to Libreboot 20230625: This is 445 changes in total, since Libreboot 20230625. Hardware supported in this release -================================== +-------------------------------------- All of the following are believed to *boot*, but if you have any issues, please contact the Libreboot project. They are: @@ -1062,8 +1054,7 @@ please contact the Libreboot project. They are: - [ASUS KFSN4-DRE motherboard](../docs/install/kfsn4-dre.md) - [ASUS KGPE-D16 motherboard](../docs/install/kgpe-d16.md) -Desktops (AMD, Intel, x86) ------------------------ +### Desktops (AMD, Intel, x86) - [Gigabyte GA-G41M-ES2L motherboard](../docs/install/ga-g41m-es2l.md) - [Acer G43T-AM3](../docs/install/acer_g43t-am3.md) @@ -1111,14 +1102,13 @@ Desktops (AMD, Intel, x86) - [Samsung Chromebook Plus (v1) (gru-kevin)](../docs/install/chromebooks.md) Downloads -========= +--------- You can find this release on the downloads page. At the time of this announcement, some of the rsync mirrors may not have it yet, so please check another one if your favourite one doesn't have it. -Post-release fix -================ +### Post-release fix There was a minor problem in the original Libreboot 20231021 release, namely: keymap configurations were not properly generated inside the ROM images, so @@ -1136,11 +1126,10 @@ because the main mirror that it downloads from was offline during the build, so the relevant acpica tarball was mirrored to Libreboot rsync at last minute. Post-release errata -=================== - -S3 suspend/resume ------------------ +### S3 suspend/resume + Broken on tested boards: i945, gm45, sandybridge and ivybridge (probably haswell too, but untested as I write this). @@ -1150,8 +1139,7 @@ be issued, along with several other fixes made in lbmk since this release. If you're using Libreboot 20231021, you should not try to put your machine to sleep. You should only turn it on or power it off (power cycle / coldboot). -Insertion of PIKE2008 ROMs, i945 bootblock copy ------------------------------------------------ +### Insertion of PIKE2008 ROMs, i945 bootblock copy Empty PIKE2008 ROMs not inserted in KCMA-D8 and KGPE-D16 ROMs. @@ -1183,8 +1171,7 @@ And without the bootblock copied on X60/T60 ROMs, flashing will result in a bric under these conditions: bucts not reset and ROM flashed successfully, and/or flashing the ROM from LenovoBIOS to Libreboot. -Fam15h microcode wrongly not detected as inserted -------------------------------------------------- +### Fam15h microcode wrongly not detected as inserted On those boards, `target.cfg` files specified `microcode_required="n"`, and the logic in the release script renames ROM images according to this rule: diff --git a/site/news/libreboot20231101.md b/site/news/libreboot20231101.md index 0d330be..a81cd24 100644 --- a/site/news/libreboot20231101.md +++ b/site/news/libreboot20231101.md @@ -7,8 +7,8 @@ YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions there, before flashing. For posterity, [here is the link again](../docs/install/ivy_has_common.md).** -Introduction -============ +Free Software Boot +------------------ *This* new release, Libreboot 20231101, released today 1 November 2023, is a new *testing* release of Libreboot. The previous release was @@ -37,10 +37,9 @@ firmware, but not Libreboot! Booting Linux/BSD is also [well](../docs/linux/) [supported](../docs/bsd/). Work done since last release -============================ +---------------------------- -ThinkPad X201 support added ------------------------------ +### ThinkPad X201 support added **UPDATE: SUPPORT WAS REMOVED on 12 January 2024, because it was found that fans fail when using a neutered ME, on this platform - this bug only affects the @@ -48,8 +47,7 @@ older arrandales like X201, but newer platforms are not affected.** Intel D945GCLF was also re-added, in this release. -Coreboot, GRUB, U-Boot and SeaBIOS revisions ------------------------------------- +### Coreboot, GRUB, U-Boot and SeaBIOS revisions Libreboot 20231021 and 20231101 are both based on these revisions: @@ -65,7 +63,7 @@ of these, that fix certain bugs or improve certain functionalities. More information is available elsewhere in this page. Build system tweaks -=================== +------------------- These changes were made: @@ -162,7 +160,7 @@ time has passed since then. The focus of this Libreboot 20231101 release has been to fix bugs. Hardware supported in this release -================================== +---------------------------------- All of the following are believed to *boot*, but if you have any issues, please contact the Libreboot project. They are: @@ -172,8 +170,7 @@ please contact the Libreboot project. They are: - [ASUS KFSN4-DRE motherboard](../docs/install/kfsn4-dre.md) - [ASUS KGPE-D16 motherboard](../docs/install/kgpe-d16.md) -Desktops (AMD, Intel, x86) ------------------------ +### Desktops (AMD, Intel, x86) - [Gigabyte GA-G41M-ES2L motherboard](../docs/install/ga-g41m-es2l.md) - [Acer G43T-AM3](../docs/install/acer_g43t-am3.md) @@ -222,17 +219,16 @@ Desktops (AMD, Intel, x86) - [Samsung Chromebook Plus (v1) (gru-kevin)](../docs/install/chromebooks.md) Downloads -========= +--------- You can find this release on the downloads page. At the time of this announcement, some of the rsync mirrors may not have it yet, so please check another one if your favourite one doesn't have it. Post-release errata -=================== +------------------- -S3 suspend/resume ------------------- +### S3 suspend/resume The previous release broke suspend/resume on all Intel platforms, but it's fixed in this release on Sandybridge (e.g. ThinkPad X220), diff --git a/site/news/libreboot20231106.md b/site/news/libreboot20231106.md index 3e7a238..f9e9095 100644 --- a/site/news/libreboot20231106.md +++ b/site/news/libreboot20231106.md @@ -7,8 +7,8 @@ YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions there, before flashing. For posterity, [here is the link again](../docs/install/ivy_has_common.md).** -Introduction -============ +Free your BIOS today! +------------------- *This* new release, Libreboot 20231106, released today 6 November 2023, is a new *testing* release of Libreboot. The previous release was @@ -38,13 +38,12 @@ firmware, but not Libreboot! Booting Linux/BSD is also [well](../docs/linux/) [supported](../docs/bsd/). Work done since last release -============================ +-------------------- This is largely a bugfix release. Most notably, boot issues on GM45 thinkpads present in the 20231101 release have been resolved. -Dell E6400 on its own tree ------------------------------ +### Dell E6400 on its own tree Libreboot contains a DDR2 raminit patch for Dell Latitude E6400, that increases reliability on coldboot, but it negatively affects other GM45 machines that use @@ -61,8 +60,7 @@ when using on GM45 ThinkPads (ROM images for those machines were then deleted from the 20231021 and 20231101 release archives). Today's Libreboot release solves that problem, so these machines can be used reliably once again. -Coreboot, GRUB, U-Boot and SeaBIOS revisions ------------------------------------- +### Coreboot, GRUB, U-Boot and SeaBIOS revisions Libreboot 20231106 and 20231101 are both based on these revisions: @@ -77,8 +75,7 @@ Libreboot 20231106 and 20231101 are both based on these revisions: Several other fixes and tweaks have been made, in addition to this and the E6400 patch mentioned above. -Build system tweaks -=================== +### Build system tweaks These changes were made: @@ -151,7 +148,7 @@ is in progress, and rapid development towards a new stable release; it is very much planned that 12 December 2023 will have a new stable release of Libreboot. Hardware supported in this release -================================== +---------------------------------- All of the following are believed to *boot*, but if you have any issues, please contact the Libreboot project. They are: @@ -161,8 +158,7 @@ please contact the Libreboot project. They are: - [ASUS KFSN4-DRE motherboard](../docs/install/kfsn4-dre.md) - [ASUS KGPE-D16 motherboard](../docs/install/kgpe-d16.md) -Desktops (AMD, Intel, x86) ------------------------ +### Desktops (AMD, Intel, x86) - [Gigabyte GA-G41M-ES2L motherboard](../docs/install/ga-g41m-es2l.md) - [Acer G43T-AM3](../docs/install/acer_g43t-am3.md) @@ -211,18 +207,17 @@ Desktops (AMD, Intel, x86) - [Samsung Chromebook Plus (v1) (gru-kevin)](../docs/install/chromebooks.md) Downloads -========= +---------- You can find this release on the downloads page. At the time of this announcement, some of the rsync mirrors may not have it yet, so please check another one if your favourite one doesn't have it. Post-release errata -=================== - -S3 on GM45/i945 --------------- +### S3 on GM45/i945 + GM45 ThinkPads still have buggy S3 behaviour, ditto i945. x4x and Pineview untested, other Intel platforms work; AMD untested but should work. @@ -230,8 +225,7 @@ If you're using a GM45 ThinkPad (e.g. X200, T400), don't try putting your laptop to sleep. S3 suspend/resume is broken. The intention is that this will be fixed before the next stable release. -E6430 VBT config ----------------- +### E6430 VBT config See: @@ -243,7 +237,7 @@ now, you can build Libreboot from `lbmk.git`. See: [Building Libreboot from source](../docs/build/) Errata -====== +------- Many modules were removed from GRUB, to save space in flash, but the ones that are actually needed were carefully retained. diff --git a/site/news/libreboot20240126.md b/site/news/libreboot20240126.md index 243b518..343b9c3 100644 --- a/site/news/libreboot20240126.md +++ b/site/news/libreboot20240126.md @@ -2,8 +2,8 @@ % Leah Rowe % 26 January 2024 -Introduction -============ +Open source BIOS/UEFI firmware +------------------------------ *This* new release, Libreboot 20240126, released today 26 January 2024, is a new *testing* release of Libreboot. The previous release was @@ -32,16 +32,15 @@ firmware, but not Libreboot! Booting Linux/BSD is also [well](../docs/linux/) [supported](../docs/bsd/). Testing needed! -=============== +--------------- The coreboot revision has been updated very recently. Make sure to have [external flashing gear](../docs/install/spi.md) ready just in case! Work done since last release -============================ +---------------------------- -New mainboards supported ------------------------- +### New mainboards supported These new mainboards have been added: @@ -57,29 +56,25 @@ These new mainboards have been added: Conversely, the [ThinkPad X201 was removed](x201.md). -S3 fixed on GM45 thinkpads --------------------------- +### S3 fixed on GM45 thinkpads The new coreboot revision includes a fix within it that fixes S3 suspend/resume on GM45 thinkpads (e.g. X200, T400). This was broken in the previous Libreboot release, but now it works again. -Modest code size reduction --------------------------- +### Modest code size reduction See: [Libreboot build system audit 4](audit4.md) These and subsequent changes are included in today's release. The build system has been further optimised, both in terms of code size and performance. -GRUB 2.12 revision now used ---------------------------- +### GRUB 2.12 revision now used The previous Libreboot release used a revision from GRUB 2.12-rc1, but now it uses the GRUB 2.12 released during December 2023. -GRUB support for EFI System Partition -------------------------------------- +### GRUB support for EFI System Partition We don't use UEFI on x86, but the GRUB config in Libreboot's GRUB payload has now been modified, to also scan `grub.cfg` from `EFI/` directories. @@ -356,7 +351,7 @@ changes first): re-used by other planned ports for Dell latitudes in lbmk. Patch courtesy of Nicholas Chin. -Exact git log, relative to 20231106: +### Exacit git log, relative to 20231106 ``` * 7f0ca545 Libreboot 20240126 @@ -562,7 +557,7 @@ Exact git log, relative to 20231106: ``` Errata -====== +------ Vendorfile inject script will report an error when inserting for HP 820 G2, because the refcode is compressed via `-c lzma` option in cbfstool (or it is diff --git a/site/news/libreboot20240225.md b/site/news/libreboot20240225.md index 62f650c..758b857 100644 --- a/site/news/libreboot20240225.md +++ b/site/news/libreboot20240225.md @@ -2,8 +2,8 @@ % Leah Rowe % 25 February 2024 -Introduction -============ +Free software BIOS/UEFI +----------------------- Libreboot is a free/open source BIOS/UEFI replacement on x86 and ARM, providing boot firmware that initialises the hardware in your computer, to then load an @@ -31,7 +31,7 @@ run just fine. If you spot any issues, please report them on Libreboot's bug tracker. Hardware supported in this release -================================== +---------------------------------- This release supports the following hardware: @@ -105,15 +105,14 @@ This release supports the following hardware: - [Samsung Chromebook Plus (v1) (gru-kevin)](../docs/install/chromebooks.md) Work done since last release -============================ +---------------------------- With the exception of pico-serprog and replacing flashrom with flashprog (more on this later), the current upstream revisions remain unchanged, but this release has fixed a few issues and added more mainboards, relative to last month's release. -New mainboards --------------- +### New mainboards * **HP EliteBook 8560w** - added to lbmk by Riku Viitanen, using the coreboot port written by Iru Cai, with Riku's MXM support added on top (more on this later) @@ -135,8 +134,7 @@ New mainboards coreboot for review, fixing VGA decode on discrete graphics cards when the Broadwell MRC is used - this patch too is not yet included in Libreboot). -SeaBIOS MXM INT15H interrupt ----------------------------- +### SeaBIOS MXM INT15H interrupt For Libreboot's new HP EliteBook 8560w support, MXM handling was added to SeaBIOS. This was performed by Riku Viitanen, who also wrote this tool: @@ -159,8 +157,7 @@ had a port for some time, but without the MXM support - for now, it is only available in SeaBIOS, so you must use *SeaBIOS* to run the VGA Option ROM (it cannot yet be done directly from coreboot). -U-Boot release script ---------------------- +### U-Boot release script The script at `script/update/release` now supports generating standalone U-Boot source archives, like so: @@ -172,8 +169,7 @@ than `release/`. Libreboot still provides U-Boot embedded within the larger source release archive, and does not yet actually provide U-Boot as a standalone project, but some people may find this useful. -Pico-serprog updates --------------------- +### Pico-serprog updates Riku Viitanen added support for controlling multiple chip-selects. With the new functionality, you can set unused chipselects high. This is useful when @@ -191,8 +187,7 @@ Riku also increased the default drive strength to 12mA on all RP2024 boards, increasing reliabily when externally flashing certain mainboards (e.g. PCH having low/no resistance on connections to the data lines for the flash). -Flashprog now used, instead of flashrom ---------------------------------------- +### Flashprog now used, instead of flashrom Nico Huber was unfairly banned from participation in the flashrom project, and went on to create a new project called [flashprog](https://flashprog.org/). The @@ -241,8 +236,7 @@ new features and hardware functionality - for instance, it has code for handling Riku Viitanen's recent changes on the RP2040 serprog images, for pulling unused chipselects high (useful on machines like ThinkPad W541 for external flashing). -Context regarding flashprog vs flashrom ---------------------------------------- +### Context regarding flashprog vs flashrom It was suggested by a reader, on 27 March 2024, that the lack of context made judging this situation very difficult. Therefore, the following links have diff --git a/site/news/libreboot20240504.md b/site/news/libreboot20240504.md index 3b519f6..6198a04 100644 --- a/site/news/libreboot20240504.md +++ b/site/news/libreboot20240504.md @@ -7,7 +7,7 @@ reference, but there were problems with this release. Please instead use the [Libreboot 20240612 release](libreboot20240612.md).** Introduction -============ +------------- Libreboot is a free/open source BIOS/UEFI replacement on x86 and ARM, providing boot firmware that initialises the hardware in your computer, to then load an @@ -55,7 +55,7 @@ The main purpose of this release has been to fix bugs. A lot more work will now go into Libreboot for another release in the summer of 2024. Hardware supported in this release -================================== +---------------------------------- This release supports the following hardware: @@ -130,21 +130,21 @@ This release supports the following hardware: - [Samsung Chromebook Plus (v1) (gru-kevin)](../docs/install/chromebooks.md) New mainboard added -==================== +------------------- This release adds support for the following mainboard: * Dell Latitude E5420, courtesy of Nicholas Chin Dell Latitude laptops: S3 resume fixed -================================ +---------------------------------- Nicholas Chin sent in a patch just before the release, fixing suspend/resume on sandy bridge and ivy bridge Dell laptops. According to him, resume on open is still broken and therefore disabled, but pressing the power button works. Work done since Libreboot 20230625 -============================ +------------------------------- To know the full set of differences between Libreboot 20230625 and Libreboot 20240405, first you must read the changelogs of those interim @@ -275,7 +275,7 @@ are highlighted in bold: * Enable the serial console by default, on AMD boards (kgpe-d16, kcma-d8) Exact git log (versus Libreboot 20240225) -====================================== +------------------------------------ The following is an exact log of commits in the Git repository, on the master branch, relative to the previous January 2024 release. There are 99 changes: @@ -409,7 +409,7 @@ You may find archives of this release, by looking at the Libreboot download page. Support is available on IRC or Reddit if you need help. Disabled boards -=============== +--------------- Libreboot's build system can be configured to exclude certain boards in release archives, while still permitting them to be re-built. @@ -431,7 +431,7 @@ is believed to be stable and has been tested repeatedly) *All other boards have ROM images in this release.* eDP mods (ThinkPad X230/X220) -========================== +-------------------------- The `x230edp_12mb` and `x220edp_8mb` targets were removed, but the `x230_12mb` and `x220_8mb` targets were retained. Only the original @@ -457,7 +457,7 @@ to the Libreboot project. That is all. Errata -====== +------ See: diff --git a/site/news/libreboot20240612.md b/site/news/libreboot20240612.md index 6020bde..6d1d1d2 100644 --- a/site/news/libreboot20240612.md +++ b/site/news/libreboot20240612.md @@ -7,8 +7,8 @@ YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions there, before flashing. For posterity, [here is the link again](../docs/install/ivy_has_common.md).** -Introduction -============ +Open source BIOS/UEFI firmware +----------------------------- Libreboot is a free/open source BIOS/UEFI replacement on x86 and ARM, providing boot firmware that initialises the hardware in your computer, to then load an @@ -40,7 +40,7 @@ this release, in addition to a few minor fixes made since that date. The audit was completed on 9 June 2024 and today is 12 June 2024. The release came unstuck. Changes since Audit 5 -===================== +-------------------- Audit 5 was only recent, and forms most of the changes in this release, so look further down for a list of those changes or read [the audit 5 page](audit5.md). @@ -74,13 +74,12 @@ precisely to avoid any potential issues if a board doesn't need it. The NVMe patch has been extensively tested, on all of the boards that actually have it. Audit 5 changes -=============== +--------------- Since the recent audit 5 changes are included in this release, the changelog of that audit has simply been copied for sake of efficiency. Firstly: -Modest code size reduction --------------------------- +### Modest code size reduction There are 1482 lines of shell script in the build system, versus 1680 in the Libreboot 20240504 release. Libreboot's build system is written purely in @@ -90,12 +89,11 @@ This is a difference of 198 lines, or a 12% reduction. Despite the reduction, numerous features have been added and a large number of bugs were fixed. Summarised list of changes -========================== +-------------------------- Changes are in order per category, from newest to oldest: -Feature changes ---------------- +### Feature changes * **Download crossgcc tarballs as dependencies, when cloning coreboot.** We previously relied on the coreboot build system, which automatically fetches @@ -230,8 +228,7 @@ Feature changes * Removed all status checks from script/roms (formerly script/build/roms), because it's better to document this instead, and rely on testing regardless. -Bug fixes ---------- +### Bug fixes Some of these changes fix actual issues that were found in testing, while others were fixed *before* being triggered/reported and are thus *preventative @@ -466,8 +463,7 @@ The changes are, from newest to earliest: * Main build script: exit (with error status) if not running directly from the root of the lbmk work directory. -General code cleanup --------------------- +### General code cleanup In addition to *general* very sweeping code cleanup, condensing code lines where possible and so on: @@ -593,13 +589,12 @@ where possible and so on: * script/build/roms: split up `main()` into multiple smaller functions Revision updates -================ +---------------- Some revisions were updated as part of standard routine, but happened to be done during this audit. Those updates are as follows: -SeaBIOS -------- +### SeaBIOS Bump SeaBIOS to revision `e5f2e4c69643bc3cd385306a9e5d29e11578148c`, which has these changes relative to the old one: @@ -629,8 +624,7 @@ these changes relative to the old one: * a6ed6b70 limit address space used for pci devices. ``` -Flashprog ---------- +### Flashprog Updated to revision 5b4fdd1 from 2 May 2024, rebasing the MX workaround patch. @@ -701,7 +695,7 @@ Flashrom, lead by Nico Huber after a dispute with the new leadership of Flashrom, and it was felt that Flashprog is a better choice for Libreboot. Git log -======= +------ This entire set of changelogs is based on the precise Git history in lbmk, relative to Libreboot 20240504 which is from where the audit began. @@ -946,10 +940,9 @@ The latest changes are listed first, going all the way down to earlier changes: This is 211 changes, since Libreboot 20240504. Errata -====== +------ -Revision 1 ----------- +### Revision 1 A bug was found, where booting GRUB (payload) on Haswell ThinkPads with a USB device plugged in would sometimes cause GRUB to hang. This was fixed with the @@ -980,8 +973,7 @@ auto-load when GRUB starts. A full investigation is still required, but this workaround fixes the issue as far as the user is concerned. -Revision 2 ----------- +### Revision 2 NOTE: Source code archive not available for rev2, because another revision was made that also includes the rev2 change; a 'rev3` source archive is @@ -993,8 +985,7 @@ which caused issues when flashing. The file `libreboot-20240612rev2_hp8200sff_4mb.tar.xz` is available, replacing `libreboot-20240612_hp8200sff_4mb.tar.xz`, on Libreboot rsync. -Revision 3 ----------- +### Revision 3 Removed `util/autoport/`, becaues it's not required in release archives. diff --git a/site/news/libreboot20241008.md b/site/news/libreboot20241008.md index c513862..20ac041 100644 --- a/site/news/libreboot20241008.md +++ b/site/news/libreboot20241008.md @@ -10,8 +10,8 @@ YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions there, before flashing. For posterity, [here is the link again](../docs/install/ivy_has_common.md).** -Introduction -============ +Open source BIOS/UEFI firmware +-------------------------- Libreboot is a free/open source BIOS/UEFI replacement on x86 and ARM, providing boot firmware that initialises the hardware in your computer, to then load an @@ -33,8 +33,7 @@ this release, and several changes have been made since then; for simplicity, thi page is essentially identical to the audit 6 changelog, but with the additional changes referenced. -The build system is smaller ---------------------------- +### The build system is smaller The focus of audit6 was to reduce the code size, making the build system more efficient. The build system was 1482 source lines (of shell scripting) in the @@ -45,7 +44,7 @@ Several bug fixes were also made, in addition to new board support, since the Libreboot 20240612 release. Summarised list of changes -========================== +------------------------- The most interesting changes are marked in **bold**. "Interesting" means that the change greatly improves the usefulness/reliability of Libreboot, or that it @@ -53,8 +52,7 @@ affects the user in a profound and noticeable way. Changes are in order per category, from newest to oldest: -Board support -------------- +### Board support The following boards have been added since the Libreboot 20240612 release: @@ -69,8 +67,7 @@ The following boards have been added since the Libreboot 20240612 release: by 3mdeb, and I added the config for it to Libreboot, based on the Dell Precision T1650 config) -About the Dell Latitude ports ------------------------------ +### About the Dell Latitude ports These are yet more Ivybridge (Intel 3rd gen) and Sandybridge (Intel 2nd gen) mainboards, using the same EC as on other Latitudes supported in Libreboot, so @@ -79,8 +76,7 @@ they are all internally flashable from the factory firmware. Installation instructions, pertaining to Dell Latitude models, can be found on the [Dell Latitude page](../docs/install/latitude.md). -About the PlayStation BIOS --------------------------- +### About the PlayStation BIOS This is *not* coreboot, but it is a fully free/opensource BIOS with source code under MIT license, provided by @@ -104,8 +100,7 @@ of October 2024 or thereabouts. I'm planning to ship the *PCSX-Redux* BIOS by default, in the new project, which is why Libreboot has it, because I'll reference Libreboot from that project. -About the OptiPlex 3050 Micro port -------------------------- +### About the OptiPlex 3050 Micro port Mate Kukri's excellent *[deguard](https://review.coreboot.org/admin/repos/deguard,general)* utility is automatically used at build time, @@ -146,8 +141,7 @@ Because of the SeaBIOS issue, an exception is made: this board executes GRUB first, directly from coreboot. The usual policy, since Libreboot 20240612, is to prefer *SeaGRUB* (SeaBIOS first, and execute GRUB from SeaBIOS). -Feature changes ---------------- +### Feature changes The changes are as follows: @@ -367,8 +361,7 @@ The changes are as follows: possible to create such a broken setup. Libreboot mitigates this fact, by avoiding such configurations. -Configuration changes ---------------------- +### Configuration changes This pertains to anything under `config/`, for any changes that are of note, but it does not pertain to *revisions* for specific projects, nor does it @@ -417,8 +410,7 @@ The changes are as follows: which is loaded per-project on multi-tree projects, before each target file. It allows easier configuration tree-wide on multi-tree projects. -Bug fixes ---------- +### Bug fixes The changes are as follows: @@ -635,8 +627,7 @@ The changes are as follows: could create situations where the user can longer run lbmk without intervention such as changing permission on certain files. Avoid the issue entirely. -General code cleanup --------------------- +### General code cleanup Extensive code cleanup has been performed, as was one of the main focuses in this release (in addition to newer hardware support): @@ -992,10 +983,9 @@ The changes are as follows: * `script/roms`: shorter variable names, condensed several functions. Revision updates -================ +---------------- -Coreboot --------- +### Coreboot The `default` tree was updated to commit ID `97bc693ab` from 29 July 2024. Several patches were merged upstream and therefore no longer needed in lbmk. @@ -1015,8 +1005,7 @@ a single `fam15h` tree. This contains the ASUS KGPE-D16 and KCMA-D8 ports, based on coreboot's `4.11_branch` tree, with Libreboot's special build fixes that make it compile on modern distros, such as Debian Sid or Arch Linux. -U-Boot ------- +### U-Boot Alper Nebi Yasak is the maintainer of U-Boot, within Libreboot, and submitted a patch updating U-Boot to v2024.07, on the `gru_bob` and `gru_kevin` @@ -1024,15 +1013,13 @@ Chromebooks. Several improvements have been merged upstream, like Alper's patches for Qemu, so these patches have been dropped in lbmk because they're now included by default, in the new U-Boot revision. -GRUB ----- +### GRUB Updated the revision to commit ID b53ec06a1 from 17 June 2024. This fixes several bugs in the LUKS implementation. Several virtual memory fixes, and numerous fixes to file system drivers in the GRUB kernel. -SeaBIOS -------- +### SeaBIOS Updated the revision to commit ID `ec0bc256` from 24 June 2024. This brings in only a single change: @@ -1048,13 +1035,11 @@ in only a single change: This fixes buggy handling for 32-bit (i686) hosts, when allocating memory for the PCI devices. -Flashprog ---------- +### Flashprog Updated the revision to commit ID `639d563` from 2 August 2024. -PCSX Redux ----------- +### PCSX Redux This was added git commit ID `6ec5348058413619b290b069adbdae68180ce8c0`. It is a *Sony PlayStation* emulator, but we only need one part of it: the BIOS. @@ -1066,7 +1051,7 @@ the open BIOS image, which is compatible with every PlayStation emulator and also real PlayStations (soldering required). Git log -======= +------- This git log covers all changes in this audit, relative to Libreboot 20240612. diff --git a/site/news/libreboot20241206.md b/site/news/libreboot20241206.md index a76d37c..0c9fe5e 100644 --- a/site/news/libreboot20241206.md +++ b/site/news/libreboot20241206.md @@ -19,8 +19,8 @@ YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions there, before flashing. For posterity, [here is the link again](../docs/install/ivy_has_common.md).** -Introduction -============ +Open source BIOS/UEFI firmware +---------------------------- @@ -39,8 +39,7 @@ and then a payload such as [SeaBIOS](https://www.seabios.org/SeaBIOS) or [GRUB](https://www.gnu.org/software/grub/) to boot your operating system; on ARM(chromebooks), we provide *U-Boot* (as a coreboot payload). -U-Boot UEFI payload on x86\_64 ------------------------------- +### U-Boot UEFI payload on x86\_64 For Libreboot 20241206, today's release, U-Boot is *also* provided as an optional coreboot payload on x86 machines. This provides a sensible UEFI @@ -60,10 +59,9 @@ on fixing bugs and in general polishing, though several interesting features have been added, in addition to numerous new mainboards. Summarised list of changes -========================== +------------------------- -Board support -------------- +### Board support The following boards have been added since the Libreboot 20241008 release: @@ -78,8 +76,7 @@ The following boards have been added since the Libreboot 20241008 release: * **[Dell OptiPlex 780 MT](../docs/install/dell780.md)** support, implemented by Nicholas Chin with testing and hardware logs provided by Lorenzo Aloe. -Revision updates -================ +### Revision updates In descending order from latest changes to earliest changes: @@ -103,8 +100,7 @@ In descending order from latest changes to earliest changes: * Bumped flashrom to revision d128a0a, which includes a fix for Macronix flash chips on ThinkPad W500 whereby it had previously used incorrect erase commands. -Feature changes ---------------- +### Feature changes In descending order from latest changes to earliest changes: @@ -139,8 +135,7 @@ In descending order from latest changes to earliest changes: on mobile graphics cards. This was used when implementing MXM support on the HP EliteBook 8560w. -Configuration changes ---------------------- +### Configuration changes In descending order from the latest changes to the earliest changes: @@ -173,8 +168,7 @@ In descending order from the latest changes to the earliest changes: machines can make use of 8th-gen Coffee Lake CPUs, which offer greater performance and power efficiency. -Bug fixes ---------- +### Bug fixes The following bug fixes have been merged (in descending order from the latest changes to the earliest changes): @@ -236,8 +230,7 @@ changes to the earliest changes): of it is much more robust**) * Added missing `python3-devel` to Fedora 40 build dependencies. -General code cleanup --------------------- +### General code cleanup In descending order from the latest changes to the earliest changes: @@ -250,7 +243,7 @@ In descending order from the latest changes to the earliest changes: because lbmk now handles this outside of coreboot. Git log -======= +------- This log is relative to Libreboot 20241008: diff --git a/site/news/libreboot20241206rev8.md b/site/news/libreboot20241206rev8.md index 5ee4c6e..e86d8c0 100644 --- a/site/news/libreboot20241206rev8.md +++ b/site/news/libreboot20241206rev8.md @@ -7,8 +7,8 @@ Today's Libreboot 20241206 revision, which is the 8th revision in the Libreboot to Libreboot 20241206 revision 7 which was released on 18 December 2024. The *original* Libreboot 20241206 release came out on 6 December 2024. -What is Libreboot? -============ +Open source BIOS/UEFI firmware +------------------------------ @@ -30,8 +30,7 @@ system; on ARM(chromebooks), we provide *U-Boot* (as a coreboot payload). We also provide an experimental U-Boot setup on x86, as a coreboot payload for providing a minimal UEFI implementation. -Regarding revision 8 -==================== +### Regarding revision 8 Normally, revisions would only be documented on the [Libreboot 20241206 revisions page](libreboot20241206.Revisions.md), but @@ -50,8 +49,7 @@ You will find the tar archives (including sources and ROM images) for this release, in the *same* directory under `stable/20241206/` on release mirrors. The old archives (from rev6) were replaced entirely; rev7 was never released. -Regarding revision 7 --------------------- +### Regarding revision 7 The only meaningful addition in *revision 7* was the feature whereby T480/T480s ThunderBolt firmware can be separately downloaded, for external flashing instead @@ -63,12 +61,10 @@ YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions there, before flashing. For posterity, [here is the link again](../docs/install/ivy_has_common.md).** - Summarised list of changes -========================== +------------------------ -Board support -------------- +### Board support RP2530 devices now supported in `pico-serprog`, e.g. Raspberry Pi Pico 2. @@ -79,8 +75,7 @@ The documentation has been updated, to reflect this improvement. Libreboot also now imports `picotool` which is now used to compile the UF2 binaries for installation, when building them from `pico-sdk`. -Revision updates ----------------- +### Revision updates In descending order from latest changes to earliest changes: @@ -95,8 +90,7 @@ In descending order from latest changes to earliest changes: * Bumped flashprog to revision eb2c041 (14 Nov 2024). This brings in several important fixes from upstream. -Feature changes ---------------- +### Feature changes In descending order from latest changes to earliest changes: @@ -136,8 +130,7 @@ In descending order from latest changes to earliest changes: on any boards, nor will it be, on release images, but the user can do it themselves when compiling from source. -Configuration changes ---------------------- +### Configuration changes In descending order from the latest changes to the earliest changes: @@ -146,8 +139,7 @@ In descending order from the latest changes to the earliest changes: can turn it back on and build from source, if they wish, for a roughly 15 percent performance boost under highly multi-threaded workloads. -Bug fixes ---------- +### Bug fixes Several fixes were made to prevent build errors on the latest Debian Sid and Arch Linux, as of 6 January 2025. Fedora 41 was also tested, fixing @@ -258,8 +250,7 @@ changes to the earliest changes): * `lib.sh`: Safer exit when running `./mk dependencies` (don't rely on the exit statuses of chained commands being zero). -General code cleanup --------------------- +### General code cleanup In descending order from the latest changes to the earliest changes: @@ -273,7 +264,7 @@ In descending order from the latest changes to the earliest changes: currently used by anything. Git log -======= +------ This log is relative to Libreboot 20241206 *revision 7*: @@ -389,14 +380,14 @@ This log is relative to Libreboot 20241206 *revision 7*: This is roughly 100 changes. Older revisions -========= +-------------- Please review the original [Libreboot 20241206 announcement](libreboot20241206.md), and the [Libreboot 20241206 revisions page](libreboot20241206.Revisions.md). Formalised release schedule -================= +--------------- UPDATE: the text of this section was removed on 17 January 2025. diff --git a/site/news/microcode.md b/site/news/microcode.md index ad157d9..74319a0 100644 --- a/site/news/microcode.md +++ b/site/news/microcode.md @@ -11,8 +11,8 @@ As I write this, I'm quite close to providing a new stable release of Libreboot. The final push to get it out the door is underway, with round-the-clock build testing and general polishing. -Introduction -============ +Free as in freedom? +------------------- Firstly, what is microcode? In this context, CPU microcode is what configures logic gates in the CPU to implement an instruction set. You can learn more @@ -50,8 +50,7 @@ announced that Libreboot had re-added certain mitigations, working around bugs caused when microcode is removed on certain Intel GM45 platforms (e.g. X200 or T400 ThinkPads). -Why? ----- +### Why? Freedom of choice, that's why. Libreboot's policy explicitly [states](policy.md#configuration), in the context of *adding* vendor files: @@ -76,8 +75,7 @@ features. The CPU already has older, buggier microcode burned into mask ROM, so the choice is to either update it, or encounter more bugs. Regardless, this is a point of contention for some people. -How? ----- +### How? The change was implemented by [this patch](https://browse.libreboot.org/lbmk.git/commit/?id=f338697b96757977d2a14da00a91236595704fed) @@ -164,7 +162,7 @@ ROM images there are named simply according to what is already the case. Removing microcode also possible on older releases -================================================== +--------------------------------------------------- Libreboot releases *before* 20221214 excluded microcode by default, and did not provide ROMs *with* microcode. diff --git a/site/news/policy.de.md b/site/news/policy.de.md index e7d553b..9d8136e 100644 --- a/site/news/policy.de.md +++ b/site/news/policy.de.md @@ -3,7 +3,7 @@ % 4 January 2022 (updated 15 November 2022) Einleitung -============ +------------ Dieser Artikel beschreibt die *Prinzipien* die das Libreboot Projekt definieren. Für Informationen darüber *wie diese Prinzipien in der Praxis angewendet @@ -33,7 +33,7 @@ technische Informationen schau in die [Libreboot build system documentation](../docs/maintain/). Derzeitiger Projektrahmen -===================== +------------------------- Das Libreboot Projekt ist besorgt um das was in den Haupt Boot Flash IC geht, aber es gibt andere Firmware Teile welche in Betracht gezogen werden sollten, @@ -45,8 +45,7 @@ Die kritischsten hiervon sind: * HDD/SSD firmware * Intel Management Engine / AMD PSP firmware -Was ist ein binärer Blob? ----------------------- +### Was ist ein binärer Blob? Ein binärer Blob, in diesem Zusammenhang, ist jegliches Ausführbares für welches kein Quelltext existiert, welchen Du nicht in einer angemessenen @@ -62,10 +61,9 @@ Für Informationen über die Intel Management Engine und AMD PSP, schau unter FAQ. Blob *reduction* policy -======================= +--------------------- -Default configurations ----------------------- +### Default configurations Coreboot, upon which Libreboot is based, is mostly libre software but does require vendor files on some platforms. A most common example might be raminit @@ -126,8 +124,7 @@ Libreboot's pragmatic policies will inevitably result in more people becoming coreboot developers in the future, by acting as that crucial *bridge* between *it* and non-technical people who just need a bit of help to get started. -Configuration -------------- +### Configuration The principles above should apply to *default* configurations. However, libreboot is to be *configurable*, allowing the user to do whatever they like. @@ -142,7 +139,7 @@ problem! The goal of the libreboot project is simply to make coreboot more accessible for otherwise non-technical users. FREEDOM CATALOG -=============== +-------------- A *[freedom status](../freedom-status.md)* page should also be made available, educating people about the software freedom status on each machine supported by @@ -178,7 +175,7 @@ exist, for example, the work done by Sam Zeloof and the Libre Silicon project: (Sam literally makes CPUs in his garage) More detailed insight about microcode -===================================== +--------------------------------- To be clear: it is preferable that microcode be free. Not including CPU microcode updates is an absolute disaster for system @@ -229,7 +226,7 @@ it literally behaves differently than it's supposed to, so software will have unpredictable bugs that could even cause data corruption - or worse. Why was this page written? -========================== +-------------------------- Many of the topics discussed here are actually hotly contested, by different sections of the free software movement. Libreboot has taken a firm stance. diff --git a/site/news/policy.md b/site/news/policy.md index 07fc728..516855d 100644 --- a/site/news/policy.md +++ b/site/news/policy.md @@ -2,8 +2,8 @@ % Leah Rowe % 4 January 2022 (updated 15 November 2022) -Introduction -============ +Free as in freedom! +----------------- This article describes the *principles* that govern the Libreboot project. For information about *how those principles are applied in practise*, please read @@ -31,7 +31,7 @@ ideology and it is therefore (mostly) non-technical; for technical information, you can refer to the [Libreboot build system documentation](../docs/maintain/). Current project scope -===================== +--------------------- The libreboot project is concerned with what goes in the main boot flash IC, but there are other pieces of firmware to take into consideration, as covered @@ -43,8 +43,7 @@ Most critical of these are: * HDD/SSD firmware * Intel Management Engine / AMD PSP firmware -What is a binary blob? ----------------------- +### What is a binary blob? A binary blob, in this context, is any executable for which no source code exists, that you cannot study and modify in a reasonable manner. By definition, @@ -53,10 +52,9 @@ all such blobs are *proprietary* in nature, and should be avoided if possible. For information about Intel Management Engine and AMD PSP, refer to the FAQ. Blob *reduction* policy -======================= +--------------------- -Default configurations ----------------------- +### Default configurations Coreboot, upon which Libreboot is based, is mostly libre software but does require certain vendor code on some platforms. A most common example might be raminit @@ -117,8 +115,7 @@ Libreboot's pragmatic policies will inevitably result in more people becoming coreboot developers in the future, by acting as that crucial *bridge* between *it* and non-technical people who just need a bit of help to get started. -Configuration -------------- +### Configuration The principles above should apply to *default* configurations. However, libreboot is to be *configurable*, allowing the user to do whatever they like. @@ -134,7 +131,7 @@ problem! The goal of the libreboot project is simply to make coreboot more accessible for otherwise non-technical users. Examples of Libreboot policy in action -====================================== +----------------------------------- More information about this is also available on the [freedom status](../freedom-status.md) page. @@ -207,7 +204,7 @@ examples of how this very policy is implemented in Libreboot: operating of a free operating system. FREEDOM CATALOG -=============== +-------------- A *[freedom status](../freedom-status.md)* page should also be made available, educating people about the software freedom status on each machine supported by @@ -243,7 +240,7 @@ exist, for example, the work done by Sam Zeloof and the Libre Silicon project: (Sam literally makes CPUs in his garage) More detailed insight about microcode -===================================== +--------------------------------- To be clear: it is preferable that microcode be free. Not including CPU microcode updates is an absolute disaster for system @@ -294,7 +291,7 @@ it literally behaves differently than it's supposed to, so software will have unpredictable bugs that could even cause data corruption - or worse. Why was this page written? -========================== +---------------------------- Firstly, observe the following graphic: diff --git a/site/news/policy.uk.md b/site/news/policy.uk.md index 79893a3..4b7eef4 100644 --- a/site/news/policy.uk.md +++ b/site/news/policy.uk.md @@ -3,7 +3,7 @@ % 4 січня 2022 року (оновлено 15 листопада 2022 року) Вступ -============ +----- У цій статті описано *принципи*, які керують проектом Libreboot. Щоб отримати інформацію про те, *як ці принципи застосовуються на практиці*, прочитайте @@ -30,7 +30,7 @@ coreboot*, приблизно так само, як *Alpine Linux* є дистр ви можете звернутися до [документації системи збірки Libreboot](../docs/maintain/). Поточний обсяг проекту -===================== +---------------------- Проект libreboot стосується того, що входить до основної мікросхеми завантажувальної флеш-пам'яті, але є й інші компоненти мікропрограми, які слід взяти до уваги, про що йдеться @@ -42,8 +42,7 @@ coreboot*, приблизно так само, як *Alpine Linux* є дистр * Прошивка жорстких дисків/твердотілих накопичувачів * Прошивка Intel Management Engine / AMD PSP -Що таке двійковий блоб? ----------------------- +### Що таке двійковий блоб? Двійковий блоб у цьому контексті - це будь-який виконуваний файл, для якого не існує вихідного коду, який ви не можете досліджувати та змінювати розумним чином. За визначенням, @@ -56,10 +55,9 @@ coreboot*, приблизно так само, як *Alpine Linux* є дистр Для інформації про Intel Management Engine та AMD PSP зверніться до поширених запитань. Політика *зменшення* блобів -======================= +--------------------------- -Конфігурації за замовчуванням ----------------------- +### Конфігурації за замовчуванням Coreboot, на якому Libreboot базується, є здебільшого вільним програмним забезпеченням, але на деяких платформах вимагає двійкових блобів. Найпоширенішим прикладом може бути raminit @@ -120,8 +118,7 @@ Libreboot вирішує цю ситуацію *суворо* та *принци розробниками coreboot, виступаючи в якості важливого *містка* між *ним* і нетехнічними людьми, яким просто потрібна допомога, щоб розпочати роботу. -Налаштування -------------- +### Налаштування Наведені вище принципи мають застосовуватися до конфігурацій *за замовчуванням*. Однак libreboot має бути *конфігурованим*, дозволяючи користувачеві робити все, що заманеться. @@ -136,7 +133,7 @@ Libreboot вирішує цю ситуацію *суворо* та *принци доступним для нетехнічних користувачів. КАТАЛОГ СВОБОДИ -=============== +--------------- Також має бути доступна сторінка *[статусу блобів](../freedom-status.uk.md)*, яка інформуватиме людей про статус бінарних блобів на кожній машині, що @@ -172,7 +169,7 @@ Libreboot вирішує цю ситуацію *суворо* та *принци (Сем буквально виробляє процесори в своєму гаражі) More detailed insight about microcode -===================================== +------------------------------------- To be clear: it is preferable that microcode be free. Not including CPU microcode updates is an absolute disaster for system @@ -223,7 +220,7 @@ it literally behaves differently than it's supposed to, so software will have unpredictable bugs that could even cause data corruption - or worse. Why was this page written? -========================== +------------------------- Firstly, observe the following graphic: diff --git a/site/news/ports202402.md b/site/news/ports202402.md index a34c639..6b8b2f8 100644 --- a/site/news/ports202402.md +++ b/site/news/ports202402.md @@ -10,7 +10,7 @@ stop. Many more will be added, for the next Libreboot release. The boards are: Dell OptiPlex 7020 and 9020 (MT and SFF) -======================================== +----------------------------------------- See: [Dell OptiPlex 9020 SFF/MT (and 7020)](../docs/install/dell9020.html) @@ -25,7 +25,7 @@ Libreboot project. I added this myself recently, based on patches from coreboot Gerrit. HP EliteBook 8560w -================== +------------------ Riku Viitanen added this recently. See: [HP EliteBook 8560w](../docs/install/hp8560w.html). @@ -40,7 +40,7 @@ we don't need to do anything there except load the VGA option ROM from SeaBIOS. However, on these EliteBooks, it must be provided in the boot flash. A *lot* more Dell Latitudes -=========================== +--------------------------- Nicholas Chin recently added these Dell Latitudes (of Sandybridge and Ivybridge platforms) to Libreboot: diff --git a/site/news/safety.md b/site/news/safety.md index ce6e1a9..00883bd 100644 --- a/site/news/safety.md +++ b/site/news/safety.md @@ -2,8 +2,8 @@ % Leah Rowe % 7 July 2023 -New safety features -=============== +UPDATE 2025-01-03: New safety features +------------------- NOTE: This page is mostly completely obsolete, as of 3 January 2025; changes made in the vendor inject script for Libreboot 20241206 rev8 or higher (and @@ -39,7 +39,7 @@ still [insert vendor files](../docs/install/ivy_has_common.md) regardless, prior to Libreboot installation, if required on your board.** Article -======= +------ **Please also follow this guide if using Dell Latitude laptops.** @@ -54,7 +54,7 @@ The reason why was explained, in the [Libreboot 20240225 release](libreboot20240225.md#flashprog-now-used-instead-of-flashrom)** Introduction -============ +------------- **UPDATE (21 August 2023): None of the proposals below have yet been implemented, and this page is still relevant for Libreboot 20231021. It applies @@ -74,8 +74,7 @@ users have been bricking their machines, on the following mainboards: * Ivybridge platforms (e.g. ThinkPad X230, T430) * Haswell platforms (e.g. ThinkPad T440p, W541, OptiPlex 9020) -Why? ----- +### Why? On these platforms, the following binary vendor files are required: @@ -116,8 +115,7 @@ automatically download and insert all of the following: More information is available in the guide. -What can be done to reduce the risk? ------------------------------------- +### What can be done to reduce the risk? Like I said, there's technically nothing wrong with recent Libreboot releases. @@ -127,8 +125,7 @@ prominently displayed. Such warnings are now littered all throughout the Libreboot documentation, even mentioned in bold lettering at the top of the downloads page, so there's no way a user can miss it. -Other mitigations considered ------------------------------ +### Other mitigations considered See: diff --git a/site/news/schedule.md b/site/news/schedule.md index 051c9b7..1afe58a 100644 --- a/site/news/schedule.md +++ b/site/news/schedule.md @@ -5,7 +5,9 @@ Libreboot releases will now be on a much stricter timeline than in the past. Testing/Stable release cycle -============================ +---------------------------- + +### April/June and October/December As alluded to in the Libreboot 20241206 release, a new release schedule is planned for 2025 onward: @@ -31,8 +33,7 @@ be: Libreboot 25.04 "Corny Calamity". This .4, .6, .10 and .12 scheme will continue in 2026 and beyond. -Rules for revisions: --------------------- +### Rules for revisions Testing releases come out two months before stable; any number of non-breaking or otherwise relatively safe changes can be made, and testing releases will @@ -46,8 +47,7 @@ releases post-release will be critical bug fixes; in a few cases, special additions will be made when desirable and safe (e.g. Pico 2 support was added to Libreboot 20241206 post-release, in the revision 8 update from 2025-01-06). -Why? ----- +### Why? In the past, a problem Libreboot has had was that we'd do testing releases, but not do revisions on them; then by the time a stable release came around, @@ -64,10 +64,9 @@ This decision is part of a much larger initiative to boost Libreboot's popularity and therefore use within the free software world. Release version numbers -======================= +----------------------- -Libreboot YY.MM releases ------------------------- +### Libreboot YY.MM releases Libreboot YYYYMMDD was the previous version number scheme. @@ -85,16 +84,14 @@ With this new scheme, and given Libreboot's expansion plans, it won't matter even if a release build takes 2 days to complete, because the day of the month will no longer be included in a given release number. -Y2.1k compliance ----------------- +### Y2.1k compliance If Libreboot still exists in the year 2100, then those releases will be e.g. Libreboot 100.04 for April 2100 release. It could happen. Even if I'm no longer around by then, Libreboot might still be. -Release codenames ------------------ +### Release codenames The release codename for Libreboot 25.04 will be "Corny Calamity", which is a nod of respect to an equally gutsy release codename that *Fedora* used in @@ -104,7 +101,7 @@ The rules for Libreboot release codenames are: two words, each starting with the same letter. Credit -====== +------ [Britney Lozza](https://janethemotherfucker.github.io/) was the one who suggested to me that I use this new release number and codename scheme, and I previously diff --git a/site/news/translations.de.md b/site/news/translations.de.md index f0b9836..8f7a0be 100644 --- a/site/news/translations.de.md +++ b/site/news/translations.de.md @@ -13,7 +13,7 @@ HTML Seiten. Die Seite die Du gerade liest wurde auf diese Weise erstellt! Vorbereitung -=============== +-------------------- Die Libreboot Webseite ist verfügbar, in Markdown, über ein Git Repository:\ @@ -34,9 +34,8 @@ dort jedesmal vermerken wenn ich Änderungen an der Seite vornehme, und zeigen wo diese Änderungen dann auf übersetzten Seiten erledigt werden müssen für jede Seite die ich ändere. - Wie übersetzt man libreboot.org -============================== +------------------------ Die Dokumentation auf erläutert wie Du Übersetzungen handhaben kannst. diff --git a/site/news/translations.md b/site/news/translations.md index 3ae0c7c..2804f25 100644 --- a/site/news/translations.md +++ b/site/news/translations.md @@ -2,7 +2,10 @@ % Leah Rowe % 4 January 2022 -The libreboot website is currently only available in English. +Libreboot wants *you* +--------------------- + +Most of the Libreboot website is currently only available in English. I've recently added support for translations to the [Untitled Static Site Generator](https://untitled.vimuser.org/), which the @@ -12,7 +15,7 @@ this software generates HTML pages. This very page that you are reading was created this way! Getting started -=============== +--------------- The libreboot website is available, in Markdown, from a Git repository:\ @@ -32,7 +35,7 @@ where these changes need to then be performed in translated versions of each page that I change. How to translate libreboot.org -============================== +------------------------------- The documentation on tells you how to handle translations. diff --git a/site/news/update202308.md b/site/news/update202308.md index df1664d..9f76866 100644 --- a/site/news/update202308.md +++ b/site/news/update202308.md @@ -12,10 +12,9 @@ To receive these updates, you must use Git for now. See: [how to download Libreboot from Git](../git.md) Introduction -============ +-------------- -SeaBIOS and GRUB updates ------------------------- +### SeaBIOS and GRUB updates For *all* mainboards that provide GRUB or SeaBIOS revisions, new versions of these payloads are now used in Libreboot, as implemented by these patches: @@ -27,8 +26,7 @@ these payloads are now used in Libreboot, as implemented by these patches: a 20 January 2023 revision. Patch: -Coreboot update ---------------- +### Coreboot update The `default` cbtree is now based upon coreboot from 2 August 2023, where previously it was based upon coreboot from 17 February 2023. Patch: @@ -58,14 +56,13 @@ tree (libre MRC on T440p/W541), `cros` (gru chromebooks) and `fam15h` trees used on KGPE-D16/KCMA-D8/KFSN4-DRE have not yet been updated. Testing needed! -=============== +--------------- I want to get as much testing done now as possible, ready for the next release, which will still be marked as a testing release anyway; the next stable release is a long way off, as much new work is planned for Libreboot. -Apply to become a tester ------------------------- +### Apply to become a tester If you wish to provide such testing, please read the following page: @@ -77,14 +74,12 @@ need to know. Coreboot tends to audit very carefully and updates are usually smooth, but testing is one of Libreboot's main purposes, to provide stable releases based on coreboot. -How to download ---------------- +### How to download To receive these updates, you must use Git for now. See: [how to download Libreboot from Git](../git.md) -Build from source ------------------ +### Build from source This update, since it is not yet available pre-compiled in a release, must be compiled from source. See: diff --git a/site/news/usa-libre-part2.md b/site/news/usa-libre-part2.md index ae1a874..8fd8e59 100644 --- a/site/news/usa-libre-part2.md +++ b/site/news/usa-libre-part2.md @@ -2,8 +2,8 @@ % Leah Rowe % 12 February 2023 -Introduction -============ +Free software in your government? +-------------------------- This article makes use of the term *libre software*, which has the same meaning as more popular terms such as *open source software* @@ -38,8 +38,7 @@ With your help, libre software could suddenly find itself in a much stronger position, with more users and more developers, encouraged by such positive changes. -When, who, what and where? ------------------- +### When, who, what and where? Eric Gallager, the representative behind the previous bill, has continued his efforts and now has a new hearing for the following bill very soon: @@ -59,8 +58,7 @@ the bill, and to defend it against any opposition. The bill's hearing shall take place in room 306-308. -Who to contact --------------- +### Who to contact Eric Gallager is the representative in charge of the proposed bill, and you can contact him in the following ways: @@ -76,7 +74,7 @@ to its proprietary nature - use Mastodon or email if you can): \ Why should you support this bill? -================================= +------------------------------ If this newly proposed bill is passed, it will provide the libre software movement a *foot in the door*, that could lead to greater reform at a later diff --git a/site/news/usa-libre-part3.md b/site/news/usa-libre-part3.md index b599878..4e1d7a3 100644 --- a/site/news/usa-libre-part3.md +++ b/site/news/usa-libre-part3.md @@ -3,7 +3,7 @@ % 20 February 2023 Introduction -============ +------------ You may recall last year's article: [New Hampshire (USA) may soon enshrine Software Freedom into law](usa-libre.md) - a proposed bill, if it passed, @@ -26,15 +26,14 @@ contact your house representative, and ask them to support this bill! This web page can let you find who your representative is:\ * -Can't attend? -------------- +### Can't attend? That's OK! You can still help. Please tell as many people about this as possible, and spread the news on as many websites/blogs as possible. Post it on your social media account, if you have one. Write to the media! When and where? -=============== +--------------- **This bill's hearing is on 21 February 2023 at 9AM in the Legislative Office Building, 33 N. State Ct., Concord, New Hampshire:**\ @@ -48,7 +47,7 @@ the goal of the movement, and that of the Libreboot project which is a part of said movement. Who to contact -============== +-------------- Eric Gallager is the representative in charge of the proposed bill, and you can contact him in the following ways: @@ -64,7 +63,7 @@ to its proprietary nature - use Mastodon or email if you can): \ What does house bill 556-FN say? -================================ +-------------------------------- The actual text of the bill is provided here:\ @@ -81,7 +80,7 @@ copyleft versus permissive (BSD-style) licensing, the advancement of *any* libre software on such massive scale will help the entire movement. Live streams -============ +------------ Although not mentioned in previous articles on this agenda, the New Hampshire court building provides live streams of hearings. @@ -99,8 +98,7 @@ Per the text of HB-556, the stream for *that* bill will be on: The links change, for each stream, so you should check them on the day. -Use invidious! --------------- +### Use invidious! The Youtube.com link is provided, above, for the sake of completion. However, you should use an Invidious instance. Invidious acts as a proxy for Youtube, diff --git a/site/news/usa-libre.md b/site/news/usa-libre.md index 2bf5e52..3a86d23 100644 --- a/site/news/usa-libre.md +++ b/site/news/usa-libre.md @@ -2,8 +2,8 @@ % Leah Rowe % 8 January 2022 -Introduction -============ +Free software in your government? +---------------------------------- This event of such global importance to libre software projects, and the libre movement as a whole, has made me decide to write an article. **The @@ -36,7 +36,7 @@ of Libreboot is to help users *avoid* proprietary software at the firmware level, whenever feasible. What's happening in New Hampshire? -================================== +--------------------------- An important bill is being proposed in New Hampshire, which would enshrine much of what we know as Open Source *into law*. Here is the proposed bill, @@ -115,10 +115,9 @@ which could redefine our movement and give *libre software* real power instead. HOW TO HELP -=========== +------------ -TESTIFY IN SUPPORT OF THE BILL ------------------------------- +### TESTIFY IN SUPPORT OF THE BILL **The reading of the bill is happening on 11 January 2022. This is when you should go to New Hampshire.** @@ -151,8 +150,7 @@ This thread on Twitter is where Eric announced that the reading of the bill is to proceed (original Twitter URL):\ -More states/countries will follow ---------------------------------- +### More states/countries will follow If this bill is passed in New Hampshire, more states will likely follow. It will lead to a massively renewed drive to liberate all computer users, and US @@ -164,8 +162,7 @@ global level. You *must* support this bill. If you want to see it pass, please go to New Hampshire on 11 January 2022 to make sure your voice is heard. -OUR ENEMIES WILL BE THERE -------------------------- +### OUR ENEMIES WILL BE THERE The *proprietary* software companies like Microsoft and Apple will also be there, trying to argue the case *against* the use of Libre Software. @@ -239,14 +236,6 @@ They will try to trick the law makers by claiming things such as: by some external entity; *your* installation of libre software is controlled by *you*. -If you're familiar with the *Matrix* films, proprietary operating systems like -Windows/MacOS are basically like the Matrix; bland, no individuality, no -independent thought, everything tightly controlled. By contrast, libre operating -systems (such as Linux distributions or the BSDs) are like zion/io; vibrant, -full of life, buzzing with activity, everything loose and free, and everyone -is different (a highly diverse culture of people from all walks of life, acting -in common cause but nonetheless individuals). - Meanwhile, Windows is known to have backdoors. Microsoft actively informs the NSA about how to exploit them, so that it can break into people's computers and steal private data. diff --git a/site/other.md b/site/other.md index 76f8539..caab302 100644 --- a/site/other.md +++ b/site/other.md @@ -3,8 +3,8 @@ title: Other coreboot distributions x-toc-enable: true ... -Introduction -============ +What is a coreboot distro? +-------------------------- Libreboot is a *coreboot distribution* or *coreboot distro*, in the same way that Debian is a *Linux distro*. Its purpose is to provide free/opensource boot @@ -32,13 +32,12 @@ It's thanks to the various coreboot distros that many people use coreboot today; without them, many otherwise non-technical users might not use coreboot at all. List of coreboot distros -======================== +------------------------ Not all distros are listed; only those of high quality or otherwise of interest; quality, not quantity. In alphabetical order: -Canoeboot ---------- +### Canoeboot Website: @@ -67,8 +66,7 @@ you could consider Canoeboot to be *legacy Libreboot*. Libreboot adopted the Binary Blob Reduction Policy in November 2022, as part of a general desire to support more - and newer - hardware. -Dasharo -------- +### Dasharo Website: @@ -88,8 +86,7 @@ coreboot images for each supported mainboard, with an emphasis on stability. It's a very different approach than Libreboot's approach; Libreboot provides a more generalised design in its build system and infrastructure. -Heads ------ +### Heads Website: @@ -130,8 +127,7 @@ but they target different kinds of users and use-case scenarios, with Libreboot targeting a more general audience (while providing security hardening options), whereas Heads specifically targets security-conscious users. -MrChromeBox ------------ +### MrChromeBox Website: @@ -167,8 +163,7 @@ the interview: Libreboot largely avoids supporting Chromebooks, precisely because MrChromebox is a perfectly viable option on these machines. -Skulls ------- +### Skulls Git repositories: @@ -183,8 +178,7 @@ aims to provide ease of use while also providing great power and flexibility. So Libreboot is aimed specifically at power users, while also trying to accomodate non-technical users; Skulls largely targets the latter. -System76 Open Firmware ----------------------- +### System76 Open Firmware Git repository: @@ -199,7 +193,7 @@ System76 provides the coreboot firmware, along with EDK2 UEFI payload. It can boot Linux distros, BSD systems and even Windows perfectly. Is your distro unlisted? -======================== +------------------------ Please get in touch! We'd love to link your project here. @@ -215,7 +209,7 @@ firmware, which was the primary motivation behind this page, in promoting the various projects. Non-coreboot free firmware -========================== +-------------------------- Several other projects besides coreboot provide free hardware initialisation, such as [U-Boot](https://www.u-boot.org/) (as own firmware, distinct from U-Boot diff --git a/site/tasks/index.md b/site/tasks/index.md index 2431691..0bafb80 100644 --- a/site/tasks/index.md +++ b/site/tasks/index.md @@ -16,7 +16,7 @@ You may also benefit from *assimilating* all knowledge contained in the *[lbmk maintenance manual](../docs/maintain/).* Rockchip RK3588 SoCs in coreboot -================================ +-------------------------------- See: @@ -26,8 +26,7 @@ to coreboot. Also: -Add TF-A support to Libreboot ------------------------------ +### Add TF-A support to Libreboot Yes. We already provide other non-coreboot firmware, such as the serprog images. We even integrate U-Boot, albeit as a coreboot payload with some init @@ -41,7 +40,7 @@ It is essentially an analog of coreboot; coreboot even uses parts of this, on some boards. general auditing -================ +---------------- Libreboot's build system design is already extremely efficient. See: [lbmk build system documentation](../docs/maintain/) @@ -68,7 +67,7 @@ I say again: Code equals bugs, so fewer lines of code will cause fewer bugs. Interesting board ports -======================= +----------------------- **Any board port is interesting. These are just a few that happened to be noticed at a given time. The list below is by no means complete!** @@ -77,8 +76,7 @@ Libreboot can support any board from coreboot, in principle. It would also be feasible to integrate other (libre) boot firmware, if desirable. The list below is not exhaustive, it just lists boards that are interesting to us at this time: -Boards ------- +### Boards * HP EliteBook 2760p * HP ProBook 6360b @@ -96,8 +94,7 @@ Boards not much different code-wise to the D16 mainboard, so differences in coreboot `4.11_branch` could be adapted to provide a Dasharo port. -ThinkPad T430s and T431s -------------------------- +### ThinkPad T430s and T431s These are interesting; the T431s in particular has soldered RAM, so we'd need to take care of SPDs (not done automatically yet, in coreboot). The schematics @@ -109,8 +106,7 @@ machine). Both are supported by coreboot. -840 G2 (possible 820 G2) -------------------------- +### 840 G2 (possible 820 G2) These notes are based on a chat on Libreboot IRC. @@ -121,8 +117,7 @@ newer TPM version - SLB9665 firmware can meet TPM 2.0 specification. (we do not yet use the TPM in any meaningful way on Libreboot machines) -Blobless boards ------------ +### Blobless boards Not yet supported, but interesting for the project. Separated thus: @@ -133,8 +128,7 @@ already supported by coreboot: * Scan coreboot code for ICH9/ICH10 systems, or boards with x4x/gm45 based northbridges. Many of these can boot blobless. -Dell Latitude/Precision: ------------------------ +### Dell Latitude/Precision: * Dell Latitude laptops: E4200, E4300, E5400, E5500, E6500, Precision M4400, @@ -153,13 +147,11 @@ SuperIO: at least M6500 is known to use ECE5028. I have a bunch of these Dells at my lab, they are high priority for porting because they would be easily flashable. -Broadwell Dell --------------- +### Broadwell Dell E5450 uses MEC5085, currently untested for dell-flash-unlock. -Skylake Dell ------------- +### Skylake Dell @@ -168,8 +160,7 @@ Non-E models don't have the MEC ECs. The E models have MEC5085. Nicholas isn't sure whether these have bootguard. TODO: test, and also test with dell-flash-unlock. -Dell Latitude E7240 -------------------- +### Dell Latitude E7240 See: @@ -180,8 +171,7 @@ libremrc in lbmk. NOTE: Iru Cai is the person working on this. -Dell Precision M4800 and M6800 --------------------- +### Dell Precision M4800 and M6800 Also M6800, though no port is available yet. 17.3 inch display. @@ -196,8 +186,7 @@ for entry into coreboot due to copyright reasons. This port is worth looking at. When the issues are fixed, this will make a fine addition to lbmk. -E4200 SPD ---------- +### E4200 SPD NOTE: Some of this may be inaccurate, because it's copied from handwritten notes that were written very hastily and are barely legible. @@ -229,8 +218,7 @@ see -AMD Family16 boards -------------------- +### AMD Family16 boards See: @@ -315,8 +300,7 @@ Also referenced there: Biostar A68N-5200 mainboard. Check coreboot `4.18_branch` for these boards. Coreboot started removing the AGESA boards after release 4.11. -Lenovo G505s ------------- +### Lenovo G505s Old board, removed from coreboot ages ago, but one of the fastest pre-PSP AMD laptops, has full init in coreboot - it does require a VGA ROM for @@ -326,8 +310,7 @@ graphics. Anyway: This page was linked to me ages ago by Mike Banon. It contains instructions for how to configure the machine. It might be worth integrating into lbmk. -RISC-V hardware ---------------- +### RISC-V hardware See: @@ -340,19 +323,16 @@ oreboot is still a good project. (though, whenever possible, lbmk should stick to coreboot, to keep things simpler - are there efforts to implement oreboot ports in coreboot/C?) -LoongArch support ------------------ +### LoongArch support Ariadne Conill has been working on bringup for coreboot. Work also being done with edk2; U-Boot also desirable here. -RockPro64 ---------- +### RockPro64 Another interesting board that coreboot supports. We could add this. -uefistub --------- +### uefistub Currently [under review](https://review.coreboot.org/c/coreboot/+/78913) in the coreboot project, this provides an *incomplete* UEFI implementation, but @@ -369,8 +349,7 @@ uefistub will remain mentioned here for the time being. The context for uefistub is linuxboot-only setups; this is where uefistub can truly shine, specifically on ARM64 devices. -Videos (plus RISCV) ------- +### Videos (plus RISCV) The *Open Source Firmware Conference* (OSFC) in 2023 had several interesting talks pertaining to ARM, secureboot, linuxboot, UEFI and everything in between. @@ -388,7 +367,7 @@ In general, there are many interesting talks: The talks go all the way back to 2018. They're all worth watching. Linuxboot -========= +--------- **NOTE: Stali Linux is a useful base, on top of which any Linux-based setup could be built. With a stripped down kernel, it already provides a sensible @@ -422,8 +401,7 @@ This makes it a useful drop-in replacement for the GRUB bootloader payload that Libreboot currently uses. Linux has much better drivers than GRUB, especially for things like LUKS2 and networking. -Ideas for how to implement in lbmk ------------------------------------ +### Ideas for how to implement in lbmk Look at the [lbmk documentation](../docs/maintain/) for context. The most logical way to implement Linux payloads in Libreboot's build system, lbmk, @@ -462,14 +440,12 @@ build system would not increase much. It's mainly the addition of musl-cross-make. Most of the generic build logic already exists in lbmk, for projects that use cmake and/or make. It could be done with minimal complexity. -Flash size limitations ----------------------- +### Flash size limitations With a stripped down kernel, and sensible configuration, about 6-8MB of flash space would be required in this setup. The Heads setup is just under 8MB. -Why Linux in flash? -------------------- +### Why Linux in flash? Linux has better drivers than GRUB, has netboot, and it's much more practical when you want to control the boot process. For example, you could more easily @@ -478,15 +454,13 @@ implement measured boot and make use of TPM-based security mechanisms. For the everyday user, it probably doesn't make much difference if they're already happy with SeaBIOS, GRUB or SeaBIOS. -x86 implementation ------------------- +### x86 implementation Coreboot can directly execute it as a payload, but we would also execute it from the GRUB payload - if running from the GRUB payload, we could just provide it as a vmlinuz and initramfs file. -ARM implementation ------------------- +### ARM implementation We already standardise on U-Boot, for ARM machines. It's debateable whether Linuxboot is even desirable here, U-Boot is quite competent, but the SPL mode @@ -505,8 +479,7 @@ correct UEFI implementation. (then again, linux on bare metal providing kexec as main bootloader method is also quite non-standard, at least on x86 and ARM). -Netboot.xyz ------------ +### Netboot.xyz It's unlikely that this will actually be used in lbmk, but this provides a really nice way to boot Linux distros over the network: @@ -515,8 +488,7 @@ nice way to boot Linux distros over the network: It uses iPXE, whereas we would be using Linux and kexec. -Zfsbootmenu ------------ +### Zfsbootmenu See: @@ -527,7 +499,7 @@ This was briefly documented on the Libreboot website, before [argon2 kdf support](../news/argon2.md) was merged in Libreboot GRUB. Seek QUBES endorsement -====================== +---------------------- Libreboot is compatible with Qubes, on several supported mainboards. This could be audited, to provide a complete list. Qubes has a page on their website which @@ -538,7 +510,7 @@ the same time, which is an excellent project. We could host a page specifically for it, saying what works on our end, and basically copy that to their wiki. GRUB VGA modes -============== +-------------- VGA support is not universal in Libreboot. We typically rely on GRUB to start in console mode (`GRUB_TERMINAL=console`), which means GRUB won't change @@ -557,7 +529,7 @@ menu works is, it scans for GRUB and Syslinux/Extlinux configs on the user's HDD/SSD, switching to the first one found. GRUB configs menu -================ +----------------- Libreboot systematically scans for GRUB/Syslinux/Extlinux configs provided by the user's operating system, by scanning partitions. It can also scan @@ -577,10 +549,9 @@ This pertains to the GRUB *payload* provided in the flash, by Libreboot. It is currently the preferred payload in Libreboot, at least for x86 machines. Document flash write protection -============================ +------------------------------- -IFD-based method ----------------- +### IFD-based method Already covered, but could be documented more prominently. Use `ifdtool --lock libreboot.rom` to lock the IFD. @@ -593,8 +564,7 @@ useless; on the E6400, the EC firmware can be instructed to override the IFD settings, by enabling the Flash Descriptor Override (in fact, this is part of what the `dell-flash-unlock` utility does). -FLILL-based method ------------------- +### FLILL-based method We already vaguely mention Intel Flash Descriptor settings ta enable write protection. This documentation should be expanded on. @@ -621,13 +591,11 @@ Flash Descriptor Override, will not affect FLILL entries. We could document this on the Libreboot website. -SMM write protection --------------------- +### SMM write protection system management mode can also be used, to implement flash write protection. -PR (Protected Range) registers ------------------------------- +### PR (Protected Range) registers Differing per platform but defined by Intel datasheets, the Protected Range registers can be set, to enable flash write protection. Once written, these @@ -657,21 +625,19 @@ protecting `/dev/mem` by default, that the user can turn off at boot time when they want to flash (e.g. cmdline option `iomem=relaxed` in Linux, or `kern.securelevel=-1` in OpenBSD). -Chip-specific -------------- +### Chip-specific Some flash chips support their own write protection scheme, covered in their datasheets, but this is usually unreliable or inconsistent. This method is not to be relied upon. -Layers! -------- +### Layers! Security is all about layers. When you want to lock down the flash, use every method available to you. lbwww: Document MXM graphics -============================ +---------------------------- MXM graphics modules are present, on some laptops that we do not yet support, because certain functionality is needed on them that we do not implement yet. @@ -688,7 +654,7 @@ Several more high-end HP EliteBook machines use MXM graphics modules, e.g. HP EliteBook 8560w. lbmk-c: clustered builds -======================== +------------------------ I had an idea on IRC when we were talking about how to optimise the build speed in Libreboot. Most of the time is spent simply compiling the ROM images, @@ -715,13 +681,12 @@ distcc is probably useful here: -ccache ------- +### ccache not directly related, but this can speed up coreboot builds Fixdep -====== +------ This would be something to implement in coreboot's build system, but could also benefit lbmk. Currently, any changes to the coreboot's config results in Make @@ -753,22 +718,22 @@ config. Consider: -- Board A, which sets CONFIG_TEST=y -- Board B, which sets CONFIG_TEST=n -- Board C, which sets CONFIG_TEST=y -- test.c, which uses the value of CONFIG_TEST +- Board A, which sets CONFIG\_TEST=y +- Board B, which sets CONFIG\_TEST=n +- Board C, which sets CONFIG\_TEST=y +- test.c, which uses the value of CONFIG\_TEST -An order such as A->C->B would be most efficient: +An order such as A-\>C-\>B would be most efficient: -1. A: test.c compiled for the first time with CONFIG_TEST=y -2. C: CONFIG_TEST hasn't changed, so test.o can be reused from step 1 -3. B: test.c recompiled, since CONFIG_TEST changed back to n +1. A: test.c compiled for the first time with CONFIG\_TEST=y +2. C: CONFIG\_TEST hasn't changed, so test.o can be reused from step 1 +3. B: test.c recompiled, since CONFIG\_TEST changed back to n -An order such as A->B->C would be least efficient: +An order such as A-\>B-\>C would be least efficient: -1. A: test.c compiled for the first time with CONFIG_TEST=y -2. B: test.c recompiled, since CONFIG_TEST changed to n -3. C: test.c recompiled again, since CONFIG_TEST changed back to y, even though +1. A: test.c compiled for the first time with CONFIG\_TEST=y +2. B: test.c recompiled, since CONFIG\_TEST changed to n +3. C: test.c recompiled again, since CONFIG\_TEST changed back to y, even though this configuration was previously built in step 1. Given the number of possible configs, the ideal order is likely impractical to @@ -787,7 +752,7 @@ the header "Dependency tracking": Nicholas Chin is looking at this in coreboot. Use crossgcc for SeaBIOS and GRUB -================================= +--------------------------------- We currently use hostcc for the SeaBIOS and GRUB payloads. This, among other things, means lbmk is currently only supported for amd64 machines. @@ -802,7 +767,7 @@ GRUB specifically, we should therefore use musl-cross-make. SeaBIOS can be built using crossgcc. Port lbmk to BSD systems -======================== +------------------------ In particular, FreeBSD is of interest. @@ -836,7 +801,7 @@ Libreboot already has excellent support for booting all of the BSDs. Having the build system be compatible would just be another great boon. Package lbmk in distros -======================= +----------------------- Providing binaries of Libreboot in distros wouldn't make sense, because we do that anyway, on Libreboot RSYNC, but having ports of the build system on @@ -863,10 +828,9 @@ system itself. A distro could package lbmk to build for a specific Libreboot version, and handle all of the dependencies and everything. Vendor scripts -============== +-------------- -Bruteforce more files ---------------------- +### Bruteforce more files We bruteforce extract IME but some other firmwares are more or less hardcoded in config. @@ -885,7 +849,7 @@ time. This work began mostly after mid-2022, and has since been expanded to cover many types of firmwares, used on various mainboards. Investigate 16MB flash setups -============================= +----------------------------- On some ivybridge and sandybridge boards, where flash is 8MB or 12MB, it is feasible (with some soldering) to upgrade it to 16MB setups. @@ -912,7 +876,7 @@ MOSI/MISO are shared, and the PCH/southbridge will enable or disable the given flash IC to access the region needed. ME Cleaner status page -====================== +---------------------- See: @@ -920,7 +884,7 @@ It's a good reference, though far from complete. People post there saying whether their hardware works with `me_cleaner`. Overclocking -============ +------------ See: @@ -932,7 +896,7 @@ It might be useful on some machines. The research here (by Angel Pons) may be transferrable to other platforms. Detect module changes -===================== +--------------------- When a given package is already downloaded and built in some way, lbmk currently works on the assumption that it doesn't change. During development, @@ -949,7 +913,7 @@ In practise, revisions don't change very often in Libreboot, and they're normally updated all at once, when they are updated. Normal/fallback scheme -====================== +---------------------- Libreboot currently does not handle the normal/fallback payload scheme at all. Instead, it is assumed that the user will always be booting from the fallback @@ -960,7 +924,7 @@ Coreboot supports configuring which scheme to use, at boot time, but we don't use it. Coreboot's default is to always load the fallback, so we use that. Improved payload documentation -=============================== +------------------------------ The actual payload documentation is quite sparse in Libreboot, especially SeaBIOS but also GRUB. We don't need to repeat what is said by upstream docs, but we @@ -970,7 +934,7 @@ We should start writing about the payloads in more detail, referencing upstream documentation whenever possible. Static compiled utils in releases -================================= +--------------------------------- We curerntly only provide binaries of the firmware itself, for each mainboard, but we do not provide utilities compiled. We provide only source code, and the @@ -981,7 +945,7 @@ download scripts. This should be done alongside providing musl-cross-make for the linuxboot builds. Download repositories in bulk -============================= +----------------------------- At present, lbmk does what it needs to do, and downloads repositories only as required, upon each stage of the boot process. For example, it may download @@ -994,8 +958,7 @@ but for very long builds (ones that take hours, which some do), it may be that the user's internet goes down, and a latter part of the build fails, where it might have succeeded if packages were downloaded much earlier and in bulk. -Optimisation ------------- +### Optimisation So, TODO: Make lbmk determine precisely what packages would later be downloaded through various parts of a build, for a given command, and do it all at once, @@ -1011,7 +974,7 @@ recommended that you run lbmk an on internet connection that is at least 100Mbps You can still use slower connections, it'll just take longer. Don't copy src trees -==================== +-------------------- For multi-tree projects, lbmk currently copies the source code per tree, e.g. `coreboot/default`, `coreboot/dell`. What could be done instead is to @@ -1037,10 +1000,9 @@ provided, they would just use whatever revision is used in the defined submodule for the main target project that lbmk is downloading for. Vendor scripts -============== +-------------- -Check hashes of resulting files -------------------------------- +### Check hashes of resulting files Libreboot extracts the files from vendor updates, and those updates are checked against known hashes, but lbmk only defines such hashes for the larger updates @@ -1050,7 +1012,7 @@ to current behaviour (only check the main file) if individual checksums for inside files are not defined. Reproducible builds -=================== +------------------- We can't focus on this reliably, because we use hostcc extensively for many parts of the build process. Other parts of this TODO page talk about how to @@ -1060,8 +1022,7 @@ Cross compilation is the first step to reproducibility, because then we only have to worry about the toolchain, which is easier to control. We can start focusing specifically on reproducibility once all of that has been done. -Tarballs --------- +### Tarballs We already have partial reproducibility, though we currently use the `-T0` option in xz, whereas `-T1` is more appropriate; forcing it to run on 1 core @@ -1079,7 +1040,7 @@ Also: This post writes about the rationale for `-T1` when using xz. VGA: Run-time, not build-time -============================= +----------------------------- In coreboot, configuration of video initialisation is done at build time. This has several disadvantages, in that you now need multiple ROM images for multiple @@ -1123,10 +1084,9 @@ possible to change the payload at runtime for instance (manually), by running cbfstool. Modularise the coreboot stages -============================== +------------------------------ -ie. generate cbfs in lbmk -------------------------- +### ie. generate cbfs in lbmk We currently use the coreboot build system which is designed to build all stages, such as the bootblock, car, ramstage, romstage etc. The coreboot build @@ -1156,7 +1116,7 @@ We might have to backport to some older revisions, because lbmk uses certain older revisions on some machines, e.g. AMD AGESA platforms. Macbook21 C-states patch -======================== +------------------------ See: @@ -1168,8 +1128,7 @@ is described there), we can expand it to configure c-states differently on imac52. This config is used to enable efficient power management, on these machines. -How to dump c-state config --------------------------- +### How to dump c-state config ``` i2cdump 0x69 @@ -1187,7 +1146,7 @@ these machines, doesn't work well in apple's firmware. mentioned by avph in the gerrit link (see above) Check file ownership in builds -============================== +------------------------------ When lbmk is running, it is assumed that the current user has ownership of the files. If lbmk is operated on a clone that is under different ownership, @@ -1207,8 +1166,7 @@ warning message to the user, so that they know what to do to fix it. Lbmk would also then exit earlier, rather than trying to run something, which might result in very unpredictable behaviour. -Sanity checks -------------- +### Sanity checks We basically should have startup sanity checks in general, such as checking whether all the right dependencies are installed on the host system. @@ -1229,7 +1187,7 @@ is basically the same thing as the other entry on this page about porting to BSD. So tackle both. Software Bill of Materials -========================== +-------------------------- Generate an SBOM for all of Libreboot, on release builds specifically; it can be skipped for performance/convenience reasons on regular development builds @@ -1294,7 +1252,7 @@ NOTE: the `-z` option in ./update trees is not yet implemented. Again, the above just a concept. Re-use build artifacts -====================== +----------------------- Libreboot's build system, lbmk, does not re-use artifacts well. It largely assumes that you are building everything from scratch, which is great for @@ -1309,8 +1267,7 @@ most projects only get built once, unless they are modified (by a developer). This might be useful for: -Partial coreboot re-builds --------------------------- +### Partial coreboot re-builds A lot of the time in lbmk, we are building multiple variants of the same mainboard, for different setups. We could skip a lot of the re-building. @@ -1318,8 +1275,7 @@ This pretty much goes hand in hand with the other entry on this TODO page, about spliting up the various stages in coreboot, and handling CBFS generation within lbmk. -Notes about Git ---------------- +### Notes about Git See: @@ -1332,7 +1288,7 @@ reducing the amount of deltas that need to be resolved when cloning). In particular, Git Work Trees are a useful feature that we might use in lbmk. Chinese users can't run lbmk -========================== +---------------------------- Libreboot has quite a few Chinese users, but the Chinese internet blocks access to several sites like github - and apparently the coreboot gerrit site is also @@ -1351,15 +1307,13 @@ copy of GitHub), but registration required a Chinese phone number, so I couldn't make an account. I was going to set it up for Libreboot. me cleaner is old -================= +----------------- From what I can tell, `me_cleaner` is not well-tested or supported on many newer Intel platforms. it shouldn't affect us in Libreboot for now, because we're not even past Haswell yet, but see for instance: - -Also: disablement ------------------ +### Also: disablement See: @@ -1368,7 +1322,7 @@ possible to completely disable the ME (remove it from the nor flash), with "almost no ill effects" according to the OP on that issue page. FAQ: cover USB fuzzing attacks -============================== +------------------------------ We write on the FAQ that SATA devices could potentially have DMA capability, but this has still not been proven, and it's probably not true in practise. @@ -1389,7 +1343,7 @@ So we should cover it, and talk about ways to mitigate the risk (e.g. disable USB input devices and networking devices, in the user's operating system). Auto-configure IFD region limits -================================ +-------------------------------- We currently configure the ME/BIOS region sizes manually, which is fine, but the way it's configured is very complicated. @@ -1429,12 +1383,12 @@ more; you can also read about them on the [lbmk maintenance manual](../docs/maintain/). Signed commits -============== +-------------- Start signing commits in Git. There's nothing more to say. Just do it. Secure suspend method (LUKS setups) -================================ +----------------------------------- See: @@ -1443,7 +1397,7 @@ keys are not stored in memory. It's worth looking into. We might be able to provide something automated in lbmk. USB keyboard in secondary payload -================================= +--------------------------------- We don't use secondary payloads defined here, but see: @@ -1452,7 +1406,7 @@ The issue page has info about the problem, and a workaround. Listed here for reference, in case this functionality is ever used in Libreboot. zstd in btrfs on grub -===================== +--------------------- Reported buggy by a user on IRC. TODO: test it @@ -1461,7 +1415,7 @@ information was given, other than it is "buggy". Reported on Libreboot 20231101. Optimise crossgcc space -======================= +----------------------- Re-use crossgcc from other coreboot trees, in other coreboot trees. We currently build several versions of it, but we probably only need one, maybe two. Audit @@ -1469,7 +1423,7 @@ this, across various coreboot trees. Specific coreboot trees (older ones) could just be patched if re-using crossgcc from a newer tree. T60 /proc/acpi/ibm/thermal -========================== +-------------------------- Reported by a user (unknown what LIbreboot version), this file is not available at all. It was later revealed that the user flashed a ROM image without microcode @@ -1477,7 +1431,7 @@ updates, triggering the AE18 errata. Thermal management is buggy without the updates, on that platform. Link CPU errata PDFs -===================== +-------------------- Libreboot makes reference to CPU errata in documentation, but without actually linking to the documents themselves. Link to the PDFs for all available CPUs, @@ -1487,7 +1441,7 @@ microcode updates - they also generally provide information for OS developers, to know how certain bugs should be mitigated, whenever possible. Macbook2,1 backlight controls -============================= +----------------------------- Was reported broken in linux 6.1, but works in 5.x @@ -1504,13 +1458,12 @@ coreboot can differ a bit from the vendor firmware on some boards. Not really a major issue, but it does need to be addressed. -TODO: test other platforms too -------------------------------- +### TODO: test other platforms too Test other platforms. Document CH341A variants -======================== +------------------------ All CH341A variants are garbage for ISP-based flashing, because of weak drive strength and poor board layout, also the WP/HOLD pins are often held @@ -1530,8 +1483,7 @@ convenient, because you don't have to mess with a breadboard or anything, because they already have ZIF sockets on them for DIP-8 ICs, on which you can also use adapters for SOIC-8, SOIC-16 and WSON-8. -E6400 VGA ROM (Nvidia) ----------------------- +### E6400 VGA ROM (Nvidia) See: @@ -1542,8 +1494,7 @@ Also: `e6400nvidia_4mb` works better on that setup, nouveau is actually stable in some cases. Check the E6400 page for libreboot, it lists issues with nouveau on those machines. -Test Crystalwell CPUs on T440p ------------------------------- +### Test Crystalwell CPUs on T440p Coreboot has support for these, but they have not been tested as far as I know, and no reports have been made for them by Libreboot users. These offer higher @@ -1551,8 +1502,7 @@ performance and the machine is already very nice. Ditto W541. -How to extract VBT data ------------------------ +### How to extract VBT data See: @@ -1573,7 +1523,7 @@ Example patch (merged in coreboot) that used this: Guix: use debootstrap -===================== +--------------------- GCC-Gnat is unavailable in Guix, due to the distro's requirement for sources to be bootstrapped. GCC-Gnat is also required, for building GCC-Gnat. We build @@ -1596,8 +1546,8 @@ In the logic for `./build dependencies distroname`, add an option for Guix, but on that one, make lbmk automatically set up debootstrap if it's being run for Guix (and it would detect whether the host actually is Guix System). -docs/build/clean.md -=================== +docs/build/clean*.*md +------------------- Add this section, telling the user (of lbmk specifically) how to clean various directories. This isn't handled universally, due to lbmk's design. When @@ -1619,15 +1569,14 @@ That is Libreboot's philosophy, that the user should never have to do more than is absolutely necessary when someonething could just as easily be done in code. E6400 security -============== +-------------- See other section on this page about write protection. Setting PR registers for write protection is a valid way to write protect on Dell E6400, and it would not be affected by the flash-unlock utilitiy. -SMM methods ------------ +### SMM methods Tere are two SMM write protect methods: @@ -1644,7 +1593,7 @@ method. ^ These notes were supplied by Nicholas Chin via IRC. PCI-E REBAR -=========== +----------- See: @@ -1664,7 +1613,7 @@ factory firmware does not and will not enable it (and the above link is for UEFI systems only). Shrink FSP size (Intel) -========================= +----------------------- See: @@ -1674,15 +1623,14 @@ but possible on other platforms. Thanks go to Nicholas Chin for linking this. -Chromebooks ------------ +### Chromebooks Especially useful here, if using the default setup. In the default setup, there are essentially three copies of the firmware in flash: a recovery image, an "A" image and a "B" image, according to Nicholas Chin. Compare factory/download neutered ME -==================================== +------------------------------------ Use tools and hexdump diffs to compare neutered Intel ME images, comparing ones neutered from factory.bin dump, and ones from @@ -1694,7 +1642,7 @@ doing this in osboot, and heads did it for years before we did, and they never had any problems). HP 820 G2 TPM -============= +------------- TODO: check that it can be upgraded to TPM 2.0 (default is 1.2). It's a SLB 9660 TPM @@ -1712,7 +1660,7 @@ And also this, straight from the horse's mouth: 4th SSD on T440p -================ +---------------- probably possible on w541 too @@ -1726,7 +1674,7 @@ be possible to use this in coreboot with linux/bsd todo: test it. need to actually solder it and test it. Disable ME device in devicetree -================================ +------------------------------- We neutered, but coreboot still enables MEI1 on many boards. @@ -1745,7 +1693,7 @@ we neuter anyway, so the ME interface is broken by default. Leaving it on in devicetree will result in a benign error message on linux dmesg. Switchable Graphics (Optimus) -============================= +----------------------------- Some of the Thinkpads we support have dual graphics, using Nvidia Optimus. It'd be nice to have. This coreboot patch enables it on Thinkpads: @@ -1759,7 +1707,7 @@ There are other patches on Gerit, related to Optimus too: This should be looked into. Overclocking (CPU and RAM) -========================= +-------------------------- Coreboot could be modified to support overclocking. Here is an example patch on gerrit (not merged in main): @@ -1786,8 +1734,7 @@ on certain machines. NOTE: Page is in Russian, use a translator. The type of people (enthusiasts) that like Libreboot would be into this sort of thing. It may be interesting to study, especially on haswell machines. -Haswell -------- +### Haswell @@ -1801,7 +1748,7 @@ haswell overclocking would be very useful to have, on libreboot machines, because you can get some still-very-nice CPUs for these machines. X60/T60 alloc magic is broken at 0x7b1aedf0: 0 -=============================================== +---------------------------------------------- See: @@ -1822,7 +1769,7 @@ to work around the issue, but it'll possibly be fixed before that release, otherwise afterward. Intel/AMD errata PDF -==================== +-------------------- List PDF links for Intel/AMD CPUs, provided by Intel/AMD, showing what is unpatched as of yet, in microcode updates. @@ -1834,24 +1781,22 @@ unpatched as of yet, in microcode updates. Links. interesting video -================= +----------------- Automate testing -================ +---------------- Even though there's lots of error handling, it's better to be paranoid than brick users' machines. -Unit tests ----------- +### Unit tests - Build time or separate? - me_cleaner -c: checks that ime was inserted and has valid signatures -CI --- +### CI Preferably self-hosted. Run tests for every commit. There could be tests of different size, and even a periodic nightly release could be done. @@ -1860,7 +1805,7 @@ Integrating this with an automated test stand would also be doable. At the very least, it would assure that the ROM images boot successfully. Board status -============ +------------ As the number of ports grows, it becomes harder to keep track of what works. Let's build a machine-readable repo documenting every release (or commit) @@ -1872,7 +1817,7 @@ to not install an unbootable (broken) ROM, and would inform users about any known problems and have meaningful options. haswell board bifircation -========================= +------------------------- @@ -1883,13 +1828,12 @@ also ec hacking on lenovo x230 -========================= +------------------------- DELL 7th gen -============ - +------------ 3050 micro is being worked on. @@ -1898,12 +1842,12 @@ DELL 7th gen 5050 models also. Dell 3020 -========= +--------- another haswell. different to 9020, but could be added. Dell 3050 Micro century byte -============================ +---------------------------- The `CONFIG_USE_LEGACY_8254_TIMER` and `CONFIG_USE_PC_CMOS_ALTCENTURY` options must both be diff --git a/site/template.de.include b/site/template.de.include index 33c1340..49f49e8 100644 --- a/site/template.de.include +++ b/site/template.de.include @@ -92,7 +92,7 @@ $return$ $endif$ $if(toc)$ $endif$ diff --git a/site/template.include b/site/template.include index cc0ef98..db1c152 100644 --- a/site/template.include +++ b/site/template.include @@ -92,7 +92,7 @@ $return$ $endif$ $if(toc)$ $endif$ diff --git a/site/template.it.include b/site/template.it.include index 8d831eb..4292fd5 100644 --- a/site/template.it.include +++ b/site/template.it.include @@ -92,7 +92,7 @@ $return$ $endif$ $if(toc)$ $endif$ diff --git a/site/template.uk.include b/site/template.uk.include index f77477d..77f03de 100644 --- a/site/template.uk.include +++ b/site/template.uk.include @@ -92,7 +92,7 @@ $return$ $endif$ $if(toc)$ $endif$ diff --git a/site/template.zh-cn.include b/site/template.zh-cn.include index fb7c740..f193ac8 100644 --- a/site/template.zh-cn.include +++ b/site/template.zh-cn.include @@ -92,7 +92,7 @@ $return$ $endif$ $if(toc)$ $endif$ From a1b60ec64f09449c875dad08fad177d73eeec906 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 19 Jan 2025 18:09:25 +0000 Subject: [PATCH 169/279] make h2/3/4 text bigger Signed-off-by: Leah Rowe --- site/global.css | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/site/global.css b/site/global.css index af52c13..6b11740 100644 --- a/site/global.css +++ b/site/global.css @@ -108,6 +108,19 @@ html, ul, #TOC } } +h2 +{ + font-size: 2em; +} +h3 +{ + font-size: 1.8em; +} +h4 +{ + font-size:1.6em; +} + .f, .f * { position: fixed; From 8d6c16a4b181cb4c332247efc461167160d344ba Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 19 Jan 2025 18:11:36 +0000 Subject: [PATCH 170/279] update meta description Signed-off-by: Leah Rowe --- site/template.include | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/template.include b/site/template.include index db1c152..e48de3b 100644 --- a/site/template.include +++ b/site/template.include @@ -2,7 +2,7 @@ - + From d57edfcc87a0576358d5e2f62f76d5973316d2c6 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 19 Jan 2025 18:17:43 +0000 Subject: [PATCH 171/279] change the description again Signed-off-by: Leah Rowe --- site/template.include | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/template.include b/site/template.include index e48de3b..3e616e7 100644 --- a/site/template.include +++ b/site/template.include @@ -2,7 +2,7 @@ - + From a6d2f10fb92b907cd3168d4dd0589b8b2c4ebe4f Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 19 Jan 2025 18:20:24 +0000 Subject: [PATCH 172/279] say motherboard, not mainboard motherboard is what most people say Signed-off-by: Leah Rowe --- site/contrib.md | 2 +- site/docs/install/dell3050.md | 2 +- site/docs/install/dell7010.md | 2 +- site/docs/install/dell780.md | 4 +- site/docs/install/hp8300usdt.md | 2 +- site/docs/install/index.md | 8 +-- site/docs/install/ivy_has_common.md | 2 +- site/docs/install/kcma-d8.md | 4 +- site/docs/install/kgpe-d16.md | 2 +- site/docs/install/nvmutil.md | 2 +- site/docs/install/spi.md | 44 +++++++------- site/docs/install/t480.md | 4 +- site/docs/install/t60_unbrick.md | 4 +- site/docs/install/x60_unbrick.md | 4 +- site/docs/install/x60tablet_unbrick.md | 4 +- site/docs/linux/grub_hardening.md | 2 +- site/docs/maintain/index.md | 14 ++--- site/docs/maintain/porting.md | 6 +- site/docs/maintain/porting.uk.md | 2 +- site/docs/maintain/testing.md | 4 +- site/faq.md | 14 ++--- site/freedom-status.md | 12 ++-- site/index.de.md | 8 +-- site/index.fr.md | 4 +- site/index.it.md | 4 +- site/index.md | 8 +-- site/index.ru.md | 4 +- site/index.uk.md | 4 +- site/index.zh-cn.md | 4 +- site/news/10.md | 8 +-- site/news/audit2.md | 12 ++-- site/news/audit3.md | 10 ++-- site/news/audit4.md | 2 +- site/news/audit5.md | 16 ++--- site/news/audit6.md | 12 ++-- site/news/e6400nvidia.md | 2 +- site/news/freedom.md | 6 +- site/news/hp820g2.md | 2 +- site/news/libreboot20140911.md | 4 +- site/news/libreboot20141015.md | 4 +- site/news/libreboot20150124.md | 4 +- site/news/libreboot20150126.md | 4 +- site/news/libreboot20150208.md | 4 +- site/news/libreboot20150518.md | 4 +- site/news/libreboot20160818.md | 4 +- site/news/libreboot20160907.md | 2 +- site/news/libreboot20210522.md | 76 ++++++++++++------------ site/news/libreboot20221214.md | 2 +- site/news/libreboot20230413.md | 6 +- site/news/libreboot20230423.md | 6 +- site/news/libreboot20230625.md | 16 ++--- site/news/libreboot20231021.md | 16 ++--- site/news/libreboot20240126.md | 10 ++-- site/news/libreboot20240225.md | 6 +- site/news/libreboot20240504.md | 10 ++-- site/news/libreboot20240612.md | 18 +++--- site/news/libreboot20241008.md | 18 +++--- site/news/libreboot20241206.Revisions.md | 2 +- site/news/libreboot20241206.md | 10 ++-- site/news/microcode.md | 18 +++--- site/news/policy.de.md | 16 ++--- site/news/policy.md | 16 ++--- site/news/policy.uk.md | 4 +- site/news/ports202402.md | 2 +- site/news/safety.md | 8 +-- site/news/update202308.md | 2 +- site/news/x201.md | 2 +- site/other.md | 2 +- site/tasks/index.md | 34 +++++------ 69 files changed, 290 insertions(+), 290 deletions(-) diff --git a/site/contrib.md b/site/contrib.md index c9f3872..bb6355f 100644 --- a/site/contrib.md +++ b/site/contrib.md @@ -663,7 +663,7 @@ lot about hardware. Swift Geek also did some upstream development on GRUB. Swift Geek has provided technical advice on numerous occasions, to Leah Rowe, and helped her to improve her soldering skills in addition to teaching her some repair skills, to the point where she can now repair most faults on -ThinkPad mainboards (while looking at the schematics and boardview). +ThinkPad motherboards (while looking at the schematics and boardview). Swiftgeek left the project in March 2021. I, Leah Rowe, wish him all the best in his endeavours, and I'm very grateful to his numerous contributions over the diff --git a/site/docs/install/dell3050.md b/site/docs/install/dell3050.md index bd033e3..e703be0 100644 --- a/site/docs/install/dell3050.md +++ b/site/docs/install/dell3050.md @@ -91,7 +91,7 @@ The build target, when building from source, is thus: Mate Kukri's *deguard* utility disables the Intel Boot Guard on this machine. Libreboot uses this by default, along with `me_cleaner` to provide a neutered ME setup; unlike on other platforms, arbitrary code execution is also -possible inside the ME on this mainboard, giving it much higher potential for +possible inside the ME on this motherboard, giving it much higher potential for software freedom in the future. Issues diff --git a/site/docs/install/dell7010.md b/site/docs/install/dell7010.md index acf00b6..564046a 100644 --- a/site/docs/install/dell7010.md +++ b/site/docs/install/dell7010.md @@ -78,7 +78,7 @@ The build target, when building from source, is thus: ./mk -b coreboot dell7010sff_12mb -NOTE: The same 7010 SFF image also works on 9010 SFF. It's the same mainboard. +NOTE: The same 7010 SFF image also works on 9010 SFF. It's the same motherboard. Alternatively, you can use one of Libreboot's pre-compiled release images. diff --git a/site/docs/install/dell780.md b/site/docs/install/dell780.md index 14bbcf6..28a52a9 100644 --- a/site/docs/install/dell780.md +++ b/site/docs/install/dell780.md @@ -83,9 +83,9 @@ Alternatively, you can use release images instead of compiling from source. ### 100% FREE / OPEN SOURCE! -This mainboard is entirely free software in the main boot flash. It is using +This motherboard is entirely free software in the main boot flash. It is using the Intel X4X / ICH10 platform, same as on the already supported -Gigabyte GA-G41M-ES2L mainboard. +Gigabyte GA-G41M-ES2L motherboard. Install Libreboot ----------------- diff --git a/site/docs/install/hp8300usdt.md b/site/docs/install/hp8300usdt.md index d18444a..3656c51 100644 --- a/site/docs/install/hp8300usdt.md +++ b/site/docs/install/hp8300usdt.md @@ -69,7 +69,7 @@ Install Libreboot ----------------- These next sections will teach you how to install Libreboot on your -HP Elite 8300 USDT mainboard. +HP Elite 8300 USDT motherboard. ### Internal flashing diff --git a/site/docs/install/index.md b/site/docs/install/index.md index 18afa26..d5fb175 100644 --- a/site/docs/install/index.md +++ b/site/docs/install/index.md @@ -202,7 +202,7 @@ example, they might fix power issues that could then enhance battery life. See: Otherwise, check the Lenovo website to find the update utility for your -mainboard. +motherboard. ### HP EliteBooks @@ -257,7 +257,7 @@ flash internally. If that is the case, you must [flash externally](spi.md). ### Updating an existing installation -Unless otherwise stated, in sections pertaining to each mainboard below, +Unless otherwise stated, in sections pertaining to each motherboard below, an existing Libreboot installation can be updated via internal flashing, without any special steps; simply follow the general internal flashing guide, in the final section further down this page. @@ -269,7 +269,7 @@ If you currently have the factory firmware, you probably need to flash externally; on *some* machines, internal flashing is possible, usually with special steps required that differ from updating an existing installation. -The next sections will pertain to specific mainboards, where indicated, +The next sections will pertain to specific motherboards, where indicated, followed by general internal flashing instructions where applicable. ### HP EliteBook 820 G2 (internal and external) @@ -590,7 +590,7 @@ Install via host CPU (internal flashing) NOTE: This mainly applies to the x86 machines. Please check other sections listed above, to see if there is anything -pertaining to your mainboard. Internal flashing means that you boot Linux or +pertaining to your motherboard. Internal flashing means that you boot Linux or BSD on the target machine, and run `flashprog` there, flashing the machine directly. diff --git a/site/docs/install/ivy_has_common.md b/site/docs/install/ivy_has_common.md index 5ddc40b..8382c39 100644 --- a/site/docs/install/ivy_has_common.md +++ b/site/docs/install/ivy_has_common.md @@ -14,7 +14,7 @@ Policy](../../news/policy.md) and [Freedom Status](../../freedom-status.md) pages. **PLEASE MAKE SURE you read and follow the instructions on this page, prior -to flashing Libreboot, if required for your mainboard; failure to heed this +to flashing Libreboot, if required for your motherboard; failure to heed this warning can and will result in a soft-brick, which would then necessitate recovery via [external flashing](spi.md) - regardless, you are advised to also read the external flashing guide just in caes, and have an external diff --git a/site/docs/install/kcma-d8.md b/site/docs/install/kcma-d8.md index f3952ab..b2bf0ff 100644 --- a/site/docs/install/kcma-d8.md +++ b/site/docs/install/kcma-d8.md @@ -116,7 +116,7 @@ Don't use it. It uses proprietary firmware and adds a backdoor (remote out-of-band management chip, similar to the [Intel Management Engine](../../faq.md#intelme). Fortunately, the firmware is unsigned (possible to replace) and physically separate from the -mainboard since it's on the add-on module, which you don't have to +motherboard since it's on the add-on module, which you don't have to install. Flash chips {#flashchips} @@ -143,7 +143,7 @@ Only text-mode is known to work, but linux(kernel) can initialize the framebuffer display (if it has KMS - kernel mode setting). NOTE: This section relates to the onboard ASpeed GPU. You *can* use an add-on -PCI-E GPU in one of the available slots on the mainboard. Nvidia GTX 780 cards +PCI-E GPU in one of the available slots on the motherboard. Nvidia GTX 780 cards are what libreboot recommends; it has excellent support in Nouveau (free Linux kernel / mesa driver for Nvidia cards) and generally works well; however, the performance won't be as high in Nouveau, compared to the non-free Nvidia driver diff --git a/site/docs/install/kgpe-d16.md b/site/docs/install/kgpe-d16.md index 51ae60e..88f262d 100644 --- a/site/docs/install/kgpe-d16.md +++ b/site/docs/install/kgpe-d16.md @@ -56,7 +56,7 @@ Don't use it. It uses proprietary firmware and adds a backdoor (remote out-of-band management chip, similar to the [Intel Management Engine](../../faq.md#intelme). Fortunately, the firmware is unsigned (possibly to replace) and physically separate from the -mainboard since it's on the add-on module, which you don't have to +motherboard since it's on the add-on module, which you don't have to install. Flash chips {#flashchips} diff --git a/site/docs/install/nvmutil.md b/site/docs/install/nvmutil.md index f131dfa..2c22e03 100644 --- a/site/docs/install/nvmutil.md +++ b/site/docs/install/nvmutil.md @@ -73,7 +73,7 @@ handling is provided, later in this document. The `restore` option restores the original one. The command works by using a reference GbE image file present in Libreboot's build system, for the given -mainboard. +motherboard. How to download newer versions ------------------------------ diff --git a/site/docs/install/spi.md b/site/docs/install/spi.md index 7ac8bc4..9176ccd 100644 --- a/site/docs/install/spi.md +++ b/site/docs/install/spi.md @@ -95,7 +95,7 @@ SPI flash, using an on-board SPI programmer (which all boards have). You do this from Linux, with flashprog. *This* guide that you're reading now is for using an *external* programmer. It -is called *external* because it's not the *internal* one on your mainboard. +is called *external* because it's not the *internal* one on your motherboard. Raspberry Pi Pico ----------------- @@ -247,12 +247,12 @@ build up and possibly fire (and definitely damaged circuitry). On SOIC8, pin 3 is WP and 4 is GND, so a direct 3.3v connection there is quite hazardous for that reason; all the more reason to use a pull-up resistor.** -The mainboard that you want to flash (if using e.g. pomona clip) will probably +The motherboard that you want to flash (if using e.g. pomona clip) will probably have pull-up resistors on it already for WP/HOLD, so simply cutting WP/HOLD on the CH341A would also be acceptable. The pull-up resistors that you place (in such a mod) on the CH341A are only useful if you also want to flash chips in the ZIF socket. If pull-up resistors exist both on e.g. the laptop -mainboard and on the CH341A, it just means the equivalent series resistance +motherboard and on the CH341A, it just means the equivalent series resistance will be of the two resistors (on each line) in parallel. If we assume that a laptop is likely to have a resistor size of ~3.3k for pull-ups, then a value of ~5.6k ohms on the CH341A side seems reasonable. @@ -789,7 +789,7 @@ voltage range is between 2.7V and 3.6V, but 3.3V is the most ideal level). DO NOT connect more than 1 DC power source to your flash chip either! Mixing voltages like that can easily cause damage to your equipment, and to -your chip/mainboard. +your chip/motherboard. ### MISO/MOSI/CS/CLK lines @@ -801,10 +801,10 @@ connected via such resistors, directly to the Southbridge chipset. ### ISP programming and VCC diode ISP means in-system programming. It's when you flash a chip that is already -mounted to the mainboard of your computer that you wish to install libreboot +mounted to the motherboard of your computer that you wish to install libreboot on. -It may be beneficial to modify the mainboard so that the SPI flash is powered +It may be beneficial to modify the motherboard so that the SPI flash is powered (on the VCC pin) through a diode, but please note: a diode will cause a voltage drop. The tolerated range for a chip expecting 3.3V VCC is usually around 2.7V to 3.6V DC, and the drop may cause the voltage to fall outside that. If you do @@ -824,7 +824,7 @@ other components on that board, which share the same power rail. Further, ensure that the pull-up resistors for WP/HOLD are *only* connected to the side of the diode that has continuity with the VCC pin (this is important because if they're not, they won't be held high while doing ISP flashing, even if they're -still held high when the mainboard is fully powered on). +still held high when the motherboard is fully powered on). Furthermore: ensure that the SPI flash is operating at the appropriate supply voltage (2.7V to 3.6V for a 3.3V chip) when fully powered on, after installing @@ -835,7 +835,7 @@ the SOIC8/WSON8 if it uses that, and replace with an IC socket (for SOIC8, WSON8 or DIP8, whatever you want), because then you could easily just insert the flash into a breadboard when flashing. -TODO: Make a page on libreboot.org, showing how to do this on all mainboards +TODO: Make a page on libreboot.org, showing how to do this on all motherboards supported by libreboot. ### GPIO pins on BeagleBone Black (BBB) @@ -886,7 +886,7 @@ use pull-up resistors on those (see notes below), and decoupling capacitor on pin 8 (VCC). NOTE: On X60/T60 thinkpads, don't connect pin 8. Instead, plug in your the PSU -to the charging port on your mainboard, but do not power on the mainboard. This +to the charging port on your motherboard, but do not power on the motherboard. This will provide a stable 3.3V voltage, with adequate current levels. On those laptops, this is necessary because the flash shares a common 3.3V DC rail with many other ICs that all draw quite a lot of current. @@ -932,10 +932,10 @@ pin 2 (VCC). ### Pull-up resistors and decoupling capacitors **Do this for chips mounted to a breadboard. Ignore this section if you're -flashing a chip that is already soldered to a mainboard.** +flashing a chip that is already soldered to a motherboard.** This section is only relevant if you're flashing a new chip that is not yet -mounted to a mainboard. You need pull-up resistors on the WP and HOLD pins, +mounted to a motherboard. You need pull-up resistors on the WP and HOLD pins, and decoupling capacitors on the VCC pin. If the chip is already mounted to a board, whether soldered or in a socket, these capacitors and resistors will probably already exist on the board and you can just flash it without pulling @@ -952,11 +952,11 @@ The best way is as follows: SOIC8/WSON8/DIP8: pin 3 and 7 must be held to a high logic state, which means that each pin has its own pull-up resistor to VCC (from the voltage plane that pin 8 connects to); anything from 1Kohm to 10Kohm will do. When you're flashing -a chip that's already on a laptop/desktop/server mainboard, pin 3 and 7 are +a chip that's already on a laptop/desktop/server motherboard, pin 3 and 7 are likely already held high, so you don't need to bother. SOIC8/WSON8/DIP8: pin 8, which is VCC, will already have decoupling capacitors on it -if the chip is on a mainboard, but lone chip flashing means that these capacitors +if the chip is on a motherboard, but lone chip flashing means that these capacitors do not exist. A capacitor passes AC but blocks DC. Due to electromagnetic indunctance, and RF noise from high-speed switching ICs, a DC voltage line isn't actually straight (when viewed on an oscilloscope), but actually has low voltage @@ -977,11 +977,11 @@ WP/HOLD are not pin 3/7 like above, but instead pins 1 and 9, so wire your pull-up resistors on those. VCC on SOIC16 is pin 2, so wire your decoupling capacitors up on that. -### SOIC8/WSON8/DIP8/SOIC16 not mounted to a mainboard +### SOIC8/WSON8/DIP8/SOIC16 not mounted to a motherboard If your system has lower capacity SPI flash, you can upgrade. On *most* systems, SPI flash is memory mapped and the maximum (in practise) that you can use is a -16MiB chip. For example, KGPE-D16 and KCMA-D8 mainboards in libreboot have +16MiB chip. For example, KGPE-D16 and KCMA-D8 motherboards in libreboot have 2MiB flash by default, but you can easily upgrade these. Another example is the ThinkPad X200S, X200 Tablet and T400S, all of which have WSON8 where the best course of action is to replace it with a SOIC8 flash chip. @@ -1018,7 +1018,7 @@ video, but for WSON8. Sometimes they are called DFN8 or QFN8 sockets. Get one that is 1.27mm pitch. If you're flashing/dumping a lone WSON8, get a WSON8/QFN8/DFN8 socket (1.27mm -pitch) and mount it to a breadboard for flashing. If your mainboard's landing +pitch) and mount it to a breadboard for flashing. If your motherboard's landing pads for the flash IC can take a SOIC8, we recommend that you use a SOIC8 instead because a test clip is possible later on when you wish to re-flash it, however you may be dealing with a board where replacing existing WSON8 with @@ -1049,7 +1049,7 @@ and good 60/40 or 63/37 leaded solder (don't use lead-free): ![](https://av.libreboot.org/dip8/adapter.jpg) ![](https://av.libreboot.org/dip8/sop8todip8.jpg) -### SOIC8/SOIC16 soldered to a mainboard +### SOIC8/SOIC16 soldered to a motherboard This is an example of *in-system programming* or *ISP* for short. @@ -1057,16 +1057,16 @@ SOIC8:\ Pomona 5250 is a SOIC8 test clip. There are others available, but this is the best one. Use that. Use the SOIC8 diagram (see above) to wire up your Raspberry Pi. -Your mainboard likely already pulls WP/HOLD (pins 3 and 7) high, so don't +Your motherboard likely already pulls WP/HOLD (pins 3 and 7) high, so don't connect these. VCC on SOIC8's pin 8 probably already has decoupling -capacitors on the mainboard, so just hook that up without using a capacitor. +capacitors on the motherboard, so just hook that up without using a capacitor. SOIC16:\ Pomona 5252 is a SOIC16 test clip. There are others available, but this is the best one. Use that. Use the SOIC16 diagram (see above) to wire up your Raspberry Pi. WP/HOLD pins are pins 1 and 9, and likely already held high, so no pull-up resistors needed. You do not need a decoupling capacitor for pin 2 (VCC) either -because the mainboard will already have one. +because the motherboard will already have one. Here is an example of a test clip connected for SOIC16:\ ![](https://av.libreboot.org/rpi/0002.jpg) @@ -1074,9 +1074,9 @@ Here is an example of a test clip connected for SOIC16:\ And here is an example photo for SOIC8:\ ![](https://av.libreboot.org/x60/th_bbb_flashing.jpg) -### DIP8 soldered to the mainboard +### DIP8 soldered to the motherboard -It is extremely cursed for DIP8 to be soldered directly to the mainboard. It is +It is extremely cursed for DIP8 to be soldered directly to the motherboard. It is usually mounted to a socket. The pins are large enough that you can just use test hooks to wire up your chip diff --git a/site/docs/install/t480.md b/site/docs/install/t480.md index ecc4351..8128f2a 100644 --- a/site/docs/install/t480.md +++ b/site/docs/install/t480.md @@ -129,7 +129,7 @@ Intel graphics, internal screen, ethernet, USB, WLAN, HDA verbs (e.g. headphone jack), S3 suspend/resume, M2 NVMe SSDs and SATA, B+M key NVMe SSDs in WWAN slot, **all works perfectly**. External video outputs and webcam also work. Microphone works, line-out works... everything works. UART also available via line-out jack -(jumpers required on the mainboard). +(jumpers required on the motherboard). There *are* a few minor exceptions as to what works; this will be covered in other sections of this page. This port is *almost* perfect, but with some caveats. @@ -445,7 +445,7 @@ service manual online. Otherwise, observe: ThinkPad T480 underside chassis Remove all screws, and you can gently pry off the lower chassis and remove, -which then allows you to see the inner mainboard: +which then allows you to see the inner motherboard: ThinkPad T480 PCB diff --git a/site/docs/install/t60_unbrick.md b/site/docs/install/t60_unbrick.md index 14f8027..85b6ca3 100644 --- a/site/docs/install/t60_unbrick.md +++ b/site/docs/install/t60_unbrick.md @@ -100,10 +100,10 @@ Refer to the external flashing guide: [Externally rewrite 25xx NOR flash via SPI protocol](spi.md) NOTE: Do not use the 3.3v rail from your SPI programmer. Leave that disconnected. -For 3.3v, plug your charger into the mainboard (but do not power on the mainboard) +For 3.3v, plug your charger into the motherboard (but do not power on the motherboard) when the clip is connected. Before removing the clip, disconnect the charger. This will provide adequate 3.3v DC at correct current levels. The SPI flash on an -X60 shares a common 3.3V rail with many other components on the mainboard, +X60 shares a common 3.3V rail with many other components on the motherboard, which all draw a lot of current, more than your flasher can provide. Example command: diff --git a/site/docs/install/x60_unbrick.md b/site/docs/install/x60_unbrick.md index 3ec2b92..049c12d 100644 --- a/site/docs/install/x60_unbrick.md +++ b/site/docs/install/x60_unbrick.md @@ -84,10 +84,10 @@ Refer to the following guide:\ [Externally rewrite 25xx NOR flash via SPI protocol](spi.md) NOTE: Do not use the 3.3v rail from your raspberry pi. Leave that disconnected. -For 3.3v, plug your charger into the mainboard (but do not power on the mainboard) +For 3.3v, plug your charger into the motherboard (but do not power on the motherboard) when the clip is connected. Before removing the clip, disconnect the charger. This will provide adequate 3.3v DC at correct current levels. The SPI flash on an -X60 shares a common 3.3V rail with many other components on the mainboard, +X60 shares a common 3.3V rail with many other components on the motherboard, which all draw a lot of current, more than your programmer can provide. When you're finished flashing, remove the programmer and put it away somewhere. diff --git a/site/docs/install/x60tablet_unbrick.md b/site/docs/install/x60tablet_unbrick.md index 13a29ca..19bea73 100644 --- a/site/docs/install/x60tablet_unbrick.md +++ b/site/docs/install/x60tablet_unbrick.md @@ -64,10 +64,10 @@ Refer to the external flashing guide: [Externally rewrite 25xx NOR flash via SPI protocol](spi.md) NOTE: Do not use the 3.3v rail from your SPI programmer. Leave that disconnected. -For 3.3v, plug your charger into the mainboard (but do not power on the mainboard) +For 3.3v, plug your charger into the motherboard (but do not power on the motherboard) when the clip is connected. Before removing the clip, disconnect the charger. This will provide adequate 3.3v DC at correct current levels. The SPI flash on an -X60 Tablet shares a common 3.3V rail with many other components on the mainboard, +X60 Tablet shares a common 3.3V rail with many other components on the motherboard, which all draw a lot of current, more than most flashers can provide. Reverse the steps to re-assemble your system, after you've flashed the chip. diff --git a/site/docs/linux/grub_hardening.md b/site/docs/linux/grub_hardening.md index 00875d6..c57ddab 100644 --- a/site/docs/linux/grub_hardening.md +++ b/site/docs/linux/grub_hardening.md @@ -125,7 +125,7 @@ The simplest way is to just do this: If you did the step before, to compile `cbfstool`, you can find ifdtool in the `elf/` directory, e.g. `elf/ifdtool/default/ifdtool`. Use the ifdtool -version matching the coreboot tree for your mainboard. +version matching the coreboot tree for your motherboard. Note that this only works for Intel-based systems that use an Intel Flash Descriptor, which is actually most Intel systems that Libreboot supports. diff --git a/site/docs/maintain/index.md b/site/docs/maintain/index.md index 05ecb62..4c617db 100644 --- a/site/docs/maintain/index.md +++ b/site/docs/maintain/index.md @@ -121,7 +121,7 @@ entire release archives, e.g. quad-core Haswell CPU or better. NOTE: x86 boards require an *x86_64* host CPU with appropriate host toolchains and libraries. We don't yet cross-compile x86 payloads. -NOTE2: ARM64 mainboards *are* cross compiled, so you can build for AArch64 +NOTE2: ARM64 motherboards *are* cross compiled, so you can build for AArch64 machines quite easily, from x86 or ARM64 machines. NOTE3: *32-bit* x86 (i686) machines can be used to compile Libreboot, but @@ -367,14 +367,14 @@ to extract SCH5545 EC (Environment Control) firmware. Please also visit: Coreboot is the main boot firmware, providing hardware initialisation. Libreboot -makes extensive use of coreboot, on supported mainboards. +makes extensive use of coreboot, on supported motherboards. Coreboot trees go here. Libreboot's build system does not simply use one tree, or multiple branches in the same tree; entirely separate directories are created, for each revision of coreboot used, each able to have its own patches. -These can then be re-use appropriately, per mainboard. For example: +These can then be re-use appropriately, per motherboard. For example: -* `src/coreboot/default` is used by most mainboards. +* `src/coreboot/default` is used by most motherboards. * `src/coreboot/cros` is used by cros devices. This may be less efficient on disk usage, but it simplifies the logic greatly. @@ -1129,7 +1129,7 @@ which SeaBIOS revision (from Git) is to be used, when compiling SeaBIOS images. ### config/u-boot/ -This directory contains configuration, patches and so on, for each mainboard +This directory contains configuration, patches and so on, for each motherboard that can use U-Boot as a payload in the `lbmk` build system. U-Boot doesn't yet have reliable generic configurations that can work across all coreboot boards (per-architecture), so these are used to build it per-board. @@ -1142,7 +1142,7 @@ a location under `elf/u-boot/`. #### config/u-boot/TREENAME/ -Each `TREENAME` directory defines configuration for a corresponding mainboard. +Each `TREENAME` directory defines configuration for a corresponding motherboard. It doesn't actually have to be for a board; it can also be used to just define a U-Boot revision, with patches and so on. To enable use as a payload in ROM images, this must have the same name as its `config/coreboot/TREENAME/` @@ -1375,7 +1375,7 @@ by lbmk is handled by the functions in this file. This was previously a separate script. The download logic was removed, and now the logic under `include/vendor.sh` is used for downloads. This file now only contains those functions used for extraction of MRC files from Google -Chromebook images, currently only used for Haswell mainboards. +Chromebook images, currently only used for Haswell motherboards. This is an include, used by `include/vendor.sh`, but it's here in this file because the vendor download script is GPLv3-only, while the MRC diff --git a/site/docs/maintain/porting.md b/site/docs/maintain/porting.md index dff145f..a0b6b4d 100644 --- a/site/docs/maintain/porting.md +++ b/site/docs/maintain/porting.md @@ -1,5 +1,5 @@ --- -title: Porting guide for new mainboards +title: Porting guide for new motherboards ... **NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) @@ -77,8 +77,8 @@ You can then easily modify the existing coreboot configs for you board via lbmk. This script will provide a curses interface through which you can easily modify the necessary variables and settings. -The most important thing to change is `Mainboard.` -You must make sure that the mainboard definition in this config matches `board.` +The most important thing to change is `Motherboard.` +You must make sure that the motherboard definition in this config matches `board.` For example, you would want to change lenovo/t420 to lenovo/t420s. Selecting `exit` in the curses interface will prompt you to ask if you want to save your changes, make sure to answer yes. diff --git a/site/docs/maintain/porting.uk.md b/site/docs/maintain/porting.uk.md index e33022a..e390d8e 100644 --- a/site/docs/maintain/porting.uk.md +++ b/site/docs/maintain/porting.uk.md @@ -70,7 +70,7 @@ libreboot як `плата.` Цей сценарій надать інтерфейс curses, через який ви можете легко модифікувати потрібні змінні та налаштування. -Найбліьш важлива річ - це змінити `Материнську плату (Mainboard).` +Найбліьш важлива річ - це змінити `Материнську плату (Motherboard).` Ви мусити переконатись, що визначення материнської плати в цій конфігурації відповідає `платі.` Наприклад, ви би хотіли змінити lenovo/t420 на lenovo/t420s. Вибір `exit` в інтерфейсі curses виведе вам пропозицію зберегти ваші diff --git a/site/docs/maintain/testing.md b/site/docs/maintain/testing.md index aaa680a..3264170 100644 --- a/site/docs/maintain/testing.md +++ b/site/docs/maintain/testing.md @@ -35,8 +35,8 @@ maintainer or multiple maintainers; more is better. Please read the following sections to understand the specifics of maintaining a board. -NOTE: If there are already testers for a given mainboard, *you* can still -provide testing for the same mainboard if that's what you have. The more the +NOTE: If there are already testers for a given motherboard, *you* can still +provide testing for the same motherboard if that's what you have. The more the merrier! Be Contactable diff --git a/site/faq.md b/site/faq.md index f1e7d13..2109de0 100644 --- a/site/faq.md +++ b/site/faq.md @@ -42,7 +42,7 @@ Refer to the [lbmk maintenance manual](docs/maintain/). ### Do not use CH341A! -This SPI flasher will damage your chip, and the mainboard that it is connected +This SPI flasher will damage your chip, and the motherboard that it is connected to. Read the notes about CH341A on [docs/install/spi.md](docs/install/spi.md) to @@ -260,8 +260,8 @@ the CPU, and prevent the CPU from executing boot firmware that isn't signed with their private key. This means that ***coreboot and libreboot are impossible to port*** to such PCs, without the OEM's private signing key. Note that systems assembled from separately purchased -mainboard and CPU parts are unaffected, since the vendor of the -mainboard (on which the boot firmware is stored) can't possibly affect +motherboard and CPU parts are unaffected, since the vendor of the +motherboard (on which the boot firmware is stored) can't possibly affect the public key stored on the CPU. ME firmware versions 4.0 and later (Intel 4 Series and later chipsets) @@ -564,7 +564,7 @@ re-flash it. ### How do I pad a ROM before flashing? It is advisable to simply use a larger ROM image. This section was written -mostly for ASUS KCMA-D8 and KGPE-D16 mainboards, where previously we only +mostly for ASUS KCMA-D8 and KGPE-D16 motherboards, where previously we only provided 2MiB ROM images in libreboot, but we now provide 16MiB ROM images. Other sizes are not provided because in practise, someone upgrading one of these chips will just use a 16MiB one. Larger sizes are available, but 16MiB @@ -646,7 +646,7 @@ on Void Linux (ThinkPad T480), Linux (or modprobe) may fail to load modprobe: ERROR: could not insert 'thinkpad_acpi': "No such device" ``` -It is suspected that at least these mainboards are affected: +It is suspected that at least these motherboards are affected: * [ThinkPad W541](docs/install/w541_external.md) * [ThinkPad T440p](docs/install/t440p_external.md) @@ -991,12 +991,12 @@ What level of software freedom does libreboot give me? Please read the [libreboot binary blob minimalisation policy](news/policy.md). Please also read: -[Software and hardware freedom status for each mainboard supported by +[Software and hardware freedom status for each motherboard supported by Libreboot](software-freedom.md) The libreboot firmware provides host hardware initialisation inside ROM files, that can be written to NOR flash, but on many systems there exist -a lot more small computers on the mainboard running blob firmware. +a lot more small computers on the motherboard running blob firmware. Some of them are not practicable to replace due to being located on Mask ROM. Most laptops have EC (Embedded Controller) firmware, for example. diff --git a/site/freedom-status.md b/site/freedom-status.md index 2568f92..e176e21 100644 --- a/site/freedom-status.md +++ b/site/freedom-status.md @@ -1,5 +1,5 @@ --- -title: Software and hardware freedom status for each mainboard supported by Libreboot +title: Software and hardware freedom status for each motherboard supported by Libreboot x-toc-enable: true ... @@ -18,8 +18,8 @@ all) platforms, coreboot *requires* certain [vendor files](https://en.wikipedia.org/wiki/Binary_blob) for things like raminit. *All* boards currently supported by Libreboot can be initialised entirely with *free*, *libre* or *open source* code from *coreboot* -itself, because Libreboot currently only focuses on such mainboards. Libreboot's -goal is to eventually support *all* mainboards from coreboot. +itself, because Libreboot currently only focuses on such motherboards. Libreboot's +goal is to eventually support *all* motherboards from coreboot. A more *pragmatic* [binary blob reduction policy](news/policy.md) was adopted by Libreboot during November 2022, as part of an ongoing campaign to support @@ -65,7 +65,7 @@ Intel platforms ### Descriptor vs descriptorless setup -Libreboot supports several mainboards using Intel platforms. Of these, there +Libreboot supports several motherboards using Intel platforms. Of these, there are essentially two class of machine (for the purposes of this article): * Descriptorless configuration @@ -183,7 +183,7 @@ documentation for this, but it has been tested. Example: Dual Intel/Nvidia graphics on some ivybridge or haswell thinkpads. For *add-on* GPUs, SeaBIOS (payload) can typically scan a VGA ROM present on -the card and execute it. This has been tested on certain desktop mainboards +the card and execute it. This has been tested on certain desktop motherboards that Libreboot supports, and works just fine; Libreboot does not need to handle these files at all. @@ -205,7 +205,7 @@ and on Skylake/newer, FSP-M is used. ARM platforms (chromebooks) --------------------------- -Mostly free software, except for the requirement on `daisy` and `peach` mainboards +Mostly free software, except for the requirement on `daisy` and `peach` motherboards to include BL1 bootloader files from the vendor. These are: * HP Chromebook 11 G1 (daisy-spring) **(board removed from Libreboot, due to diff --git a/site/index.de.md b/site/index.de.md index f9e96a8..2fe49ce 100644 --- a/site/index.de.md +++ b/site/index.de.md @@ -27,8 +27,8 @@ am 6 December 2024. Siehe auch: [Libreboot 20241206 release announcement](news/libreboot20241206.md).** Libreboot provides [GRUB](docs/linux/) and SeaBIOS payloads on x86/x86\_64 -Intel/AMD mainboards, and a [U-Boot UEFI payload](docs/uboot/) *for coreboot* -on ARM64(Aarch64) mainboards. +Intel/AMD motherboards, and a [U-Boot UEFI payload](docs/uboot/) *for coreboot* +on ARM64(Aarch64) motherboards. An [x86/x86\_64 U-Boot UEFI payload](docs/uboot/uboot-x86.md) is also available on some boards. The x86, x86\_64 and arm64 U-Boot payloads provide a lightweight UEFI boot implementation, which can boot many Linux distros and BSD systems. @@ -104,13 +104,13 @@ Wie kann ich helfen -Der beste Weg wie Du helfen kannst, ist das *hinzufügen* neuer Mainboards in +Der beste Weg wie Du helfen kannst, ist das *hinzufügen* neuer Motherboards in Libreboot, indem Du eine Konfiguration zur Verfügung stellst. Alles was von Coreboot unterstützt wird kann auch in Libreboot integriert werden, mithilfe von ROM Images in den Veröffentlichungen. Siehe auch: * [Bewerbe dich um Boards zu testen oder zu pflegen](docs/maintain/testing.md) -* [Anleitung um neue Mainboards hinzuzufügen](docs/maintain/porting.md) +* [Anleitung um neue Motherboards hinzuzufügen](docs/maintain/porting.md) * [Libreboot Build System Dokumentation](docs/maintain/) Zudem ist da noch Pflege des Build Systems (siehe oben), sowie *Dokumentation* diff --git a/site/index.fr.md b/site/index.fr.md index 8a220b0..460cbb8 100644 --- a/site/index.fr.md +++ b/site/index.fr.md @@ -17,8 +17,8 @@ Leah Rowe, fondateur et principal développeur du projet Libreboot, est égaleme le 6 December 2024.** Libreboot provides [GRUB](docs/linux/) and SeaBIOS payloads on x86/x86\_64 -Intel/AMD mainboards, and a [U-Boot UEFI payload](docs/uboot/) *for coreboot* -on ARM64(Aarch64) mainboards. +Intel/AMD motherboards, and a [U-Boot UEFI payload](docs/uboot/) *for coreboot* +on ARM64(Aarch64) motherboards. An [x86/x86\_64 U-Boot UEFI payload](docs/uboot/uboot-x86.md) is also available on some boards. The x86, x86\_64 and arm64 U-Boot payloads provide a lightweight UEFI boot implementation, which can boot many Linux distros and BSD systems. diff --git a/site/index.it.md b/site/index.it.md index 6c934e0..042f9da 100644 --- a/site/index.it.md +++ b/site/index.it.md @@ -24,8 +24,8 @@ Minifree; sales provide funding for Libreboot. Vedi: [Libreboot 20241206 annuncio di rilascio](news/libreboot20241206.md).** Libreboot provides [GRUB](docs/linux/) and SeaBIOS payloads on x86/x86\_64 -Intel/AMD mainboards, and a [U-Boot UEFI payload](docs/uboot/) *for coreboot* -on ARM64(Aarch64) mainboards. +Intel/AMD motherboards, and a [U-Boot UEFI payload](docs/uboot/) *for coreboot* +on ARM64(Aarch64) motherboards. An [x86/x86\_64 U-Boot UEFI payload](docs/uboot/uboot-x86.md) is also available on some boards. The x86, x86\_64 and arm64 U-Boot payloads provide a lightweight UEFI boot implementation, which can boot many Linux distros and BSD systems. diff --git a/site/index.md b/site/index.md index 4640701..6b90aca 100644 --- a/site/index.md +++ b/site/index.md @@ -49,8 +49,8 @@ the boot flash; coreboot works with many payloads, which boot your operating system e.g. Linux/BSD. Libreboot provides [GRUB](docs/linux/) and SeaBIOS payloads on x86/x86\_64 -Intel/AMD mainboards, and a [U-Boot UEFI payload](docs/uboot/) *for coreboot* -on ARM64(Aarch64) mainboards. +Intel/AMD motherboards, and a [U-Boot UEFI payload](docs/uboot/) *for coreboot* +on ARM64(Aarch64) motherboards. An [x86/x86\_64 U-Boot UEFI payload](docs/uboot/uboot-x86.md) is also available on some boards. The x86, x86\_64 and arm64 U-Boot payloads provide a lightweight UEFI boot implementation. Libreboot's [design](docs/maintain/) incorporates all @@ -148,12 +148,12 @@ you could pick one of these tasks and work on it. -The *single* biggest way you can help is to *add* new mainboards in Libreboot, +The *single* biggest way you can help is to *add* new motherboards in Libreboot, by submitting a config. Anything coreboot supports can be integrated in Libreboot, with ROM images provided in releases. See: * [Apply to become a board maintainer/tester](docs/maintain/testing.md) -* [Porting guide for new mainboards](docs/maintain/porting.md) +* [Porting guide for new motherboards](docs/maintain/porting.md) * [Libreboot build system documentation](docs/maintain/) After that, there is build system maintenance (see above), and *documentation* diff --git a/site/index.ru.md b/site/index.ru.md index 567c9ac..56fdd19 100644 --- a/site/index.ru.md +++ b/site/index.ru.md @@ -14,8 +14,8 @@ x-toc-enable: true *Мы* верим, что свобода [изучать, делиться, модифицировать и использовать программное обеспечение](https://writefreesoftware.org/) без каких-либо ограничений, является одним из основных человеческих прав, который должен иметь каждый. В этом контексте, *свобода программного обеспечения* важна. Ваша свобода важна. Образование важно. [Право на ремонт](https://en.wikipedia.org/wiki/Right_to_repair) важно; Libreboot позволяет вам продолжить использовать ваше оборудование. Вот *почему* Libreboot существует. Libreboot provides [GRUB](docs/linux/) and SeaBIOS payloads on x86/x86\_64 -Intel/AMD mainboards, and a [U-Boot UEFI payload](docs/uboot/) *for coreboot* -on ARM64(Aarch64) mainboards. +Intel/AMD motherboards, and a [U-Boot UEFI payload](docs/uboot/) *for coreboot* +on ARM64(Aarch64) motherboards. An [x86/x86\_64 U-Boot UEFI payload](docs/uboot/uboot-x86.md) is also available on some boards. The x86, x86\_64 and arm64 U-Boot payloads provide a lightweight UEFI boot implementation, which can boot many Linux distros and BSD systems. diff --git a/site/index.uk.md b/site/index.uk.md index 1ab6118..e625718 100644 --- a/site/index.uk.md +++ b/site/index.uk.md @@ -25,8 +25,8 @@ Minifree; sales provide funding for Libreboot. Дивіться: [Оголошення про випуск Libreboot 20241206](news/libreboot20241206.md).** Libreboot provides [GRUB](docs/linux/) and SeaBIOS payloads on x86/x86\_64 -Intel/AMD mainboards, and a [U-Boot UEFI payload](docs/uboot/) *for coreboot* -on ARM64(Aarch64) mainboards. +Intel/AMD motherboards, and a [U-Boot UEFI payload](docs/uboot/) *for coreboot* +on ARM64(Aarch64) motherboards. An [x86/x86\_64 U-Boot UEFI payload](docs/uboot/uboot-x86.md) is also available on some boards. The x86, x86\_64 and arm64 U-Boot payloads provide a lightweight UEFI boot implementation, which can boot many Linux distros and BSD systems. diff --git a/site/index.zh-cn.md b/site/index.zh-cn.md index ac0bac5..a9386e8 100644 --- a/site/index.zh-cn.md +++ b/site/index.zh-cn.md @@ -15,8 +15,8 @@ Libreboot 的创始人和主要开发者,Leah Rowe,也是 Minifree 的所有 **新版发布: 最新版本 Libreboot 20241206 已在 2024 年 12 月 06 日发布。详见: [Libreboot 20241206 发布公告](news/libreboot20241206.md).** Libreboot provides [GRUB](docs/linux/) and SeaBIOS payloads on x86/x86\_64 -Intel/AMD mainboards, and a [U-Boot UEFI payload](docs/uboot/) *for coreboot* -on ARM64(Aarch64) mainboards. +Intel/AMD motherboards, and a [U-Boot UEFI payload](docs/uboot/) *for coreboot* +on ARM64(Aarch64) motherboards. An [x86/x86\_64 U-Boot UEFI payload](docs/uboot/uboot-x86.md) is also available on some boards. The x86, x86\_64 and arm64 U-Boot payloads provide a lightweight UEFI boot implementation, which can boot many Linux distros and BSD systems. diff --git a/site/news/10.md b/site/news/10.md index b60b371..9402cb3 100644 --- a/site/news/10.md +++ b/site/news/10.md @@ -982,15 +982,15 @@ project. Osboot greatly improved the configurability of everything. For example, it enabled you to more easily mix and match different payload combinations per -mainboard, whereas the Libreboot 20160907 design only allowed *one* payload +motherboard, whereas the Libreboot 20160907 design only allowed *one* payload type, per target, and it contained a lot of target-specific logic that was hardcoded, baked into the build system's design - even in December 2020 when osboot started, I envisioned that it would one day support many more boards, -whereas Libreboot only supported like 15 mainboards in 2016. +whereas Libreboot only supported like 15 motherboards in 2016. The osboot redesign, relative to Libreboot 20160907, made handling of source tree revisions and patches much cleaner, especially for multi-tree projects -like coreboot, where multiple revisions could be used depending on mainboard. +like coreboot, where multiple revisions could be used depending on motherboard. Of course, the first osboot revision also updated to a modern coreboot revision at that time, which (in that month, December 2020) was @@ -1187,7 +1187,7 @@ Nowadays, that is completely [automated](../docs/install/ivy_has_common.md), based on initial work done in osboot by Caleb La Grange. Caleb adapted logic from Heads that extracts Intel ME images from Lenovo UEFI firmware updates, thus eliminating the need for vendor firmware dumps prior to flashing; though, -backing up the factory firmware is still recommended, on any mainboard. +backing up the factory firmware is still recommended, on any motherboard. I later expanded Caleb's work, making the logic much more generic, expandable more easily to other boards/vendors and platforms. I also added support for diff --git a/site/news/audit2.md b/site/news/audit2.md index e0c8b31..17bb9d5 100644 --- a/site/news/audit2.md +++ b/site/news/audit2.md @@ -22,7 +22,7 @@ improved greatly. The same care has been given to documentation aswell. Many bugs have been fixed, and the Libreboot build system (lbmk) is generally much more efficient now, compared to the Libreboot 20230625 release. The main focus has been this audit, now concluded, and the next focus shall once again -be adding more mainboards to Libreboot, with a view to making a full new release +be adding more motherboards to Libreboot, with a view to making a full new release some time during September 2023. Before diving into details, here is a brief summary of the recent audit, and @@ -96,7 +96,7 @@ exhaustive: * A lot of scripts have been removed entirely, and their logic not replaced; in many cases, Libreboot's build system contained logic that had gone unused for many years. -* More reliable configs now used on desktop mainboards: SeaBIOS-only for start, +* More reliable configs now used on desktop motherboards: SeaBIOS-only for start, but GRUB still available where feasible (in the SeaBIOS menu). This makes it more fool proof for a user who might use integrated graphics and then switch to a graphics card; the very same images will work. @@ -115,7 +115,7 @@ FULL list of changes (from lbmk git log) Almost all of the changes are post-20230625 release, and almost all of them are audit-related, so I've simply pasted every commit between the last release -and now. A few of them, e.g. the new mainboard ports, are not audited-related. +and now. A few of them, e.g. the new motherboard ports, are not audited-related. Entries that give time frames such as *"14 hours ago"* are relative to today, 11 September 2023, at some time around 3PM UK time. Changes on top are @@ -135,7 +135,7 @@ newer, and changes further down are older: * d28ad6aa - build/release/roms: use -T0 on serprog tarballs (23 hours ago) * 308c21dd - build/boot/roms stragglers: properly handle errors (23 hours ago) * c16b28ef - build/release/src: re-create symlinks, don't copy (2 days ago) -* 32dcf9e5 - coreboot/qemu_x86_12mb: re-add this mainboard (2 days ago) +* 32dcf9e5 - coreboot/qemu_x86_12mb: re-add this motherboard (2 days ago) * 5aef8156 - scripts: use printf, not echo, where appropriate (2 days ago) * 76e12cd4 - update/blobs printf statements: use double quotes (2 days ago) * 84bf47b5 - scripts: better handling of printf: stdout/stderr (2 days ago) @@ -184,8 +184,8 @@ newer, and changes further down are older: * da3c9bb3 - merge config/ and resources/ (8 days ago) * a0501050 - blobs/download: don't handle ifd/gbe files (8 days ago) * 03788d14 - move ifd/gbe configs into config/ifd/ (8 days ago) -* 6ddb0e09 - run make oldconfig on coreboot/default mainboards (8 days ago) -* 19efdf9e - ich9m mainboards: use pre-assembled ifd/gbe files (8 days ago) +* 6ddb0e09 - run make oldconfig on coreboot/default motherboards (8 days ago) +* 19efdf9e - ich9m motherboards: use pre-assembled ifd/gbe files (8 days ago) * af8d8cda - add ich9m ifd/gbe files (8 days ago) * d554efae - build/release/src: copy e6430 ifd/gbe (8 days ago) * 09aae7be - build/rpi-pico-serprog: better error handling (8 days ago) diff --git a/site/news/audit3.md b/site/news/audit3.md index 45ae5b1..83d4949 100644 --- a/site/news/audit3.md +++ b/site/news/audit3.md @@ -121,7 +121,7 @@ are also repeated below but in more detail: * All helper scripts are now under `include/`, and main scripts in `script/`, called by the main `build` script * Intel ME extraction is now provided in one function, instead of two, when - downloading vendor files per mainboard, before running it + downloading vendor files per motherboard, before running it through `me_cleaner` * Unified checking of the destination file, when downloading vendor updates. This results in more reliable checking of whether a vendor file has already @@ -164,7 +164,7 @@ are also repeated below but in more detail: * SECURITY: Use sha512sum (not sha1sum) when verifying certain downloads. This reduces the chance for collisions, during checksum verification. * Set GRUB timout to 5s by default, but allow override and set to 10s or 15s - on some mainboards. + on some motherboards. * Vendor scripts: don't use `/tmp` for ROM images when inserting vendor files. In case `/tmp` is a tmpfs and not much RAM is available, it is paramount that the user's file system is used instead, where there is likely greater capacity; @@ -635,7 +635,7 @@ The commits are, thus: * d28ad6aa build/release/roms: use -T0 on serprog tarballs * 308c21dd build/boot/roms stragglers: properly handle errors * c16b28ef build/release/src: re-create symlinks, don't copy -* 32dcf9e5 coreboot/qemu_x86_12mb: re-add this mainboard +* 32dcf9e5 coreboot/qemu_x86_12mb: re-add this motherboard * 5aef8156 scripts: use printf, not echo, where appropriate * 76e12cd4 update/blobs printf statements: use double quotes * 84bf47b5 scripts: better handling of printf: stdout/stderr @@ -684,8 +684,8 @@ The commits are, thus: * da3c9bb3 merge config/ and resources/ * a0501050 blobs/download: don't handle ifd/gbe files * 03788d14 move ifd/gbe configs into config/ifd/ -* 6ddb0e09 run make oldconfig on coreboot/default mainboards -* 19efdf9e ich9m mainboards: use pre-assembled ifd/gbe files +* 6ddb0e09 run make oldconfig on coreboot/default motherboards +* 19efdf9e ich9m motherboards: use pre-assembled ifd/gbe files * af8d8cda add ich9m ifd/gbe files * d554efae build/release/src: copy e6430 ifd/gbe * 09aae7be build/rpi-pico-serprog: better error handling diff --git a/site/news/audit4.md b/site/news/audit4.md index 128f20d..f554e5d 100644 --- a/site/news/audit4.md +++ b/site/news/audit4.md @@ -81,7 +81,7 @@ And now, specific changes: * `script/build/serprog`: Return error status (exit) if basename fails, when processing various board targets available on stm32/rp2040 projects. Patch courtesy of Leah Rowe. -* **NEW BOARD:** HP 8300 CMT mainboard, added by Riku Viitanen, who worked +* **NEW BOARD:** HP 8300 CMT motherboard, added by Riku Viitanen, who worked on it with a tester in the IRC channel. * Fixed implicit typecasting bug on flashprog 1.2 source code, thus preventing a build issue (tested on Debian 12.2). Patch courtesy of Leah Rowe. diff --git a/site/news/audit5.md b/site/news/audit5.md index 126cb98..b0f04ae 100644 --- a/site/news/audit5.md +++ b/site/news/audit5.md @@ -101,10 +101,10 @@ Changes are in order per category, from newest to oldest: * **GRUB is now a multi-tree project.** Each given coreboot target can specify which GRUB tree it wants to use, each containing its own revision and patches, with its own GRUB configuration file. This can be used later on - to provide specific optimisations on each given mainboard, but it is used + to provide specific optimisations on each given motherboard, but it is used at present to exclude xHCI patches on boards that don't need it; please also read the bugfix section (of this audit report) pertaining to this same topic, - for more context. Before this change was implemented, all mainboards used + for more context. Before this change was implemented, all motherboards used the exact same GRUB revision, with the same patches and the same config. * grub.cfg: scan `grub2/` last, on each given device/partition; this speeds up the boot time in most tests, because most setups use `grub/`, @@ -138,7 +138,7 @@ Changes are in order per category, from newest to oldest: * script/roms: Allow to override `grub_scan_disk` via `-s`, for example: `./build roms -s nvme t1650_12mb` * **grub.cfg: Use `grub_scan_disk` to set boot order (rather, boot order by - device type).** It is possible now to configure each mainboard with this + device type).** It is possible now to configure each motherboard with this variable, so that certain types of devices are scanned in a precise order; for example, scan NVMe SSDs first. * **include/git.sh: Allow manual override of `git submodule` handling**, instead @@ -153,7 +153,7 @@ Changes are in order per category, from newest to oldest: later changed so as to be the ONLY method for downloading submodules, skipping the actual git-submodule-update command entirely, on all projects.* * **Native NVMe driver added to the GRUB payload**, allowing users to boot from - NVMe SSDs where present on a given mainboard. The patch is courtesy of + NVMe SSDs where present on a given motherboard. The patch is courtesy of Mate Kukri, who ported SeaBIOS's own NVMe driver, converting all of the code to run properly within GRUB's own kernel. NVMe SSDs are now fully bootable on all machines that can have them, offering vastly superior @@ -297,12 +297,12 @@ The changes are, from newest to earliest: one you're reading about now so that they can be fixed, like this one was!) * **Re-configured GRUB so that only the Haswell and Broadwell machines contain xHCI support**, where it doesn't cause any issues (and is required), while - other mainboards use a version of GRUB that lacks support for xHCI. This is a + other motherboards use a version of GRUB that lacks support for xHCI. This is a mitigations against the bug reported in [lbmk issue 216](https://codeberg.org/libreboot/lbmk/issues/216). This is done, by using the new *multi-tree* GRUB handling, which is mentioned above in in the section (of this audit report) pertaining to *feature changes*, whereby - each mainboard can have its own GRUB revisions and patches, with its own + each motherboard can have its own GRUB revisions and patches, with its own GRUB configuration file (that could be uniquely optimised for it). * **Fix vboot build issue when running lbmk in i686 (32-bit) host machines**. The patch, courtesy of *Luke T. Schumaker*, adapts vboot's vmlinuz extract @@ -346,12 +346,12 @@ The changes are, from newest to earliest: supported a configuration whereby SeaBIOS reads a `bootorder` file in CBFS, making it try to run the GRUB payload first, while still allowing you to interrupt by pressing ESC to bring up an alternative boot select menu. This - is now the *default*, on all x86 mainboards. This is a mitigation against + is now the *default*, on all x86 motherboards. This is a mitigation against future instability in GRUB because, if such issues happen again, it will not cause a brick since you can just use SeaBIOS instead, and skip booting to the GRUB payload (on the affected machines, BIOS GRUB still worked, which your distro provides and SeaBIOS executes it). *NOTE: GRUB was later made - into a multi-tree project, with certain mainboards using a version that + into a multi-tree project, with certain motherboards using a version that has the xHCI patches, if required, because the machines that actually need xHCI support were not affected by the bug referenced in issue 216.* * Main build script: Check SUID before checking Git name/email, otherwise the diff --git a/site/news/audit6.md b/site/news/audit6.md index 9bb3d93..75544c6 100644 --- a/site/news/audit6.md +++ b/site/news/audit6.md @@ -62,7 +62,7 @@ will be new payloads and boards, in addition to testing newer upstream revisions of projects such as coreboot, on every machine supported by Libreboot. A release is planned for early August 2024. -A *lot* of work on new ports is planned. There are a number of new mainboards +A *lot* of work on new ports is planned. There are a number of new motherboards that will be available, in the next Libreboot release. Summarised list of changes @@ -97,7 +97,7 @@ The changes are as follows: enabling `CONFIG_PAYLOAD_NONE` exclusively. However, advanced users may wish to use something else such as Tianocore, which Libreboot may/will not provide (with Tianocore it's **will not**). Simply set `build_depend=""` - in the `target.cfg` file for a given mainboard, and then enable a payload + in the `target.cfg` file for a given motherboard, and then enable a payload under coreboot's menuconfig interface, or by direct modification of the defconfig file. When `CONFIG_PAYLOAD_NONE` is not set, lbmk will skip adding a payload, because it's a given that then coreboot's own build system @@ -146,7 +146,7 @@ The changes are as follows: downloading of vendor files, without needing specific hacks to be hardcoded in `script/trees`. The `./update trees -b coreboot TREE utils` command is no longer available; instead, do `./update trees -d coreboot TREE`; if - the TREE argument is instead an actual mainboard target, it also does the + the TREE argument is instead an actual motherboard target, it also does the vendor file download, if required. The `./vendor download` command is still available, and multiple board names can now be provided as argument, because for example, `./build roms x220_8mb x230_12mb` would @@ -203,12 +203,12 @@ The changes are as follows: single-tree projects, defined *by argument*, but it was quite error prone and there's no clean way to otherwise do it. We don't use the script this way, anywhere in lbmk, and users are advised the same. -* **`script/roms`: *Only* Support SeaBIOS and Sea*GRUB*, on x86 mainboards**. +* **`script/roms`: *Only* Support SeaBIOS and Sea*GRUB*, on x86 motherboards**. SeaGRUB is a configuration whereby SeaBIOS starts first, but immediately tries to load GRUB from the flash. This complements the other change, listed below. We will no longer provide configurations where GRUB is the primary payload, precisely to mitigate the same issue as described below (lbmk issue 216). - If *GRUB* is enabled, on a given mainboard, SeaBIOS-only setups are not + If *GRUB* is enabled, on a given motherboard, SeaBIOS-only setups are not provided; only SeaGRUB is provided. You can press ESC in the SeaGRUB menu, to access other boot methods besides *GRUB from flash*, so you can use it in the same way; additionally, you can remove the `bootorder` file from CBFS @@ -269,7 +269,7 @@ The changes are as follows: This mkhelper config also integrates `include/rom.sh`, containing these functions. This replicates the functionality originally provided by `script/roms`. -* coreboot: Set `build_depend` on `target.cfg` files for specific mainboards. +* coreboot: Set `build_depend` on `target.cfg` files for specific motherboards. This is used to manually specify which GRUB and SeaBIOS trees should be compiled, required when compiling for a specific target, for the next stage where a payload is added to the coreboot image, because lbmk does diff --git a/site/news/e6400nvidia.md b/site/news/e6400nvidia.md index c5d5107..c52c170 100644 --- a/site/news/e6400nvidia.md +++ b/site/news/e6400nvidia.md @@ -11,7 +11,7 @@ build lbmk from source, and it gets inserted automatically via download. The same ROM, if it contains the Nvidia VGA ROM, supports both variants; if the VGA ROM is missing, then only the Intel GPU variant is supported. The same ROM will work on both variants, provided for by Libreboot patching the devicetree -in coreboot, on this mainboard.** +in coreboot, on this motherboard.** diff --git a/site/news/freedom.md b/site/news/freedom.md index 361f140..8894876 100644 --- a/site/news/freedom.md +++ b/site/news/freedom.md @@ -19,7 +19,7 @@ of the community, about what the policy means in practise. Refer here to the new article, thus: -[Software and hardware freedom status for each mainboard supported by +[Software and hardware freedom status for each motherboard supported by Libreboot](../freedom-status.md) The article describes, in great detail, the current status of licensing for @@ -47,12 +47,12 @@ Also, a new version of Libreboot was *released* yesterday. See: It made several major fixes, and massively updated the revisions for each part used in ROM images (containing coreboot, GRUB and SeaBIOS). -I have a bunch of mainboards that I'm working on, and I hope to make another +I have a bunch of motherboards that I'm working on, and I hope to make another release available as soon as possible. My priority for the next Libreboot release is to add as many new boards as possible from coreboot, with minimal changes to the build system itself; another focus this time is on improvements to the documentation. Several installation guides are missing, for example, on -specific mainboards. +specific motherboards. Specifically, I have focus on some AMD platforms, Intel sandybridge/ivybridge, Intel Haswell and (more) GM45 platforms. Several boards exist in coreboot that diff --git a/site/news/hp820g2.md b/site/news/hp820g2.md index 33a60a5..6eda589 100644 --- a/site/news/hp820g2.md +++ b/site/news/hp820g2.md @@ -43,7 +43,7 @@ This is a nice portable machine, with very reasonable performance. Most people should be very satisfied with it, in daily use. It is widely available in online market places. This page will tell you how to flash it! -All variants of this mainboard will come with Intel HD 5500 graphics, which has +All variants of this motherboard will come with Intel HD 5500 graphics, which has completely free software initialisation in coreboot, provided by *libgfxinit*. How to install Libreboot diff --git a/site/news/libreboot20140911.md b/site/news/libreboot20140911.md index 408c7ad..566f5d8 100644 --- a/site/news/libreboot20140911.md +++ b/site/news/libreboot20140911.md @@ -26,12 +26,12 @@ digitizer support - See **hardware/\#supported\_x60t\_list** for list of supported LCD panels - - It is unknown whether an X61 Tablet can have its mainboard + - It is unknown whether an X61 Tablet can have its motherboard replaced with an X60 Tablet motherboard. - **Lenovo ThinkPad T60** (Intel GPU) (there are issues; see below) - See notes below for exceptions, and **hardware/\#supported\_t60\_list** for known working LCD panels. - - It is unknown whether a T61 can have its mainboard replaced with + - It is unknown whether a T61 can have its motherboard replaced with a T60 motherboard. - T60p (and T60 variants with ATI GPU) will likely never be supported: **hardware/\#t60\_ati\_intel** diff --git a/site/news/libreboot20141015.md b/site/news/libreboot20141015.md index d7e9087..06e2f27 100644 --- a/site/news/libreboot20141015.md +++ b/site/news/libreboot20141015.md @@ -13,12 +13,12 @@ Machines supported in this release: digitizer support - See **hardware/\#supported\_x60t\_list** for list of supported LCD panels - - It is unknown whether an X61 Tablet can have its mainboard + - It is unknown whether an X61 Tablet can have its motherboard replaced with an X60 Tablet motherboard. - **Lenovo ThinkPad T60** (Intel GPU) (there are issues; see below): - See notes below for exceptions, and **hardware/\#supported\_t60\_list** for known working LCD panels. - - It is unknown whether a T61 can have its mainboard replaced with + - It is unknown whether a T61 can have its motherboard replaced with a T60 motherboard. - See **future/\#t60\_cpu\_microcode**. - T60p (and T60 variants with ATI GPU) will likely never be supported: diff --git a/site/news/libreboot20150124.md b/site/news/libreboot20150124.md index b051942..a2d3814 100644 --- a/site/news/libreboot20150124.md +++ b/site/news/libreboot20150124.md @@ -13,13 +13,13 @@ Machines supported in this release: digitizer support - See **hardware/\#supported\_x60t\_list** for list of supported LCD panels - - It is unknown whether an X61 Tablet can have it's mainboard + - It is unknown whether an X61 Tablet can have it's motherboard replaced with an X60 Tablet motherboard. - **Lenovo ThinkPad T60** (Intel GPU) (there are issuesinstall/x200\_external.html; see below): - See notes below for exceptions, and **hardware/\#supported\_t60\_list** for known working LCD panels. - - It is unknown whether a T61 can have it's mainboard replaced + - It is unknown whether a T61 can have it's motherboard replaced with a T60 motherboard. - See **future/\#t60\_cpu\_microcode**. - T60p (and T60 laptops with ATI GPU) will likely never be diff --git a/site/news/libreboot20150126.md b/site/news/libreboot20150126.md index f419ea1..25a0f0e 100644 --- a/site/news/libreboot20150126.md +++ b/site/news/libreboot20150126.md @@ -13,13 +13,13 @@ Machines supported in this release: digitizer support - See **hardware/\#supported\_x60t\_list** for list of supported LCD panels - - It is unknown whether an X61 Tablet can have it's mainboard + - It is unknown whether an X61 Tablet can have it's motherboard replaced with an X60 Tablet motherboard. - **Lenovo ThinkPad T60** (Intel GPU) (there are issuesinstall/x200\_external.html; see below): - See notes below for exceptions, and **hardware/\#supported\_t60\_list** for known working LCD panels. - - It is unknown whether a T61 can have it's mainboard replaced + - It is unknown whether a T61 can have it's motherboard replaced with a T60 motherboard. - See **future/\#t60\_cpu\_microcode**. - T60p (and T60 laptops with ATI GPU) will likely never be diff --git a/site/news/libreboot20150208.md b/site/news/libreboot20150208.md index 44aa332..a0f8345 100644 --- a/site/news/libreboot20150208.md +++ b/site/news/libreboot20150208.md @@ -13,13 +13,13 @@ Machines supported in this release: digitizer support - See **hardware/\#supported\_x60t\_list** for list of supported LCD panels - - It is unknown whether an X61 Tablet can have it's mainboard + - It is unknown whether an X61 Tablet can have it's motherboard replaced with an X60 Tablet motherboard. - **Lenovo ThinkPad T60** (Intel GPU) (there are issuesinstall/x200\_external.html; see below): - See notes below for exceptions, and **hardware/\#supported\_t60\_list** for known working LCD panels. - - It is unknown whether a T61 can have it's mainboard replaced + - It is unknown whether a T61 can have it's motherboard replaced with a T60 motherboard. - See **future/\#t60\_cpu\_microcode**. - T60p (and T60 laptops with ATI GPU) will likely never be diff --git a/site/news/libreboot20150518.md b/site/news/libreboot20150518.md index 34e9ba1..69db4a9 100644 --- a/site/news/libreboot20150518.md +++ b/site/news/libreboot20150518.md @@ -16,13 +16,13 @@ Machines supported in this release: support - See ***docs/hardware/\#supported\_x60t\_list*** for list of supported LCD panels - - It is unknown whether an X61 Tablet can have it's mainboard + - It is unknown whether an X61 Tablet can have it's motherboard replaced with an X60 Tablet motherboard. - **ThinkPad T60** (Intel GPU) (there are issues; see below): - See notes below for exceptions, and ***docs/hardware/\#supported\_t60\_list*** for known working LCD panels. - - It is unknown whether a T61 can have it's mainboard replaced + - It is unknown whether a T61 can have it's motherboard replaced with a T60 motherboard. - See ***docs/future/\#t60\_cpu\_microcode***. - T60p (and T60 laptops with ATI GPU) will likely never be diff --git a/site/news/libreboot20160818.md b/site/news/libreboot20160818.md index a41175b..cd11112 100644 --- a/site/news/libreboot20160818.md +++ b/site/news/libreboot20160818.md @@ -35,13 +35,13 @@ Machines supported in this release: support - See ***docs/hardware/\#supported\_x60t\_list*** for list of supported LCD panels - - It is unknown whether an X61 Tablet can have it's mainboard + - It is unknown whether an X61 Tablet can have it's motherboard replaced with an X60 Tablet motherboard. - **ThinkPad T60** (Intel GPU) (there are issues; see below): - See notes below for exceptions, and ***docs/hardware/\#supported\_t60\_list*** for known working LCD panels. - - It is unknown whether a T61 can have it's mainboard replaced + - It is unknown whether a T61 can have it's motherboard replaced with a T60 motherboard. - See ***docs/future/\#t60\_cpu\_microcode***. - T60p (and T60 laptops with ATI GPU) will likely never be diff --git a/site/news/libreboot20160907.md b/site/news/libreboot20160907.md index fa3ba03..a2efc71 100644 --- a/site/news/libreboot20160907.md +++ b/site/news/libreboot20160907.md @@ -6,7 +6,7 @@ In comparison to Libreboot 20160902: For existing boards, there are no new board specific changes. -This release adds one new mainboard to libreboot: +This release adds one new motherboard to libreboot: - Intel D945GCLF desktop motherboard (thanks to Arthur Heymans) diff --git a/site/news/libreboot20210522.md b/site/news/libreboot20210522.md index 6370871..90ffe98 100644 --- a/site/news/libreboot20210522.md +++ b/site/news/libreboot20210522.md @@ -44,7 +44,7 @@ New boards #### Acer G43T-AM3 -This is a desktop mainboard, with similar hardware to the already supported +This is a desktop motherboard, with similar hardware to the already supported Gigabyte GA-G41M-ES2L ### Laptops @@ -635,7 +635,7 @@ However, the following fixes were made for Lenovo X200 recently: * Mostly re-factoring and minor bug fixes, but it has some interesting fixes that benefit libreboot -* Acer G43T-AM3 mainboard added. This is also in the Libreboot release. This +* Acer G43T-AM3 motherboard added. This is also in the Libreboot release. This board was also present in Libreboot, prior to it updating to use coreboot 4.14, but now it is in the latest coreboot stable release * Initial support for x86\_64. Not yet used by Libreboot, but it might be @@ -697,7 +697,7 @@ However, the following fixes were made for Lenovo X200 recently: ### coreboot 4.6 -* fix buggy S3 suspend/resume on Gigabyte GA-G41M-ES2L mainboard, and fix bugs +* fix buggy S3 suspend/resume on Gigabyte GA-G41M-ES2L motherboard, and fix bugs in raminit * intel x4x/gm45/i945 boards: improvements/fixes to raminit and native video initialization @@ -711,11 +711,11 @@ Detailed coreboot git logs -------------------------- The following are lists of changes in coreboot 4.14, versus coreboot revisions -used in various platforms/mainboards from Libreboot 20160907. These lists are +used in various platforms/motherboards from Libreboot 20160907. These lists are mostly pulled directly from the coreboot git log. These logs are made by copying the coreboot git log, on specific directories -such as directories for mainboards, or entire platforms, in the git log of +such as directories for motherboards, or entire platforms, in the git log of coreboot. These changes will be split into distinct categories: @@ -803,7 +803,7 @@ i945 hardware that Libreboot supports. * fd054bc7d4 nb/intel/i945: Simplify GMA SSDT generator * 68680dd7cd Trim `.acpi_fill_ssdt_generator` and `.acpi_inject_dsdt_generator` * 95cdd9f21b nb/intel/i945: Make some cosmetic changes -* f3f36faf35 src (minus soc and mainboard): Remove copyright notices +* f3f36faf35 src (minus soc and motherboard): Remove copyright notices * b4d9f229d4 nb/intel/i945/raminit: Simplify if condition * d789b658f7 nb/intel/i945/raminit: Use boolean type for helper variables * 842dd3328d nb/intel/i945/raminit: Remove space for correct alignment @@ -1022,7 +1022,7 @@ i945 hardware that Libreboot supports. ### git log src/northbridge/intel/pineview/ -This benefits the Intel D510MO / D410PT mainboards, and any other pineview +This benefits the Intel D510MO / D410PT motherboards, and any other pineview board that Libreboot has added or will add. ```` @@ -1090,7 +1090,7 @@ board that Libreboot has added or will add. * deeccbf4e9 Drop explicit NULL initializations from `device_operations` * affd771ba3 nb/intel/pineview: drop intel_gma_get_controller_info() * 68680dd7cd Trim `.acpi_fill_ssdt_generator` and `.acpi_inject_dsdt_generator` -* f3f36faf35 src (minus soc and mainboard): Remove copyright notices +* f3f36faf35 src (minus soc and motherboard): Remove copyright notices * 39ff703aa9 nb/intel/pineview: Clean up code and comments * 8247cc3328 northbridge: Remove unused include * 2119d0ba43 treewide: Capitalize 'CMOS' @@ -1161,7 +1161,7 @@ board that Libreboot has added or will add. * 20f71369d9 nb/intel/pineview: Put stage cache in TSEG * 84fdda3812 nb/intel/pineview: Use parallel MP init * da44e34743 nb/intel/pineview: Select 1M TSEG -* c6ff1ac29e nb/intel/pineview: Move the boilerplate mainboard_romstage_entry +* c6ff1ac29e nb/intel/pineview: Move the boilerplate motherboard_romstage_entry * b31aee9973 nb/intel/{i945,pineview}: Remove unused function * c70eed1e62 device: Use pcidev_on_root() * 66b462dd4f nb/intel/pineview/raminit.c: Remove unused variable @@ -1286,7 +1286,7 @@ This benefits GM45 ThinkPads in Libreboot e.g. X200, T400, T500, R500, W500 etc * 68680dd7cd Trim `.acpi_fill_ssdt_generator` and `.acpi_inject_dsdt_generator` * 6343cd846a drivers/intel/gma: fold gma.asl into default_brightness_levels.asl * 612a867677 drivers/intel/gma/acpi: Add Kconfigs for backlight registers -* f3f36faf35 src (minus soc and mainboard): Remove copyright notices +* f3f36faf35 src (minus soc and motherboard): Remove copyright notices * 8247cc3328 northbridge: Remove unused include * 2119d0ba43 treewide: Capitalize 'CMOS' * ef90609cbb src: capitalize 'RAM' @@ -1448,7 +1448,7 @@ This benefits GM45 ThinkPads in Libreboot e.g. X200, T400, T500, R500, W500 etc ### git log src/northbridge/intel/x4x/ -This benefits mainly the Gigabyte GA-G41M-ES2L mainboard in Libreboot, and other +This benefits mainly the Gigabyte GA-G41M-ES2L motherboard in Libreboot, and other x4x boards that have now been added. In Libreboot 20160907, the only x4x board was the Gigabyte GA-G41M-ES2L @@ -1549,7 +1549,7 @@ was the Gigabyte GA-G41M-ES2L * 68680dd7cd Trim `.acpi_fill_ssdt_generator` and `.acpi_inject_dsdt_generator` * 6343cd846a drivers/intel/gma: fold gma.asl into default_brightness_levels.asl * 612a867677 drivers/intel/gma/acpi: Add Kconfigs for backlight registers -* f3f36faf35 src (minus soc and mainboard): Remove copyright notices +* f3f36faf35 src (minus soc and motherboard): Remove copyright notices * 8247cc3328 northbridge: Remove unused include * 2119d0ba43 treewide: Capitalize 'CMOS' * ef90609cbb src: capitalize 'RAM' @@ -1810,7 +1810,7 @@ Running `git log src/northbridge/amd/amdfam10/` we get these commits: * 1f4cb326fa northbridge: Remove useless include * 586f24dab4 northbridge: Remove unneeded include * 134da98a51 amd/{nb/amdfam10,cpu/pi}/Kconfig: Remove unused symbols -* 414779db10 src/mainboard: Remove unused "HW_MEM_HOLE_SIZE_AUTO_INC" +* 414779db10 src/motherboard: Remove unused "HW_MEM_HOLE_SIZE_AUTO_INC" * f765d4f275 src: Remove unneeded include * e9a0130879 src: Remove unneeded include * d2b9ec1362 src: Remove unneeded include "{arch,cpu}/cpu.h" @@ -1952,7 +1952,7 @@ Running `git log src/mainboard/asus/kgpe-d16/` we get: * cb3e16f287 AMD fam10: Remove HAVE_ACPI_RESUME support * 04d025cf50 amdfam10: Declare get_sysinfo() * 8560db6116 amdfam10: Declare empty activate_spd_rom() stub -* e39db681df src/mainboard: Add missing 'include ' +* e39db681df src/motherboard: Add missing 'include ' * a1e22b8192 src: Use 'include ' when appropriate * cd49cce7b7 coreboot: Replace all IS_ENABLED(CONFIG_XXX) with CONFIG(XXX) * 13f66507af device/mmio.h: Add include file for MMIO ops @@ -1979,7 +1979,7 @@ Running `git log src/mainboard/asus/kgpe-d16/` we get: * 1db4e3a358 amdfam10 boards: Declare get_pci1234() just once * a79b3f1c63 amdfam10 boards: Drop unused mb_sysconf.h * a26b02466e drivers/aspeed/ast: Select `MAINBOARD_HAS_NATIVE_VGA_INIT` -* 21c8f9cab3 mainboard: Remove useless include +* 21c8f9cab3 motherboard: Remove useless include * 472d68b066 mb/asus/kgpe-d16: Set ASpeed GPIO SPD mux lines during boot * f0c5be2a4f mb/*/*/Kconfig: Remove useless comment * 6d19a20f5f mb: Set coreboot as DSDT's manufacturer model ID @@ -1987,7 +1987,7 @@ Running `git log src/mainboard/asus/kgpe-d16/` we get: * f765d4f275 src: Remove unneeded include * ead574ed02 src: Get rid of duplicated includes * d2b9ec1362 src: Remove unneeded include "{arch,cpu}/cpu.h" -* 1156b35a23 mainboard: Remove unneeded include +* 1156b35a23 motherboard: Remove unneeded include * 718c6faff4 reset: Finalize move to new API * e20dd19dde amdfam10: Convert to `board_reset()` * 2c5652d72b mb: Fix non-local header treated as local @@ -1996,7 +1996,7 @@ Running `git log src/mainboard/asus/kgpe-d16/` we get: * 068253c369 mb/*/*/cmos.default: Harmonise CMOS files syntax * f716f2ac1a mb/*/*/cmos.default: Decrease debug_level to 'Debug' * 65bb5434f6 src: Get rid of non-local header treated as local -* 08fc8fff25 src/mainboard: Fix typo +* 08fc8fff25 src/motherboard: Fix typo * db70f3bb4d drivers/tpm: Add TPM ramstage driver for devices without vboot. * 95bca33efa src/mb: Use "foo *bar" instead of "foo* bar" * c07f8fbe6f security/tpm: Unify the coreboot TPM software stack @@ -2006,7 +2006,7 @@ Running `git log src/mainboard/asus/kgpe-d16/` we get: * 02b05d1f6b mb/asus: Get rid of device_t * d88fb36e61 security/tpm: Change TPM naming for different layers. * 64e2d19082 security/tpm: Move tpm TSS and TSPI layer to security section -* 482d16fb0a src/mainboard: Fix various typos +* 482d16fb0a src/motherboard: Fix various typos * ec48c749c2 AMD boards: Fix function name (soft_reset) in message * 74bd2b0e4c mb/asus/kcma-d8,kgde-d16: Don't select SPI_FLASH_WINBOND * b29078e401 mb/*/*: Remove rtc nvram configurable baud rate @@ -2022,7 +2022,7 @@ Running `git log src/mainboard/asus/kgpe-d16/` we get: * eca093ecfe mainboard/asus/kgpe-d16: Remove obsolete reference to TPM ASL file * 06a629e4b1 arch/x86: do not define type of SPIN_LOCK_UNLOCKED * 75a3d1fb7c amdfam10: Perform major include ".c" cleanup -* a8025db49f amd-based mainboards: Fix whitespace in _PTS comments +* a8025db49f amd-based motherboards: Fix whitespace in _PTS comments * 3a0cb458dc cpu/amd/mtrr.h: Drop excessive includes * 4607cacf30 cpu/x86/msr.h: Drop excessive includes * 425890e59a AMD fam10h-15h: MMCONF_SUPPORT_DEFAULT is already set @@ -2032,10 +2032,10 @@ Running `git log src/mainboard/asus/kgpe-d16/` we get: * 6350a2e43f src/mainboard/a-trend - emulation: Add space around operators * 7931c6a81d mb/asus/kgpe-d16: Add TPM support * 64444268e2 mb/asus/[kgpe-d16|kcma-d8]: Fix whitespace errors in devicetree.cb -* d23ee5de22 mainboard: Clean up boot_option/reboot_bits in cmos.layout -* 8ab989e315 src/mainboard: Capitalize ROM, RAM, CPU and APIC +* d23ee5de22 motherboard: Clean up boot_option/reboot_bits in cmos.layout +* 8ab989e315 src/motherboard: Capitalize ROM, RAM, CPU and APIC * bb9722bd77 Add newlines at the end of all coreboot files -* 95fe8fb1e0 mainboard: Format irq_tables.c +* 95fe8fb1e0 motherboard: Format irq_tables.c * 150f476c96 timestamp: Drop duplicate TS_END_ROMSTAGE entries * ca543396a7 mainboard/asus/[kgpe-d16|kcma-d8]: Enable secondary serial port header * 99894127ab mainboard/asus/[kgpe-di6|kcma-d8]: Fix board ROM information @@ -2049,7 +2049,7 @@ Running `git log src/mainboard/asus/kcma-d8/` we get: * cb3e16f287 AMD fam10: Remove HAVE_ACPI_RESUME support * 04d025cf50 amdfam10: Declare get_sysinfo() * 8560db6116 amdfam10: Declare empty activate_spd_rom() stub -* e39db681df src/mainboard: Add missing 'include ' +* e39db681df src/motherboard: Add missing 'include ' * a1e22b8192 src: Use 'include ' when appropriate * cd49cce7b7 coreboot: Replace all IS_ENABLED(CONFIG_XXX) with CONFIG(XXX) * 13f66507af device/mmio.h: Add include file for MMIO ops @@ -2074,14 +2074,14 @@ Running `git log src/mainboard/asus/kcma-d8/` we get: * 1db4e3a358 amdfam10 boards: Declare get_pci1234() just once * a79b3f1c63 amdfam10 boards: Drop unused mb_sysconf.h * a26b02466e drivers/aspeed/ast: Select `MAINBOARD_HAS_NATIVE_VGA_INIT` -* 21c8f9cab3 mainboard: Remove useless include +* 21c8f9cab3 motherboard: Remove useless include * f0c5be2a4f mb/*/*/Kconfig: Remove useless comment * 6d19a20f5f mb: Set coreboot as DSDT's manufacturer model ID * 0cca6e24b7 ACPI: Fix DSDT's revision field * f765d4f275 src: Remove unneeded include * ead574ed02 src: Get rid of duplicated includes * d2b9ec1362 src: Remove unneeded include "{arch,cpu}/cpu.h" -* 1156b35a23 mainboard: Remove unneeded include +* 1156b35a23 motherboard: Remove unneeded include * 718c6faff4 reset: Finalize move to new API * e20dd19dde amdfam10: Convert to `board_reset()` * 2c5652d72b mb: Fix non-local header treated as local @@ -2090,13 +2090,13 @@ Running `git log src/mainboard/asus/kcma-d8/` we get: * 068253c369 mb/*/*/cmos.default: Harmonise CMOS files syntax * f716f2ac1a mb/*/*/cmos.default: Decrease debug_level to 'Debug' * 65bb5434f6 src: Get rid of non-local header treated as local -* 08fc8fff25 src/mainboard: Fix typo +* 08fc8fff25 src/motherboard: Fix typo * 95bca33efa src/mb: Use "foo *bar" instead of "foo* bar" * e0e1e64855 amdfam10: Drop tests for LATE_CBMEM_INIT * d54e859ace mb/asus: Get rid of whitespace before tab * 1bad4ce421 sb/amd/sr5650: Fix invalid function declarations * 02b05d1f6b mb/asus: Get rid of device_t -* 482d16fb0a src/mainboard: Fix various typos +* 482d16fb0a src/motherboard: Fix various typos * ec48c749c2 AMD boards: Fix function name (soft_reset) in message * 74bd2b0e4c mb/asus/kcma-d8,kgde-d16: Don't select SPI_FLASH_WINBOND * b29078e401 mb/*/*: Remove rtc nvram configurable baud rate @@ -2109,7 +2109,7 @@ Running `git log src/mainboard/asus/kcma-d8/` we get: * 00b9f4c4b1 mb/*/*/cmos.layout: Make multibyte options byte aligned * 06a629e4b1 arch/x86: do not define type of SPIN_LOCK_UNLOCKED * 75a3d1fb7c amdfam10: Perform major include ".c" cleanup -* a8025db49f amd-based mainboards: Fix whitespace in _PTS comments +* a8025db49f amd-based motherboards: Fix whitespace in _PTS comments * 3a0cb458dc cpu/amd/mtrr.h: Drop excessive includes * 4607cacf30 cpu/x86/msr.h: Drop excessive includes * 425890e59a AMD fam10h-15h: MMCONF_SUPPORT_DEFAULT is already set @@ -2118,10 +2118,10 @@ Running `git log src/mainboard/asus/kcma-d8/` we get: * b87a734771 mainboard/*/*/dsdt.asl: Use tabs for indents * 6350a2e43f src/mainboard/a-trend - emulation: Add space around operators * 64444268e2 mb/asus/[kgpe-d16|kcma-d8]: Fix whitespace errors in devicetree.cb -* d23ee5de22 mainboard: Clean up boot_option/reboot_bits in cmos.layout -* 8ab989e315 src/mainboard: Capitalize ROM, RAM, CPU and APIC +* d23ee5de22 motherboard: Clean up boot_option/reboot_bits in cmos.layout +* 8ab989e315 src/motherboard: Capitalize ROM, RAM, CPU and APIC * bb9722bd77 Add newlines at the end of all coreboot files -* 95fe8fb1e0 mainboard: Format irq_tables.c +* 95fe8fb1e0 motherboard: Format irq_tables.c * 150f476c96 timestamp: Drop duplicate TS_END_ROMSTAGE entries * ca543396a7 mainboard/asus/[kgpe-d16|kcma-d8]: Enable secondary serial port header * 99894127ab mainboard/asus/[kgpe-di6|kcma-d8]: Fix board ROM information @@ -2132,7 +2132,7 @@ Running `git log src/mainboard/asus/kcma-d8/` we get: Running `git log src/mainboard/asus/kfsn4-dre/` we get: ```` -* ad0f485361 src/mainboard: change "unsigned" to "unsigned int" +* ad0f485361 src/motherboard: change "unsigned" to "unsigned int" * 12ef4f2d71 mb/asus/kfsn4-dre: Return early if CK804 not found * 04d025cf50 amdfam10: Declare get_sysinfo() * 8560db6116 amdfam10: Declare empty activate_spd_rom() stub @@ -2156,13 +2156,13 @@ Running `git log src/mainboard/asus/kfsn4-dre/` we get: * a2cfe9e900 amdfam10 boards: Add Makefiles and fix resourcemap.c * d482c7dace amdfam10 boards: Drop global bus_isa variable * 1db4e3a358 amdfam10 boards: Declare get_pci1234() just once -* 21c8f9cab3 mainboard: Remove useless include +* 21c8f9cab3 motherboard: Remove useless include * f0c5be2a4f mb/*/*/Kconfig: Remove useless comment * 6d19a20f5f mb: Set coreboot as DSDT's manufacturer model ID * f765d4f275 src: Remove unneeded include * ead574ed02 src: Get rid of duplicated includes * d2b9ec1362 src: Remove unneeded include "{arch,cpu}/cpu.h" -* 1156b35a23 mainboard: Remove unneeded include +* 1156b35a23 motherboard: Remove unneeded include * 718c6faff4 reset: Finalize move to new API * e20dd19dde amdfam10: Convert to `board_reset()` * 400ce55566 cpu/amd: Use common AMD's MSR @@ -2171,7 +2171,7 @@ Running `git log src/mainboard/asus/kfsn4-dre/` we get: * 068253c369 mb/*/*/cmos.default: Harmonise CMOS files syntax * f716f2ac1a mb/*/*/cmos.default: Decrease debug_level to 'Debug' * 65bb5434f6 src: Get rid of non-local header treated as local -* 08fc8fff25 src/mainboard: Fix typo +* 08fc8fff25 src/motherboard: Fix typo * b0f1988f89 src: Get rid of unneeded whitespace * 448d9fb431 src: Use "foo *bar" instead of "foo* bar" * 7f268eab78 mainboard/asus: Add license headers @@ -2185,7 +2185,7 @@ Running `git log src/mainboard/asus/kfsn4-dre/` we get: * 00b9f4c4b1 mb/*/*/cmos.layout: Make multibyte options byte aligned * ce642f08b9 Kconfig: Rework MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG * 75a3d1fb7c amdfam10: Perform major include ".c" cleanup -* a8025db49f amd-based mainboards: Fix whitespace in _PTS comments +* a8025db49f amd-based motherboards: Fix whitespace in _PTS comments * 3a0cb458dc cpu/amd/mtrr.h: Drop excessive includes * 4607cacf30 cpu/x86/msr.h: Drop excessive includes * 425890e59a AMD fam10h-15h: MMCONF_SUPPORT_DEFAULT is already set @@ -2193,8 +2193,8 @@ Running `git log src/mainboard/asus/kfsn4-dre/` we get: * b87a734771 mainboard/*/*/dsdt.asl: Use tabs for indents * 6350a2e43f src/mainboard/a-trend - emulation: Add space around operators * 837618bf20 mainboard/asus/*: transition away from device_t -* d23ee5de22 mainboard: Clean up boot_option/reboot_bits in cmos.layout -* 8ab989e315 src/mainboard: Capitalize ROM, RAM, CPU and APIC +* d23ee5de22 motherboard: Clean up boot_option/reboot_bits in cmos.layout +* 8ab989e315 src/motherboard: Capitalize ROM, RAM, CPU and APIC * bb9722bd77 Add newlines at the end of all coreboot files ```` diff --git a/site/news/libreboot20221214.md b/site/news/libreboot20221214.md index 0a45579..d6e7dd7 100644 --- a/site/news/libreboot20221214.md +++ b/site/news/libreboot20221214.md @@ -402,7 +402,7 @@ would simply merge) | * 7fdfb07 added ability to detect if the board needs the mrc and download it | * b8bd895 added mrc download script from old osbmk but changed to agnostic shebang | * d80bcfb added x230 coreboot config as an example of a config using the blobs extracted with the extraction script -| * d40b01c add script to extract blobs from the vendor rom image for ivy bridge lenovo boards. Could possible work/be extended for other mainboards +| * d40b01c add script to extract blobs from the vendor rom image for ivy bridge lenovo boards. Could possible work/be extended for other motherboards | * c3dfcf4 re-add me_cleaner and change to agnostic shebang * | f70c5cc lenovo/x230: set me_state=Disabled in cmos.default * | 9b4afd1 x230_12mb: set cbfs back to 7mb. i will add special truncated configs instead diff --git a/site/news/libreboot20230413.md b/site/news/libreboot20230413.md index 629aaad..cf8839b 100644 --- a/site/news/libreboot20230413.md +++ b/site/news/libreboot20230413.md @@ -33,7 +33,7 @@ The priority of this release has been build system fixes/improvements. For the time being, no more code changes will be made unless needed, in coreboot, for existing supported hardware; the focus is going to be on adding *more* boards to Libreboot, to support more hardware. I've been on a spree, buying lots of -mainboards that coreboot supports, that would be interesting in Libreboot. +motherboards that coreboot supports, that would be interesting in Libreboot. ### Build from source @@ -95,7 +95,7 @@ Changelog: ROM image archives in releases now contain lists of SHA1 hashes, matching what each file should be when running `blobutil/inject` * `blobutil/inject`: It is now possible to insert MRC and neutered ME images, - where required on specific mainboards, into *all* ROM images of a given + where required on specific motherboards, into *all* ROM images of a given tar archive, in addition to single ROM images. The patch for this is courtesy of Caleb La Grange (`shmalebx9` on libreboot IRC) * Removed daisy/peach chromebooks: The machines are believed to boot properly, @@ -134,7 +134,7 @@ Changelog: the script easier to read/work on. * `blobutil/inject`: use correct offset for insertion of `mrc.bin` (Haswell platform, e.g. ThinkPad T440p) - as written above. -* Removed mainboard: `d945gclf` - known to be problematic at boot. I have one, +* Removed motherboard: `d945gclf` - known to be problematic at boot. I have one, and I'm going to test it for re-entry in a future release. * Added missing dependency in Arch Linux dependencies installation script, patch courtesy of Andreas Hartmann. diff --git a/site/news/libreboot20230423.md b/site/news/libreboot20230423.md index 1033a4d..83fc8ae 100644 --- a/site/news/libreboot20230423.md +++ b/site/news/libreboot20230423.md @@ -26,7 +26,7 @@ in 2023. *This* new release, Libreboot 20230423, is released today on April 23rd, 2023. This is marked as a *testing* release, though it is *basically stable*. -We've been going at it like crazy, on a big spree adding more mainboards from +We've been going at it like crazy, on a big spree adding more motherboards from coreboot. Some fixes to the build system were also made, since the last release only *10 days ago*. @@ -56,7 +56,7 @@ Ergo, this is a very conservative changelog. It seems Libreboot has been releasing almost fortnightly, as of late; perhaps this could continue from now on. -### New mainboards now supported: +### New motherboards now supported: * **Dell Latitude E6400 (laptop)** (GM45, blob-free, flashable entirely in software, no disassembly required!) - courtesy Nicholas Chin, `nic3-14159` on @@ -162,7 +162,7 @@ please contact the Libreboot project. They are: More boards soon! --------------- -I've purchased about ~10 HP mainboards, all of the viable sandybridge, +I've purchased about ~10 HP motherboards, all of the viable sandybridge, ivybridge and haswell ones from coreboot. I'm going to add them all. I also have Dell Optiplex 7020 and 9020; these are on coreboot gerrit and diff --git a/site/news/libreboot20230625.md b/site/news/libreboot20230625.md index 368e406..d8baa69 100644 --- a/site/news/libreboot20230625.md +++ b/site/news/libreboot20230625.md @@ -54,7 +54,7 @@ mileage may vary, with other distros. Refer to Libreboot documentation. Work done since last release ---------------------------- -### New mainboards now supported: +### New motherboards now supported: These boards were added to Libreboot: @@ -73,12 +73,12 @@ focus on hardware support in addition to payloads (linux boot, UEFI etc). ### No-microcode ROMs available Since Libreboot 20221214 and up, CPU microcode is -included by default on all applicable x86 mainboards. However, +included by default on all applicable x86 motherboards. However, Libreboot provided (and still provides) documentation for how to manually remove it. Such removal is still possible, but *this* release now provides -two sets of ROM images for each x86 mainboard: one set of ROMs +two sets of ROM images for each x86 motherboard: one set of ROMs will *contain* CPU microcode, and another set *excludes* them. For more context, see [Binary Blob Reduction Policy](policy.md) and [Freedom Status](../freedom-status.md). @@ -118,7 +118,7 @@ Newest changes first, oldest changes last: * `u-boot`: Increase EFI variable buffer size. This fixes an error where Debian's signed shim allocates too many EFI variables to fit in the space provided, breaking the boot process in Debian. Patch courtesy Alper Nebi Yasak -* Re-added Gigabyte GA-G41M-ES2L mainboard. It actually does boot, but we have +* Re-added Gigabyte GA-G41M-ES2L motherboard. It actually does boot, but we have always known that raminit is quite experimental on this board. You just have to cycle through RAM until you find modules that work. * `nyan` chromebooks: Removed for now (not yet stable) - this release only @@ -137,8 +137,8 @@ Newest changes first, oldest changes last: ROMs that include microcode by default. This change is also alluded to in the sections above. * `blobutil/download`: Cache downloads based on checksum, to avoid needlessly - re-downloading files per mainboard. This is useful when compiling multiple - ROM images, for multiple mainboards. Patch courtesy Riku Viitanen. + re-downloading files per motherboard. This is useful when compiling multiple + ROM images, for multiple motherboards. Patch courtesy Riku Viitanen. * Dell Latitude E6400 (board): Fix SD cards (SD cards now work fine). Patch courtesy Nicholas Chin. * `util/nvmutil`: Vastly more efficient code (part of the audit, referenced in @@ -199,8 +199,8 @@ Newest changes first, oldest changes last: an `extra.sh` script, but it can be used to extend the default functionality of lbmk where lots of custom logic is needed for a given board. For example, if you needed to apply lots of patches from gerrit in a specific order, in a - way that could not be generalised for other mainboards where it's really - only applicable to that mainboard, you might use `extra.sh`. This was briefly + way that could not be generalised for other motherboards where it's really + only applicable to that motherboard, you might use `extra.sh`. This was briefly used in the erstwhile osboot project, on a few boards. * download/coreboot: Use the `gitclone` script for actually cloning coreboot, while still using the main script for handling trees/revisions and such. diff --git a/site/news/libreboot20231021.md b/site/news/libreboot20231021.md index 8b73915..21daf40 100644 --- a/site/news/libreboot20231021.md +++ b/site/news/libreboot20231021.md @@ -39,7 +39,7 @@ firmware, but not Libreboot! Booting Linux/BSD is also [well](../docs/linux/) Work done since last release -------------------------- -### New mainboards now supported: +### New motherboards now supported: The *primary* focus of this release has been build system improvements, and new build system features. However, these boards were added to Libreboot: @@ -211,7 +211,7 @@ Full list of changes (detail) -------------------- The changes are (not necessarily in order), but they do not necessarily cover -things like mainboards or extra features added; these are covered in sections +things like motherboards or extra features added; these are covered in sections above. This list is essentially a combination of the audit2 and audit3 change logs, combined: @@ -261,7 +261,7 @@ logs, combined: * All helper scripts are now under `include/`, and main scripts in `script/`, called by the main `build` script * Intel ME extraction is now provided in one function, instead of two, when - downloading vendor files per mainboard, before running it + downloading vendor files per motherboard, before running it through `me_cleaner` * Unified checking of the destination file, when downloading vendor updates. This results in more reliable checking of whether a vendor file has already @@ -304,7 +304,7 @@ logs, combined: * SECURITY: Use sha512sum (not sha1sum) when verifying certain downloads. This reduces the chance for collisions, during checksum verification. * Set GRUB timout to 5s by default, but allow override and set to 10s or 15s - on some mainboards. + on some motherboards. * Vendor scripts: don't use `/tmp` for ROM images when inserting vendor files. In case `/tmp` is a tmpfs and not much RAM is available, it is paramount that the user's file system is used instead, where there is likely greater capacity; @@ -548,7 +548,7 @@ logs, combined: * A lot of scripts have been removed entirely, and their logic not replaced; in many cases, Libreboot's build system contained logic that had gone unused for many years. -* More reliable configs now used on desktop mainboards: SeaBIOS-only for start, +* More reliable configs now used on desktop motherboards: SeaBIOS-only for start, but GRUB still available where feasible (in the SeaBIOS menu). This makes it more fool proof for a user who might use integrated graphics and then switch to a graphics card; the very same images will work. @@ -849,7 +849,7 @@ The log is as follows, relative to Libreboot 20230625: * d28ad6aa build/release/roms: use -T0 on serprog tarballs * 308c21dd build/boot/roms stragglers: properly handle errors * c16b28ef build/release/src: re-create symlinks, don't copy -* 32dcf9e5 coreboot/qemu_x86_12mb: re-add this mainboard +* 32dcf9e5 coreboot/qemu_x86_12mb: re-add this motherboard * 5aef8156 scripts: use printf, not echo, where appropriate * 76e12cd4 update/blobs printf statements: use double quotes * 84bf47b5 scripts: better handling of printf: stdout/stderr @@ -898,8 +898,8 @@ The log is as follows, relative to Libreboot 20230625: * da3c9bb3 merge config/ and resources/ * a0501050 blobs/download: don't handle ifd/gbe files * 03788d14 move ifd/gbe configs into config/ifd/ -* 6ddb0e09 run make oldconfig on coreboot/default mainboards -* 19efdf9e ich9m mainboards: use pre-assembled ifd/gbe files +* 6ddb0e09 run make oldconfig on coreboot/default motherboards +* 19efdf9e ich9m motherboards: use pre-assembled ifd/gbe files * af8d8cda add ich9m ifd/gbe files * d554efae build/release/src: copy e6430 ifd/gbe * 09aae7be build/rpi-pico-serprog: better error handling diff --git a/site/news/libreboot20240126.md b/site/news/libreboot20240126.md index 343b9c3..c7aa54f 100644 --- a/site/news/libreboot20240126.md +++ b/site/news/libreboot20240126.md @@ -40,9 +40,9 @@ have [external flashing gear](../docs/install/spi.md) ready just in case! Work done since last release ---------------------------- -### New mainboards supported +### New motherboards supported -These new mainboards have been added: +These new motherboards have been added: * [HP EliteBook 820 G2](hp820g2.md), added by Leah Rowe to lbmk, using the coreboot port done by Iru Cai. @@ -107,7 +107,7 @@ changes first): using the `xtree` and `tree_depend` variables in `target.cfg` files, for each coreboot tree and, in the case of xtree, it can be defined in a given coreboot board target. -* Removed mainboard: Lenovo X201 (due to thermal safety issues on this machine, +* Removed motherboard: Lenovo X201 (due to thermal safety issues on this machine, when using a neutered ME - this issue only affects systems that use ME6, whereas older/newer platfroms are unaffected). * coreboot/fam15h: More fixes, e.g. disable `-Werror` on binutils 2.32, and @@ -147,7 +147,7 @@ changes first): * `script/build/serprog`: Return error status (exit) if basename fails, when processing various board targets available on stm32/rp2040 projects. Patch courtesy of Leah Rowe. -* **NEW BOARD:** HP 8300 CMT mainboard, added by Riku Viitanen, who worked +* **NEW BOARD:** HP 8300 CMT motherboard, added by Riku Viitanen, who worked on it with a tester in the IRC channel. * Fixed implicit typecasting bug on flashprog 1.2 source code, thus preventing a build issue (tested on Debian 12.2). Patch courtesy of Leah Rowe. @@ -366,7 +366,7 @@ changes first): * dcf7da9a coreboot/fam15h_udimm: define xtree * f72a72af don't download projects on release archives * 435441d0 update/release: generate changelogs -* a225e4d5 fix amd mainboard configs +* a225e4d5 fix amd motherboard configs * c9961182 git.sh: fix bad call to ./update * 3e7e0c7d git.sh: support downloading dependency trees * 8f3d3ead re-use crossgcc builds on the coreboot trees diff --git a/site/news/libreboot20240225.md b/site/news/libreboot20240225.md index 758b857..a95aecd 100644 --- a/site/news/libreboot20240225.md +++ b/site/news/libreboot20240225.md @@ -109,10 +109,10 @@ Work done since last release With the exception of pico-serprog and replacing flashrom with flashprog (more on this later), the current upstream revisions remain unchanged, but this -release has fixed a few issues and added more mainboards, relative to last +release has fixed a few issues and added more motherboards, relative to last month's release. -### New mainboards +### New motherboards * **HP EliteBook 8560w** - added to lbmk by Riku Viitanen, using the coreboot port written by Iru Cai, with Riku's MXM support added on top (more on this later) @@ -184,7 +184,7 @@ fixed this issue: Riku also increased the default drive strength to 12mA on all RP2024 boards, -increasing reliabily when externally flashing certain mainboards (e.g. PCH +increasing reliabily when externally flashing certain motherboards (e.g. PCH having low/no resistance on connections to the data lines for the flash). ### Flashprog now used, instead of flashrom diff --git a/site/news/libreboot20240504.md b/site/news/libreboot20240504.md index 6198a04..712c0dc 100644 --- a/site/news/libreboot20240504.md +++ b/site/news/libreboot20240504.md @@ -48,7 +48,7 @@ a major new release of Libreboot. The previous stable release was Libreboot 20230625 released on 25 June 2023, and the previous *testing* release was Libreboot 20240225 released on 25 February 2024. Extreme care has been taken with this release, but it adds a host of new features such as USB3 -support in the GRUB payload, and a slew of mainboard fixes. *Read on* to learn +support in the GRUB payload, and a slew of motherboard fixes. *Read on* to learn more. The main purpose of this release has been to fix bugs. A lot more work will now @@ -129,10 +129,10 @@ This release supports the following hardware: - [ASUS Chromebook Flip C101 (gru-bob)](../docs/install/chromebooks.md) - [Samsung Chromebook Plus (v1) (gru-kevin)](../docs/install/chromebooks.md) -New mainboard added +New motherboard added ------------------- -This release adds support for the following mainboard: +This release adds support for the following motherboard: * Dell Latitude E5420, courtesy of Nicholas Chin @@ -262,7 +262,7 @@ are highlighted in bold: * Simpler, safer error handling in the build system * **util/autoport:** New utility, imported from coreboot's version but with extra patches merged for Haswell platforms. This can be used in future, tied heavily - to Libreboot's own coreboot trees, to more easily add new mainboards. + to Libreboot's own coreboot trees, to more easily add new motherboards. * **util/dell-flash-unlock: NetBSD support added**, courtesy of the developer who goes by the name *Linear Cannon*. Here is that person's website as of today: @@ -482,7 +482,7 @@ It is now the default behaviour, in the next release, that certain images contain a bootorder file in CBFS, making SeaBIOS try GRUB first, but you can still press ESC to access the SeaBIOS boot menu if you want to directly boot an OS from that. This, and the other change mentioned above, will guarantee -stability. GRUB is *no longer* the primary payload, on any mainboard. +stability. GRUB is *no longer* the primary payload, on any motherboard. However, it was later decided to put this release in the `testing` directory instead; it was initially designated as a stable release. diff --git a/site/news/libreboot20240612.md b/site/news/libreboot20240612.md index 6d1d1d2..26b9614 100644 --- a/site/news/libreboot20240612.md +++ b/site/news/libreboot20240612.md @@ -31,7 +31,7 @@ The [errata](libreboot20240504.md#errata) on Libreboot 20240504 meant that all ROM images had to be removed, so a new stable release had to be made ASAP to compensate. -A new *testing* release is planned for July, adding many more new mainboards; +A new *testing* release is planned for July, adding many more new motherboards; today's stable release only fixes bugs and adds some new features to the build system, which have been rigorously tested during the course of the recent audit. @@ -148,10 +148,10 @@ Changes are in order per category, from newest to oldest: * **GRUB is now a multi-tree project.** Each given coreboot target can specify which GRUB tree it wants to use, each containing its own revision and patches, with its own GRUB configuration file. This can be used later on - to provide specific optimisations on each given mainboard, but it is used + to provide specific optimisations on each given motherboard, but it is used at present to exclude xHCI patches on boards that don't need it; please also read the bugfix section (of this audit report) pertaining to this same topic, - for more context. Before this change was implemented, all mainboards used + for more context. Before this change was implemented, all motherboards used the exact same GRUB revision, with the same patches and the same config. * grub.cfg: scan `grub2/` last, on each given device/partition; this speeds up the boot time in most tests, because most setups use `grub/`, @@ -185,7 +185,7 @@ Changes are in order per category, from newest to oldest: * script/roms: Allow to override `grub_scan_disk` via `-s`, for example: `./build roms -s nvme t1650_12mb` * **grub.cfg: Use `grub_scan_disk` to set boot order (rather, boot order by - device type).** It is possible now to configure each mainboard with this + device type).** It is possible now to configure each motherboard with this variable, so that certain types of devices are scanned in a precise order; for example, scan NVMe SSDs first. * **include/git.sh: Allow manual override of `git submodule` handling**, instead @@ -200,7 +200,7 @@ Changes are in order per category, from newest to oldest: later changed so as to be the ONLY method for downloading submodules, skipping the actual git-submodule-update command entirely, on all projects.* * **Native NVMe driver added to the GRUB payload**, allowing users to boot from - NVMe SSDs where present on a given mainboard. The patch is courtesy of + NVMe SSDs where present on a given motherboard. The patch is courtesy of Mate Kukri, who ported SeaBIOS's own NVMe driver, converting all of the code to run properly within GRUB's own kernel. NVMe SSDs are now fully bootable on all machines that can have them, offering vastly superior @@ -344,12 +344,12 @@ The changes are, from newest to earliest: one you're reading about now so that they can be fixed, like this one was!) * **Re-configured GRUB so that only the Haswell and Broadwell machines contain xHCI support**, where it doesn't cause any issues (and is required), while - other mainboards use a version of GRUB that lacks support for xHCI. This is a + other motherboards use a version of GRUB that lacks support for xHCI. This is a mitigations against the bug reported in [lbmk issue 216](https://codeberg.org/libreboot/lbmk/issues/216). This is done, by using the new *multi-tree* GRUB handling, which is mentioned above in in the section (of this audit report) pertaining to *feature changes*, whereby - each mainboard can have its own GRUB revisions and patches, with its own + each motherboard can have its own GRUB revisions and patches, with its own GRUB configuration file (that could be uniquely optimised for it). * **Fix vboot build issue when running lbmk in i686 (32-bit) host machines**. The patch, courtesy of *Luke T. Schumaker*, adapts vboot's vmlinuz extract @@ -393,12 +393,12 @@ The changes are, from newest to earliest: supported a configuration whereby SeaBIOS reads a `bootorder` file in CBFS, making it try to run the GRUB payload first, while still allowing you to interrupt by pressing ESC to bring up an alternative boot select menu. This - is now the *default*, on all x86 mainboards. This is a mitigation against + is now the *default*, on all x86 motherboards. This is a mitigation against future instability in GRUB because, if such issues happen again, it will not cause a brick since you can just use SeaBIOS instead, and skip booting to the GRUB payload (on the affected machines, BIOS GRUB still worked, which your distro provides and SeaBIOS executes it). *NOTE: GRUB was later made - into a multi-tree project, with certain mainboards using a version that + into a multi-tree project, with certain motherboards using a version that has the xHCI patches, if required, because the machines that actually need xHCI support were not affected by the bug referenced in issue 216.* * Main build script: Check SUID before checking Git name/email, otherwise the diff --git a/site/news/libreboot20241008.md b/site/news/libreboot20241008.md index 20ac041..baf52f9 100644 --- a/site/news/libreboot20241008.md +++ b/site/news/libreboot20241008.md @@ -70,7 +70,7 @@ The following boards have been added since the Libreboot 20240612 release: ### About the Dell Latitude ports These are yet more Ivybridge (Intel 3rd gen) and Sandybridge (Intel 2nd gen) -mainboards, using the same EC as on other Latitudes supported in Libreboot, so +motherboards, using the same EC as on other Latitudes supported in Libreboot, so they are all internally flashable from the factory firmware. Installation instructions, pertaining to Dell Latitude models, can be found on @@ -106,7 +106,7 @@ Mate Kukri's excellent *[deguard](https://review.coreboot.org/admin/repos/deguar utility is automatically used at build time, to modify the ME, which has a bug on that platform allowing arbitrary execution. Using this bug, Mate was able to disable the Intel Boot Guard, on this 7th gen -mainboard. Without such a hack, coreboot would have previously been impossible! +motherboard. Without such a hack, coreboot would have previously been impossible! I've made some fixes on top of it myself: adding HDA verb configuration, and a VBT file. Mate will incorporate these changes in the patchset, which is still @@ -119,7 +119,7 @@ is also working on a ThinkPad T480 port, that is not yet ready on this day (the port is on Gerrit but lacks EC support at the moment). It may be possible to add many more Dell OptiPlex and other 7th gen (Intel -Kaby Lake) mainboards to coreboot, using this hack. The *Boot Guard* is Intel +Kaby Lake) motherboards to coreboot, using this hack. The *Boot Guard* is Intel DRM that normally checks a cryptographic signature on the bootblock in the machine, and that bootblock cannot be changed. Various other hacks have also been discovered in the past, such as Trammell @@ -168,7 +168,7 @@ The changes are as follows: A bug in MEv11, on earlier revisions, enables arbitrary code execution. Mate was able to exploit this bug, to disable the Intel Boot Guard, which is handled by the Intel ME. Currently used on the Dell OptiPlex 3050 Micro, but - could be expanded to support more mainboards. (**yes, you could have a libre + could be expanded to support more motherboards. (**yes, you could have a libre ME firmware in the future, because of this bug! Though the Intel ME is still required, albeit it with this hack and lbmk also runs `me_cleaner`**) * Relative to audit6: `lib.sh`: New `mk()` function can be used as shorthand @@ -203,7 +203,7 @@ The changes are as follows: enabling `CONFIG_PAYLOAD_NONE` exclusively. However, advanced users may wish to use something else such as Tianocore, which Libreboot may/will not provide (with Tianocore it's **will not**). Simply set `build_depend=""` - in the `target.cfg` file for a given mainboard, and then enable a payload + in the `target.cfg` file for a given motherboard, and then enable a payload under coreboot's menuconfig interface, or by direct modification of the defconfig file. When `CONFIG_PAYLOAD_NONE` is not set, lbmk will skip adding a payload, because it's a given that then coreboot's own build system @@ -252,7 +252,7 @@ The changes are as follows: downloading of vendor files, without needing specific hacks to be hardcoded in `script/trees`. The `./update trees -b coreboot TREE utils` command is no longer available; instead, do `./update trees -d coreboot TREE`; if - the TREE argument is instead an actual mainboard target, it also does the + the TREE argument is instead an actual motherboard target, it also does the vendor file download, if required. The `./vendor download` command is still available, and multiple board names can now be provided as argument, because for example, `./build roms x220_8mb x230_12mb` would @@ -309,12 +309,12 @@ The changes are as follows: single-tree projects, defined *by argument*, but it was quite error prone and there's no clean way to otherwise do it. We don't use the script this way, anywhere in lbmk, and users are advised the same. -* **`script/roms`: *Only* Support SeaBIOS and Sea*GRUB*, on x86 mainboards**. +* **`script/roms`: *Only* Support SeaBIOS and Sea*GRUB*, on x86 motherboards**. SeaGRUB is a configuration whereby SeaBIOS starts first, but immediately tries to load GRUB from the flash. This complements the other change, listed below. We will no longer provide configurations where GRUB is the primary payload, precisely to mitigate the same issue as described below (lbmk issue 216). - If *GRUB* is enabled, on a given mainboard, SeaBIOS-only setups are not + If *GRUB* is enabled, on a given motherboard, SeaBIOS-only setups are not provided; only SeaGRUB is provided. You can press ESC in the SeaGRUB menu, to access other boot methods besides *GRUB from flash*, so you can use it in the same way; additionally, you can remove the `bootorder` file from CBFS @@ -381,7 +381,7 @@ The changes are as follows: This mkhelper config also integrates `include/rom.sh`, containing these functions. This replicates the functionality originally provided by `script/roms`. -* coreboot: Set `build_depend` on `target.cfg` files for specific mainboards. +* coreboot: Set `build_depend` on `target.cfg` files for specific motherboards. This is used to manually specify which GRUB and SeaBIOS trees should be compiled, required when compiling for a specific target, for the next stage where a payload is added to the coreboot image, because lbmk does diff --git a/site/news/libreboot20241206.Revisions.md b/site/news/libreboot20241206.Revisions.md index 3595d7d..aec9d61 100644 --- a/site/news/libreboot20241206.Revisions.md +++ b/site/news/libreboot20241206.Revisions.md @@ -122,7 +122,7 @@ Revision 7 (18 December 2024) ---------- Added support for fetching ThunderBolt firmware and padding it, on ThinkPad -T480 and T480s mainboards. This can be used for externally flashing the newer +T480 and T480s motherboards. This can be used for externally flashing the newer firmware update, without the need to boot Windows to use Lenovo's own updater. Revision 8 (6 January 2025) diff --git a/site/news/libreboot20241206.md b/site/news/libreboot20241206.md index 0c9fe5e..56b32f9 100644 --- a/site/news/libreboot20241206.md +++ b/site/news/libreboot20241206.md @@ -56,7 +56,7 @@ implementation; that machine could not originally do UEFI. This page lists all changes made since the *Libreboot 20241008* release. Since Libreboot 20241206 is a stable release, there has been a more conservative focus on fixing bugs and in general polishing, though several interesting features -have been added, in addition to numerous new mainboards. +have been added, in addition to numerous new motherboards. Summarised list of changes ------------------------- @@ -84,7 +84,7 @@ In descending order from latest changes to earliest changes: generally for any MEv11-based board, whereas the previous version contained hacky hardcoded logic for only the Dell OptiPlex 3050 Micro. In this Libreboot release, deguard supports the 3050, but also the ThinkPad T480 and T480S, - providing machine-specific ME configurations for each mainboard. Mate's new + providing machine-specific ME configurations for each motherboard. Mate's new deguard implementation essentially does the same thing as Intel's FITC tool, though with a much more terse and minimalist design. It could be expanded for many other things in the future, related to Intel ME. @@ -143,7 +143,7 @@ In descending order from the latest changes to the earliest changes: boards will have U-Boot tweaks made to them, in subsequent hotfixes to the Libreboot 20241206 release, and hotfixes to U-Boot itself are also likely, since U-Boot still requires a lot more testing. U-Boot does work quite well - on a number of tested mainboards; if yours works, or doesn't work, please get + on a number of tested motherboards; if yours works, or doesn't work, please get in touch with the Libreboot project, so that a tally can be kept. * Added Libreboot branding/versioning to the U-Boot bootflow menu, showing the Libreboot logo instead of the U-Boot one, and with a purple background @@ -206,7 +206,7 @@ changes to the earliest changes): on the host's x86\_64 toolchain, on an x86\_64 host. * Enabled the legacy 8254 timer on Dell OptiPlex 3050 Micro, to work around a hanging bug in SeaBIOS. This board was previously GRUB only, but now once again - uses a more flexible SeaGRUB setup like other mainboards do. The static option + uses a more flexible SeaGRUB setup like other motherboards do. The static option table was also disabled. * Merged a patch from Nicholas Chin, that tells the MEC5035 EC to send a correct shutdown signal to the operating system when the power button is pressed. @@ -299,7 +299,7 @@ This log is relative to Libreboot 20241008: * 0c7fb21a062 enable the serial console on thinkpad t60 * eb14a176bc8 Only boot 32-bit u-boot from grub, 64 from seabios * 279e69172f7 make the u-boot grub menuentry more useful -* fdbdf0449b3 Re-enable U-Boot x86 on real mainboards +* fdbdf0449b3 Re-enable U-Boot x86 on real motherboards * b549d1e5f38 u-boot x86 serial/ns16550: disable UART as needed * eba73c778a8 Disable U-Boot x86 except on Qemu * 4bc6ca545e7 fix U-Boot hotkey mention in grub.cfg diff --git a/site/news/microcode.md b/site/news/microcode.md index 74319a0..7f84567 100644 --- a/site/news/microcode.md +++ b/site/news/microcode.md @@ -21,9 +21,9 @@ about microcode on the [FAQ](../faq.md#microcode) and In the next Libreboot releases, ROM images that *exclude* CPU microcode updates will once again be available. Libreboot's [Binary Blob Reduction -Policy](policy.md) dictates that each mainboard must be provided with **as few** +Policy](policy.md) dictates that each motherboard must be provided with **as few** binary blobs as possible, ideally **none**. *At present*, *all* x86 and ARM -mainboards supported in Libreboot (in `lbmk.git` and in releases) can boot +motherboards supported in Libreboot (in `lbmk.git` and in releases) can boot with entirely [free software](https://writefreesoftware.org/), requiring *zero* vendor files of any kind within *coreboot*. @@ -37,7 +37,7 @@ these, or mitigate their existence (for example, `me_cleaner` is used on newer Intel platforms). One exception made in that policy is that CPU microcode updates *must* be -provided by default, on all x86 mainboards. The ARM platforms do not use +provided by default, on all x86 motherboards. The ARM platforms do not use microcode at all. This is a correct policy, because these updates fix critical security and stability issues in the silicon; more information about that can be found [here](policy.md#more-detailed-insight-about-microcode). Since @@ -81,7 +81,7 @@ The change was implemented by [this patch](https://browse.libreboot.org/lbmk.git/commit/?id=f338697b96757977d2a14da00a91236595704fed) on 19 June 2023, in the Libreboot build system. -In `board.cfg` for each mainboard defined (in Libreboot's build system, lbmk), +In `board.cfg` for each motherboard defined (in Libreboot's build system, lbmk), the following entries are available: * `microcode_required="n" or "y"` (it's "n" on ALL boards) @@ -102,14 +102,14 @@ If `microcode_required="n"`, the given ROM image `filename.rom` is either: * If no microcode file exists within it already, such as on ARM - mainboards, the ROM is simply copied to: `filename_nomicrocode.rom` + motherboards, the ROM is simply copied to: `filename_nomicrocode.rom` * If the ROM contains microcode (default on most x86 boards, except Qemu or in rare cases where none are advised), `filename.rom` is retained and is copied to `filename_nomicrocode.rom`, and the CPU microcode update file shall be removed from `filename_nomicrocode.rom`. What this means is that ROMs *with* OR *without* microcode will be present, -where applicable, on ROM images for each given mainboard. This will be the case +where applicable, on ROM images for each given motherboard. This will be the case by default, for ROM images provided in the next release of Libreboot and all releases that follow. @@ -119,7 +119,7 @@ Example: * `seabios_e6400_4mb_libgfxinit_txtmode_noblobs_nomicrocode.rom` It is *strongly* recommended, by the Libreboot project, that you -do *not* use the `_nomicrocode` ROMs on x86 mainboards. These updates +do *not* use the `_nomicrocode` ROMs on x86 motherboards. These updates are *required* to implement stable x86 ISA, otherwise your CPU will behave in strange, unpredictable ways, which could cause severe bugs in software that cause *real* issues. Issues such as data loss. @@ -143,7 +143,7 @@ is what people would otherwise use; thus, Libreboot's modern policy is pragmatic, advancing further the cause of *software freedom*. By contrast, Libreboot's previous policy was to *ban all binary blobs*, which -meant that many mainboards from coreboot were excluded. This resulted in less +meant that many motherboards from coreboot were excluded. This resulted in less people achieving a level of software freedom, because to this day, nothing quite like Libreboot exists with the scope and ambition that it has. Libreboot makes coreboot as easy to use as possible for normal, non-technical people who @@ -152,7 +152,7 @@ like the idea of coreboot, but are not competent to configure it from scratch. Accordingly, the old Libreboot policy, prior to November 2022, *harmed* the Free Software movement. Such harm was *corrected* in November 2022 and, going forward, it is the intention of the Libreboot project to eventually have -build targets *for every mainboard that coreboot supports!* +build targets *for every motherboard that coreboot supports!* ARM platforms ------------- diff --git a/site/news/policy.de.md b/site/news/policy.de.md index 9d8136e..da0acd8 100644 --- a/site/news/policy.de.md +++ b/site/news/policy.de.md @@ -8,7 +8,7 @@ Einleitung Dieser Artikel beschreibt die *Prinzipien* die das Libreboot Projekt definieren. Für Informationen darüber *wie diese Prinzipien in der Praxis angewendet werden*, bitte lies diesen Artikel stattdessen: [Software and hardware -freedom status for each mainboard supported by Libreboot](../freedom-status.md) +freedom status for each motherboard supported by Libreboot](../freedom-status.md) Libreboot's Richtlinie ist für jeden Benutzer so viel Software Freiheit zu bieten wie möglich, auf jeglichem Bit von unterstützter Hardware, und @@ -68,8 +68,8 @@ Blob *reduction* policy Coreboot, upon which Libreboot is based, is mostly libre software but does require vendor files on some platforms. A most common example might be raminit (memory controller initialisation) or video framebuffer initialisation. The -coreboot firmware uses certain vendor code for some of these tasks, on some mainboards, -but some mainboards from coreboot can be initialised with 100% libre source +coreboot firmware uses certain vendor code for some of these tasks, on some motherboards, +but some motherboards from coreboot can be initialised with 100% libre source code, which you can inspect, and compile for your use. Libreboot deals with this situation in a *strict* and *principled* way. The @@ -97,8 +97,8 @@ The libreboot project has the following policy: fact *required* as per libreboot policy. These updates fix CPU bugs, including security bugs, and since the CPU already has non-libre microcode burned into ROM anyway, the only choice is either *x86* or *broken x86*. Thus, libreboot - will only allow coreboot mainboard configurations where microcode updates - are *enabled*, if available for the CPU on that mainboard. + will only allow coreboot motherboard configurations where microcode updates + are *enabled*, if available for the CPU on that motherboard. [Releases after 20230423 will provide separate ROM images with microcode excluded, alongside the default ones that include microcode.](microcode.md) * Intel Management Engine: in the libreboot documentation, words *must* be written @@ -144,7 +144,7 @@ FREEDOM CATALOG A *[freedom status](../freedom-status.md)* page should also be made available, educating people about the software freedom status on each machine supported by the Libreboot build system. Please read: -[Software and hardware freedom status for each mainboard supported by +[Software and hardware freedom status for each motherboard supported by Libreboot](../freedom-status.md). It is desirable to see a world where all hardware and software is libre, under @@ -261,7 +261,7 @@ You may ask: should the other firmwares be free too? The answer is **yes**, but it's complicated: it's not always practical to even study those firmwares. For example, there are so many webcams out there, so many SSDs, so many devices all doing the same thing, but implemented differently. Coreboot is already -hard enough, and there are so many mainboards out there. +hard enough, and there are so many motherboards out there. For example: every SSD has its own controller, and it has to do a lot of error correction at great speed, to mitigate the inherent unreliability of @@ -381,7 +381,7 @@ proprietary software at all, but in order to have less of it, we have to have more - for now. Let's take an extreme example: what if coreboot was entirely binary blobs -for a given mainboard? Coreboot itself only initialises the hardware, and +for a given motherboard? Coreboot itself only initialises the hardware, and jumps to a payload in the flash; in this case, the payload (e.g. GRUB) would still be free software. Surely, all free firmware would be better, but this is still an improvement over the original vendor firmware. The diff --git a/site/news/policy.md b/site/news/policy.md index 516855d..f16916d 100644 --- a/site/news/policy.md +++ b/site/news/policy.md @@ -7,7 +7,7 @@ Free as in freedom! This article describes the *principles* that govern the Libreboot project. For information about *how those principles are applied in practise*, please read -this article instead: [Software and hardware freedom status for each mainboard +this article instead: [Software and hardware freedom status for each motherboard supported by Libreboot](../freedom-status.md) Libreboot's policy is to provide as much @@ -59,8 +59,8 @@ Blob *reduction* policy Coreboot, upon which Libreboot is based, is mostly libre software but does require certain vendor code on some platforms. A most common example might be raminit (memory controller initialisation) or video framebuffer initialisation. The -coreboot firmware uses certain vendor code for some of these tasks, on some mainboards, -but some mainboards from coreboot can be initialised with 100% libre source +coreboot firmware uses certain vendor code for some of these tasks, on some motherboards, +but some motherboards from coreboot can be initialised with 100% libre source code, which you can inspect, and compile for your use. Libreboot deals with this situation in a *strict* and *principled* way. The @@ -88,8 +88,8 @@ The libreboot project has the following policy: fact *required* as per libreboot policy. These updates fix CPU bugs, including security bugs, and since the CPU already has non-libre microcode burned into ROM anyway, the only choice is either *x86* or *broken x86*. Thus, libreboot - will only allow coreboot mainboard configurations where microcode updates - are *enabled*, if available for the CPU on that mainboard. + will only allow coreboot motherboard configurations where microcode updates + are *enabled*, if available for the CPU on that motherboard. [Releases after 20230423 will provide separate ROM images with microcode excluded, alongside the default ones that include microcode.](microcode.md) * Intel Management Engine: in the libreboot documentation, words *must* be written @@ -209,7 +209,7 @@ FREEDOM CATALOG A *[freedom status](../freedom-status.md)* page should also be made available, educating people about the software freedom status on each machine supported by the Libreboot build system. Please read: -[Software and hardware freedom status for each mainboard supported by +[Software and hardware freedom status for each motherboard supported by Libreboot](../freedom-status.md). It is desirable to see a world where all hardware and software is libre, under @@ -323,7 +323,7 @@ You may ask: should the other firmwares be free too? The answer is **yes**, but it's complicated: it's not always practical to even study those firmwares. For example, there are so many webcams out there, so many SSDs, so many devices all doing the same thing, but implemented differently. Coreboot is already -hard enough, and there are so many mainboards out there. +hard enough, and there are so many motherboards out there. For example: every SSD has its own controller, and it has to do a lot of error correction at great speed, to mitigate the inherent unreliability of @@ -443,7 +443,7 @@ proprietary software at all, but in order to have less of it, we have to have more - for now. Let's take an extreme example: what if coreboot was entirely binary blobs -for a given mainboard? Coreboot itself only initialises the hardware, and +for a given motherboard? Coreboot itself only initialises the hardware, and jumps to a payload in the flash; in this case, the payload (e.g. GRUB) would still be free software. Surely, all free firmware would be better, but this is still an improvement over the original vendor firmware. The diff --git a/site/news/policy.uk.md b/site/news/policy.uk.md index 4b7eef4..1ce0d15 100644 --- a/site/news/policy.uk.md +++ b/site/news/policy.uk.md @@ -252,7 +252,7 @@ You may ask: should the other firmwares be free too? The answer is **yes**, but it's complicated: it's not always practical to even study those firmwares. For example, there are so many webcams out there, so many SSDs, so many devices all doing the same thing, but implemented differently. Coreboot is already -hard enough, and there are so many mainboards out there. +hard enough, and there are so many motherboards out there. For example: every SSD has its own controller, and it has to do a lot of error correction at great speed, to mitigate the inherent unreliability of @@ -372,7 +372,7 @@ proprietary software at all, but in order to have less of it, we have to have more - for now. Let's take an extreme example: what if coreboot was entirely binary blobs -for a given mainboard? Coreboot itself only initialises the hardware, and +for a given motherboard? Coreboot itself only initialises the hardware, and jumps to a payload in the flash; in this case, the payload (e.g. GRUB) would still be free software. Surely, all free firmware would be better, but this is still an improvement over the original vendor firmware. The diff --git a/site/news/ports202402.md b/site/news/ports202402.md index 6b8b2f8..417b59e 100644 --- a/site/news/ports202402.md +++ b/site/news/ports202402.md @@ -4,7 +4,7 @@ Libreboot is a free/open source BIOS/UEFI replacement, providing boot firmware that initialises the hardware in your computer, to then load an operating system (e.g. Linux/BSD). It provides many additional benefits such as fast boot speeds, greater security and greater customisation, but the *primary* benefit is [software freedom](https://writefreesoftware.org/learn). -Libreboot has had a slew of new mainboards added recently. The work doesn't +Libreboot has had a slew of new motherboards added recently. The work doesn't stop. Many more will be added, for the next Libreboot release. The boards are: diff --git a/site/news/safety.md b/site/news/safety.md index 00883bd..14ce48f 100644 --- a/site/news/safety.md +++ b/site/news/safety.md @@ -46,7 +46,7 @@ Article **If unsure, just follow this guide. If you follow this guide on a board that does not need vendor files, the resulting ROM images will be identical and therefore nothing will have happened. The inject script is designed to insert -certain files, only if required on a given mainboard.** +certain files, only if required on a given motherboard.** **NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) now, as of 27 January 2024, which is a fork of flashrom. @@ -64,11 +64,11 @@ to any system that requires vendor code to be inserted inside ROM images.** 20240612, 20241008 and 20241206) **UPDATE (16 August 2023): This also applies to the recently added Dell -Precision T1650 mainboard.** +Precision T1650 motherboard.** As I write this post, [Libreboot 20230625](libreboot20230625.md) recently came out. There's technically nothing unsafe about the release itself, but certain -users have been bricking their machines, on the following mainboards: +users have been bricking their machines, on the following motherboards: * Sandybridge platforms (e.g. ThinkPad X220, T420) * Ivybridge platforms (e.g. ThinkPad X230, T430) @@ -102,7 +102,7 @@ Instructions are given here, for how to insert these files on release ROMs: [Insert vendor files on Sandybridge/Ivybridge/Haswell](../docs/install/ivy_has_common.md) The linked guide makes use of vendor scripts, that -handles *all* firmwares, automatically for each given mainboard. It can +handles *all* firmwares, automatically for each given motherboard. It can automatically download and insert all of the following: * Intel ME firmware diff --git a/site/news/update202308.md b/site/news/update202308.md index 9f76866..f4112b9 100644 --- a/site/news/update202308.md +++ b/site/news/update202308.md @@ -16,7 +16,7 @@ Introduction ### SeaBIOS and GRUB updates -For *all* mainboards that provide GRUB or SeaBIOS revisions, new versions of +For *all* motherboards that provide GRUB or SeaBIOS revisions, new versions of these payloads are now used in Libreboot, as implemented by these patches: * GRUB is now on version 2.12-rc1 from 10 July 2023, where previously it was on diff --git a/site/news/x201.md b/site/news/x201.md index a9bffff..9b5f0e4 100644 --- a/site/news/x201.md +++ b/site/news/x201.md @@ -4,7 +4,7 @@ Builds have also been removed from rsync, and build logic has been removed from lbmk. It was discovered that fan controls fail on this -mainboard, when you use a neutered Intel ME image. This issue seems +motherboard, when you use a neutered Intel ME image. This issue seems to only affect these older arrandale machines; the issue was discovered on X201 but probably affects the thinkpad T410, and other mobile arrandale machines. diff --git a/site/other.md b/site/other.md index caab302..cdbe3e2 100644 --- a/site/other.md +++ b/site/other.md @@ -82,7 +82,7 @@ Several coreboot ports (e.g. MSI Z690-A PRO) were implemented directly by the Dasharo project, and later upstreamed into the regular coreboot project. Dasharo has a special emphasis on commercial application, providing tailored -coreboot images for each supported mainboard, with an emphasis on stability. +coreboot images for each supported motherboard, with an emphasis on stability. It's a very different approach than Libreboot's approach; Libreboot provides a more generalised design in its build system and infrastructure. diff --git a/site/tasks/index.md b/site/tasks/index.md index 0bafb80..400742b 100644 --- a/site/tasks/index.md +++ b/site/tasks/index.md @@ -84,14 +84,14 @@ is not exhaustive, it just lists boards that are interesting to us at this time: * HP EliteBook Folio 9480m * HP EliteBook 8770w * HP EliteBook 840 G2 (not in coreboot yet, but should be similar to 820 G2) -* HP Z220 CMI and SFF mainboards -* MSI PRO Z690-A mainboard (supported by Dasharo, not sure about coreboot) - - also, Dasharo supports several more mainboards that aren't in coreboot +* HP Z220 CMI and SFF motherboards +* MSI PRO Z690-A motherboard (supported by Dasharo, not sure about coreboot) - + also, Dasharo supports several more motherboards that aren't in coreboot proper. * KGPE-D16 and KCMA-D8: use the Dasharo fork of coreboot, instead of coreboot `4.11_branch`, because Dasharo's version is much more up to date and more reliable with raminit. D8 isn't supported by Dasharo, but it's - not much different code-wise to the D16 mainboard, so differences + not much different code-wise to the D16 motherboard, so differences in coreboot `4.11_branch` could be adapted to provide a Dasharo port. ### ThinkPad T430s and T431s @@ -123,7 +123,7 @@ Not yet supported, but interesting for the project. Separated thus: already supported by coreboot: -* [ASUS P5Q mainboard](https://doc.coreboot.org/mainboard/asus/p5q.html) (ICH10 / i82801jx), +* [ASUS P5Q motherboard](https://doc.coreboot.org/mainboard/asus/p5q.html) (ICH10 / i82801jx), known variants, e.g.: Pro, C, L-Pro, SE * Scan coreboot code for ICH9/ICH10 systems, or boards with x4x/gm45 based northbridges. Many of these can boot blobless. @@ -296,7 +296,7 @@ being maintained anymore, so they were dropped. Some of those boards are still quite decent today. Various efforts here and there have revived some of them, e.g. the Dasharo project. -Also referenced there: Biostar A68N-5200 mainboard. Check +Also referenced there: Biostar A68N-5200 motherboard. Check coreboot `4.18_branch` for these boards. Coreboot started removing the AGESA boards after release 4.11. @@ -501,7 +501,7 @@ before [argon2 kdf support](../news/argon2.md) was merged in Libreboot GRUB. Seek QUBES endorsement ---------------------- -Libreboot is compatible with Qubes, on several supported mainboards. This could +Libreboot is compatible with Qubes, on several supported motherboards. This could be audited, to provide a complete list. Qubes has a page on their website which lists compatible devices. @@ -605,7 +605,7 @@ This is the preferred method and should be the default (enabled by default), because it can be done from GRUB. So, it could be provided on GRUB setups. We could make it so that all menuentries in the default Libreboot GRUB menu -enable this, when possible on a given mainboard. The GRUB *shell* would not +enable this, when possible on a given motherboard. The GRUB *shell* would not enable it, and special menuentries that don't enable it could be provided (or an entirely separate GRUB config, e.g. `grub_unprotected.cfg`). @@ -842,11 +842,11 @@ or it isn't a VGA ROM. We currently extract an nvidia ROM for certain models of Dell Latitude E6400, but the logic is more or less hardcoded. The script at `script/vendor/download` auto-downloads vendor firmwares needed -on certain mainboards, during build time. Libreboot's build system +on certain motherboards, during build time. Libreboot's build system uses the script at `script/vendor/inject` to add or remove such files after the fact, on release ROMs, because those firmwares are *deleted* at release time. This work began mostly after mid-2022, and has since been expanded to -cover many types of firmwares, used on various mainboards. +cover many types of firmwares, used on various motherboards. Investigate 16MB flash setups ----------------------------- @@ -936,7 +936,7 @@ documentation whenever possible. Static compiled utils in releases --------------------------------- -We curerntly only provide binaries of the firmware itself, for each mainboard, +We curerntly only provide binaries of the firmware itself, for each motherboard, but we do not provide utilities compiled. We provide only source code, and the user is expected to compile utilities from source. @@ -949,7 +949,7 @@ Download repositories in bulk At present, lbmk does what it needs to do, and downloads repositories only as required, upon each stage of the boot process. For example, it may download -gnulib when downloading GRUb, after having maybe built 5 mainboards all with +gnulib when downloading GRUb, after having maybe built 5 motherboards all with only SeaBIOS, having built SeaBIOS before those 5 - it doesn't build SeaBIOS and GRUB before the 5. @@ -1049,9 +1049,9 @@ fewer bytes of code within it. From an lbmk perspective, the upsides are largely ignored because we want to build hundreds and hundreds of ROM images, fast. That means reducing the amount -of time spent to compile for each mainboard. +of time spent to compile for each motherboard. -We currently do this on each mainboard: +We currently do this on each motherboard: * libgfxinit with text mode startup, if possible * libgfxinit with coreboot framebuffer, if possible @@ -1270,7 +1270,7 @@ This might be useful for: ### Partial coreboot re-builds A lot of the time in lbmk, we are building multiple variants of the same -mainboard, for different setups. We could skip a lot of the re-building. +motherboard, for different setups. We could skip a lot of the re-building. This pretty much goes hand in hand with the other entry on this TODO page, about spliting up the various stages in coreboot, and handling CBFS generation within lbmk. @@ -1605,8 +1605,8 @@ It allows the host CPU to access all of VRAM at once, without 32-bit legacy code. The above repository is a proof of concept that shows it working, though the work there is not directly applicable to us. -This feature is only supported commercially on much newer mainboards, and is -unavailable on many older mainboards, but it can be added if the firmware is +This feature is only supported commercially on much newer motherboards, and is +unavailable on many older motherboards, but it can be added if the firmware is updated. This is one of the benefits of the *freedom* coreboot gives you. We could enable this on all the older desktop machines, where otherwise their factory firmware does not and will not enable it (and the above link is for From 712f7395a1dc8cedb490e7084a0f31647d389bc4 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 19 Jan 2025 18:27:00 +0000 Subject: [PATCH 173/279] add favicon to template Signed-off-by: Leah Rowe --- site/template.de.include | 1 + site/template.include | 1 + site/template.it.include | 1 + site/template.uk.include | 1 + site/template.zh-cn.include | 1 + 5 files changed, 5 insertions(+) diff --git a/site/template.de.include b/site/template.de.include index 49f49e8..ff45a34 100644 --- a/site/template.de.include +++ b/site/template.de.include @@ -7,6 +7,7 @@ + diff --git a/site/template.include b/site/template.include index 3e616e7..32a111a 100644 --- a/site/template.include +++ b/site/template.include @@ -7,6 +7,7 @@ + diff --git a/site/template.it.include b/site/template.it.include index 4292fd5..d244527 100644 --- a/site/template.it.include +++ b/site/template.it.include @@ -7,6 +7,7 @@ + diff --git a/site/template.uk.include b/site/template.uk.include index 77f03de..00caafc 100644 --- a/site/template.uk.include +++ b/site/template.uk.include @@ -7,6 +7,7 @@ + diff --git a/site/template.zh-cn.include b/site/template.zh-cn.include index f193ac8..17b4cf6 100644 --- a/site/template.zh-cn.include +++ b/site/template.zh-cn.include @@ -7,6 +7,7 @@ + From 121325f3fb332dcaea49655babdd659336519073 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 19 Jan 2025 18:38:16 +0000 Subject: [PATCH 174/279] add alt tags to homepage images (english) i can't really be bothered to do every image on the site today. i'll add it to my notes and do it another day. Signed-off-by: Leah Rowe --- site/docs/install/c201.md | 4 ++-- site/index.md | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/site/docs/install/c201.md b/site/docs/install/c201.md index 8858ab1..be81fc8 100644 --- a/site/docs/install/c201.md +++ b/site/docs/install/c201.md @@ -82,9 +82,9 @@ below. The write protect screw is located next to the SPI flash chip, circled in red in the picture below. It has to be removed. Refer to the following photos: -[![Screws](https://av.libreboot.org/c201/screws.jpg)](https://av.libreboot.org/c201/screws.jpg) +![ASUS Chromebook C201 underside](https://av.libreboot.org/c201/screws.jpg "ASUS Chromebook C201 underside") -[![WP screw](https://av.libreboot.org/c201/wp-screw.jpg)](https://av.libreboot.org/c201/wp-screw.jpg) +![ASUS Chromebook C201 write protect screw](https://av.libreboot.org/c201/wp-screw.jpg "ASUS Chromebook C201 write protect screw") The write protect screw can be put back in place later, when the device is known to be in a working state. diff --git a/site/index.md b/site/index.md index 6b90aca..e69be70 100644 --- a/site/index.md +++ b/site/index.md @@ -14,7 +14,7 @@ system. [Linux](docs/linux/) and [BSD](docs/bsd/) are well-supported. Help is available via [\#libreboot](https://web.libera.chat/#libreboot) on [Libera](https://libera.chat/) IRC. - +ThinkPad T480 running LibrebootThinkPad T480 running Libreboot You can also [buy Libreboot preinstalled](https://minifree.org/) from Minifree Ltd, on select hardware, aswell as send your compatible hardware @@ -40,7 +40,7 @@ is *why* Libreboot exists. Overview of Libreboot design ---------------------------- - +HP EliteBook 2560p and Folio 9470m running Libreboot Libreboot provides [coreboot](https://coreboot.org/) for [machine initialisation](https://doc.coreboot.org/getting_started/architecture.html), @@ -68,7 +68,7 @@ still [reconfigure](docs/maintain/) Libreboot however you wish. Why use Libreboot? ------------------ - +Various Lenovo ThinkPads running Libreboot If you're already inclined towards free software, maybe already a coreboot user, Libreboot makes it easier to either get started or otherwise maintain coreboot @@ -115,7 +115,7 @@ you [wrest](https://trmm.net/TOCTOU/) back such control. Libreboot is not a fork of coreboot ----------------------------------- - +Dell Precision T1650 running Libreboot In fact, Libreboot tries to stay as close to *stock* coreboot as possible, for each board, but with many different types of configuration provided @@ -146,7 +146,7 @@ The [tasks page](tasks/) lists tasks that could (will) be worked on. It will be updated over time as more tasks are added/completede. If you want to help, you could pick one of these tasks and work on it. - +GRUB boot loader in Libreboot The *single* biggest way you can help is to *add* new motherboards in Libreboot, by submitting a config. Anything coreboot supports can be integrated in From c910f813c41f0e5164eba050a2534e88968386fc Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 19 Jan 2025 18:44:27 +0000 Subject: [PATCH 175/279] s/aswell/as well/ Signed-off-by: Leah Rowe --- site/docs/install/ich9utils.md | 2 +- site/docs/maintain/index.md | 2 +- site/docs/misc/index.md | 2 +- site/index.de.md | 2 +- site/index.it.md | 2 +- site/index.md | 4 ++-- site/index.uk.md | 2 +- site/news/10.md | 2 +- site/news/audit2.md | 2 +- site/news/kgpe-d16.md | 2 +- site/news/libreboot20140720.md | 2 +- site/news/libreboot20210522.md | 2 +- site/news/libreboot20221214.md | 2 +- site/news/libreboot20230319.md | 4 ++-- site/news/libreboot20230625.md | 2 +- site/news/policy.md | 2 +- site/news/ports202402.md | 2 +- site/news/usa-libre-part2.md | 2 +- site/news/usa-libre.md | 2 +- site/tasks/index.md | 4 ++-- 20 files changed, 23 insertions(+), 23 deletions(-) diff --git a/site/docs/install/ich9utils.md b/site/docs/install/ich9utils.md index d161955..324f9c2 100644 --- a/site/docs/install/ich9utils.md +++ b/site/docs/install/ich9utils.md @@ -209,7 +209,7 @@ not rely on dumping the factory.rom image (whereas, ich9deblob does). Simply speaking, `ich9deblob` takes an original dump of the boot flash, where that boot flash contains a descriptor that defines the existence of Intel ME, and modifies it. The Intel Flash Descriptor is modified to disable the ME -region. It disables the ME itself aswell. The GbE region is moved to the +region. It disables the ME itself as well. The GbE region is moved to the location just after the descriptor. The BIOS region is specified as being after the descriptor+GbE regions, filling the rest of the boot flash. diff --git a/site/docs/maintain/index.md b/site/docs/maintain/index.md index 4c617db..3387943 100644 --- a/site/docs/maintain/index.md +++ b/site/docs/maintain/index.md @@ -209,7 +209,7 @@ into copies of these images in files under `bin/`. However, modern lbmk now only puts coreboot images in `bin/`, with payloads included. If you still have `elf/` coreboot images in your lbmk tree, please do not -use them (and you may aswell delete them). +use them (and you may as well delete them). ### cache/ diff --git a/site/docs/misc/index.md b/site/docs/misc/index.md index 39adf9e..728c29e 100644 --- a/site/docs/misc/index.md +++ b/site/docs/misc/index.md @@ -84,7 +84,7 @@ There are also others like Minicom but Screen works nicely. By doing this before booting the X60/T60, you will see console output from libreboot. You will also see GRUB displaying on the serial output, -and you will be able to see MemTest86+ on the serial output aswell. You +and you will be able to see MemTest86+ on the serial output as well. You can also configure your distro so that a terminal (TTY) is accessible from the serial console. diff --git a/site/index.de.md b/site/index.de.md index 2fe49ce..451d23a 100644 --- a/site/index.de.md +++ b/site/index.de.md @@ -17,7 +17,7 @@ und [Libera](https://libera.chat/) IRC. You can also [buy Libreboot preinstalled](https://minifree.org/) from Minifree Ltd, -on select hardware, aswell as send your compatible hardware +on select hardware, as well as send your compatible hardware for [Libreboot preinstallation](https://minifree.org/product/installation-service/). The founder and lead developer of Libreboot, Leah Rowe, also owns and operates Minifree; sales provide funding for Libreboot. diff --git a/site/index.it.md b/site/index.it.md index 042f9da..0a4a77c 100644 --- a/site/index.it.md +++ b/site/index.it.md @@ -15,7 +15,7 @@ su [Libera](https://libera.chat/). You can also [buy Libreboot preinstalled](https://minifree.org/) from Minifree Ltd, -on select hardware, aswell as send your compatible hardware +on select hardware, as well as send your compatible hardware for [Libreboot preinstallation](https://minifree.org/product/installation-service/). The founder and lead developer of Libreboot, Leah Rowe, also owns and operates Minifree; sales provide funding for Libreboot. diff --git a/site/index.md b/site/index.md index e69be70..95d5eb7 100644 --- a/site/index.md +++ b/site/index.md @@ -17,7 +17,7 @@ on [Libera](https://libera.chat/) IRC. ThinkPad T480 running LibrebootThinkPad T480 running Libreboot You can also [buy Libreboot preinstalled](https://minifree.org/) from Minifree Ltd, -on select hardware, aswell as send your compatible hardware +on select hardware, as well as send your compatible hardware for [Libreboot preinstallation](https://minifree.org/product/installation-service/). The founder and lead developer of Libreboot, Leah Rowe, also owns and operates Minifree; sales provide funding for Libreboot. @@ -143,7 +143,7 @@ users](docs/install/). ### How to help The [tasks page](tasks/) lists tasks that could (will) be worked on. It will -be updated over time as more tasks are added/completede. If you want to help, +be updated over time as more tasks are added/completed. If you want to help, you could pick one of these tasks and work on it. GRUB boot loader in Libreboot diff --git a/site/index.uk.md b/site/index.uk.md index e625718..8324d0c 100644 --- a/site/index.uk.md +++ b/site/index.uk.md @@ -16,7 +16,7 @@ x-toc-enable: true You can also [buy Libreboot preinstalled](https://minifree.org/) from Minifree Ltd, -on select hardware, aswell as send your compatible hardware +on select hardware, as well as send your compatible hardware for [Libreboot preinstallation](https://minifree.org/product/installation-service/). The founder and lead developer of Libreboot, Leah Rowe, also owns and operates Minifree; sales provide funding for Libreboot. diff --git a/site/news/10.md b/site/news/10.md index 9402cb3..45547c9 100644 --- a/site/news/10.md +++ b/site/news/10.md @@ -415,7 +415,7 @@ so I try to keep everything very simple. Several other desktop boards were also added during this period, such as the Gigabyte GA-G41M-ES2L board that was ported to coreboot by Damien Zammit. He was compensated for his work; I paid him 4000 AUD for the trouble. Arthur -Heymans contributed several ports aswell, and today still does extensive work +Heymans contributed several ports as well, and today still does extensive work on coreboot - both Damien and Arthur left the Libreboot project, after Libreboot became independent again. diff --git a/site/news/audit2.md b/site/news/audit2.md index 17bb9d5..d97ee15 100644 --- a/site/news/audit2.md +++ b/site/news/audit2.md @@ -17,7 +17,7 @@ Great care is always taken when writing for [lbmk](../docs/maintain/), which is Libreboot's build system, but in the past, auditing was always done ad-hoc. Since the start of 2023, auditing is now a main aspect of Libreboot development, and the result has been that the *quality* of Libreboot's build system has -improved greatly. The same care has been given to documentation aswell. +improved greatly. The same care has been given to documentation as well. Many bugs have been fixed, and the Libreboot build system (lbmk) is generally much more efficient now, compared to the Libreboot 20230625 release. The main diff --git a/site/news/kgpe-d16.md b/site/news/kgpe-d16.md index 315ccc9..839ac0c 100644 --- a/site/news/kgpe-d16.md +++ b/site/news/kgpe-d16.md @@ -27,7 +27,7 @@ me at my email address: [info@minifree.org](mailto:info@minifree.org) I'm also arranging for an assembled machine with KCMA-D8 in it to be sent to me - though I'm not yet sure if that will go through, so if you have one of -those aswell, I'd be interested too. +those as well, I'd be interested too. How I plan to re-add -------------------- diff --git a/site/news/libreboot20140720.md b/site/news/libreboot20140720.md index 7f603e8..1b68c12 100644 --- a/site/news/libreboot20140720.md +++ b/site/news/libreboot20140720.md @@ -38,7 +38,7 @@ Revisions for r20140720 (3rd beta) (20th July 2014) (resources/grub/background/) - Updated buildrom-withgrub to use background.jpg instead of background.png -- Updated buildrom-withgrub to use gnulove.jpg aswell +- Updated buildrom-withgrub to use gnulove.jpg as well - Updated resources/grub/config/macbook21/grub\*cfg to use gnulove.jpg background. - Updated resources/grub/config/{x60,t60,x60t}/grub\*cfg to use diff --git a/site/news/libreboot20210522.md b/site/news/libreboot20210522.md index 90ffe98..bf4078b 100644 --- a/site/news/libreboot20210522.md +++ b/site/news/libreboot20210522.md @@ -648,7 +648,7 @@ However, the following fixes were made for Lenovo X200 recently: This is relevant for Tianocore, a UEFI payload, which libreboot currently does not integrate for any boards, but Tianocore integration is planned in the future. Tianocore provides the option to use any UEFI-compliant operating - system, and this benefits Linux distributions aswell (it Just Works). + system, and this benefits Linux distributions as well (it Just Works). SMMSTORE is basically UEFI's answer to CMOS "NVRAM". it is a way to store configurations, in SPI flash. it's handled via SMM interrupts (SMIs). NOTE: SMMSTOREv2 is also becoming a thing now diff --git a/site/news/libreboot20221214.md b/site/news/libreboot20221214.md index d6e7dd7..cf3b716 100644 --- a/site/news/libreboot20221214.md +++ b/site/news/libreboot20221214.md @@ -268,7 +268,7 @@ These are takes from the git log of `lbmk.git`: osbmk Git changes ------------- -It's important to show the osboot changes aswell. Osboot only became part of +It's important to show the osboot changes as well. Osboot only became part of Libreboot last month, but the "reboot" of the osboot project happened around the start of 2022, when it was put back in sync with Libreboot at the time, so changes from then to now will be showed. The *last* change in osboot as diff --git a/site/news/libreboot20230319.md b/site/news/libreboot20230319.md index cbc737a..2f73031 100644 --- a/site/news/libreboot20230319.md +++ b/site/news/libreboot20230319.md @@ -58,7 +58,7 @@ The changes can be summarised, thus: * **LIBRE** raminit code now available, on Haswell boards (ThinkPad T440p and ThinkPad W541). This is using patches from Angel Pons (hell on coreboot IRC), that are currently still in review on coreboot master. The *old* configs - that use `mrc.bin` for raminit are still available aswell, so this release + that use `mrc.bin` for raminit are still available as well, so this release contains ROMs with libre raminit *and* ROMs with vendor raminit. The reasons are explained below. * **FIXED S3 suspend/resume on Haswell (T440p/W541)** - but only on configs @@ -132,7 +132,7 @@ The libre raminit comes from this patchset: The MRC vendor file (and Angel's replacement code) don't just do raminit, they -handle a few other init tasks aswell, including USB host controller. +handle a few other init tasks as well, including USB host controller. ### New boards, x86 diff --git a/site/news/libreboot20230625.md b/site/news/libreboot20230625.md index d8baa69..347cfa3 100644 --- a/site/news/libreboot20230625.md +++ b/site/news/libreboot20230625.md @@ -213,7 +213,7 @@ Newest changes first, oldest changes last: * gitclone (script): Check whether a given patch exists before applying. Works around a quirk in most shells where `*` will error out if no files exist. * download/grub (script): If downloading `gnulib` fails, scrap the *grub* - download aswell, and exit with non-zero status (fail). This is done because + download as well, and exit with non-zero status (fail). This is done because gnulib is a dependency of GRUB. * blobutil/inject (script): When inserting `gbe.bin`, check that the file actually exists, and exit with non-zero status (fail) otherwise. diff --git a/site/news/policy.md b/site/news/policy.md index f16916d..45d6aca 100644 --- a/site/news/policy.md +++ b/site/news/policy.md @@ -143,7 +143,7 @@ examples of how this very policy is implemented in Libreboot: graphics card enabled; more about Intel graphics is covered below. We could provide the VGA ROM for those extra chips, e.g. Nvidia graphics chips, but we don't. We configure the machines in such a way where the Intel graphics - is used, exclusively, so the dedicated GPU may aswell be turned off, and + is used, exclusively, so the dedicated GPU may as well be turned off, and it *is* turned off in such circumstances. The Intel graphics provide good enough performance and reliable operation for most people, and native initialisation code is available from coreboot to make use of the Intel GPU diff --git a/site/news/ports202402.md b/site/news/ports202402.md index 417b59e..a3d5481 100644 --- a/site/news/ports202402.md +++ b/site/news/ports202402.md @@ -19,7 +19,7 @@ upgrade options available. Notably, it is a *desktop* computer, available as *SFF* (similar to ITX) and *MT* (ATX) variants. It is also also sold with [Libreboot preinstalled](https://minifree.org/product/libreboot-9020/); -I sell these machines preinstalled, aswell as several others, to raise funds +I sell these machines preinstalled, as well as several others, to raise funds for the Libreboot project. Profits from Minifree sales directly fund the Libreboot project. I added this myself recently, based on patches from coreboot Gerrit. diff --git a/site/news/usa-libre-part2.md b/site/news/usa-libre-part2.md index 8fd8e59..e787b16 100644 --- a/site/news/usa-libre-part2.md +++ b/site/news/usa-libre-part2.md @@ -172,7 +172,7 @@ or Apple's profits. No, I'm referring to *yours*. With libre software, *you* have the freedom to make real money; I'm just one of many examples of people who do just that. With *software freedom*, you can take existing technology and build something completely new that becomes the Next Best Thing; everyone -else has this freedom aswell, and people share knowledge freely because of the +else has this freedom as well, and people share knowledge freely because of the culture that type of world inspires. It's the world we live in, now. The people of New Hampshire will benefit greatly, if such freedoms are diff --git a/site/news/usa-libre.md b/site/news/usa-libre.md index 3a86d23..3473036 100644 --- a/site/news/usa-libre.md +++ b/site/news/usa-libre.md @@ -60,7 +60,7 @@ detail. It's not very long. At first glance, it may not seem that the bill affects individuals, but don't be fooled; this is a hugely positive step forward for everyone! If the state is -using Libre Software, that most likely means it'll be used in education aswell. +using Libre Software, that most likely means it'll be used in education as well. Although perhaps not immediately and readily apparent, this is a stake in the heart of proprietary software's current dominance, because it would remove one diff --git a/site/tasks/index.md b/site/tasks/index.md index 400742b..df1da84 100644 --- a/site/tasks/index.md +++ b/site/tasks/index.md @@ -344,7 +344,7 @@ For UEFI purposes, U-Boot seems more mature, and it offers other features like SPL. As already stated, this is the preferred UEFI implementation for Libreboot, but uefistub is listed too because it's interesting. -Probably useless, since U-Boot is more complete. We may aswell use U-Boot, but +Probably useless, since U-Boot is more complete. We may as well use U-Boot, but uefistub will remain mentioned here for the time being. The context for uefistub is linuxboot-only setups; this is where uefistub can truly shine, specifically on ARM64 devices. @@ -1059,7 +1059,7 @@ We currently do this on each motherboard: This is often literally 3 different ROM images, for all of the above. It is possible to have a libgfxinit setup where SeaBIOS is the payload, so that VGA -ROMs can be executed aswell, but this has several issues, covered elsewhere on +ROMs can be executed as well, but this has several issues, covered elsewhere on this page. It would be nice if all of this could be runtime options instead. By "runtime", From 3f90f156c37df78d236a53f8b687c0db743b75e0 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 19 Jan 2025 18:46:44 +0000 Subject: [PATCH 176/279] fix meta character encoding (utf-8) Signed-off-by: Leah Rowe --- site/template.de.include | 2 +- site/template.include | 2 +- site/template.it.include | 2 +- site/template.uk.include | 2 +- site/template.zh-cn.include | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/site/template.de.include b/site/template.de.include index ff45a34..1c89ccc 100644 --- a/site/template.de.include +++ b/site/template.de.include @@ -1,7 +1,7 @@ - + diff --git a/site/template.include b/site/template.include index 32a111a..29dda6a 100644 --- a/site/template.include +++ b/site/template.include @@ -1,7 +1,7 @@ - + diff --git a/site/template.it.include b/site/template.it.include index d244527..2ea72ec 100644 --- a/site/template.it.include +++ b/site/template.it.include @@ -1,7 +1,7 @@ - + diff --git a/site/template.uk.include b/site/template.uk.include index 00caafc..d98ae1a 100644 --- a/site/template.uk.include +++ b/site/template.uk.include @@ -1,7 +1,7 @@ - + diff --git a/site/template.zh-cn.include b/site/template.zh-cn.include index 17b4cf6..301b689 100644 --- a/site/template.zh-cn.include +++ b/site/template.zh-cn.include @@ -1,7 +1,7 @@ - + From fceaf19cd82a16bbad70e90cbf9eeecf1183004f Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 19 Jan 2025 19:04:27 +0000 Subject: [PATCH 177/279] link writefreesoftware.org aggressively Signed-off-by: Leah Rowe --- site/docs/install/c201.md | 5 +++-- site/docs/install/d945gclf.md | 5 +++-- site/docs/install/dell3050.md | 5 +++-- site/docs/install/dell7010.md | 3 ++- site/docs/install/dell780.md | 5 +++-- site/docs/install/dell9020.md | 5 +++-- site/docs/install/ga-g41m-es2l.md | 5 +++-- site/docs/install/hp2170p.md | 5 +++-- site/docs/install/hp2560p.md | 5 +++-- site/docs/install/hp2570p.md | 5 +++-- site/docs/install/hp8200sff.md | 5 +++-- site/docs/install/hp820g2.md | 5 +++-- site/docs/install/hp8460p.md | 5 +++-- site/docs/install/hp8470p.md | 5 +++-- site/docs/install/hp8560w.md | 5 +++-- site/docs/install/hp9470m.md | 5 +++-- site/docs/install/index.md | 4 +++- site/docs/install/ivy_has_common.md | 3 ++- site/docs/install/ivy_internal.md | 5 +++-- site/docs/install/kcma-d8.md | 5 +++-- site/docs/install/kfsn4-dre.md | 5 +++-- site/docs/install/kgpe-d16.md | 5 +++-- site/docs/install/latitude.md | 3 ++- site/docs/install/macbook21.md | 5 +++-- site/docs/install/r400.md | 5 +++-- site/docs/install/t1650.md | 5 +++-- site/docs/install/t400.md | 5 +++-- site/docs/install/t420_external.md | 5 +++-- site/docs/install/t440p_external.md | 5 +++-- site/docs/install/t480.md | 5 +++-- site/docs/install/t500.md | 5 +++-- site/docs/install/t60_unbrick.md | 6 ++++-- site/docs/install/w541_external.md | 5 +++-- site/docs/install/x200.md | 5 +++-- site/docs/install/x230_external.md | 5 +++-- site/docs/install/x60_unbrick.md | 5 +++-- site/docs/install/x60tablet_unbrick.md | 5 +++-- 37 files changed, 109 insertions(+), 70 deletions(-) diff --git a/site/docs/install/c201.md b/site/docs/install/c201.md index be81fc8..63273e3 100644 --- a/site/docs/install/c201.md +++ b/site/docs/install/c201.md @@ -7,8 +7,9 @@ Open source BIOS/UEFI firmware ------------------------------ This document will teach you how to install Libreboot, on your -ASUS Chromebook C201 motherboard. Libreboot replaces proprietary -BIOS/UEFI firmware. +ASUS Chromebook C201 motherboard. +Libreboot is a [Free Software](https://writefreesoftware.org/learn) project +that replaces proprietary BIOS/UEFI firmware. WARNING: This board is known to have non-functioning video init at the time of writing, 19 February 2023. It is as yet unsolved. diff --git a/site/docs/install/d945gclf.md b/site/docs/install/d945gclf.md index 2dc97ba..ae6efe1 100644 --- a/site/docs/install/d945gclf.md +++ b/site/docs/install/d945gclf.md @@ -52,8 +52,9 @@ Open source BIOS/UEFI firmware ------------------------------ This document will teach you how to install Libreboot, on your -Intel D945GCLF and/or D945GCLF2 desktop motherboard. Libreboot replaces -proprietary BIOS/UEFI firmware. +Intel D945GCLF and/or D945GCLF2 desktop motherboard. +Libreboot is a [Free Software](https://writefreesoftware.org/learn) project +that replaces proprietary BIOS/UEFI firmware. If you just want flashing instructions, go to [../install/d945gclf.md](../install/d945gclf.md) diff --git a/site/docs/install/dell3050.md b/site/docs/install/dell3050.md index e703be0..e06a66c 100644 --- a/site/docs/install/dell3050.md +++ b/site/docs/install/dell3050.md @@ -56,8 +56,9 @@ Open source BIOS/UEFI firmware ------------------------- This document will teach you how to install Libreboot, on your -Dell OptiPlex 3050 Micro desktop motherboard. Libreboot replaces proprietary -BIOS/UEFI firmware. +Dell OptiPlex 3050 Micro desktop motherboard. +Libreboot is a [Free Software](https://writefreesoftware.org/learn) project +that replaces proprietary BIOS/UEFI firmware. **Unavailable in Libreboot 20240612 or earlier. You must [compile from source](../build/), or use a version newer than Libreboot 20240612.** diff --git a/site/docs/install/dell7010.md b/site/docs/install/dell7010.md index 564046a..493a003 100644 --- a/site/docs/install/dell7010.md +++ b/site/docs/install/dell7010.md @@ -64,7 +64,8 @@ Open source BIOS/UEFI firmware This document will teach you how to install Libreboot, on your Dell OptiPlex 7010 SFF and/or OptiPlex 9010 SFF desktop motherboard. -Libreboot replaces proprietary BIOS/UEFI firmware. +Libreboot is a [Free Software](https://writefreesoftware.org/learn) project +that replaces proprietary BIOS/UEFI firmware. **Unavailable in Libreboot 20240612 or earlier. You must [compile from source](../build/), or use a version newer than Libreboot 20240612.** diff --git a/site/docs/install/dell780.md b/site/docs/install/dell780.md index 28a52a9..8ef63c6 100644 --- a/site/docs/install/dell780.md +++ b/site/docs/install/dell780.md @@ -57,8 +57,9 @@ Open source BIOS/UEFI firmware ------------------------- This document will teach you how to install Libreboot, on your -Dell OptiPlex 780 desktop motherboard. Libreboot replaces proprietary -BIOS/UEFI firmware. +Dell OptiPlex 780 desktop motherboard. +Libreboot is a [Free Software](https://writefreesoftware.org/learn) project +that replaces proprietary BIOS/UEFI firmware. **Unavailable in Libreboot 20240612 or earlier. You must [compile from source](../build/), or use a version newer than Libreboot 20240612.** diff --git a/site/docs/install/dell9020.md b/site/docs/install/dell9020.md index 7264cd2..7d4c219 100644 --- a/site/docs/install/dell9020.md +++ b/site/docs/install/dell9020.md @@ -67,8 +67,9 @@ Open source BIOS/UEFI firmware ------------------------------ This document will teach you how to install Libreboot, on your -Dell OptiPlex 9020/7020 SFF/MT or XE2 SFF/MT desktop motherboard. Libreboot -replaces proprietary BIOS/UEFI firmware. +Dell OptiPlex 9020/7020 SFF/MT or XE2 SFF/MT desktop motherboard. +Libreboot is a [Free Software](https://writefreesoftware.org/learn) project +that replaces proprietary BIOS/UEFI firmware. **Unavailable in Libreboot 20240126 or earlier. You must [compile from source](../build/), or use a version newer than Libreboot 20240126** diff --git a/site/docs/install/ga-g41m-es2l.md b/site/docs/install/ga-g41m-es2l.md index 3d3e907..b5995f6 100644 --- a/site/docs/install/ga-g41m-es2l.md +++ b/site/docs/install/ga-g41m-es2l.md @@ -52,8 +52,9 @@ Open source BIOS/UEFI firmware ------------------------------ This document will teach you how to install Libreboot, on your -Gigabyte GA-G41M-ES2L desktop motherboard. Libreboot replaces proprietary -BIOS/UEFI firmware. +Gigabyte GA-G41M-ES2L desktop motherboard. +Libreboot is a [Free Software](https://writefreesoftware.org/learn) project +that replaces proprietary BIOS/UEFI firmware. This is a desktop board using intel hardware (circa \~2009, ICH7 southbridge, similar performance-wise to the ThinkPad X200. It can make diff --git a/site/docs/install/hp2170p.md b/site/docs/install/hp2170p.md index 8ff6be8..0b8fbe3 100644 --- a/site/docs/install/hp2170p.md +++ b/site/docs/install/hp2170p.md @@ -60,8 +60,9 @@ Open source BIOS/UEFI firmware ------------------------------ This document will teach you how to install Libreboot, on your -HP EliteBook 2170p laptop motherboard. Libreboot replaces proprietary -BIOS/UEFI firmware. +HP EliteBook 2170p laptop motherboard. +Libreboot is a [Free Software](https://writefreesoftware.org/learn) project +that replaces proprietary BIOS/UEFI firmware. This is a portable, 11.6" Ivy Bridge platform from HP. More information is available on the [coreboot diff --git a/site/docs/install/hp2560p.md b/site/docs/install/hp2560p.md index b3c4db2..f340a1c 100644 --- a/site/docs/install/hp2560p.md +++ b/site/docs/install/hp2560p.md @@ -40,8 +40,9 @@ Open source BIOS/UEFI firmware ------------------------- This document will teach you how to install Libreboot, on your -HP EliteBook 2560p laptop motherboard. Libreboot replaces proprietary -BIOS/UEFI firmware. +HP EliteBook 2560p laptop motherboard. +Libreboot is a [Free Software](https://writefreesoftware.org/learn) project +that replaces proprietary BIOS/UEFI firmware. HP EliteBook 2560p is a 12.5" laptop you can read more about here: diff --git a/site/docs/install/hp2570p.md b/site/docs/install/hp2570p.md index cfef220..3208d5a 100644 --- a/site/docs/install/hp2570p.md +++ b/site/docs/install/hp2570p.md @@ -40,8 +40,9 @@ Open source BIOS/UEFI firmware ------------------------------ This document will teach you how to install Libreboot, on your -HP EliteBook 2570p laptop motherboard. Libreboot replaces proprietary -BIOS/UEFI firmware. +HP EliteBook 2570p laptop motherboard. +Libreboot is a [Free Software](https://writefreesoftware.org/learn) project +that replaces proprietary BIOS/UEFI firmware. Brief board info ---------------- diff --git a/site/docs/install/hp8200sff.md b/site/docs/install/hp8200sff.md index 1fc7092..6b1b61b 100644 --- a/site/docs/install/hp8200sff.md +++ b/site/docs/install/hp8200sff.md @@ -55,8 +55,9 @@ Open source BIOS/UEFI firmware ------------------------------ This document will teach you how to install Libreboot, on your -HP Elite 8200 SFF desktop motherboard. Libreboot replaces proprietary -BIOS/UEFI firmware. +HP Elite 8200 SFF desktop motherboard. +Libreboot is a [Free Software](https://writefreesoftware.org/learn) project +that replaces proprietary BIOS/UEFI firmware. Libreboot has support for this, in the Git repository and release versions from 20230423 onwards. diff --git a/site/docs/install/hp820g2.md b/site/docs/install/hp820g2.md index 901f6ac..831348f 100644 --- a/site/docs/install/hp820g2.md +++ b/site/docs/install/hp820g2.md @@ -65,8 +65,9 @@ Open source BIOS/UEFI firmware ------------------------- This document will teach you how to install Libreboot, on your -HP EliteBook 820 G2 laptop motherboard. Libreboot replaces proprietary -BIOS/UEFI firmware. +HP EliteBook 820 G2 laptop motherboard. +Libreboot is a [Free Software](https://writefreesoftware.org/learn) project +that replaces proprietary BIOS/UEFI firmware. Please build this from source with lbmk: diff --git a/site/docs/install/hp8460p.md b/site/docs/install/hp8460p.md index 82532c1..a4ea240 100644 --- a/site/docs/install/hp8460p.md +++ b/site/docs/install/hp8460p.md @@ -61,8 +61,9 @@ Open source BIOS/UEFI firmware ------------------------- These next sections will teach you how to install Libreboot, on your -HP EliteBook 8460p laptop motherboard. Libreboot replaces proprietary -BIOS/UEFI firmware. +HP EliteBook 8460p laptop motherboard. +Libreboot is a [Free Software](https://writefreesoftware.org/learn) project +that replaces proprietary BIOS/UEFI firmware. **Unavailable in Libreboot 20231106 or earlier. You must [compile from source](../build/), or use a release newer than 20231106.** diff --git a/site/docs/install/hp8470p.md b/site/docs/install/hp8470p.md index 659fc72..c64804c 100644 --- a/site/docs/install/hp8470p.md +++ b/site/docs/install/hp8470p.md @@ -61,8 +61,9 @@ Open source BIOS/UEFI firmware ------------------------------ This document will teach you how to install Libreboot, on your -HP EliteBook 8470p laptop motherboard. Libreboot replaces proprietary -BIOS/UEFI firmware. +HP EliteBook 8470p laptop motherboard. +Libreboot is a [Free Software](https://writefreesoftware.org/learn) project +that replaces proprietary BIOS/UEFI firmware. Official information about the laptop can be found here: diff --git a/site/docs/install/hp8560w.md b/site/docs/install/hp8560w.md index 69da627..bd7470b 100644 --- a/site/docs/install/hp8560w.md +++ b/site/docs/install/hp8560w.md @@ -61,8 +61,9 @@ Open source BIOS/UEFI firmware ------------------------- These next sections will teach you how to install Libreboot, on your -HP EliteBook 8560w laptop motherboard. Libreboot replaces proprietary -BIOS/UEFI firmware. +HP EliteBook 8560w laptop motherboard. +Libreboot is a [Free Software](https://writefreesoftware.org/learn) project +that replaces proprietary BIOS/UEFI firmware. **Unavailable in Libreboot 20240126 or earlier. You must [compile from source](../build/), or use a release newer than 20240126.** diff --git a/site/docs/install/hp9470m.md b/site/docs/install/hp9470m.md index 09d0023..6b53383 100644 --- a/site/docs/install/hp9470m.md +++ b/site/docs/install/hp9470m.md @@ -40,8 +40,9 @@ Open source BIOS/UEFI firmware ------------------------------ These sections will teach you how to install Libreboot, on your -HP EliteBook Folio 9470m laptop motherboard. Libreboot replaces proprietary -BIOS/UEFI firmware. +HP EliteBook Folio 9470m laptop motherboard. +Libreboot is a [Free Software](https://writefreesoftware.org/learn) project +that replaces proprietary BIOS/UEFI firmware. HP EliteBook Folio 9470m is a 14" ultrabook with a backlit keyboard. diff --git a/site/docs/install/index.md b/site/docs/install/index.md index d5fb175..d6497c1 100644 --- a/site/docs/install/index.md +++ b/site/docs/install/index.md @@ -8,7 +8,9 @@ Open source BIOS/UEFI firmware This article will teach you how to install Libreboot, on any of the supported laptop, desktop and server motherboards of Intel/AMD x86/x86\_64 and ARM64 -platform. Libreboot replaces proprietary BIOS/UEFI firmware. +platform. +Libreboot is a [Free Software](https://writefreesoftware.org/learn) project +that replaces proprietary BIOS/UEFI firmware. **ALWAYS remember to make a backup of the current flash, when overwriting it, regardless of what firmware you currently have and what firmware you're diff --git a/site/docs/install/ivy_has_common.md b/site/docs/install/ivy_has_common.md index 8382c39..c249bac 100644 --- a/site/docs/install/ivy_has_common.md +++ b/site/docs/install/ivy_has_common.md @@ -6,7 +6,8 @@ x-toc-enable: true Open source BIOS/UEFI firmware ------------------------------ -Libreboot replaces proprietary BIOS/UEFI firmware, but some newer boards still +Libreboot is a [Free Software](https://writefreesoftware.org/learn) project +that replaces proprietary BIOS/UEFI firmware, but some newer boards still occasionally need code from the hardware manufacturer in order to boot properly. This document will teach you how to handle such a scenario, and how to check for it. For more context, please read Libreboot's [Binary Blob Reduction diff --git a/site/docs/install/ivy_internal.md b/site/docs/install/ivy_internal.md index d782e77..217c086 100644 --- a/site/docs/install/ivy_internal.md +++ b/site/docs/install/ivy_internal.md @@ -7,8 +7,9 @@ Open source BIOS/UEFI firmware ------------------------------ This document will teach you how to install Libreboot, on your -Lenovo ThinkPad X230 laptop motherboard. Libreboot replaces proprietary -BIOS/UEFI firmware. +Lenovo ThinkPad X230 laptop motherboard. +Libreboot is a [Free Software](https://writefreesoftware.org/learn) project +that replaces proprietary BIOS/UEFI firmware. This document demonstrates an *internal flashing* method, by exploiting a little-known security vulnerability in Lenovo's original UEFI firmware. diff --git a/site/docs/install/kcma-d8.md b/site/docs/install/kcma-d8.md index b2bf0ff..bd9801f 100644 --- a/site/docs/install/kcma-d8.md +++ b/site/docs/install/kcma-d8.md @@ -9,8 +9,9 @@ Open source BIOS/UEFI firmware ------------------------------ This document will teach you how to install Libreboot, on your -ASUS KCMA-D8 server/workstation motherboard. Libreboot replaces proprietary -BIOS/UEFI firmware. +ASUS KCMA-D8 server/workstation motherboard. +Libreboot is a [Free Software](https://writefreesoftware.org/learn) project +that replaces proprietary BIOS/UEFI firmware. Specifications available here: diff --git a/site/docs/install/kfsn4-dre.md b/site/docs/install/kfsn4-dre.md index 31fa80c..68829f8 100644 --- a/site/docs/install/kfsn4-dre.md +++ b/site/docs/install/kfsn4-dre.md @@ -52,8 +52,9 @@ Open source BIOS/UEFI firmware ------------------------------ This document will teach you how to install Libreboot, on your -ASUS KFSN4-DRE server/workstation motherboard. Libreboot replaces proprietary -BIOS/UEFI firmware. +ASUS KFSN4-DRE server/workstation motherboard. +Libreboot is a [Free Software](https://writefreesoftware.org/learn) project +that replaces proprietary BIOS/UEFI firmware. This is a server board using AMD hardware (Fam10h). It can also be used for building a high-powered workstation. Powered by libreboot. diff --git a/site/docs/install/kgpe-d16.md b/site/docs/install/kgpe-d16.md index 88f262d..19a3e7c 100644 --- a/site/docs/install/kgpe-d16.md +++ b/site/docs/install/kgpe-d16.md @@ -7,8 +7,9 @@ Open source BIOS/UEFI firmware ------------------------------ This document will teach you how to install Libreboot, on your -ASUS KGPE-D16 server/workstation motherboard. Libreboot replaces proprietary -BIOS/UEFI firmware. +ASUS KGPE-D16 server/workstation motherboard. +Libreboot is a [Free Software](https://writefreesoftware.org/learn) project +that replaces proprietary BIOS/UEFI firmware. TODO: OLD page. TODO: check that all the info is still valid. diff --git a/site/docs/install/latitude.md b/site/docs/install/latitude.md index 10d72b1..89472fc 100644 --- a/site/docs/install/latitude.md +++ b/site/docs/install/latitude.md @@ -10,7 +10,8 @@ This document will teach you how to install Libreboot, on various models of Dell Latitude laptop motherboard, namely Dell Latitude E4300, E6400, E6400 XFR, E6400 ATG, E5420, E5520, E5530, E6420, E6430, E6520, E6530, E6230, E6330 and E6220; you must only install Libreboot on models with *Intel graphics*. -Libreboot replaces proprietary BIOS/UEFI firmware. +Libreboot is a [Free Software](https://writefreesoftware.org/learn) project +that replaces proprietary BIOS/UEFI firmware. In case any models are unlisted in the above paragraph, you should also check the full list of supported Dell Latitude models on the [Libreboot hardware diff --git a/site/docs/install/macbook21.md b/site/docs/install/macbook21.md index bde8002..c18e9de 100644 --- a/site/docs/install/macbook21.md +++ b/site/docs/install/macbook21.md @@ -55,8 +55,9 @@ Open source BIOS/UEFI firmware ------------------------- This document will teach you how to install Libreboot, on your -Apple MacBook 2,1 2005-2007 laptop motherboard. Libreboot replaces proprietary -BIOS/UEFI firmware. +Apple MacBook 2,1 2005-2007 laptop motherboard. +Libreboot is a [Free Software](https://writefreesoftware.org/learn) project +that replaces proprietary BIOS/UEFI firmware. The MacBook1,1 and MacBook2,1 are very similar to the ThinkPad X60. It shares some hardware with the X60 such as the chipset. diff --git a/site/docs/install/r400.md b/site/docs/install/r400.md index a68fac2..358f459 100644 --- a/site/docs/install/r400.md +++ b/site/docs/install/r400.md @@ -56,8 +56,9 @@ Open source BIOS/UEFI firmware ------------------------- This document will teach you how to install Libreboot, on your -Lenovo ThinkPad R400 laptop motherboard. Libreboot replaces proprietary -BIOS/UEFI firmware. +Lenovo ThinkPad R400 laptop motherboard. +Libreboot is a [Free Software](https://writefreesoftware.org/learn) project +that replaces proprietary BIOS/UEFI firmware. It is believed that all or most R400 laptops are compatible. See notes about [CPU diff --git a/site/docs/install/t1650.md b/site/docs/install/t1650.md index 75269d2..d6e0bed 100644 --- a/site/docs/install/t1650.md +++ b/site/docs/install/t1650.md @@ -59,8 +59,9 @@ Open source BIOS/UEFI firmware ------------------------------ This document will teach you how to install Libreboot, on your -Dell Precision T1650 desktop motherboard. Libreboot replaces proprietary -BIOS/UEFI firmware. +Dell Precision T1650 desktop motherboard. +Libreboot is a [Free Software](https://writefreesoftware.org/learn) project +that replaces proprietary BIOS/UEFI firmware. **Unavailable in Libreboot 20230625 or earlier. You must [compile from source](../build/), or use at least Libreboot 20231021.** diff --git a/site/docs/install/t400.md b/site/docs/install/t400.md index 1821097..c6c6a02 100644 --- a/site/docs/install/t400.md +++ b/site/docs/install/t400.md @@ -55,8 +55,9 @@ Open source BIOS/UEFI firmware ------------------------- This document will teach you how to install Libreboot, on your -Lenovo ThinkPad T400 laptop motherboard. Libreboot replaces proprietary -BIOS/UEFI firmware. +Lenovo ThinkPad T400 laptop motherboard. +Libreboot is a [Free Software](https://writefreesoftware.org/learn) project +that replaces proprietary BIOS/UEFI firmware. It is believed that all or most laptops of the model T400 are compatible. See notes about [CPU diff --git a/site/docs/install/t420_external.md b/site/docs/install/t420_external.md index 89bf973..f6f7bd9 100644 --- a/site/docs/install/t420_external.md +++ b/site/docs/install/t420_external.md @@ -7,8 +7,9 @@ Open source BIOS/UEFI firmware ------------------------------ This document will teach you how to install Libreboot, on your -Lenovo ThinkPad T420 laptop motherboard. Libreboot replaces proprietary -BIOS/UEFI firmware. +Lenovo ThinkPad T420 laptop motherboard. +Libreboot is a [Free Software](https://writefreesoftware.org/learn) project +that replaces proprietary BIOS/UEFI firmware. The following instructions expect you to have these on hand: diff --git a/site/docs/install/t440p_external.md b/site/docs/install/t440p_external.md index 23c2b37..24691ee 100644 --- a/site/docs/install/t440p_external.md +++ b/site/docs/install/t440p_external.md @@ -7,8 +7,9 @@ Open source BIOS/UEFI firmware ------------------------- This document will teach you how to install Libreboot, on your -Lenovo ThinkPad T440p laptop motherboard. Libreboot replaces proprietary -BIOS/UEFI firmware. +Lenovo ThinkPad T440p laptop motherboard. +Libreboot is a [Free Software](https://writefreesoftware.org/learn) project +that replaces proprietary BIOS/UEFI firmware. Buy Libreboot preinstalled -------------------------- diff --git a/site/docs/install/t480.md b/site/docs/install/t480.md index 8128f2a..44f3297 100644 --- a/site/docs/install/t480.md +++ b/site/docs/install/t480.md @@ -62,8 +62,9 @@ Open source BIOS/UEFI firmware ------------------------------ This document will teach you how to install Libreboot, on your -Lenovo ThinkPad T480 and/or T480s laptop motherboard. Libreboot replaces -proprietary BIOS/UEFI firmware. +Lenovo ThinkPad T480 and/or T480s laptop motherboard. +Libreboot is a [Free Software](https://writefreesoftware.org/learn) project +that replaces proprietary BIOS/UEFI firmware. Buy pre-installed ----------------- diff --git a/site/docs/install/t500.md b/site/docs/install/t500.md index 7beaa1a..c1a035c 100644 --- a/site/docs/install/t500.md +++ b/site/docs/install/t500.md @@ -55,8 +55,9 @@ Open source BIOS/UEFI firmware ------------------------- This document will teach you how to install Libreboot, on your -Lenovo ThinkPad T500 or ThinkPad W500 laptop motherboard. Libreboot replaces -proprietary BIOS/UEFI firmware. +Lenovo ThinkPad T500 or ThinkPad W500 laptop motherboard. +Libreboot is a [Free Software](https://writefreesoftware.org/learn) project +that replaces proprietary BIOS/UEFI firmware. It is believed that all or most T500 laptops are compatible. See notes about [CPU diff --git a/site/docs/install/t60_unbrick.md b/site/docs/install/t60_unbrick.md index 85b6ca3..9ba6d86 100644 --- a/site/docs/install/t60_unbrick.md +++ b/site/docs/install/t60_unbrick.md @@ -7,8 +7,10 @@ Open source BIOS/UEFI firmware ------------------------------ This document will teach you how to install Libreboot, on your -Lenovo Thinkpad T60 motherboard. Libreboot replaces proprietary -BIOS/UEFI firmware. *This* version of the guide shows you how to +Lenovo Thinkpad T60 motherboard. +Libreboot is a [Free Software](https://writefreesoftware.org/learn) project +that replaces proprietary BIOS/UEFI firmware. +*This* version of the guide shows you how to flash using external hardware, which can be useful for un-bricking. **NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) diff --git a/site/docs/install/w541_external.md b/site/docs/install/w541_external.md index e439ba1..c0fea61 100644 --- a/site/docs/install/w541_external.md +++ b/site/docs/install/w541_external.md @@ -7,8 +7,9 @@ Open source BIOS/UEFI firmware ------------------------- This document will teach you how to install Libreboot, on your -Lenovo ThinkPad W541 and/or W540 laptop motherboard. Libreboot replaces -proprietary BIOS/UEFI firmware. +Lenovo ThinkPad W541 and/or W540 laptop motherboard. +Libreboot is a [Free Software](https://writefreesoftware.org/learn) project +that replaces proprietary BIOS/UEFI firmware. NOTE: The same image for W541 also works on the W540, as the motherboards are identical for coreboot purposes. diff --git a/site/docs/install/x200.md b/site/docs/install/x200.md index 8287ae5..e35fc95 100644 --- a/site/docs/install/x200.md +++ b/site/docs/install/x200.md @@ -53,8 +53,9 @@ Open source BIOS/UEFI firmware ------------------------- This document will teach you how to install Libreboot, on your -Lenovo ThinkPad X200, X200s or X200 Tablet laptop motherboard. Libreboot -replaces proprietary BIOS/UEFI firmware. +Lenovo ThinkPad X200, X200s or X200 Tablet laptop motherboard. +Libreboot is a [Free Software](https://writefreesoftware.org/learn) project +that replaces proprietary BIOS/UEFI firmware. It is believed that all X200 laptops are compatible. X200S and X200 Tablet will also work, [depending on the configuration](#x200s). diff --git a/site/docs/install/x230_external.md b/site/docs/install/x230_external.md index 1b89e18..155fb68 100644 --- a/site/docs/install/x230_external.md +++ b/site/docs/install/x230_external.md @@ -7,8 +7,9 @@ Open source BIOS/UEFI firmware ------------------------------ This document will teach you how to install Libreboot, on your -Lenovo ThinkPad X230 laptop motherboard. Libreboot replaces proprietary -BIOS/UEFI firmware. +Lenovo ThinkPad X230 laptop motherboard. +Libreboot is a [Free Software](https://writefreesoftware.org/learn) project +that replaces proprietary BIOS/UEFI firmware. **Minifree now sells the Libreboot T480, instead of the Libreboot X230. See: ** diff --git a/site/docs/install/x60_unbrick.md b/site/docs/install/x60_unbrick.md index 049c12d..c87b855 100644 --- a/site/docs/install/x60_unbrick.md +++ b/site/docs/install/x60_unbrick.md @@ -7,8 +7,9 @@ Open source BIOS/UEFI firmware ------------------------------ This document will teach you how to install Libreboot, on your -Lenovo ThinkPad X60 laptop motherboard. Libreboot replaces proprietary -BIOS/UEFI firmware. +Lenovo ThinkPad X60 laptop motherboard. +Libreboot is a [Free Software](https://writefreesoftware.org/learn) project +that replaces proprietary BIOS/UEFI firmware. **NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) now, as of 27 January 2024, which is a fork of flashrom. diff --git a/site/docs/install/x60tablet_unbrick.md b/site/docs/install/x60tablet_unbrick.md index 19bea73..304c380 100644 --- a/site/docs/install/x60tablet_unbrick.md +++ b/site/docs/install/x60tablet_unbrick.md @@ -7,8 +7,9 @@ Open source BIOS/UEFI firmware ------------------------------ This document will teach you how to install Libreboot, on your -Lenovo Thinkpad X60 Tablet laptop motherboard. Libreboot replaces proprietary -BIOS/UEFI firmware. +Lenovo Thinkpad X60 Tablet laptop motherboard. +Libreboot is a [Free Software](https://writefreesoftware.org/learn) project +that replaces proprietary BIOS/UEFI firmware. **NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) now, as of 27 January 2024, which is a fork of flashrom. From 6c924caffbbe6e45371876d1b37dd52eb7297f53 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 19 Jan 2025 19:08:33 +0000 Subject: [PATCH 178/279] homepage: make "wrest" link to deguard Signed-off-by: Leah Rowe --- site/index.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/site/index.md b/site/index.md index 95d5eb7..64654e6 100644 --- a/site/index.md +++ b/site/index.md @@ -110,7 +110,8 @@ restrictions, and you hear them talk about "security", they are only talking about *their* security, not yours. In the Libreboot project, it is reversed; we see Intel Boot Guard and similar such technologies as an attack on your freedom over your own property (your computer), and so, we make it our mission to help -you [wrest](https://trmm.net/TOCTOU/) back such control. +you [wrest](docs/install/deguard.md) [back](https://trmm.net/TOCTOU/) such +control. Libreboot is not a fork of coreboot ----------------------------------- From aa1b889795f6da1335d6ededdceb97313982306a Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 19 Jan 2025 19:09:35 +0000 Subject: [PATCH 179/279] link fix for some reason, untitled isn't always converting these links properly. i need to investigate why. Signed-off-by: Leah Rowe --- site/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/index.md b/site/index.md index 64654e6..897b1b5 100644 --- a/site/index.md +++ b/site/index.md @@ -110,7 +110,7 @@ restrictions, and you hear them talk about "security", they are only talking about *their* security, not yours. In the Libreboot project, it is reversed; we see Intel Boot Guard and similar such technologies as an attack on your freedom over your own property (your computer), and so, we make it our mission to help -you [wrest](docs/install/deguard.md) [back](https://trmm.net/TOCTOU/) such +you [wrest](docs/install/deguard.html) [back](https://trmm.net/TOCTOU/) such control. Libreboot is not a fork of coreboot From 3257c1393648b1eb73d4280cdff95ffc4587faf3 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 19 Jan 2025 19:12:45 +0000 Subject: [PATCH 180/279] docs/index: improve link/bsd link titles Signed-off-by: Leah Rowe --- site/docs/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/site/docs/index.md b/site/docs/index.md index 334b58a..c7eb0eb 100644 --- a/site/docs/index.md +++ b/site/docs/index.md @@ -29,8 +29,8 @@ Installing libreboot Installing operating systems ---------------------------- -- [How to install BSD on an x86 host system](bsd/) -- [Linux Guides](linux/) +- [Install BSD operating systems on Libreboot](bsd/) +- [Install Linux on a Libreboot system](linux/) Information for developers -------------------------- From 125c88f2add68ad08b9b95d1bf4d844ecce0451e Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 19 Jan 2025 19:14:42 +0000 Subject: [PATCH 181/279] typo: superfically should be superficially Signed-off-by: Leah Rowe --- site/docs/bsd/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/docs/bsd/index.md b/site/docs/bsd/index.md index 815f279..c7ebb53 100644 --- a/site/docs/bsd/index.md +++ b/site/docs/bsd/index.md @@ -46,7 +46,7 @@ workstation systems. Some of them have unique features that you can't find anywhere else (e.g. FreeBSD jails, OpenBSD's numerous security enhancements, NetBSD's rump kernel design and clean code quality). -BSD systems are superfically similar to Linux systems, but they are very +BSD systems are superficially similar to Linux systems, but they are very different under the hood (different kernel designs, different userspace implementations, and so on). However, almost all of the Linux userspace programs that you enjoy using are probably available in the various BSD *ports trees*, From 016bdaf4c40bcf54e45882c4fbfc1afe35b554dc Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 19 Jan 2025 19:29:18 +0000 Subject: [PATCH 182/279] grammar Signed-off-by: Leah Rowe --- site/docs/linux/grub_hardening.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/docs/linux/grub_hardening.md b/site/docs/linux/grub_hardening.md index c57ddab..4ec9642 100644 --- a/site/docs/linux/grub_hardening.md +++ b/site/docs/linux/grub_hardening.md @@ -7,7 +7,7 @@ What is Secure libreBoot? ------------------------- Libreboot provides open source BIOS/UEFI firmware, replacing proprietary -BIOS/UEFI firmware, and that precisely is Libreboot primary mission; Libreboot +BIOS/UEFI firmware, and that precisely is Libreboot's primary mission; Libreboot is a [Free Software](https://writefreesoftware.org/learn) project, *first*. Our *next* priority is to provide you with *highly secure* boot firmware, free from backdoors and with well-audited code. *This* document does just that, by From b80d5e04ad473302c2a69a8b550dae8b548f67f9 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 19 Jan 2025 19:33:59 +0000 Subject: [PATCH 183/279] fix wrong fact Signed-off-by: Leah Rowe --- site/docs/install/spi.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/docs/install/spi.md b/site/docs/install/spi.md index 9176ccd..e8b9f54 100644 --- a/site/docs/install/spi.md +++ b/site/docs/install/spi.md @@ -295,7 +295,7 @@ and therefore damage is unlikely. However, as stated above and as we will state again: * This is bad electrical design. The CH341A can switch flexibly between 3V - and 5V operation, but most flashes today are 1.8V or 5V anyway, and there are + and 5V operation, but most flashes today are 1.8V or 3V anyway, and there are all kinds of scenarios (such as over-current or surge event) where this 5V idle logic level could still be applied. Modifying your CH341a to 3.3v only, as defined in the datasheet (and by this page) is highly recommended. From 07b4c69883d3a3696af0883d06c37edfc15bfac4 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 19 Jan 2025 19:53:22 +0000 Subject: [PATCH 184/279] fix wrongful credit i accidentally used the wrong name wtf (credit for libreboot yy.mm idea) Signed-off-by: Leah Rowe --- site/news/schedule.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/site/news/schedule.md b/site/news/schedule.md index 1afe58a..83ddf0b 100644 --- a/site/news/schedule.md +++ b/site/news/schedule.md @@ -103,10 +103,10 @@ the same letter. Credit ------ -[Britney Lozza](https://janethemotherfucker.github.io/) was the one who suggested +[Jane Arkanian](https://janethemotherfucker.github.io/) was the one who suggested to me that I use this new release number and codename scheme, and I previously came up with the plan to use an April/June and October/December testing/stable release schedule. -Britney also came up with the codename that I've decided to use for +Jane also came up with the codename that I've decided to use for the June 2025 stable release - stay tuned! From 2276bb3183ef2d33aa99f216d34de1528783426f Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Mon, 20 Jan 2025 11:00:12 +0000 Subject: [PATCH 185/279] use more searchable homepage title Signed-off-by: Leah Rowe --- site/docs/install/devmem.md | 3 +++ site/index.de.md | 2 +- site/index.fr.md | 2 +- site/index.it.md | 2 +- site/index.md | 2 +- site/index.ru.md | 2 +- site/index.uk.md | 2 +- site/index.zh-cn.md | 2 +- 8 files changed, 10 insertions(+), 7 deletions(-) diff --git a/site/docs/install/devmem.md b/site/docs/install/devmem.md index f6ba944..351728b 100644 --- a/site/docs/install/devmem.md +++ b/site/docs/install/devmem.md @@ -22,6 +22,9 @@ If the factory firmware implements UEFI, and this is how you boot when using the factory firmware, please ensure that *SecureBoot* is disabled, because it will interfere with lower memory accesses if left enabled. +If you can, boot in BIOS/CSM mode just to be sure, again with SecureBoot +disabled. + FLASH ERRORS (and workarounds) ------------------------------ diff --git a/site/index.de.md b/site/index.de.md index 451d23a..73e8b2e 100644 --- a/site/index.de.md +++ b/site/index.de.md @@ -1,5 +1,5 @@ --- -title: Libreboot projekt +title: Freie und Open Source BIOS/UEFI Firmware x-toc-enable: true ... diff --git a/site/index.fr.md b/site/index.fr.md index 460cbb8..1b25bac 100644 --- a/site/index.fr.md +++ b/site/index.fr.md @@ -1,5 +1,5 @@ --- -title: Projet Libreboot +title: Libre et Open Source BIOS/UEFI firmware x-toc-enable: true --- diff --git a/site/index.it.md b/site/index.it.md index 0a4a77c..2f15d50 100644 --- a/site/index.it.md +++ b/site/index.it.md @@ -1,5 +1,5 @@ --- -title: Progetto Libreboot +title: Libero e Open Source BIOS/UEFI firmware x-toc-enable: true ... diff --git a/site/index.md b/site/index.md index 897b1b5..e2028e9 100644 --- a/site/index.md +++ b/site/index.md @@ -1,5 +1,5 @@ --- -title: Libreboot project +title: Free and Open Source BIOS/UEFI firmware x-toc-enable: true ... diff --git a/site/index.ru.md b/site/index.ru.md index 56fdd19..c7198ab 100644 --- a/site/index.ru.md +++ b/site/index.ru.md @@ -1,5 +1,5 @@ --- -title: Проект Libreboot +title: свободную, с открытым исходным кодом BIOS/UEFI прошивка x-toc-enable: true ... diff --git a/site/index.uk.md b/site/index.uk.md index 8324d0c..48338fc 100644 --- a/site/index.uk.md +++ b/site/index.uk.md @@ -1,5 +1,5 @@ --- -title: Проект Libreboot +title: завантажувальну прошивку BIOS/UEFI прошивку x-toc-enable: true ... diff --git a/site/index.zh-cn.md b/site/index.zh-cn.md index a9386e8..55101de 100644 --- a/site/index.zh-cn.md +++ b/site/index.zh-cn.md @@ -1,5 +1,5 @@ --- -title: Libreboot 项目 +title: 自由且开源 BIOS/UEFI 固件 x-toc-enable: true ... From 72121b918442f0d0986140c3603e9b42ef5410ec Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Mon, 20 Jan 2025 11:43:14 +0000 Subject: [PATCH 186/279] css: make h3/h4 smaller in proportion they looked the same size as h2, and it was confusing, visually. Signed-off-by: Leah Rowe --- site/global.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/site/global.css b/site/global.css index 6b11740..97c7b2a 100644 --- a/site/global.css +++ b/site/global.css @@ -114,11 +114,11 @@ h2 } h3 { - font-size: 1.8em; + font-size: 1.6em; } h4 { - font-size:1.6em; + font-size:1.2em; } .f, .f * From 246820568f1938251d16b3c8ef6cfa70d9551e99 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Mon, 20 Jan 2025 13:41:54 +0000 Subject: [PATCH 187/279] improved a bunch of page titles i'm told that many of the page titles are too short i went through them systematically and changed a bunch of page titles, so that they more closely reflect the given subject matter Signed-off-by: Leah Rowe --- site/contact.de.md | 2 +- site/contact.fr.md | 2 +- site/contact.md | 2 +- site/contrib.md | 2 +- site/docs/grub/index.md | 2 +- site/docs/index.md | 2 +- site/docs/install/deguard.md | 2 +- site/docs/install/devmem.md | 2 +- site/docs/install/index.md | 2 +- site/docs/install/ivy_has_common.md | 2 +- site/docs/install/ivy_internal.md | 2 +- site/docs/install/playstation.md | 2 +- site/docs/install/spi_generic.md | 2 +- site/docs/install/t420_external.md | 2 +- site/docs/install/t60_unbrick.md | 2 +- site/docs/install/x230_external.md | 2 +- site/docs/maintain/porting.md | 2 +- site/docs/maintain/style.md | 2 +- site/docs/misc/emulation.md | 2 +- site/docs/misc/index.md | 2 +- site/docs/uboot/index.md | 2 +- site/docs/uboot/uboot-archlinux.md | 2 +- site/docs/uboot/uboot-debian-bookworm.md | 2 +- site/docs/uboot/uboot-openbsd.md | 2 +- site/docs/uboot/uboot-x86.md | 2 +- site/download.md | 2 +- site/faq.md | 2 +- site/freedom-status.md | 2 +- site/git.de.md | 2 +- site/git.md | 2 +- site/license.md | 2 +- site/news/10.md | 2 +- site/news/e6400.md | 2 +- site/news/libreboot20241008.md | 2 +- site/news/mirrors.md | 2 +- site/news/news.cfg | 4 ++-- site/news/translations.md | 2 +- site/news/x201.md | 2 +- site/other.md | 2 +- site/tasks/index.md | 2 +- 40 files changed, 41 insertions(+), 41 deletions(-) diff --git a/site/contact.de.md b/site/contact.de.md index 8290a4a..8262228 100644 --- a/site/contact.de.md +++ b/site/contact.de.md @@ -1,5 +1,5 @@ --- -title: Kontakt +title: Kontakt der Libreboot projekt x-toc-enable: true ... diff --git a/site/contact.fr.md b/site/contact.fr.md index c524dd3..9028d0b 100644 --- a/site/contact.fr.md +++ b/site/contact.fr.md @@ -1,5 +1,5 @@ --- -title: Contact +title: Contact the Libreboot project x-toc-enable: true ... diff --git a/site/contact.md b/site/contact.md index 69122dd..36e424d 100644 --- a/site/contact.md +++ b/site/contact.md @@ -1,5 +1,5 @@ --- -title: Contact +title: Contact the Libreboot project x-toc-enable: true ... diff --git a/site/contrib.md b/site/contrib.md index bb6355f..00e1d49 100644 --- a/site/contrib.md +++ b/site/contrib.md @@ -1,5 +1,5 @@ --- -title: Project contributors +title: People who contributed to the Libreboot project x-toc-enable: true ... diff --git a/site/docs/grub/index.md b/site/docs/grub/index.md index 1825c96..18e757b 100644 --- a/site/docs/grub/index.md +++ b/site/docs/grub/index.md @@ -1,5 +1,5 @@ --- -title: GRUB payload +title: Libreboot GRUB payload documentation x-toc-enable: true ... diff --git a/site/docs/index.md b/site/docs/index.md index c7eb0eb..96a9f92 100644 --- a/site/docs/index.md +++ b/site/docs/index.md @@ -1,5 +1,5 @@ --- -title: Libreboot documentation +title: Installing Libreboot Free/Opensource BIOS/UEFI firmware ... Always check [libreboot.org](https://libreboot.org/) for the latest updates to diff --git a/site/docs/install/deguard.md b/site/docs/install/deguard.md index 7980fd5..92b88ea 100644 --- a/site/docs/install/deguard.md +++ b/site/docs/install/deguard.md @@ -1,5 +1,5 @@ --- -title: Disabling Intel Boot Guard on MEv11 +title: Disabling Intel Boot Guard on MEv11 for Libreboot installation x-toc-enable: true ... diff --git a/site/docs/install/devmem.md b/site/docs/install/devmem.md index 351728b..c8d6916 100644 --- a/site/docs/install/devmem.md +++ b/site/docs/install/devmem.md @@ -1,5 +1,5 @@ --- -title: Disabling /dev/mem protections +title: Disabling /dev/mem protections on Linux and BSD x-toc-enable: true ... diff --git a/site/docs/install/index.md b/site/docs/install/index.md index d6497c1..fa6c680 100644 --- a/site/docs/install/index.md +++ b/site/docs/install/index.md @@ -1,5 +1,5 @@ --- -title: Install Libreboot +title: Install Libreboot Open Source BIOS/UEFI firmware x-toc-enable: true ... diff --git a/site/docs/install/ivy_has_common.md b/site/docs/install/ivy_has_common.md index c249bac..a72843c 100644 --- a/site/docs/install/ivy_has_common.md +++ b/site/docs/install/ivy_has_common.md @@ -1,5 +1,5 @@ --- -title: Insert vendor files not included in release images +title: Insert vendor files not included in Libreboot release images x-toc-enable: true ... diff --git a/site/docs/install/ivy_internal.md b/site/docs/install/ivy_internal.md index 217c086..a724307 100644 --- a/site/docs/install/ivy_internal.md +++ b/site/docs/install/ivy_internal.md @@ -1,5 +1,5 @@ --- -title: Ivybridge internal flashing +title: Install Libreboot internally on Lenovo ThinkPad X230 x-toc-enable: true ... diff --git a/site/docs/install/playstation.md b/site/docs/install/playstation.md index d3dbfd9..68498ab 100644 --- a/site/docs/install/playstation.md +++ b/site/docs/install/playstation.md @@ -1,5 +1,5 @@ --- -title: Sony PlayStation (PS1/PSX) +title: Install Libreboot on Sony PlayStation (PS1/PSX) x-toc-enable: true ... diff --git a/site/docs/install/spi_generic.md b/site/docs/install/spi_generic.md index 97e143e..2b130f7 100644 --- a/site/docs/install/spi_generic.md +++ b/site/docs/install/spi_generic.md @@ -1,5 +1,5 @@ --- -title: Generic SPI Flashing Guide +title: Generic SPI Flashing Guide for Libreboot Installation x-toc-enable: true ... diff --git a/site/docs/install/t420_external.md b/site/docs/install/t420_external.md index f6f7bd9..4bda72e 100644 --- a/site/docs/install/t420_external.md +++ b/site/docs/install/t420_external.md @@ -1,5 +1,5 @@ --- -title: ThinkPad T420 external flashing +title: Install Libreboot on Lenovo ThinkPad T420 x-toc-enable: true ... diff --git a/site/docs/install/t60_unbrick.md b/site/docs/install/t60_unbrick.md index 9ba6d86..67d8e1e 100644 --- a/site/docs/install/t60_unbrick.md +++ b/site/docs/install/t60_unbrick.md @@ -1,5 +1,5 @@ --- -title: ThinkPad T60 Recovery guide +title: Install Libreboot on Lenovo ThinkPad T60 x-toc-enable: true ... diff --git a/site/docs/install/x230_external.md b/site/docs/install/x230_external.md index 155fb68..864b9ac 100644 --- a/site/docs/install/x230_external.md +++ b/site/docs/install/x230_external.md @@ -1,5 +1,5 @@ --- -title: ThinkPad X230/X230T external flashing +title: Install Libreboot on Lenovo ThinkPad X230/X230T x-toc-enable: true ... diff --git a/site/docs/maintain/porting.md b/site/docs/maintain/porting.md index a0b6b4d..8353f69 100644 --- a/site/docs/maintain/porting.md +++ b/site/docs/maintain/porting.md @@ -1,5 +1,5 @@ --- -title: Porting guide for new motherboards +title: Porting Libreboot to new Intel-based motherboards ... **NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog) diff --git a/site/docs/maintain/style.md b/site/docs/maintain/style.md index ef95d33..74e5ddd 100644 --- a/site/docs/maintain/style.md +++ b/site/docs/maintain/style.md @@ -1,5 +1,5 @@ --- -title: lbmk coding style and design +title: LibreBoot MaKe (lbmk) build system coding style x-toc-enable: true ... diff --git a/site/docs/misc/emulation.md b/site/docs/misc/emulation.md index 375eecf..c6c8362 100644 --- a/site/docs/misc/emulation.md +++ b/site/docs/misc/emulation.md @@ -1,5 +1,5 @@ --- -title: Building Libreboot for Emulation +title: Building Libreboot for Emulation e.g. QEMU x-toc-enable: true ... diff --git a/site/docs/misc/index.md b/site/docs/misc/index.md index 728c29e..fad55de 100644 --- a/site/docs/misc/index.md +++ b/site/docs/misc/index.md @@ -1,5 +1,5 @@ --- -title: Miscellaneous +title: Miscellaneous Libreboot documentation x-toc-enable: true ... diff --git a/site/docs/uboot/index.md b/site/docs/uboot/index.md index 3dc04a4..df3e1e4 100644 --- a/site/docs/uboot/index.md +++ b/site/docs/uboot/index.md @@ -1,5 +1,5 @@ --- -title: U-Boot payload (x86 and ARM) +title: U-Boot payload for Libreboot on x86 and ARM x-toc-enable: true ... diff --git a/site/docs/uboot/uboot-archlinux.md b/site/docs/uboot/uboot-archlinux.md index 13cce6f..7e4680e 100644 --- a/site/docs/uboot/uboot-archlinux.md +++ b/site/docs/uboot/uboot-archlinux.md @@ -1,5 +1,5 @@ --- -title: Installing ArchLinuxARM on a Chromebook with U-Boot installed +title: Installing ArchLinuxARM on a Chromebook with Libreboot and U-Boot x-toc-enable: true ... diff --git a/site/docs/uboot/uboot-debian-bookworm.md b/site/docs/uboot/uboot-debian-bookworm.md index 1e4eef5..5345244 100644 --- a/site/docs/uboot/uboot-debian-bookworm.md +++ b/site/docs/uboot/uboot-debian-bookworm.md @@ -1,5 +1,5 @@ --- -title: Debian Bookworm Install on a Samsung Chromebook Plus +title: Debian Bookworm Install on Librebooted Samsung Chromebook Plus x-toc-enable: true ... diff --git a/site/docs/uboot/uboot-openbsd.md b/site/docs/uboot/uboot-openbsd.md index 6b23caf..74dc6e9 100644 --- a/site/docs/uboot/uboot-openbsd.md +++ b/site/docs/uboot/uboot-openbsd.md @@ -1,5 +1,5 @@ --- -title: OpenBSD Install Attempt on a Samsung Chromebook Plus +title: OpenBSD Install Attempt on Librebooted Samsung Chromebook Plus x-toc-enable: true ... diff --git a/site/docs/uboot/uboot-x86.md b/site/docs/uboot/uboot-x86.md index b3fd090..fcafd4c 100644 --- a/site/docs/uboot/uboot-x86.md +++ b/site/docs/uboot/uboot-x86.md @@ -1,5 +1,5 @@ --- -title: U-Boot payload (x86 specific) +title: U-Boot x86 UEFI payload on Libreboot x-toc-enable: true ... diff --git a/site/download.md b/site/download.md index 4be0c58..f1af170 100644 --- a/site/download.md +++ b/site/download.md @@ -1,5 +1,5 @@ --- -title: Download Libreboot +title: Download Libreboot Free/Opensource BIOS/UEFI firmware x-toc-enable: true ... diff --git a/site/faq.md b/site/faq.md index 2109de0..da8e866 100644 --- a/site/faq.md +++ b/site/faq.md @@ -1,5 +1,5 @@ --- -title: Frequently Asked Questions +title: Frequently Asked Questions about Libreboot firmware x-toc-enable: true ... diff --git a/site/freedom-status.md b/site/freedom-status.md index e176e21..4d15100 100644 --- a/site/freedom-status.md +++ b/site/freedom-status.md @@ -1,5 +1,5 @@ --- -title: Software and hardware freedom status for each motherboard supported by Libreboot +title: Software and hardware freedom status for Libreboot Open Source BIOS/UEFI x-toc-enable: true ... diff --git a/site/git.de.md b/site/git.de.md index 03b72a8..19e2339 100644 --- a/site/git.de.md +++ b/site/git.de.md @@ -1,5 +1,5 @@ --- -title: Code review +title: Use Git and/or send patches to Libreboot x-toc-enable: true ... diff --git a/site/git.md b/site/git.md index 228655d..34ea57c 100644 --- a/site/git.md +++ b/site/git.md @@ -1,5 +1,5 @@ --- -title: Code review +title: How to use Git and/or send patches to Libreboot x-toc-enable: true ... diff --git a/site/license.md b/site/license.md index a91e93d..258233c 100644 --- a/site/license.md +++ b/site/license.md @@ -1,5 +1,5 @@ --- -title: License +title: Copyright license for the Libreboot website x-toc-enable: true ... diff --git a/site/news/10.md b/site/news/10.md index 45547c9..8e771e8 100644 --- a/site/news/10.md +++ b/site/news/10.md @@ -1,4 +1,4 @@ -% Libreboot 10-year anniversary +% Libreboot 10-year anniversary and history % Leah Rowe % 12 December 2023 diff --git a/site/news/e6400.md b/site/news/e6400.md index ac36d2e..0c54300 100644 --- a/site/news/e6400.md +++ b/site/news/e6400.md @@ -1,4 +1,4 @@ -% Dell Latitude E6400 added (blob-free, no disassembly) +% Dell Latitude E6400 added to Libreboot (blob-free, no disassembly) % Leah Rowe % 19 April 2023 diff --git a/site/news/libreboot20241008.md b/site/news/libreboot20241008.md index baf52f9..46ef246 100644 --- a/site/news/libreboot20241008.md +++ b/site/news/libreboot20241008.md @@ -1,4 +1,4 @@ -% Libreboot 20241008 released! +% Libreboot 20241008 released! With PlayStation support! % Leah Rowe % 8 October 2024 diff --git a/site/news/mirrors.md b/site/news/mirrors.md index b722c96..5d7cb1b 100644 --- a/site/news/mirrors.md +++ b/site/news/mirrors.md @@ -1,4 +1,4 @@ -% New Git repositories added as backup mirrors +% New Git repositories added as backup Libreboot mirrors % Leah Rowe % 11 April 2023 diff --git a/site/news/news.cfg b/site/news/news.cfg index 89b9fbb..5b36fd2 100644 --- a/site/news/news.cfg +++ b/site/news/news.cfg @@ -1,2 +1,2 @@ -BLOGTITLE="News for libreboot.org" -BLOGDESCRIPTION="News for libreboot.org" +BLOGTITLE="News about Libreboot releases and development" +BLOGDESCRIPTION="News about Libreboot releases and development" diff --git a/site/news/translations.md b/site/news/translations.md index 2804f25..42e15a9 100644 --- a/site/news/translations.md +++ b/site/news/translations.md @@ -1,4 +1,4 @@ -% Translations wanted +% Translations wanted for the Libreboot website % Leah Rowe % 4 January 2022 diff --git a/site/news/x201.md b/site/news/x201.md index 9b5f0e4..55239db 100644 --- a/site/news/x201.md +++ b/site/news/x201.md @@ -1,4 +1,4 @@ -% ThinkPad X201 removed from Libreboot +% ThinkPad X201 support removed from Libreboot % Leah Rowe % 12 January 2024 diff --git a/site/other.md b/site/other.md index cdbe3e2..22e0b8b 100644 --- a/site/other.md +++ b/site/other.md @@ -1,5 +1,5 @@ --- -title: Other coreboot distributions +title: Other coreboot distributions providing Open Source BIOS/UEFI firmware x-toc-enable: true ... diff --git a/site/tasks/index.md b/site/tasks/index.md index df1da84..27d6f08 100644 --- a/site/tasks/index.md +++ b/site/tasks/index.md @@ -1,5 +1,5 @@ --- -title: Jobs that need doing +title: Jobs that need doing in the Libreboot project x-toc-enable: true ... From 57c5edbbf55b3d7fc62d54a4f9d046fb8ff15208 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Mon, 20 Jan 2025 14:59:33 +0000 Subject: [PATCH 188/279] improve the ps1 page title Signed-off-by: Leah Rowe --- site/docs/install/playstation.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/site/docs/install/playstation.md b/site/docs/install/playstation.md index 68498ab..bae232b 100644 --- a/site/docs/install/playstation.md +++ b/site/docs/install/playstation.md @@ -1,10 +1,12 @@ --- -title: Install Libreboot on Sony PlayStation (PS1/PSX) +title: Install Libreboot Open BIOS on Sony PlayStation (PS1/PSX) x-toc-enable: true ... -The PlayStation is a computer like any other. It ought to run all Free Software -if you want it to, and you can! +The PlayStation is a computer like any other. It ought to run +all [Free Software](https://writefreesoftware.org/learn) if you want it to, and +you can! In this document, you will learn how to replace the Sony BIOS on your +PlayStation, with a fully Open Source one instead.
    From d1921809b865e4aa883a3762b55ed0db44f594cf Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Mon, 20 Jan 2025 15:33:07 +0000 Subject: [PATCH 189/279] mayumi pic on the ps1 page Signed-off-by: Leah Rowe --- site/docs/install/playstation.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/site/docs/install/playstation.md b/site/docs/install/playstation.md index bae232b..bc107f8 100644 --- a/site/docs/install/playstation.md +++ b/site/docs/install/playstation.md @@ -148,6 +148,25 @@ the Libreboot project, but this can be done at a future date. Other mods (hardware) --------------------- +### Modchip (mayumi v4) example + +Click the photo for full size. It shows a Mayumi v4 modchip and Dual Frequency +Oscillator mod installed (blue board is the modchip and the black board is +the DFO mod): + +Sony PlayStation (PSOne) console + +The modchip disables the copy protection and region restrictions. A modchip is +still advised, even if using an Open BIOS. The Open BIOS could be modified to +send commands that disable the wobble check, thus invalidating the need for +a modchip, but even then there are still caveats. Please read: + + + +The most technically correct solution, regardless of which BIOS you have, to +also install the modchip and DFO board, as shown. More info is written about +these in the next sections below: + ### Video timings The Open BIOS will not implement any DRM, so it's possible that you might boot From 3ec8d5abb60113fdb03aead1fd2c5719d0954bc7 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Mon, 20 Jan 2025 15:36:12 +0000 Subject: [PATCH 190/279] clarify ownership Signed-off-by: Leah Rowe --- site/docs/install/playstation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/docs/install/playstation.md b/site/docs/install/playstation.md index bc107f8..146ae01 100644 --- a/site/docs/install/playstation.md +++ b/site/docs/install/playstation.md @@ -152,7 +152,7 @@ Other mods (hardware) Click the photo for full size. It shows a Mayumi v4 modchip and Dual Frequency Oscillator mod installed (blue board is the modchip and the black board is -the DFO mod): +the DFO mod). Mods installed by Leah Rowe, as a proof of concept: Sony PlayStation (PSOne) console From 71228ffa0d20d007d1169a11bafe464ed5d84116 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Mon, 20 Jan 2025 15:45:22 +0000 Subject: [PATCH 191/279] add ps1 bios download link Signed-off-by: Leah Rowe --- site/docs/install/playstation.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/site/docs/install/playstation.md b/site/docs/install/playstation.md index 146ae01..6d46175 100644 --- a/site/docs/install/playstation.md +++ b/site/docs/install/playstation.md @@ -38,8 +38,24 @@ can learn more about here: +### Download pre-built BIOS + +Get it here: + + + +Other mirrors are available, at the [Canoeboot download](../../download.md) +page; look in the `roms/playstation/` directory for a given Libreboot release. +This is built from the available sources in Libreboot releases, based on the +information written below. + +You can use this in a PlayStation emulator or on real hardware - the rest of +this page will tell you how to use it. + ### Build from source +OPTIONAL: You could alternatively use the pre-built version (see above). + Pre-compiled builds will be in the next Libreboot release, after version 20240612. For now, you must compile it from source, but the Libreboot build system provides automation for this. Please use the latest lbmk From 0fc65e4fac94d76af95a6d12bfb9aec72df394b4 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Mon, 20 Jan 2025 15:48:43 +0000 Subject: [PATCH 192/279] remove obsolete paragraph (images available now) Signed-off-by: Leah Rowe --- site/docs/install/playstation.md | 5 ----- 1 file changed, 5 deletions(-) diff --git a/site/docs/install/playstation.md b/site/docs/install/playstation.md index 6d46175..c64fa66 100644 --- a/site/docs/install/playstation.md +++ b/site/docs/install/playstation.md @@ -56,11 +56,6 @@ this page will tell you how to use it. OPTIONAL: You could alternatively use the pre-built version (see above). -Pre-compiled builds will be in the next Libreboot release, after -version 20240612. For now, you must compile it from source, but the Libreboot -build system provides automation for this. Please use the latest lbmk -revision [from Git](../../git.md). - First, please make sure you have build dependencies. The build logic in lbmk has been tested on Debian 12 (x86\_64) and you can do this for example, as root: From 73e9255f700404851c37649503a90c84fde18935 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Tue, 21 Jan 2025 02:18:11 +0000 Subject: [PATCH 193/279] grammar Signed-off-by: Leah Rowe --- site/news/10.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/news/10.md b/site/news/10.md index 8e771e8..e80cc79 100644 --- a/site/news/10.md +++ b/site/news/10.md @@ -1529,7 +1529,7 @@ demonstrated that they have all the same intentions that they originally had in their LibrePlanet 2023 talk, that lead to the *first* Cold Boot War. Intent matters. A lot of people might disagree, but the world runs on dreams. -What we do in the moment is just an implementation dreams. Their dream is +What we do in the moment is just an manifestation of dreams. Their dream is to *destroy the Libreboot project*. Therefore, Cold Boot War II was declared, in the early hours of January 1st, 2025. From d9c07032e962516af7cc365ad79e3d8faf7a11e2 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Tue, 21 Jan 2025 04:26:54 +0000 Subject: [PATCH 194/279] better english description in meta tags Signed-off-by: Leah Rowe --- site/template.include | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/template.include b/site/template.include index 29dda6a..47b1f04 100644 --- a/site/template.include +++ b/site/template.include @@ -2,7 +2,7 @@ - + From 4eaaccbd0aeac2f859a888c08d941583866e28cc Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Tue, 21 Jan 2025 16:49:38 +0000 Subject: [PATCH 195/279] adapt canoeboot css but with libreboot colours i like the font style better, on canoeboot.org, where headers are not build, and the canoeboot site design made a few other tweaks too, relative to libreboot.org the new skin just looks slightly nicer Signed-off-by: Leah Rowe --- site/global.css | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/site/global.css b/site/global.css index 97c7b2a..9737081 100644 --- a/site/global.css +++ b/site/global.css @@ -2,6 +2,9 @@ * This CSS is released under Creative Commons Zero 1.0 Universal license: * https://creativecommons.org/publicdomain/zero/1.0/legalcode.txt */ + +h1,h2,h3,h4{font-weight:normal; font-size:2em} + .specs { float: right; @@ -14,7 +17,7 @@ } -@media (max-width:89em) +@media (max-width:90em) { html { @@ -38,17 +41,21 @@ html { - background: #280b22; + /* color: #280b22; */ color: #ccc; + background: #280b22; font-family: sans-serif; line-height: 1.4; text-shadow: 1px 1px #000; } +hr { + color: #666; +} -code,pre, #TOC, a:hover +code,pre, #TOC, a:hover, img { - border-radius:0.25em; background: #4e324e; + border-radius:0.25em; } header img { @@ -64,7 +71,6 @@ img,video,iframe,pre { max-width: 100%; overflow: auto; - border-radius:0.25em; } .title>*, header ul>li, .nav ul>li, @@ -92,14 +98,14 @@ html, ul, #TOC @media (min-width:60em) { - .title-logo{display:none} + .title-logo{display:none; background:none;} div.title,h1.title { background:url("/favicon.ico") no-repeat; background-size:auto 99%; min-height:2em } div.title {background-position:right} - h1.title {padding:0 4em} + h1.title {padding:0 4em; font-size:2.5em; font-weight:normal;} #TOC { float: left; From e073938b8b22d809480c10bf1fae070250c9cc65 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Tue, 21 Jan 2025 16:53:18 +0000 Subject: [PATCH 196/279] homepage: use u-boot screenshot, not t1650 grub the grub t1650 image is text mode i want the home page to be all purple Signed-off-by: Leah Rowe --- site/index.de.md | 2 +- site/index.fr.md | 2 +- site/index.it.md | 2 +- site/index.md | 2 +- site/index.ru.md | 2 +- site/index.uk.md | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/site/index.de.md b/site/index.de.md index 73e8b2e..5d911ed 100644 --- a/site/index.de.md +++ b/site/index.de.md @@ -102,7 +102,7 @@ Kenntnisse oder Fertigkeiten abgesehen von der Fähigkeit einer Wie kann ich helfen ----------- - + Der beste Weg wie Du helfen kannst, ist das *hinzufügen* neuer Motherboards in Libreboot, indem Du eine Konfiguration zur Verfügung stellst. Alles was von diff --git a/site/index.fr.md b/site/index.fr.md index 1b25bac..d0169dd 100644 --- a/site/index.fr.md +++ b/site/index.fr.md @@ -60,7 +60,7 @@ Les versions de Libreboot fournissent des images ROM pré-compilées que vous po Comment aider ----------- - + La meilleure façon d'aider le projet est d’ajouter de nouvelles cartes mères au projet Libreboot en soumettant une configuration. Tout ce qui est pris en charge par Coreboot peut être intégré à Libreboot, avec des images ROM fournies dans les versions publiées. Voir : diff --git a/site/index.it.md b/site/index.it.md index 2f15d50..e8937ba 100644 --- a/site/index.it.md +++ b/site/index.it.md @@ -95,7 +95,7 @@ particolari ad eccezione del seguire [semplici istruzioni scritte per chiunque]( Come essere d'aiuto ------------------- - + Il *modo migliore* col quale puoi aiutarci e' quello di *aggiungere* nuove schede condividendone la configurazione. Qualunque cosa sia supportata da coreboot puo' essere integrata in Libreboot, diff --git a/site/index.md b/site/index.md index e2028e9..d7c914c 100644 --- a/site/index.md +++ b/site/index.md @@ -116,7 +116,7 @@ control. Libreboot is not a fork of coreboot ----------------------------------- -Dell Precision T1650 running Libreboot + In fact, Libreboot tries to stay as close to *stock* coreboot as possible, for each board, but with many different types of configuration provided diff --git a/site/index.ru.md b/site/index.ru.md index c7198ab..bf974d2 100644 --- a/site/index.ru.md +++ b/site/index.ru.md @@ -49,7 +49,7 @@ Libreboot ориентирован на сообщество, с фокусом Libreboot это не форк coreboot ------------------------------ - + По факту, Libreboot пытается быть как можно более похожей на *стоковый* coreboot для каждой материнской платы, но с множетсвом доступных опций для конфигурации, предоставляемых автоматической системой сборки. diff --git a/site/index.uk.md b/site/index.uk.md index 48338fc..03b404c 100644 --- a/site/index.uk.md +++ b/site/index.uk.md @@ -92,7 +92,7 @@ Coreboot помітно складний для встановлення для Як допомогти ----------- - + *Єдиний* найбільший шлях, яким ви можете допомогти є *додавання* нових материнських плат до Libreboot, за допомогою відправки конфігурації. Що завгодно, що підтримує coreboot може бути інтегровано в From 51b53dc54ff6451775df5e90d3cd9938b68b9462 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Wed, 22 Jan 2025 11:25:40 +0000 Subject: [PATCH 197/279] make the title section a link to the homepage Signed-off-by: Leah Rowe --- .gitignore | 2 +- site/global.css | 4 ++++ site/template.de.include | 4 ++-- site/template.include | 4 ++-- site/template.it.include | 4 ++-- site/template.uk.include | 4 ++-- site/template.zh-cn.include | 4 ++-- 7 files changed, 15 insertions(+), 11 deletions(-) diff --git a/.gitignore b/.gitignore index 53e5469..aa3b895 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,7 @@ *.html +/site/sitemap.xml /site/news/index* /site/sitemap.md -/site/sitemap.xml /site/push *feed.xml *.sha1sum diff --git a/site/global.css b/site/global.css index 9737081..8345983 100644 --- a/site/global.css +++ b/site/global.css @@ -96,6 +96,10 @@ html, ul, #TOC display: none; } +div.title:hover { + cursor: pointer; +} + @media (min-width:60em) { .title-logo{display:none; background:none;} diff --git a/site/template.de.include b/site/template.de.include index 1c89ccc..4758c1d 100644 --- a/site/template.de.include +++ b/site/template.de.include @@ -56,9 +56,9 @@ $include-before$ $endfor$ $if(title)$
    -
    +

    $title$

    diff --git a/site/template.include b/site/template.include index 47b1f04..8deb951 100644 --- a/site/template.include +++ b/site/template.include @@ -56,9 +56,9 @@ $include-before$ $endfor$ $if(title)$
    -
    +

    $title$

    diff --git a/site/template.it.include b/site/template.it.include index 2ea72ec..4e8c168 100644 --- a/site/template.it.include +++ b/site/template.it.include @@ -56,9 +56,9 @@ $include-before$ $endfor$ $if(title)$
    -
    +

    $title$

    diff --git a/site/template.uk.include b/site/template.uk.include index d98ae1a..c2eaf67 100644 --- a/site/template.uk.include +++ b/site/template.uk.include @@ -56,9 +56,9 @@ $include-before$ $endfor$ $if(title)$
    -
    +

    $title$

    diff --git a/site/template.zh-cn.include b/site/template.zh-cn.include index 301b689..c192168 100644 --- a/site/template.zh-cn.include +++ b/site/template.zh-cn.include @@ -56,9 +56,9 @@ $include-before$ $endfor$ $if(title)$
    -
    +

    $title$

    From 755666a238881968b2fd94684987b6ffb2ad214a Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Wed, 22 Jan 2025 12:07:04 +0000 Subject: [PATCH 198/279] make text color a bit brighter ede, so that the green part is a bit lower, giving the text a slight purple tint Signed-off-by: Leah Rowe --- site/global.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/global.css b/site/global.css index 8345983..9c0cd35 100644 --- a/site/global.css +++ b/site/global.css @@ -42,7 +42,7 @@ h1,h2,h3,h4{font-weight:normal; font-size:2em} html { /* color: #280b22; */ - color: #ccc; + color: #ede; background: #280b22; font-family: sans-serif; line-height: 1.4; From 138b3e306f24aa8f4fd365e25dbfdc524267b44f Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Fri, 24 Jan 2025 13:25:17 +0000 Subject: [PATCH 199/279] nvmutil: add notes about 16/128 kb gbe files Signed-off-by: Leah Rowe --- site/docs/install/nvmutil.md | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/site/docs/install/nvmutil.md b/site/docs/install/nvmutil.md index 2c22e03..92fffc7 100644 --- a/site/docs/install/nvmutil.md +++ b/site/docs/install/nvmutil.md @@ -112,11 +112,24 @@ fact work nicely, but software such as Linux will check that this is correct. If the checksum is invalid, your kernel will refuse to make use of the NIC. -This NVM section is the first 128 bytes of a 4KB region in flash. -This 4KB region is then repeated, to make an 8KB region in +This NVM section is the first 128 bytes of a *block size* KB region in flash. +This *block size* KB region is then repeated, to make an *block size multipled +by two* KB region in flash, known as the *GbE region*. In `nvmutil`, the first part is referred to as *part 0* and the second part as *part 1*. +The block size can be 4KB, 8KB or 64KB, meaning that GbE files can +be 8KB, 16KB or 128KB; the first half is part 0 and the second half is part 1. +The first 4KB of each part is what we are concerned with; and in each 4KB part +is the 128-byte NVM area at the very start, containing our configuration. + +**NOTE: Support for 16KB and 128KB files was only added *after* the +Libreboot 20241206 release. It will be available in all releases after that, +or you can simply compile nvmutil from the Libreboot Git repository lbmk, +from directory `util/nvmutil/` - on the older releases, and older versions of +nvmutil, only 8KB GbE files are supported, but we mostly only use 8KB files +anyway (you're very unlikely to encounter 16KB or 128KB files).** + ### Known compatible PHYs TODO: write a full list her ofe what actual PHYs are known to work. @@ -378,7 +391,7 @@ command only requires read access on files. Where sufficient permission is not given (read and/or write), nvmutil will exit with non-zero status. Non-zero status will also be returned, if the target file is *not* -of size *8KB*. +of size *8KB*, *16KB* or *128KB*. Additional rules regarding exit status shall apply, depending on what command you use. Commands are documented in the following sections: @@ -469,7 +482,7 @@ will exit with non-zero status. This command requires read *and* write access on files. The `nvm` program can copy one NVM part to another. It copies -the *entire* 4KB part, within the 8KB file. +the *entire* *block size* KB part, within the *two blocks* KB file. Overwrite part 0 with the contents of part 1: @@ -488,7 +501,7 @@ zero status. This command requires read *and* write access on files. -The `nvm` program can swap both 4KB parts in the GbE +The `nvm` program can swap both *block size* KB parts in the GbE file. It does this, via simple XOR swaps. How to use: @@ -587,7 +600,6 @@ provided only for reference; it may be useful for future auditing. TODO ---- -* Support higher block sizes e.g. 8KB blocks for GbE part sections * Adapt this into a manpage (useful for Linux package repositories / BSD ports) * Send nvmutil upstream to coreboot, for inclusion under `util/` * In addition to the manpage, when sending to coreboot, also adapt this page From 0638856c1c2264cb4ca875db7daa75134822dcbb Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 25 Jan 2025 06:49:02 +0000 Subject: [PATCH 200/279] gnu grub boot loader Signed-off-by: Leah Rowe --- site/index.de.md | 26 +++++++++++++------------- site/index.fr.md | 19 ++++++++++--------- site/index.it.md | 21 +++++++++++---------- site/index.md | 27 ++++++++++++++------------- site/index.ru.md | 16 +++++++++------- site/index.uk.md | 21 +++++++++++---------- site/index.zh-cn.md | 17 +++++++++-------- 7 files changed, 77 insertions(+), 70 deletions(-) diff --git a/site/index.de.md b/site/index.de.md index 5d911ed..fc34224 100644 --- a/site/index.de.md +++ b/site/index.de.md @@ -16,19 +16,9 @@ und [Libera](https://libera.chat/) IRC. -You can also [buy Libreboot preinstalled](https://minifree.org/) from Minifree Ltd, -on select hardware, as well as send your compatible hardware -for [Libreboot preinstallation](https://minifree.org/product/installation-service/). -The founder and lead developer of Libreboot, Leah Rowe, also owns and operates -Minifree; sales provide funding for Libreboot. - -**NEUESTE VERSION: Die neueste Version von Libreboot ist 20241206, veröffentlicht -am 6 December 2024. -Siehe auch: [Libreboot 20241206 release announcement](news/libreboot20241206.md).** - -Libreboot provides [GRUB](docs/linux/) and SeaBIOS payloads on x86/x86\_64 -Intel/AMD motherboards, and a [U-Boot UEFI payload](docs/uboot/) *for coreboot* -on ARM64(Aarch64) motherboards. +Libreboot provides GNU [GRUB](docs/linux/) boot loader and SeaBIOS payloads on +x86/x86\_64 Intel/AMD motherboards, and +a [U-Boot UEFI payload](docs/uboot/) *for coreboot* on ARM64(Aarch64) motherboards. An [x86/x86\_64 U-Boot UEFI payload](docs/uboot/uboot-x86.md) is also available on some boards. The x86, x86\_64 and arm64 U-Boot payloads provide a lightweight UEFI boot implementation, which can boot many Linux distros and BSD systems. @@ -37,6 +27,16 @@ depends on your preferences. Libreboot's design incorporates all of these boot methods in a single image, so you can choose which one you use at boot time, and more payloads (e.g. Linux kexec payload) are planned for future releases. +**NEUESTE VERSION: Die neueste Version von Libreboot ist 20241206, veröffentlicht +am 6 December 2024. +Siehe auch: [Libreboot 20241206 release announcement](news/libreboot20241206.md).** + +You can also [buy Libreboot preinstalled](https://minifree.org/) from Minifree Ltd, +on select hardware, as well as send your compatible hardware +for [Libreboot preinstallation](https://minifree.org/product/installation-service/). +The founder and lead developer of Libreboot, Leah Rowe, also owns and operates +Minifree; sales provide funding for Libreboot. + Warum solltest Du *Libreboot* verwenden? ---------------------------- diff --git a/site/index.fr.md b/site/index.fr.md index d0169dd..85471c7 100644 --- a/site/index.fr.md +++ b/site/index.fr.md @@ -8,15 +8,8 @@ Il initialise le matériel (le contrôleur de mémoire, le CPU, les périphériq -Vous pouvez également acheter du matériel avec [Libreboot pré-installé](https://minifree.org/) via l'entreprise Minifree Ltd, -ou envoyer votre propre ordinateur [pour y installer Libreboot](https://minifree.org/product/installation-service/). - -Leah Rowe, fondateur et principal développeur du projet Libreboot, est également propriétaire de Minifree Ltd. Les ventes contribuent à financer le développement du projet Libreboot. - -**NOUVELLE VERSION: La dernière version est [Libreboot 20241206](news/Libreboot20241206.md), sortie -le 6 December 2024.** - -Libreboot provides [GRUB](docs/linux/) and SeaBIOS payloads on x86/x86\_64 +Libreboot provides GNU [GRUB](docs/linux/) boot loader and SeaBIOS payloads +on x86/x86\_64 Intel/AMD motherboards, and a [U-Boot UEFI payload](docs/uboot/) *for coreboot* on ARM64(Aarch64) motherboards. An [x86/x86\_64 U-Boot UEFI payload](docs/uboot/uboot-x86.md) is also available @@ -27,6 +20,14 @@ depends on your preferences. Libreboot's design incorporates all of these boot methods in a single image, so you can choose which one you use at boot time, and more payloads (e.g. Linux kexec payload) are planned for future releases. +**NOUVELLE VERSION: La dernière version est [Libreboot 20241206](news/Libreboot20241206.md), sortie +le 6 December 2024.** + +Vous pouvez également acheter du matériel avec [Libreboot pré-installé](https://minifree.org/) via l'entreprise Minifree Ltd, +ou envoyer votre propre ordinateur [pour y installer Libreboot](https://minifree.org/product/installation-service/). + +Leah Rowe, fondateur et principal développeur du projet Libreboot, est également propriétaire de Minifree Ltd. Les ventes contribuent à financer le développement du projet Libreboot. + Pourquoi devriez-vous utiliser *Libreboot*? ----------------------------------- diff --git a/site/index.it.md b/site/index.it.md index e8937ba..44373d8 100644 --- a/site/index.it.md +++ b/site/index.it.md @@ -14,16 +14,8 @@ su [Libera](https://libera.chat/). -You can also [buy Libreboot preinstalled](https://minifree.org/) from Minifree Ltd, -on select hardware, as well as send your compatible hardware -for [Libreboot preinstallation](https://minifree.org/product/installation-service/). -The founder and lead developer of Libreboot, Leah Rowe, also owns and operates -Minifree; sales provide funding for Libreboot. - -**ULTIMO RILASCIO: L'ultimo rilascio e' Libreboot 20241206, rilasciato il 6 December 2024. -Vedi: [Libreboot 20241206 annuncio di rilascio](news/libreboot20241206.md).** - -Libreboot provides [GRUB](docs/linux/) and SeaBIOS payloads on x86/x86\_64 +Libreboot provides GNU [GRUB](docs/linux/) boot loader and SeaBIOS payloads +on x86/x86\_64 Intel/AMD motherboards, and a [U-Boot UEFI payload](docs/uboot/) *for coreboot* on ARM64(Aarch64) motherboards. An [x86/x86\_64 U-Boot UEFI payload](docs/uboot/uboot-x86.md) is also available @@ -34,6 +26,15 @@ depends on your preferences. Libreboot's design incorporates all of these boot methods in a single image, so you can choose which one you use at boot time, and more payloads (e.g. Linux kexec payload) are planned for future releases. +**ULTIMO RILASCIO: L'ultimo rilascio e' Libreboot 20241206, rilasciato il 6 December 2024. +Vedi: [Libreboot 20241206 annuncio di rilascio](news/libreboot20241206.md).** + +You can also [buy Libreboot preinstalled](https://minifree.org/) from Minifree Ltd, +on select hardware, as well as send your compatible hardware +for [Libreboot preinstallation](https://minifree.org/product/installation-service/). +The founder and lead developer of Libreboot, Leah Rowe, also owns and operates +Minifree; sales provide funding for Libreboot. + Per quale ragione utilizzare *Libreboot*? ----------------------------------------- diff --git a/site/index.md b/site/index.md index d7c914c..78d9299 100644 --- a/site/index.md +++ b/site/index.md @@ -16,11 +16,14 @@ on [Libera](https://libera.chat/) IRC. ThinkPad T480 running LibrebootThinkPad T480 running Libreboot -You can also [buy Libreboot preinstalled](https://minifree.org/) from Minifree Ltd, -on select hardware, as well as send your compatible hardware -for [Libreboot preinstallation](https://minifree.org/product/installation-service/). -The founder and lead developer of Libreboot, Leah Rowe, also owns and operates -Minifree; sales provide funding for Libreboot. +Libreboot provides GNU [GRUB](docs/linux/) boot loader and SeaBIOS payloads +on x86/x86\_64 +Intel/AMD motherboards, and a [U-Boot UEFI payload](docs/uboot/) *for coreboot* +on ARM64(Aarch64) motherboards. +An [x86/x86\_64 U-Boot UEFI payload](docs/uboot/uboot-x86.md) is also available +on some boards. The x86, x86\_64 and arm64 U-Boot payloads provide a lightweight +UEFI boot implementation. Libreboot's [design](docs/maintain/) incorporates all +of these payloads in a single image, and you choose one at boot time. **NEW RELEASE: The latest release is Libreboot 20241206, released on 6 December 2024. @@ -28,6 +31,12 @@ See: [Libreboot 20241206 release announcement](news/libreboot20241206.md) - the newest revision release, Libreboot 20241206 revision 8, is from 6 January 2025.** +You can also [buy Libreboot preinstalled](https://minifree.org/) from Minifree Ltd, +on select hardware, as well as send your compatible hardware +for [Libreboot preinstallation](https://minifree.org/product/installation-service/). +The founder and lead developer of Libreboot, Leah Rowe, also owns and operates +Minifree; sales provide funding for Libreboot. + *We* believe the freedom to [study, share, modify and use software](https://writefreesoftware.org/), without any restriction, is one of the fundamental human rights that everyone must have. @@ -48,14 +57,6 @@ which then jumps to a [payload](https://doc.coreboot.org/payloads.html) in the boot flash; coreboot works with many payloads, which boot your operating system e.g. Linux/BSD. -Libreboot provides [GRUB](docs/linux/) and SeaBIOS payloads on x86/x86\_64 -Intel/AMD motherboards, and a [U-Boot UEFI payload](docs/uboot/) *for coreboot* -on ARM64(Aarch64) motherboards. -An [x86/x86\_64 U-Boot UEFI payload](docs/uboot/uboot-x86.md) is also available -on some boards. The x86, x86\_64 and arm64 U-Boot payloads provide a lightweight -UEFI boot implementation. Libreboot's [design](docs/maintain/) incorporates all -of these payloads in a single image, and you choose one at boot time. - Libreboot makes coreboot easy to use for non-technical users, by providing a [fully automated build system](docs/maintain/), [automated build process](docs/build/) and diff --git a/site/index.ru.md b/site/index.ru.md index bf974d2..b91e451 100644 --- a/site/index.ru.md +++ b/site/index.ru.md @@ -7,13 +7,8 @@ x-toc-enable: true -Вы также можете купить [Libreboot предустановленным](https://minifree.org) от Minifree Ltd, а также присылать нам свои совместимые устройства для [установки Libreboot](https://minifree.org/product/installation-service/). Основатель и ведущий разработчик Libreboot, Лия Роу, также владеет и управляет Minifree; продажи обеспечивают финансирование для Libreboot. - -**НОВЫЙ РЕЛИЗ: Последний релиз Libreboot - 20241206, опубликован 6 December 2024 года. Смотрите: [Libreboot 20241206 release announcment](news/libreboot20241206.md).** - -*Мы* верим, что свобода [изучать, делиться, модифицировать и использовать программное обеспечение](https://writefreesoftware.org/) без каких-либо ограничений, является одним из основных человеческих прав, который должен иметь каждый. В этом контексте, *свобода программного обеспечения* важна. Ваша свобода важна. Образование важно. [Право на ремонт](https://en.wikipedia.org/wiki/Right_to_repair) важно; Libreboot позволяет вам продолжить использовать ваше оборудование. Вот *почему* Libreboot существует. - -Libreboot provides [GRUB](docs/linux/) and SeaBIOS payloads on x86/x86\_64 +Libreboot provides GNU [GRUB](docs/linux/) boot loader and SeaBIOS payloads +on x86/x86\_64 Intel/AMD motherboards, and a [U-Boot UEFI payload](docs/uboot/) *for coreboot* on ARM64(Aarch64) motherboards. An [x86/x86\_64 U-Boot UEFI payload](docs/uboot/uboot-x86.md) is also available @@ -24,6 +19,13 @@ depends on your preferences. Libreboot's design incorporates all of these boot methods in a single image, so you can choose which one you use at boot time, and more payloads (e.g. Linux kexec payload) are planned for future releases. +**НОВЫЙ РЕЛИЗ: Последний релиз Libreboot - 20241206, опубликован 6 December 2024 года. Смотрите: [Libreboot 20241206 release announcment](news/libreboot20241206.md).** + +Вы также можете купить [Libreboot предустановленным](https://minifree.org) от Minifree Ltd, а также присылать нам свои совместимые устройства для [установки Libreboot](https://minifree.org/product/installation-service/). Основатель и ведущий разработчик Libreboot, Лия Роу, также владеет и управляет Minifree; продажи обеспечивают финансирование для Libreboot. + +*Мы* верим, что свобода [изучать, делиться, модифицировать и использовать программное обеспечение](https://writefreesoftware.org/) без каких-либо ограничений, является одним из основных человеческих прав, который должен иметь каждый. В этом контексте, *свобода программного обеспечения* важна. Ваша свобода важна. Образование важно. [Право на ремонт](https://en.wikipedia.org/wiki/Right_to_repair) важно; Libreboot позволяет вам продолжить использовать ваше оборудование. Вот *почему* Libreboot существует. + + Обзор устройства Libreboot -------------------------- diff --git a/site/index.uk.md b/site/index.uk.md index 03b404c..99529bf 100644 --- a/site/index.uk.md +++ b/site/index.uk.md @@ -15,16 +15,8 @@ x-toc-enable: true -You can also [buy Libreboot preinstalled](https://minifree.org/) from Minifree Ltd, -on select hardware, as well as send your compatible hardware -for [Libreboot preinstallation](https://minifree.org/product/installation-service/). -The founder and lead developer of Libreboot, Leah Rowe, also owns and operates -Minifree; sales provide funding for Libreboot. - -**НОВИЙ ВИПУСК: Останній випуск Libreboot 20241206, випущено 6 December 2024. -Дивіться: [Оголошення про випуск Libreboot 20241206](news/libreboot20241206.md).** - -Libreboot provides [GRUB](docs/linux/) and SeaBIOS payloads on x86/x86\_64 +Libreboot provides GNU [GRUB](docs/linux/) boot loader and SeaBIOS payloads +on x86/x86\_64 Intel/AMD motherboards, and a [U-Boot UEFI payload](docs/uboot/) *for coreboot* on ARM64(Aarch64) motherboards. An [x86/x86\_64 U-Boot UEFI payload](docs/uboot/uboot-x86.md) is also available @@ -35,6 +27,15 @@ depends on your preferences. Libreboot's design incorporates all of these boot methods in a single image, so you can choose which one you use at boot time, and more payloads (e.g. Linux kexec payload) are planned for future releases. +**НОВИЙ ВИПУСК: Останній випуск Libreboot 20241206, випущено 6 December 2024. +Дивіться: [Оголошення про випуск Libreboot 20241206](news/libreboot20241206.md).** + +You can also [buy Libreboot preinstalled](https://minifree.org/) from Minifree Ltd, +on select hardware, as well as send your compatible hardware +for [Libreboot preinstallation](https://minifree.org/product/installation-service/). +The founder and lead developer of Libreboot, Leah Rowe, also owns and operates +Minifree; sales provide funding for Libreboot. + Чому вам варто використовувати *Libreboot*? ---------------------------- diff --git a/site/index.zh-cn.md b/site/index.zh-cn.md index 55101de..dacba69 100644 --- a/site/index.zh-cn.md +++ b/site/index.zh-cn.md @@ -7,14 +7,8 @@ x-toc-enable: true -你也可以从 Minifree Ltd [购买特定硬件的 Libreboot 电脑](https://minifree.org/), -或者将兼容硬件寄来预装 Libreboot。 -Libreboot 的创始人和主要开发者,Leah Rowe,也是 Minifree 的所有者和经营者; -销售电脑为 Libreboot 提供资金。 - -**新版发布: 最新版本 Libreboot 20241206 已在 2024 年 12 月 06 日发布。详见: [Libreboot 20241206 发布公告](news/libreboot20241206.md).** - -Libreboot provides [GRUB](docs/linux/) and SeaBIOS payloads on x86/x86\_64 +Libreboot provides GNU [GRUB](docs/linux/) boot loader and SeaBIOS payload +on x86/x86\_64 Intel/AMD motherboards, and a [U-Boot UEFI payload](docs/uboot/) *for coreboot* on ARM64(Aarch64) motherboards. An [x86/x86\_64 U-Boot UEFI payload](docs/uboot/uboot-x86.md) is also available @@ -25,6 +19,13 @@ depends on your preferences. Libreboot's design incorporates all of these boot methods in a single image, so you can choose which one you use at boot time, and more payloads (e.g. Linux kexec payload) are planned for future releases. +**新版发布: 最新版本 Libreboot 20241206 已在 2024 年 12 月 06 日发布。详见: [Libreboot 20241206 发布公告](news/libreboot20241206.md).** + +你也可以从 Minifree Ltd [购买特定硬件的 Libreboot 电脑](https://minifree.org/), +或者将兼容硬件寄来预装 Libreboot。 +Libreboot 的创始人和主要开发者,Leah Rowe,也是 Minifree 的所有者和经营者; +销售电脑为 Libreboot 提供资金。 + 为什么要使用 *Libreboot*? ---------------------------- From 3c2af034edd69fc470d9fec267400e9a742b640c Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 25 Jan 2025 07:08:47 +0000 Subject: [PATCH 201/279] gnu boot loader grub Signed-off-by: Leah Rowe --- site/index.de.md | 2 +- site/index.fr.md | 2 +- site/index.it.md | 2 +- site/index.md | 2 +- site/index.ru.md | 2 +- site/index.uk.md | 2 +- site/index.zh-cn.md | 2 +- site/template.de.include | 2 +- site/template.include | 2 +- site/template.it.include | 2 +- site/template.uk.include | 2 +- site/template.zh-cn.include | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/site/index.de.md b/site/index.de.md index fc34224..139f540 100644 --- a/site/index.de.md +++ b/site/index.de.md @@ -16,7 +16,7 @@ und [Libera](https://libera.chat/) IRC. -Libreboot provides GNU [GRUB](docs/linux/) boot loader and SeaBIOS payloads on +Libreboot provides GNU boot loader "[GRUB](docs/linux/)" and SeaBIOS payloads on x86/x86\_64 Intel/AMD motherboards, and a [U-Boot UEFI payload](docs/uboot/) *for coreboot* on ARM64(Aarch64) motherboards. An [x86/x86\_64 U-Boot UEFI payload](docs/uboot/uboot-x86.md) is also available diff --git a/site/index.fr.md b/site/index.fr.md index 85471c7..4ab6977 100644 --- a/site/index.fr.md +++ b/site/index.fr.md @@ -8,7 +8,7 @@ Il initialise le matériel (le contrôleur de mémoire, le CPU, les périphériq -Libreboot provides GNU [GRUB](docs/linux/) boot loader and SeaBIOS payloads +Libreboot provides GNU boot loader "[GRUB](docs/linux/)" and SeaBIOS payloads on x86/x86\_64 Intel/AMD motherboards, and a [U-Boot UEFI payload](docs/uboot/) *for coreboot* on ARM64(Aarch64) motherboards. diff --git a/site/index.it.md b/site/index.it.md index 44373d8..072018f 100644 --- a/site/index.it.md +++ b/site/index.it.md @@ -14,7 +14,7 @@ su [Libera](https://libera.chat/). -Libreboot provides GNU [GRUB](docs/linux/) boot loader and SeaBIOS payloads +Libreboot provides GNU boot loader "[GRUB](docs/linux/)" and SeaBIOS payloads on x86/x86\_64 Intel/AMD motherboards, and a [U-Boot UEFI payload](docs/uboot/) *for coreboot* on ARM64(Aarch64) motherboards. diff --git a/site/index.md b/site/index.md index 78d9299..4acf802 100644 --- a/site/index.md +++ b/site/index.md @@ -16,7 +16,7 @@ on [Libera](https://libera.chat/) IRC. ThinkPad T480 running LibrebootThinkPad T480 running Libreboot -Libreboot provides GNU [GRUB](docs/linux/) boot loader and SeaBIOS payloads +Libreboot provides GNU boot loader "[GRUB](docs/linux/)" SeaBIOS payloads on x86/x86\_64 Intel/AMD motherboards, and a [U-Boot UEFI payload](docs/uboot/) *for coreboot* on ARM64(Aarch64) motherboards. diff --git a/site/index.ru.md b/site/index.ru.md index b91e451..6f9474e 100644 --- a/site/index.ru.md +++ b/site/index.ru.md @@ -7,7 +7,7 @@ x-toc-enable: true -Libreboot provides GNU [GRUB](docs/linux/) boot loader and SeaBIOS payloads +Libreboot provides GNU boot loader "[GRUB](docs/linux/)" and SeaBIOS payloads on x86/x86\_64 Intel/AMD motherboards, and a [U-Boot UEFI payload](docs/uboot/) *for coreboot* on ARM64(Aarch64) motherboards. diff --git a/site/index.uk.md b/site/index.uk.md index 99529bf..4772fae 100644 --- a/site/index.uk.md +++ b/site/index.uk.md @@ -15,7 +15,7 @@ x-toc-enable: true -Libreboot provides GNU [GRUB](docs/linux/) boot loader and SeaBIOS payloads +Libreboot provides GNU boot loader "[GRUB](docs/linux/)" and SeaBIOS payloads on x86/x86\_64 Intel/AMD motherboards, and a [U-Boot UEFI payload](docs/uboot/) *for coreboot* on ARM64(Aarch64) motherboards. diff --git a/site/index.zh-cn.md b/site/index.zh-cn.md index dacba69..31eb162 100644 --- a/site/index.zh-cn.md +++ b/site/index.zh-cn.md @@ -7,7 +7,7 @@ x-toc-enable: true -Libreboot provides GNU [GRUB](docs/linux/) boot loader and SeaBIOS payload +Libreboot provides GNU boot loader "[GRUB](docs/linux/)" and SeaBIOS payload on x86/x86\_64 Intel/AMD motherboards, and a [U-Boot UEFI payload](docs/uboot/) *for coreboot* on ARM64(Aarch64) motherboards. diff --git a/site/template.de.include b/site/template.de.include index 4758c1d..9c8bd55 100644 --- a/site/template.de.include +++ b/site/template.de.include @@ -2,7 +2,7 @@ - + diff --git a/site/template.include b/site/template.include index 8deb951..6985d07 100644 --- a/site/template.include +++ b/site/template.include @@ -2,7 +2,7 @@ - + diff --git a/site/template.it.include b/site/template.it.include index 4e8c168..807bfef 100644 --- a/site/template.it.include +++ b/site/template.it.include @@ -2,7 +2,7 @@ - + diff --git a/site/template.uk.include b/site/template.uk.include index c2eaf67..86fbb82 100644 --- a/site/template.uk.include +++ b/site/template.uk.include @@ -2,7 +2,7 @@ - + diff --git a/site/template.zh-cn.include b/site/template.zh-cn.include index c192168..d1cf266 100644 --- a/site/template.zh-cn.include +++ b/site/template.zh-cn.include @@ -2,7 +2,7 @@ - + From f3b11876443b39f536dec91fd9fff630d4417ee2 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 25 Jan 2025 07:11:08 +0000 Subject: [PATCH 202/279] grammar Signed-off-by: Leah Rowe --- site/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/index.md b/site/index.md index 4acf802..bb12feb 100644 --- a/site/index.md +++ b/site/index.md @@ -16,7 +16,7 @@ on [Libera](https://libera.chat/) IRC. ThinkPad T480 running LibrebootThinkPad T480 running Libreboot -Libreboot provides GNU boot loader "[GRUB](docs/linux/)" SeaBIOS payloads +Libreboot provides GNU boot loader "[GRUB](docs/linux/)" and SeaBIOS payloads on x86/x86\_64 Intel/AMD motherboards, and a [U-Boot UEFI payload](docs/uboot/) *for coreboot* on ARM64(Aarch64) motherboards. From 9bd18ec1ae411ea18eb0d742a33fb7ede4dae87e Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 25 Jan 2025 07:25:05 +0000 Subject: [PATCH 203/279] hardened title Signed-off-by: Leah Rowe --- site/docs/linux/grub_hardening.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/docs/linux/grub_hardening.md b/site/docs/linux/grub_hardening.md index 4ec9642..c104934 100644 --- a/site/docs/linux/grub_hardening.md +++ b/site/docs/linux/grub_hardening.md @@ -1,5 +1,5 @@ --- -title: Hardening GRUB (i.e. Secure libreBoot) +title: Hardened GNU boot loader (GRUB payload) x-toc-enable: true ... From b9e94013d85e3200944e0078b632e432fd41a9d7 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 25 Jan 2025 07:29:56 +0000 Subject: [PATCH 204/279] docs/install: better introduction Signed-off-by: Leah Rowe --- site/docs/install/index.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/site/docs/install/index.md b/site/docs/install/index.md index fa6c680..3ed0252 100644 --- a/site/docs/install/index.md +++ b/site/docs/install/index.md @@ -1,11 +1,16 @@ --- -title: Install Libreboot Open Source BIOS/UEFI firmware +title: Install Libreboot Open Source BIOS/UEFI boot firmware x-toc-enable: true ... -Open source BIOS/UEFI firmware +Open source BIOS/UEFI boot firmware ------------------------------ +With x86 machines, you can use the SeaBIOS or the GNU boot loader named GRUB as +a payload. On ARM +systems, you can use the U-Boot payload (coreboot still initialises hardware). +An x86/x86\_64 U-Boot UEFI payload is also available. + This article will teach you how to install Libreboot, on any of the supported laptop, desktop and server motherboards of Intel/AMD x86/x86\_64 and ARM64 platform. @@ -64,9 +69,6 @@ build system can be found in the [lbmk maintenance manual](../maintain/), and information about porting new systems in the [porting manual](../maintain/porting.md). -With x86 machines, you can use the SeaBIOS or GRUB bootloader payloads. On ARM -systems, you can use the U-Boot payload (coreboot still initialises hardware). - Libreboot currently supports the following systems: ### Games consoles From 675e3d8593fcf858ed969cb7c6c9aa76dc18746b Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 25 Jan 2025 07:39:35 +0000 Subject: [PATCH 205/279] improve the linux page Signed-off-by: Leah Rowe --- site/docs/linux/index.md | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/site/docs/linux/index.md b/site/docs/linux/index.md index fc80616..0ad58ce 100644 --- a/site/docs/linux/index.md +++ b/site/docs/linux/index.md @@ -1,17 +1,12 @@ --- -title: Install Linux on a Libreboot system +title: Boot GNU and Linux on a Libreboot system x-toc-enable: true ... -Booting Linux from GRUB payload -------------------------------- +GNU boot loader "GRUB" +-------- -NOTE: This guide pertains to x86 hosts, and does not cover supported CrOS/ARM -chromebooks. For ARM targets, you should refer -to [u-boot documentation](../uboot/) - separate [U-Boot x86 -documentation](../uboot/uboot-x86.md) is also available. - -This page is useful for those who wish to use the GRUB GRUB payload directly. +This page is useful for those who wish to use the GNU boot loader called GRUB. If you're using SeaBIOS, the boot process will work similarly to traditional BIOS systems; refer to the SeaBIOS documentation on @@ -19,6 +14,13 @@ on Linux is generally assumed, especially for Libreboot development, but Libreboot also works quite nicely with [BSD systems](../bsd/). +### Booting Linux from GRUB payload + +NOTE: This guide pertains to x86 hosts, and does not cover supported CrOS/ARM +chromebooks. For ARM targets, you should refer +to [u-boot documentation](../uboot/) - separate [U-Boot x86 +documentation](../uboot/uboot-x86.md) is also available. + ### Useful links Refer to these pages, hosted by the Libreboot project: From a655788bdb83b9dd4b426382000b6771fb5a26f8 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 25 Jan 2025 07:44:45 +0000 Subject: [PATCH 206/279] improve home page title Signed-off-by: Leah Rowe --- site/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/index.md b/site/index.md index bb12feb..80c6cfe 100644 --- a/site/index.md +++ b/site/index.md @@ -1,5 +1,5 @@ --- -title: Free and Open Source BIOS/UEFI firmware +title: Free and Open Source BIOS/UEFI boot firmware x-toc-enable: true ... From e48c951f25cee6335c662c50eb29fddc84efd6ff Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 25 Jan 2025 11:25:12 +0000 Subject: [PATCH 207/279] lbssg Signed-off-by: Leah Rowe --- site/docs/index.md | 1 + site/docs/index.uk.md | 1 + site/docs/index.zh-cn.md | 1 + site/docs/sitegen/index.md | 849 +++++++++++++++++++++++++++++++++++++ site/git.de.md | 13 +- site/git.md | 13 +- site/git.uk.md | 13 +- site/index.de.md | 4 + site/index.fr.md | 4 + site/index.it.md | 4 + site/index.md | 4 + site/index.ru.md | 3 + site/index.uk.md | 4 + site/index.zh-cn.md | 4 + 14 files changed, 903 insertions(+), 15 deletions(-) create mode 100644 site/docs/sitegen/index.md diff --git a/site/docs/index.md b/site/docs/index.md index 96a9f92..9684d2d 100644 --- a/site/docs/index.md +++ b/site/docs/index.md @@ -43,6 +43,7 @@ Information for developers Other information ----------------- +- [Libreboot Static Site Generator](sitegen/) - [Miscellaneous](misc/) - [List of codenames](misc/codenames.md) diff --git a/site/docs/index.uk.md b/site/docs/index.uk.md index 2fc7309..cf0fd85 100644 --- a/site/docs/index.uk.md +++ b/site/docs/index.uk.md @@ -43,6 +43,7 @@ operates Minifree Ltd; sales provide funding for the Libreboot project. Інша інформація --------------- +- [Libreboot Static Site Generator](sitegen/) - [Різне](misc/) - [Список кодових назв](misc/codenames.md) diff --git a/site/docs/index.zh-cn.md b/site/docs/index.zh-cn.md index 40ac6e4..7e92669 100644 --- a/site/docs/index.zh-cn.md +++ b/site/docs/index.zh-cn.md @@ -41,6 +41,7 @@ operates Minifree Ltd; sales provide funding for the Libreboot project. 其它信息 -------- +- [Libreboot Static Site Generator](sitegen/) - [杂项](misc/) - [代号列表](misc/codenames.md) diff --git a/site/docs/sitegen/index.md b/site/docs/sitegen/index.md new file mode 100644 index 0000000..53073c0 --- /dev/null +++ b/site/docs/sitegen/index.md @@ -0,0 +1,849 @@ +--- +title: Libreboot Static Site Generator (lbssg) +x-toc-enable: true +... + +Home of your favourite firmware to boot GNU / Linux +--------------------------------------------------- + +This document describes the *static site generator*, which is used to build +the Libreboot website; it was previously called the *Untitled Static Site +Generator* and hosted separately, but it is now an official component of +the Libreboot project, since 25 January 2025. + +This static site generator is simply called the *Libreboot Static Site +Generator*, or just *lbssg* for short. It can be used for any number of +websites, and is in fact used elsewhere, but it is primarily used *by* and +developed *for* the Libreboot project. + +The Git repository is now `lbssg.git`, which you can find linked on +the [Git page](../../git.md). + +Websites made easy +------------------ + +This software is written in POSIX shell (`sh`) scripts, and uses Pandoc to +generate HTML from Markdown files. It is designed to be stupidly simple, +allowing Free and Open Source Software projects to easily host any number of +websites. + +It is a *multi-site* static site generator; a single instance of LBSSG can +handle an unlimited number of websites, all with different *templates* in +Pandoc (for different page layouts), CSS files, footer, header, navigation and +more. + +With lbssg, it is possible to generate an unlimited number of *news* +pages and *blogs*, with auto-generated RSS feeds. + +The variant of markdown is the Pandoc variant, which you can read about here:\ + + +The *templates* feature in Pandoc is really what makes lbssg very powerful. +You can make any number of websites, with many different designs, using Pandoc +templates. This is precisely why lbssg uses Pandoc. See:\ + + +Pandoc's *smart* mode is used. In this mode, it is possible to use HTML +inside Markdown files. For example, if you want to embed videos, use iframes, +use JavaScript and more. + +lbssg is *Free Software*, released under the terms of the GNU General Public +License, version 3 of the license or, at your option, any later version as +published by the Free Software Foundation. You can find a copy of this license +in the `COPYING` file, when you download lbssg, or you can read it here:\ + + +(some parts of it are under the MIT license) + +Learn more about Free Software:\ +. + +### Real-world examples + +Here are some websites built using the Libreboot Static Site Generator: + +* (Libreboot project, maintained by Leah Rowe) +* (Libreboot fork maintained by Leah Rowe) +* +* (Leah Rowe's blog) + +Requirements +------------ + +Libreboot Static Site Generator is designed to be stupidly simple. You need: + +* Unix-based operating system e.g. Linux-based distro, OpenBSD, FreeBSD. Etc +* Pandoc +* Web server (nginx or OpenBSD httpd recommended) +* Any implementation of these Unix utilities: `sh`, `find`, `grep` and `sed`. + +### POSIX compatibility + +As of revision `9cc6f5dc7349b7f339f99c84789b6c62ea7bb1c7` on 4 December 2023, +lbssg works with any POSIX `sh` implementation. Various utilities like +Sed, Find (that are POSIX) are now used in a POSIX way. This means that +lbssg can be used on pretty much any Unix system such as GNU+Linux, +Alpine Linux, Chimera Linux, BSDs like OpenBSD or FreeBSD, and so on. Older +revisions only worked with GNU tools, but the newer revision also still works +with GNU tools. Older revisions of lbssg were written in `bash`, not `sh`. + +Security notes +--------------- + +USE THIS SOFTWARE AT YOUR OWN RISK. A FULL SECURITY AUDIT IS NEEDED. + +Symlinks are intentionally unsupported, and *ignored*, in site directories +handled by lbssg. This is for security reasons. If you find that symlinks +are permitted, in any way, it's a bug and you should report it! + +At the very least, you are advised to take the following precautions + +* It is HIGHLY recommended that you run lbssg in a heavily chrooted + environment, if you're using this on a production web server. +* Disable symlinks in your web server + +DO NOT use lbssg in a shared hosting environment, especially on a crontab or +other automated setup. You, the operator, must ensure full control of all +sites handled by your lbssg installation. For the time being, this is +recommended until lbssg is full audited for security, and modified +accordingly. Efforts have already been made, but this software is very new +and requires a lot of testing. In general, you should consider lbssg to +be *alpha* quality, at best. It is not yet ready for a stable release; it is +currently only *rolling release*, hosted in a Git repository. + +lbssg only allows sites to be processed under `www/` in the +current working directory. You may choose to put `www/` under the git clone +of lbssg itself. Or you could specify the full path to the `build` script +and process files in a `www/` elsewhere. + +Getting started +--------------- + +Simply make a directory named `www/` somewhere. + +In `www/`, make a directory *per website*. For each website, +set `www/sitename/site/` as the document root in your web server. +lbssg expects this `site` directory to exist. + +### Example website + +Check the `www-example` directory, for an example website. Also look at the +logic in the file named `build`, in the main directory of the untitled static +site generator. + +The Libreboot website is also hosted in a Git repository, if you want a +real-world example of a website that uses lbssg. + +How to use +---------- + +You should use a normal Unix shell (`sh` implementations such as KSH, BASH, +ZSH, CSH etc will all work). This, along with Pandoc. + +See: + +You must then install a web server. The document root for your domain should +point to the `www/sitename/site` directory, where `sitename` is the name of +your site, e.g. `libreboot`, and `www/` is created under your instance of +lbssg. + +The way lbssg is designed, you use it directly, running directly on the +server that then hosts the HTML files. However, it is possible to use it in +other ways; for example, you could rsync the resulting files over ssh, to your +server, while running lbssg locally. It's up to you. + +### Generate entire websites + +For security reasons, lbssg will only operate on sites under `www/sitename/` +where `sitename` can be anything. + +To interact with `untitled`, your current working directory should be the main +directory *of untitled*, *not your website*. In that directory, the file named +`build` and the file named `clean` will exist. + +You can have untitled go through an entire website and, if it detects that such +an action is needed, it will build each page. It will check whether a page +needs to be built. For example, if it was already built and no changes were +made, it will skip that page. It does this, using `date -r file +%s` to check +file modification dates. Files ending in `.date` are created, for files that +are tracked by lbssg. + +For a given directory name under `www/`, do this: + + ./build sites www/directoryname + +You can also do: + + ./build sites directoryname + +For example, if your website was hosted at www/foobar: + + ./build sites foobar + +This will only work if your website is set up correctly. Look at the example +website in `www-example/` and read the sections below. + +To build *all* available websites under `www/`, just run it without an argument: + + ./build sites + +You can specify *multiple* websites. For example: + + ./build sites blogsite catblogsite + +In this example, the following sites would be built: + +* `www/blogsite` +* `www/catblogsite` + +NOTE: If you simply run `./build` without any arguments, the `./build sites` +command will be executed. + +### Build specific pages + +These commands will only operate on pages under `www/sitename/` where `sitename` +can be anything. This is for security reasons. + +If you want to save time (e.g. if you're just editing a few pages), you can +skip checking the entire site (or sites) and update just that page. Use this +command: + + ./build pages www/sitename/site/path/to/page.md + +You can also do: + + ./build pages sitename/path/to/page.md + +lbssg will automatically correct the path, if `www/` and `site/` are missing +from the path. For example, to update the homepage: + + ./build pages sitename/index.md + +You can specify multiple pages, *on multiple sites*. For example: + + ./build pages joebloggsandhisdog/index.md janedoesblog/news/guitar.md + +NOTE: the `mksitemap` and `mknews` functions are not automatically executed +when running these commands. + +NOTE: if you run `./build pages` without specifying any paths to pages, then +the `./build sites` command will be executed instead. However, if you specify +paths and none exist, nothing will happen. + +NOTE: If you simply run `./build` without any arguments, the `./build sites` +command will be executed. + +### Cleaning up + +If you want to un-make your site, such that the HTML files are purged, do this: + + ./clean + +This will clean *all* sites. If you only want to clean a specific site, do +this: + + ./clean sitename + +(sitename would be located at `www/sitename/`, in this example) + +NOTE: an HTML file is only deleted if a corresponding Markdown file exists. +This means that if you permanently delete a markdown file from your site, you +should ensure that the HTML file is also delete dif you don't want that file +to be available anymore. + +### Rolling builds + +If you're running lbssg directly, SSH'd into your httpd machine, you +might want to update an entire website from scratch. This ordinarily means +that you must run `./clean`, first - in other words, the website will be +offline (HTML files deleted) while it re-builds. + +To prevent this, you can use `roll` instead of `build`. For example: + + ./roll sites libreboot + +This also works with pages: + + ./roll pages libreboot/index.md + +You can also do this without argument, as with `build`, and it would build +everything. e.g.: + + ./roll + ./roll sites + ./roll pages + +This is especially useful for very large websites, where an entire re-build +might take 30 seconds or more. + +Markdown files +-------------- + +Write your markdown files, with file extensions ending in __*.*md__ and the +build script will automatically see them. It will convert them into HTML, +stripping off the __*.*md__ file extension and replacing it with `.html` + +Place these markdown files anywhere under `www/sitename/site/` where `sitename` +is whatever you named your website, per directory hierarchy rules of lbssg. + +Again, the `www-example` directory can be extremely useful if you want to play +around first, before you make a real website with lbssg. + +Files in www/sitename/ +---------------------- + +These files affect the site globally, for each website under `www/` + +Each site has its own directory: www/sitename/ + +`sitename` can be anything you want. e.g. `kittenblog` + +www/sitename/site.cfg +--------------------- + +**REQUIRED** + +sitename can be anything. + +site.cfg is the main configuration file for your website. + +Example entries (for libreboot.org): + +``` +TITLE="Libreboot" +CSS="/global.css" +DOMAIN="https://libreboot.org/" +BLOGDIR="news/" +DEFAULTLANG="en" +``` + +NOTE: Older versions of untitled had TITLE like this: + +``` +TITLE="-T Libreboot" +``` + +You must now omit the -T option, because it's hardcoded in the build script. + +### LAZY + +If `LAZY="y"`, lazy image loading will be enabled. This is useful for +conserving bandwidth. The default behaviour is `LAZY="n"` if not set +to `"y"`. See: + + + +### DEFAULTLANG + +This is optional. If unspecified, the default language will be English. Also, +if this entry defines an unsupported language, lbssg will default to +English. + +It specifies the default language, for your website. It may +be that you have multiple languages available on your website, +where __file*.*md__ is your chosen language (e.g. German, Japanese, Englist) +and __file.xx*.*md__ is another language for the same page. xx can be anything. + +### BLOGDIR + +This is the directory for your main news section, if you have a news section. +You do not need to declare this. + +The news section is only valid if it has the right files, in the directory +specified here. You can actually have as many news/blog sections as you like, +but this setting specifies the "main" one. For example, if you're a software +project you might have a news section, and a release section, and they might +both be news pages. News pages have RSS feeds and indexes automatically +generated by `untitled`. + +If your website is primarily a blog, you might leave this string empty. That +way, your *home page* is the news index. In that scenario, you would not place +an index file in the root of your website. Let `untitled` generate it for you! + +### DOMAIN + +This is the URL for the home page of your website. + +### CSS + +Specifies the .css stylesheet that is to be used. See above example. Just add +an entry saying `/path/to/css/file` for the CSS file. The `/` is the root +of your website, when viewed publicly. Basically, / would be the home page, +and everything after that is relative. In other words, it is the URI of your +CSS file. + +The actual domain name is not prefixed, when the CSS stylesheet path is given +inside the generated HTML document. + +### TITLE + +Use the format above. Don't use spaces or special characters. Just keep it +simply. E.g. `-T Gardening` + +This would usually be the name of your website, company, project or whatever +else. + +### SITEMAP + +OPTIONAL. + +Write this in `site.cfg` for a given site: + +``` +SITEMAP="n" +``` + +If you do this, the sitemap will not be generated. lbssg will otherwise +generate a sitemap, by default. + +site/template.include +--------------------- + +**REQUIRED** + +Put a pandoc template here, in this file. + +There is an HTML5 template in `www-example/` which you can adapt for your site. +TODO: make an xhtml template. Patches welcome! + +It is recommended that you put your common site navigation section in this +file (formatted in HTML). + +site/nav.include +---------------- + +**optional** + +Put this in the root of `www/sitename/site/`. You can actually put whatever +you want in here, but it can be used for a navigation menu. You could also use +it to put a side-wide notice, on your website. + +Write this file in Markdown. You could also put a common navigation section +in the template, and use `nav` files for site-wide announcements, or for +announcements on specific pages. How you use lbssg is entirely up to you! + +site/global.css +--------------- + +**optional** + +The filename can actually be anything, for your CSS. In fact, it's entirely +optional. You can leave the CSS string empty in `site.cfg` and just have a +site without CSS. + +The name `global.css` is merely what the example website (in `www-example/`) +uses, but you don't have to use this file name yourself. + +This file is for styling your pages (HTML ones, after building your Markdown +files). + +w3schools has a nice set of tutorials for learning CSS: + + + +site/sitemap.html +----------------- + +The file named __sitemap*.*md__ will be automatically generated, which is then +assembled into `sitemap.html`. This file will sit on the root directory of +your website. + +Do not manually create these files. They are automatically generated by +lbssg. They simply index your entire website. + +NOTE: It only looks at pages where a Markdown file exists. It ignores pages +where an HTML page exists but a Markdown page doesn't. + +site/sitemap.include +-------------------- + +**optional** + +This file MUST be included if you want a sitemap with your own text. + +If this file is missing, a sitemap will be generated but it will contain a +generic header on the page. + +Simply put a title and some text in here. lbssg and Pandoc will do the rest! + +site/footer.include +------------------- + +**optional** + +If present, this will add a common footer to every page on your website. Write +it in Markdown. + +Rules for Markdown files +------------------------ + +This applies to any __*.*md__ file under `www/sitename/site/` where `sitename` +is whatever you named your website, per directory hiearchy rules. + +The file named __file*.*md__ will be converted into HTML and copied (in HTML +format) to `file.html`. + +When you link to other pages, use absolute links or relative links, but don't +link to the `.html` pages. Link directly to the __*.*md__ files. lbssg +static site generator will use Sed to replace these with .html when generating +the HTML pages (it only skips replacing *external* links, +e.g. `https://example.com/cats.md` + +### TOC (Table of Contents) + +See pages in `www-example/` or example websites linked above (such as the +Libreboot project website). Look in the markdown files for those sites, on +pages that specify `x-toc-enable: true`. This is a special directive for the +Pandoc variant of Markdown. Some other Markdown parsers/generators will also +generate a table of contents. + +In the untitled static site generator, when a TOC is enabled, the depth is 4. +This means that, in HTML, the h1, h2, h3 and h4 tags will show up on the TOC. +The TOC is generated *based on* how you use headers in Markdown, and how they +ultimately end up when converted into HTML. + +### file.nav + +If present, the page from __file*.*md__ will have its own navigation menu, +which will override the default nav.include file. + +This can be anything. Write it in Markdown. For example, you could use this to +put announcements on a page. + +### file.css + +Where you have __file*.*md__, you can also include `file.css`, and this CSS +file will be applied specifically to that page. + +This does not replace any global CSS files that you specified in `site.cfg`. It +is applied *after* that one. One possible use-case for this is if you have an +otherwise decent CSS file for your site, but you need to override certain +rules on a specific page. + +### file.template + +Where you have your Markdown file, strip off the `md`, you create a new file +with the same name but with `.template` file extension. This will override the +default, global template, for that page only. + +### file.footer + +If present, this replaces the global footer for the specific page. + +News sections +------------- + +This section defines what files should be placed in directories that are to +be news sections. For instance, you might have a directory on your website +named `news/`, and you would place these files in that directory. + +An index page will be automatically generated, so don't bother making one +yourself. Simply write your news pages. Read the notes below for how to set up +news sections on your website. + +An RSS feed will also be generated, for every news section. + +*You can have as many news sections as you would like!* + +### Rules for news pages + +A table of contents is always enabled, on news pages (but not the news index), +unless you want it to be so. Technically, news indexes have a TOC but the page +isn't formatted such that a TOC will appear when Pandoc does its thing. + +Start your news page like so, in the Markdown +file e.g. __www/catblog/site/news/spots-birthday*.*md__ + +``` +% Page title +% Author name +% Date + +Page text goes here +``` + +### MANIFEST + +Place this file in the root of the directory where you want there to be a +news section. + +The order of the file names dictate what order the links will appear in, on +the news index that is automatically generated (see below). + +### news-list*.*md.include + +This will have a page title, and introductory text. When the index page is +generated (see below), the resulting index will include the contents of this +file, and then links to each page per the contents of `MANIFEST`. + +### index*.*md and index.html + +Do not place these files in directories containing a MANIFEST file. These will +be generated automatically, with an index linking to news articles. + +### news.cfg + +In this file, write the following lines: + +``` +BLOGTITLE="The daily grind" +BLOGDESCRIPTION="Hot takes, juicy gossip and everything inbetween!" +``` + +You can change these strings to whatever you want. Keep it simple! For +example: + +``` +BLOGTITLE="Bianca's worldly musings" +BLOGDESCRIPTION="Come see what I'm thinking about! I have many thoughts" +``` + +For news about your software project, you might say: + +``` +BLOGTITLE="Project announcements" +BLOGDESCRIPTION="News about ongoing development will be documented here" +``` + +### RSS files + +Files ending in `.rss` are automatically generated, if you have news sections. + +Translated pages +---------------- + +lbssg supports having translated pages. + +Here is an example of a website with multiple translations available, built +using untitled:\ + + +### Set a default language + +English is the default in lbssg, but you can *change* the default language! +For example, you might want a Chinese-language website but offer translated +pages in German. lbssg will happily let you do this! + +Simply set the `DEFAULTLANG` entry in `site.cfg`. + +### How to translate pages + +The way it works is quite simple: + +* __file*.*md__ is the original file, in your default language. The *default* + default language is English (en), but it can be anything. +* __file.xx*.*md__ is the translated file. xx can be anything, e.g. de, nl, pt +* `.include` files (footers, nav files, templates etc) are for your default + language +* `.xx.include` is the translated file. again, xx can be anything e.g. de, nl + +For translated pages, if a translated `.include` file is unavailable, the +default-language one will be used. + +You can *also* do this per-page. For example, you might override the default +footer on a page, by including `file.footer`. In this +situation, __file.de*.*md__ will also use `file.footer`. HOWEVER, you can +include `file.de.footer` aswell, if you so choose! + +### Translations done automatically + +Translations are handled *automatically*, *per page*. It does not happen +globally; this way, a website doesn't have to have translated versions of each +page. In Let's look at example scenarios: + +#### file*.*md, file.pt*.*md, file.pl*.*md + +In this example, a language menu will appear on each of these pages, allowing +selection of DEFAULT(e.g. English), Polish or Portuguese + +#### file.pt*.*md, file.pl*.*md + +In this example, no *default* page is included, but Polish and Portuguese are +available. In this example, Portuguese and Polish will be available in a +language select menu on each page. + +### template.LANGUAGE.include + +This is *optional*, so long as `template.include` is included. The translated +file will override. This will override the default template, on the specified +language. + +For example: `site/template.de.include` + +### file.LANGUAGE.template + +You might have `file.template` overriding the default global `template.include` +or `template.LANGUAGE.include` for a given page. + +lbssg *also* lets you override it on a specific *translation* of that page! + +For example: `site/file.de.template` + +### nav.LANGUAGE.include + +Override the default global navigation file, for a given website and a given +language. + +For example: `site/nav.de.include` + +### file.LANGUAGE.nav + +You might have `file.nav` overriding the default global `nav.include` +or `nav.LANGUAGE.include` for a given page. + +lbssg *also* lets you override it on a specific *translation* of that page! + +For example: `site/file.de.nav` + +### footer.LANGUAGE.include + +Override the default global footer file, for a given website, on a given +language. + +For example: `site/footer.de.include` + +### file.LANGUAGE.footer + +You might have `file.footer` overriding the default global `footer.include` +or `footer.LANGUAGE.include` for a given page. + +lbssg *also* lets you override it on a specific *translation* of that page! + +For example: `site/file.de.footer` + +### file.LANGUAGE.css + +You might have `file.css` available for __file*.*md__. +If __page.LANGUAGE*.*md__ exists, `file.LANGUAGE.css` will still be added to +that page, but that page can also have its own `file.LANGUAGE.css`. + +The `file.LANGUAGE.css` file does not override `file.css`. It is merely added. + +If `file.LANGUAGE.css` exists but `file.css` does not, it will still be +applied, but only on __file.LANGUAGE*.*md__. + +lang/xx/strings.cfg +------------------- + +### Add new language support + +On language menus, if a language is unsupported, the two-letter code will be +used. For example, if Russian is unsupported, `ru` will be the anchor text for +selecting Russian, but you can still select it. + +In untitled, you can see the file `lang/en/strings.cfg`. + +In there, you will also see translated ones, e.g. `lang/pl/strings.cfg`. + +If one does not exist for your language, you can create one. Patches welcome! + +Check `lang/en/strings.cfg` to see how it should be done! Entries +in `strings.cfg` are as follows: + +Example `strings.cfg` file: + +### LANGNAME + +This is the anchor text for a given language, on a language select menu, if +a site is to have translations. For example, `de` would be `Deutsch` here, for +the German language. + +Example strings: + +* Deutsch +* English +* Nederlands +* Espanol + +### LANGSELSTR + +This is the text for the language selection menu. **Currently not used** + +E.g. "Select language:" + +### BACKLINK\_PREVDIR + +This is the index link, for the previous directory. This link should be `../` + +### BACKLINK\_CURRENTDIR + +This is the index link, for the current directory. The link should be `./` + +### PUBLISHED\_BY + +For news pages, this string says e.g. "Article published by:" + +### PUBLICATION\_DATE + +For news pages, this string says e.g. "Article published on:" + +### MARKDOWN\_LINK + +This is the anchor text for the Markdown link, to each Markdown file. lbssg +displays the link to the original Markdown file, for each page, on each given +page. + +### RSS\_LINK + +This is the anchor text for the default feed, if a news feed is generated on +a given site. + +The link should be `/feed.xml` + +### SITEMAP\_LINK + +This is a Markdown link to the site map, if one is included on a given site. + +The link should be `/sitemap.md` + +### SHAMELESS\_PLUG + +At the bottom of each page, a string of text can be inserted. By default, this +is a string that says the page was generated by the lbssg Static Site +Generator, along with a link to the lbssg website. + +### PDIR + +The `PDIR` option should be `ltr` or `rtl`. This defines which order the text +should be in. Some languages, such as Arabic and Hebrew, are right-to-left +languages instead of left-to-right. + +Other files +----------- + +Libreboot static site generator only cares about the files specified on this +page. It ignores all other files. + +For things like images, videos and other binary files, it is recommended that +you create a specific directory or subdomain for them, and have only markdown +files on your lbssg website. + +However, it's up to you how you run your infrastructure. + +It is recommended that you use a Git repository to host your website. Then you +can easily keep track of changes to your site. You would use a static version +of lbssg on your server, and just build new changes to your site whenever +you push them. This is actually *why* the `site/` directory is enforced under +the `www/sitename/` directory for each site, so as to encourage good practise +(because by doing it this way, the `.git` directory will not be visible on your +public web server. You do *not* want that directory to be visible!) + +Regarding Untitled -> lbssg transition +--------------------------------------- + +Untitled Static Site Generator renamed to Libreboot Static Site Generator and +became part of the Libreboot project, on 25 January 2025. + +The entire website previously hosted at **https://untitled.vimuser.org/** has +been fully assimilated into the Libreboot website. + +The old Untitled Static Site Generator git repositories were: + +* +* +* +* + +The old repositories have been retained, but are now archived. You can find +the new *lbssg* repositories linked from the [Libreboot Git +page](../../git.md). diff --git a/site/git.de.md b/site/git.de.md index 19e2339..0baee40 100644 --- a/site/git.de.md +++ b/site/git.de.md @@ -12,6 +12,9 @@ Das `libreboot` Projekt hat hauptsächlich 3 Git Repositories: * Webseite (+Anleitungen): * Bilder (für die Webseite): * Pico-serprog: +* Libreboot Static Site Generator: + +Also see: [Libreboot Static Site Generator](docs/sitegen/). Du kannst dir lbmk auch auf Libreboot's eigener cgit Instanz *ansehen*, allerdings ist dies nicht für die Entwicklung gedacht (benutze hierfür bitte codeberg):\ @@ -106,8 +109,8 @@ Du kannst alles nach deinen Vorstellungen ändern. Beachte die nachfolgenden Informationen wie Du deine Änderungen zur Verfügung stellen kannst. Die gesamte Website ist in Markdown geschrieben, insbesondere die Pandoc Version. -Die statischen HTML Seiten werden mit [Untitled](https://untitled.vimuser.org/) -generiert. Leah Rowe, die Gründerin von Libreboot, ist auch die Gründerin des Untitled static +Die statischen HTML Seiten werden mit [lbssg](docs/sitegen/) +generiert. Leah Rowe, die Gründerin von Libreboot, ist auch die Gründerin des Libreboot static site generator Projekts. Wenn Du möchtest, kannst Du einen lokalen HTTP Server einrichten und eine @@ -151,12 +154,12 @@ Zu Entwicklungszwecken, könntest Du deine Bilder auch lokal verknüpfen, und anschliesend die URLs anpassen sobald Du deine Patches für die Dokumentation/Webseite schickst. Eine Anleitung wie Du eine lokale Version der Webseite herstellen kannst, -befinden sich auf der Untitled Webseite. Lade untitled +befinden sich auf der lbssg dokumentation. Lade untitled herunter, und erstelle in dem `untitled` Verzeichnis ein Verzeichnis mit dem Namen `www/` dann wechsle in dieses Verzeichnis und klone das `lbwww` Repository dorthin. Konfiguriere deinen lokalen HTTP Server entsprechend. -Nochmal, Anleitungen hierfür findest Du auf der Untitled Webseite. +Nochmal, Anleitungen hierfür findest Du auf der lbssg dokumentation. ### Name nicht erforderlich @@ -281,7 +284,7 @@ Mirrors fur pico-serprog.git ### lbwww.git Mirror Das `lbwww` Repository enthält Markdown Dateien (Pandoc Variant), für die -Verwendung mit dem [Untitled Static Site Generator](https://untitled.vimuser.org/); +Verwendung mit dem [Libreboot Static Site Generator](docs/sitegen/); dies wird von Libreboot verwendet um HTML Web Seiten bereitzustellen, *inklusive* der Seite die Du gerade liest! diff --git a/site/git.md b/site/git.md index 34ea57c..ea544a0 100644 --- a/site/git.md +++ b/site/git.md @@ -12,6 +12,9 @@ The `libreboot` project has 3 main Git repositories: * Website (+docs): * Images (for website): * Pico-serprog: +* Libreboot Static Site Generator: + +Also see: [Libreboot Static Site Generator](docs/sitegen/). You can also *browse* lbmk on Libreboot's own cgit instance, though it is not intended for development (use codeberg for that):\ @@ -97,8 +100,8 @@ repository: Make whatever changes you like. See notes below about how to send patches. The entire website is written in Markdown, specifically the Pandoc version of -it. The static HTML pages are generated with [Untitled](https://untitled.vimuser.org/). -Leah Rowe, the founder of libreboot, is also the founder of the Untitled static +it. The static HTML pages are generated with [lbssg](docs/sitegen/). +Leah Rowe, the founder of libreboot, is also the founder of the Libreboot static site generator project. If you like, you can set up a local HTTP server and build your own local @@ -140,12 +143,12 @@ For example, this reduced the Libreboot boot logo from around 11k to 3k: For development purposes, you might make your images local links first, and then adjust the URLs when you submit your documentation/website patches. -Instructions are on the Untitled website, for how to set up your local version +Instructions are on the lbssg manual, for how to set up your local version of the website. Download untitled, and inside your `untitled` directory, create a directory named `www/` then go inside the www directory, and clone the `lbwww` repository there. Configure your local HTTP server accordingly. -Again, instructions are available on the Untitled website for this purpose. +Again, instructions are available on the lbssg manual for this purpose. ### Name not required @@ -261,7 +264,7 @@ Mirrors of pico-serprog.git ### lbwww.git mirror The `lbwww` repository contains Markdown files (pandoc variant), for use -with the [Untitled Static Site Generator](https://untitled.vimuser.org/); this +with the [Libreboot Static Site Generator](docs/sitegen/); this is what Libreboot uses to provide HTML web pages, *including* the page that you are reading right now! diff --git a/site/git.uk.md b/site/git.uk.md index 8bf7d53..f840b9f 100644 --- a/site/git.uk.md +++ b/site/git.uk.md @@ -12,6 +12,9 @@ x-toc-enable: true * Веб-сайт (+документація): * Зображення (для веб-сайта): * Pico-serprog: +* Libreboot Static Site Generator: + +Also see: [Libreboot Static Site Generator](docs/sitegen/). Ви також можете *переглядати* lbmk на власному екземплярі Libreboot cgit, хоча це не призначено для розробки (використовуйте codeberg для цього):\ @@ -97,9 +100,9 @@ libreboot! Завантажте репозиторій Git: Вносьте будь-які зміни, які забажаєте. Дивіться нотатки нижче про те, як надсилати виправлення. Весь веб-сайт написаний у Markdown, зокрема його версія Pandoc. -Статичні сторінки HTML створюються за допомогою [Untitled](https://untitled.vimuser.org/). +Статичні сторінки HTML створюються за допомогою [lbssg](docs/sitegen/). Лія Роу, засновниця libreboot, також є засновницею проекту генератор статичних сайтів -Untitled. +lbssg. Якщо хочете, ви можете налаштувати локальний HTTP-сервер і створити власну локальну версію веб-сайту. Зауважте, що зображення все одно будуть посилатися на ті, що @@ -140,12 +143,12 @@ Untitled. Для цілей розробки ви можете спочатку створити локальні посилання на зображення, а потім налаштувати URL-адреси, коли надсилатимете документацію/патчі веб-сайту. -На веб-сайті Untitled є інструкції щодо налаштування локальної версії +На веб-сайті lbssg є інструкції щодо налаштування локальної версії веб-сайту. Завантажте untitled, і в своєму каталозі `untitled` створіть каталог під назвою `www/`, потім увійдіть у каталог www і клонуйте сховище `lbwww` там. Налаштуйте локальний HTTP-сервер відповідним чином. -Знову ж таки, інструкції для цього доступні на веб-сайті Untitled. +Знову ж таки, інструкції для цього доступні на веб-сайті lbssg. ### Ім'я не вимагається @@ -261,7 +264,7 @@ The email address is [~libreboot/libreboot@lists.sr.ht](mailto:~libreboot/libreb ### дзеркало lbwww.git Репозиторій `lbwww` містить файли Markdown (варіант pandoc), для використання -з [генератором статичних сайтів Untitled](https://untitled.vimuser.org/); це те, +з [генератором статичних сайтів Libreboot](docs/sitegen/); це те, що Libreboot використовує для надання веб-сторінок HTML, *включаючи* сторінку, яку ви читаєте прямо зараз! diff --git a/site/index.de.md b/site/index.de.md index 139f540..62ed28f 100644 --- a/site/index.de.md +++ b/site/index.de.md @@ -37,6 +37,10 @@ for [Libreboot preinstallation](https://minifree.org/product/installation-servic The founder and lead developer of Libreboot, Leah Rowe, also owns and operates Minifree; sales provide funding for Libreboot. +Libreboot is also the home of the [Libreboot Static Site +Generator](docs/sitegen/), formerly known as the *Untitled Static Site +Generator*. + Warum solltest Du *Libreboot* verwenden? ---------------------------- diff --git a/site/index.fr.md b/site/index.fr.md index 4ab6977..c74e40e 100644 --- a/site/index.fr.md +++ b/site/index.fr.md @@ -28,6 +28,10 @@ ou envoyer votre propre ordinateur [pour y installer Libreboot](https://minifree Leah Rowe, fondateur et principal développeur du projet Libreboot, est également propriétaire de Minifree Ltd. Les ventes contribuent à financer le développement du projet Libreboot. +Libreboot is also the home of the [Libreboot Static Site +Generator](docs/sitegen/), formerly known as the *Untitled Static Site +Generator*. + Pourquoi devriez-vous utiliser *Libreboot*? ----------------------------------- diff --git a/site/index.it.md b/site/index.it.md index 072018f..0b9a192 100644 --- a/site/index.it.md +++ b/site/index.it.md @@ -35,6 +35,10 @@ for [Libreboot preinstallation](https://minifree.org/product/installation-servic The founder and lead developer of Libreboot, Leah Rowe, also owns and operates Minifree; sales provide funding for Libreboot. +Libreboot is also the home of the [Libreboot Static Site +Generator](docs/sitegen/), formerly known as the *Untitled Static Site +Generator*. + Per quale ragione utilizzare *Libreboot*? ----------------------------------------- diff --git a/site/index.md b/site/index.md index 80c6cfe..7afa10f 100644 --- a/site/index.md +++ b/site/index.md @@ -46,6 +46,10 @@ matters. you continue to use your hardware, with continued firmware updates. All of this is *why* Libreboot exists. +Libreboot is also the home of the [Libreboot Static Site +Generator](docs/sitegen/), formerly known as the *Untitled Static Site +Generator*. + Overview of Libreboot design ---------------------------- diff --git a/site/index.ru.md b/site/index.ru.md index 6f9474e..97bd682 100644 --- a/site/index.ru.md +++ b/site/index.ru.md @@ -25,6 +25,9 @@ and more payloads (e.g. Linux kexec payload) are planned for future releases. *Мы* верим, что свобода [изучать, делиться, модифицировать и использовать программное обеспечение](https://writefreesoftware.org/) без каких-либо ограничений, является одним из основных человеческих прав, который должен иметь каждый. В этом контексте, *свобода программного обеспечения* важна. Ваша свобода важна. Образование важно. [Право на ремонт](https://en.wikipedia.org/wiki/Right_to_repair) важно; Libreboot позволяет вам продолжить использовать ваше оборудование. Вот *почему* Libreboot существует. +Libreboot is also the home of the [Libreboot Static Site +Generator](docs/sitegen/), formerly known as the *Untitled Static Site +Generator*. Обзор устройства Libreboot -------------------------- diff --git a/site/index.uk.md b/site/index.uk.md index 4772fae..cd1db1f 100644 --- a/site/index.uk.md +++ b/site/index.uk.md @@ -36,6 +36,10 @@ for [Libreboot preinstallation](https://minifree.org/product/installation-servic The founder and lead developer of Libreboot, Leah Rowe, also owns and operates Minifree; sales provide funding for Libreboot. +Libreboot is also the home of the [Libreboot Static Site +Generator](docs/sitegen/), formerly known as the *Untitled Static Site +Generator*. + Чому вам варто використовувати *Libreboot*? ---------------------------- diff --git a/site/index.zh-cn.md b/site/index.zh-cn.md index 31eb162..451fb0b 100644 --- a/site/index.zh-cn.md +++ b/site/index.zh-cn.md @@ -26,6 +26,10 @@ and more payloads (e.g. Linux kexec payload) are planned for future releases. Libreboot 的创始人和主要开发者,Leah Rowe,也是 Minifree 的所有者和经营者; 销售电脑为 Libreboot 提供资金。 +Libreboot is also the home of the [Libreboot Static Site +Generator](docs/sitegen/), formerly known as the *Untitled Static Site +Generator*. + 为什么要使用 *Libreboot*? ---------------------------- From eb3c0fba231a240f4c2d7bcd0490b5b6138008b9 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 25 Jan 2025 11:53:52 +0000 Subject: [PATCH 208/279] remove redundant paragraph i updated the footer now, and it's linked on the main docs index, and on the git page, so the paragraph on the home page is kinda bloat tbh Signed-off-by: Leah Rowe --- site/index.de.md | 4 ---- site/index.fr.md | 4 ---- site/index.it.md | 4 ---- site/index.md | 4 ---- site/index.ru.md | 4 ---- site/index.uk.md | 4 ---- site/index.zh-cn.md | 4 ---- 7 files changed, 28 deletions(-) diff --git a/site/index.de.md b/site/index.de.md index 62ed28f..139f540 100644 --- a/site/index.de.md +++ b/site/index.de.md @@ -37,10 +37,6 @@ for [Libreboot preinstallation](https://minifree.org/product/installation-servic The founder and lead developer of Libreboot, Leah Rowe, also owns and operates Minifree; sales provide funding for Libreboot. -Libreboot is also the home of the [Libreboot Static Site -Generator](docs/sitegen/), formerly known as the *Untitled Static Site -Generator*. - Warum solltest Du *Libreboot* verwenden? ---------------------------- diff --git a/site/index.fr.md b/site/index.fr.md index c74e40e..4ab6977 100644 --- a/site/index.fr.md +++ b/site/index.fr.md @@ -28,10 +28,6 @@ ou envoyer votre propre ordinateur [pour y installer Libreboot](https://minifree Leah Rowe, fondateur et principal développeur du projet Libreboot, est également propriétaire de Minifree Ltd. Les ventes contribuent à financer le développement du projet Libreboot. -Libreboot is also the home of the [Libreboot Static Site -Generator](docs/sitegen/), formerly known as the *Untitled Static Site -Generator*. - Pourquoi devriez-vous utiliser *Libreboot*? ----------------------------------- diff --git a/site/index.it.md b/site/index.it.md index 0b9a192..072018f 100644 --- a/site/index.it.md +++ b/site/index.it.md @@ -35,10 +35,6 @@ for [Libreboot preinstallation](https://minifree.org/product/installation-servic The founder and lead developer of Libreboot, Leah Rowe, also owns and operates Minifree; sales provide funding for Libreboot. -Libreboot is also the home of the [Libreboot Static Site -Generator](docs/sitegen/), formerly known as the *Untitled Static Site -Generator*. - Per quale ragione utilizzare *Libreboot*? ----------------------------------------- diff --git a/site/index.md b/site/index.md index 7afa10f..80c6cfe 100644 --- a/site/index.md +++ b/site/index.md @@ -46,10 +46,6 @@ matters. you continue to use your hardware, with continued firmware updates. All of this is *why* Libreboot exists. -Libreboot is also the home of the [Libreboot Static Site -Generator](docs/sitegen/), formerly known as the *Untitled Static Site -Generator*. - Overview of Libreboot design ---------------------------- diff --git a/site/index.ru.md b/site/index.ru.md index 97bd682..0407781 100644 --- a/site/index.ru.md +++ b/site/index.ru.md @@ -25,10 +25,6 @@ and more payloads (e.g. Linux kexec payload) are planned for future releases. *Мы* верим, что свобода [изучать, делиться, модифицировать и использовать программное обеспечение](https://writefreesoftware.org/) без каких-либо ограничений, является одним из основных человеческих прав, который должен иметь каждый. В этом контексте, *свобода программного обеспечения* важна. Ваша свобода важна. Образование важно. [Право на ремонт](https://en.wikipedia.org/wiki/Right_to_repair) важно; Libreboot позволяет вам продолжить использовать ваше оборудование. Вот *почему* Libreboot существует. -Libreboot is also the home of the [Libreboot Static Site -Generator](docs/sitegen/), formerly known as the *Untitled Static Site -Generator*. - Обзор устройства Libreboot -------------------------- diff --git a/site/index.uk.md b/site/index.uk.md index cd1db1f..4772fae 100644 --- a/site/index.uk.md +++ b/site/index.uk.md @@ -36,10 +36,6 @@ for [Libreboot preinstallation](https://minifree.org/product/installation-servic The founder and lead developer of Libreboot, Leah Rowe, also owns and operates Minifree; sales provide funding for Libreboot. -Libreboot is also the home of the [Libreboot Static Site -Generator](docs/sitegen/), formerly known as the *Untitled Static Site -Generator*. - Чому вам варто використовувати *Libreboot*? ---------------------------- diff --git a/site/index.zh-cn.md b/site/index.zh-cn.md index 451fb0b..31eb162 100644 --- a/site/index.zh-cn.md +++ b/site/index.zh-cn.md @@ -26,10 +26,6 @@ and more payloads (e.g. Linux kexec payload) are planned for future releases. Libreboot 的创始人和主要开发者,Leah Rowe,也是 Minifree 的所有者和经营者; 销售电脑为 Libreboot 提供资金。 -Libreboot is also the home of the [Libreboot Static Site -Generator](docs/sitegen/), formerly known as the *Untitled Static Site -Generator*. - 为什么要使用 *Libreboot*? ---------------------------- From 98ac57b0ef31ad34923644b11250e6d3e8a66417 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 25 Jan 2025 13:44:12 +0000 Subject: [PATCH 209/279] descriptions Signed-off-by: Leah Rowe --- site/docs/bsd/index.md.description | 1 + site/docs/build/index.md.description | 1 + site/docs/grub/index.md.description | 1 + site/docs/index.md.description | 1 + site/docs/index.zh-cn.md.description | 1 + site/docs/install/acer_g43t-am3.md.description | 1 + site/docs/install/c201.md.description | 1 + site/docs/install/chromebooks.md.description | 1 + site/docs/install/d945gclf.md.description | 1 + site/docs/install/deguard.md.description | 1 + site/docs/install/dell3050.md.description | 1 + site/docs/install/dell7010.md.description | 1 + site/docs/install/dell780.md.description | 1 + site/docs/install/dell9020.md.description | 1 + site/docs/install/dell_thermal.md.description | 1 + site/docs/install/devmem.md.description | 1 + site/docs/install/ga-g41m-es2l.md.description | 1 + site/docs/install/hp2170p.md.description | 1 + site/docs/install/hp2560p.md.description | 1 + site/docs/install/hp2570p.md.description | 1 + site/docs/install/hp8200sff.md.description | 1 + site/docs/install/hp820g2.md.description | 1 + site/docs/install/hp8300usdt.md.description | 1 + site/docs/install/hp8460p.md.description | 1 + site/docs/install/hp8470p.md.description | 1 + site/docs/install/hp8560w.md.description | 1 + site/docs/install/hp9470m.md.description | 1 + site/docs/install/ich9utils.md.description | 1 + site/docs/install/index.md.description | 1 + site/docs/install/ivy_has_common.md.description | 1 + site/docs/install/ivy_internal.md.description | 1 + site/docs/install/kcma-d8.md.description | 1 + site/docs/install/kfsn4-dre.md.description | 1 + site/docs/install/kgpe-d16.md.description | 1 + site/docs/install/latitude.md.description | 1 + site/docs/install/mac_address.md.description | 1 + site/docs/install/macbook21.md.description | 1 + site/docs/install/nvmutil.md.description | 1 + site/docs/install/nvmutilimport.md.description | 1 + site/docs/install/playstation.md.description | 1 + site/docs/install/r400.md.description | 1 + site/docs/install/spi.md.description | 1 + site/docs/install/spi_generic.md.description | 1 + site/docs/install/t1650.md.description | 1 + site/docs/install/t400.md.description | 1 + site/docs/install/t420_external.md.description | 1 + site/docs/install/t440p_external.md.description | 1 + site/docs/install/t480.md.description | 1 + site/docs/install/t500.md.description | 1 + site/docs/install/t60_unbrick.md.description | 1 + site/docs/install/w541_external.md.description | 1 + site/docs/install/x200.md.description | 1 + site/docs/install/x230_external.md.description | 1 + site/docs/install/x60_unbrick.md.description | 1 + site/docs/install/x60tablet_unbrick.md.description | 1 + site/docs/linux/grub_boot_installer.md.description | 1 + site/docs/linux/grub_cbfs.md.description | 1 + site/docs/linux/grub_hardening.md.description | 1 + site/docs/linux/index.md.description | 1 + site/docs/sitegen/index.md.description | 1 + site/docs/uboot/index.md.description | 1 + site/docs/uboot/uboot-debian-bookworm.md.description | 0 site/docs/uboot/uboot-x86.md.description | 1 + site/download.md.description | 1 + site/freedom-status.md.description | 4 ++++ site/freedom-status.uk.md.description | 4 ++++ site/git.de.md.description | 1 + site/git.md.description | 1 + site/git.uk.md.description | 1 + site/index.de.md.description | 1 + site/index.it.md.description | 1 + site/index.md.description | 1 + site/index.ru.md.description | 1 + site/index.zh-cn.md.description | 1 + site/news/10.md.description | 1 + site/news/argon2.md.description | 1 + site/news/audit.md.description | 1 + site/news/audit2.md.description | 1 + site/news/audit3.md.description | 1 + site/news/audit4.md.description | 1 + site/news/audit5.md.description | 1 + site/news/audit6.md.description | 1 + site/news/codeberg.md.description | 3 +++ site/news/e6400.md.description | 1 + site/news/e6400nvidia.md.description | 1 + site/news/fam15h.md.description | 1 + site/news/fedfree.md.description | 1 + site/news/freedom.md.description | 1 + site/news/gm45microcode.md.description | 1 + site/news/hp2170p.md.description | 1 + site/news/hp8200sff.md.description | 1 + site/news/hp8200sff.uk.md.description | 1 + site/news/hp820g2.md.description | 1 + site/news/hp8470p_and_dell_t1650.md.description | 1 + site/news/hp_elitebooks.md.description | 1 + site/news/kgpe-d16.md.description | 1 + site/news/libreboot20131212.md.description | 1 + site/news/libreboot20131213.md.description | 1 + site/news/libreboot20131214.md.description | 1 + site/news/libreboot20140221.md.description | 1 + site/news/libreboot20140309.md.description | 1 + site/news/libreboot20140605.md.description | 1 + site/news/libreboot20140611.md.description | 1 + site/news/libreboot20140622.md.description | 1 + site/news/libreboot20140711.md.description | 1 + site/news/libreboot20140716.md.description | 1 + site/news/libreboot20140720.md.description | 1 + site/news/libreboot20140729.md.description | 1 + site/news/libreboot20140811.md.description | 1 + site/news/libreboot20140903.md.description | 1 + site/news/libreboot20140911.md.description | 1 + site/news/libreboot20141015.md.description | 1 + site/news/libreboot20150124.md.description | 1 + site/news/libreboot20150126.md.description | 1 + site/news/libreboot20150208.md.description | 1 + site/news/libreboot20150518.md.description | 1 + site/news/libreboot20160818.md.description | 1 + site/news/libreboot20160902.md.description | 1 + site/news/libreboot20160907.md.description | 1 + site/news/libreboot20210522.md.description | 1 + site/news/libreboot20211122.md.description | 1 + site/news/libreboot20220710.md.description | 1 + site/news/libreboot20221214.md.description | 1 + site/news/libreboot20230319.md.description | 1 + site/news/libreboot20230413.md.description | 1 + site/news/libreboot20230423.md.description | 1 + site/news/libreboot20230625.md.description | 1 + site/news/libreboot20231021.md.description | 1 + site/news/libreboot20231101.md.description | 1 + site/news/libreboot20231106.md.description | 1 + site/news/libreboot20240126.md.description | 1 + site/news/libreboot20240225.md.description | 1 + site/news/libreboot20240504.md.description | 1 + site/news/libreboot20240612.md.description | 1 + site/news/libreboot20241008.md.description | 1 + site/news/libreboot20241206.Revisions.md.description | 1 + site/news/libreboot20241206.md.description | 1 + site/news/libreboot20241206rev8.md.description | 1 + site/news/microcode.md.description | 1 + site/news/mirrors.md.description | 1 + site/news/policy.md.description | 1 + site/news/ports202402.md.description | 1 + site/news/safety.md.description | 1 + site/news/schedule.md.description | 1 + site/news/sourcehut.md.description | 1 + site/news/translations.de.md.description | 1 + site/news/translations.md.description | 1 + site/news/update202308.md.description | 1 + site/news/usa-libre-part2.md.description | 1 + site/news/usa-libre-part3.md.description | 1 + site/news/usa-libre.md.description | 1 + site/news/x201.md.description | 2 ++ site/other.md.description | 1 + site/sitemap.md.description | 1 + 154 files changed, 162 insertions(+) create mode 100644 site/docs/bsd/index.md.description create mode 100644 site/docs/build/index.md.description create mode 100644 site/docs/grub/index.md.description create mode 100644 site/docs/index.md.description create mode 100644 site/docs/index.zh-cn.md.description create mode 100644 site/docs/install/acer_g43t-am3.md.description create mode 100644 site/docs/install/c201.md.description create mode 100644 site/docs/install/chromebooks.md.description create mode 100644 site/docs/install/d945gclf.md.description create mode 100644 site/docs/install/deguard.md.description create mode 100644 site/docs/install/dell3050.md.description create mode 100644 site/docs/install/dell7010.md.description create mode 100644 site/docs/install/dell780.md.description create mode 100644 site/docs/install/dell9020.md.description create mode 100644 site/docs/install/dell_thermal.md.description create mode 100644 site/docs/install/devmem.md.description create mode 100644 site/docs/install/ga-g41m-es2l.md.description create mode 100644 site/docs/install/hp2170p.md.description create mode 100644 site/docs/install/hp2560p.md.description create mode 100644 site/docs/install/hp2570p.md.description create mode 100644 site/docs/install/hp8200sff.md.description create mode 100644 site/docs/install/hp820g2.md.description create mode 100644 site/docs/install/hp8300usdt.md.description create mode 100644 site/docs/install/hp8460p.md.description create mode 100644 site/docs/install/hp8470p.md.description create mode 100644 site/docs/install/hp8560w.md.description create mode 100644 site/docs/install/hp9470m.md.description create mode 100644 site/docs/install/ich9utils.md.description create mode 100644 site/docs/install/index.md.description create mode 100644 site/docs/install/ivy_has_common.md.description create mode 100644 site/docs/install/ivy_internal.md.description create mode 100644 site/docs/install/kcma-d8.md.description create mode 100644 site/docs/install/kfsn4-dre.md.description create mode 100644 site/docs/install/kgpe-d16.md.description create mode 100644 site/docs/install/latitude.md.description create mode 100644 site/docs/install/mac_address.md.description create mode 100644 site/docs/install/macbook21.md.description create mode 100644 site/docs/install/nvmutil.md.description create mode 100644 site/docs/install/nvmutilimport.md.description create mode 100644 site/docs/install/playstation.md.description create mode 100644 site/docs/install/r400.md.description create mode 100644 site/docs/install/spi.md.description create mode 100644 site/docs/install/spi_generic.md.description create mode 100644 site/docs/install/t1650.md.description create mode 100644 site/docs/install/t400.md.description create mode 100644 site/docs/install/t420_external.md.description create mode 100644 site/docs/install/t440p_external.md.description create mode 100644 site/docs/install/t480.md.description create mode 100644 site/docs/install/t500.md.description create mode 100644 site/docs/install/t60_unbrick.md.description create mode 100644 site/docs/install/w541_external.md.description create mode 100644 site/docs/install/x200.md.description create mode 100644 site/docs/install/x230_external.md.description create mode 100644 site/docs/install/x60_unbrick.md.description create mode 100644 site/docs/install/x60tablet_unbrick.md.description create mode 100644 site/docs/linux/grub_boot_installer.md.description create mode 100644 site/docs/linux/grub_cbfs.md.description create mode 100644 site/docs/linux/grub_hardening.md.description create mode 100644 site/docs/linux/index.md.description create mode 100644 site/docs/sitegen/index.md.description create mode 100644 site/docs/uboot/index.md.description create mode 100644 site/docs/uboot/uboot-debian-bookworm.md.description create mode 100644 site/docs/uboot/uboot-x86.md.description create mode 100644 site/download.md.description create mode 100644 site/freedom-status.md.description create mode 100644 site/freedom-status.uk.md.description create mode 100644 site/git.de.md.description create mode 100644 site/git.md.description create mode 100644 site/git.uk.md.description create mode 100644 site/index.de.md.description create mode 100644 site/index.it.md.description create mode 100644 site/index.md.description create mode 100644 site/index.ru.md.description create mode 100644 site/index.zh-cn.md.description create mode 100644 site/news/10.md.description create mode 100644 site/news/argon2.md.description create mode 100644 site/news/audit.md.description create mode 100644 site/news/audit2.md.description create mode 100644 site/news/audit3.md.description create mode 100644 site/news/audit4.md.description create mode 100644 site/news/audit5.md.description create mode 100644 site/news/audit6.md.description create mode 100644 site/news/codeberg.md.description create mode 100644 site/news/e6400.md.description create mode 100644 site/news/e6400nvidia.md.description create mode 100644 site/news/fam15h.md.description create mode 100644 site/news/fedfree.md.description create mode 100644 site/news/freedom.md.description create mode 100644 site/news/gm45microcode.md.description create mode 100644 site/news/hp2170p.md.description create mode 100644 site/news/hp8200sff.md.description create mode 100644 site/news/hp8200sff.uk.md.description create mode 100644 site/news/hp820g2.md.description create mode 100644 site/news/hp8470p_and_dell_t1650.md.description create mode 100644 site/news/hp_elitebooks.md.description create mode 100644 site/news/kgpe-d16.md.description create mode 100644 site/news/libreboot20131212.md.description create mode 100644 site/news/libreboot20131213.md.description create mode 100644 site/news/libreboot20131214.md.description create mode 100644 site/news/libreboot20140221.md.description create mode 100644 site/news/libreboot20140309.md.description create mode 100644 site/news/libreboot20140605.md.description create mode 100644 site/news/libreboot20140611.md.description create mode 100644 site/news/libreboot20140622.md.description create mode 100644 site/news/libreboot20140711.md.description create mode 100644 site/news/libreboot20140716.md.description create mode 100644 site/news/libreboot20140720.md.description create mode 100644 site/news/libreboot20140729.md.description create mode 100644 site/news/libreboot20140811.md.description create mode 100644 site/news/libreboot20140903.md.description create mode 100644 site/news/libreboot20140911.md.description create mode 100644 site/news/libreboot20141015.md.description create mode 100644 site/news/libreboot20150124.md.description create mode 100644 site/news/libreboot20150126.md.description create mode 100644 site/news/libreboot20150208.md.description create mode 100644 site/news/libreboot20150518.md.description create mode 100644 site/news/libreboot20160818.md.description create mode 100644 site/news/libreboot20160902.md.description create mode 100644 site/news/libreboot20160907.md.description create mode 100644 site/news/libreboot20210522.md.description create mode 100644 site/news/libreboot20211122.md.description create mode 100644 site/news/libreboot20220710.md.description create mode 100644 site/news/libreboot20221214.md.description create mode 100644 site/news/libreboot20230319.md.description create mode 100644 site/news/libreboot20230413.md.description create mode 100644 site/news/libreboot20230423.md.description create mode 100644 site/news/libreboot20230625.md.description create mode 100644 site/news/libreboot20231021.md.description create mode 100644 site/news/libreboot20231101.md.description create mode 100644 site/news/libreboot20231106.md.description create mode 100644 site/news/libreboot20240126.md.description create mode 100644 site/news/libreboot20240225.md.description create mode 100644 site/news/libreboot20240504.md.description create mode 100644 site/news/libreboot20240612.md.description create mode 100644 site/news/libreboot20241008.md.description create mode 100644 site/news/libreboot20241206.Revisions.md.description create mode 100644 site/news/libreboot20241206.md.description create mode 100644 site/news/libreboot20241206rev8.md.description create mode 100644 site/news/microcode.md.description create mode 100644 site/news/mirrors.md.description create mode 100644 site/news/policy.md.description create mode 100644 site/news/ports202402.md.description create mode 100644 site/news/safety.md.description create mode 100644 site/news/schedule.md.description create mode 100644 site/news/sourcehut.md.description create mode 100644 site/news/translations.de.md.description create mode 100644 site/news/translations.md.description create mode 100644 site/news/update202308.md.description create mode 100644 site/news/usa-libre-part2.md.description create mode 100644 site/news/usa-libre-part3.md.description create mode 100644 site/news/usa-libre.md.description create mode 100644 site/news/x201.md.description create mode 100644 site/other.md.description create mode 100644 site/sitemap.md.description diff --git a/site/docs/bsd/index.md.description b/site/docs/bsd/index.md.description new file mode 100644 index 0000000..5168476 --- /dev/null +++ b/site/docs/bsd/index.md.description @@ -0,0 +1 @@ +Learn how to install OpenBSD, FreeBSD, NetBSD and other BSD operating systems on Libreboot. Libreboot provides free/opensource BIOS/UEFI firmware based on coreboot. diff --git a/site/docs/build/index.md.description b/site/docs/build/index.md.description new file mode 100644 index 0000000..67b97e6 --- /dev/null +++ b/site/docs/build/index.md.description @@ -0,0 +1 @@ +Libreboot project documentation. Learn about Libreboot installation, how Libreboot is designed and how you can contribute to the project. Libreboot provides free/opensource BIOS/UEFI boot firmware based on coreboot. diff --git a/site/docs/grub/index.md.description b/site/docs/grub/index.md.description new file mode 100644 index 0000000..a9f756b --- /dev/null +++ b/site/docs/grub/index.md.description @@ -0,0 +1 @@ +Documentation pertaining to the GNU boot loader named GRUB, as it applies to Libreboot. GRUB is provided as a coreboot payload, on many Libreboot configurations. diff --git a/site/docs/index.md.description b/site/docs/index.md.description new file mode 100644 index 0000000..839da72 --- /dev/null +++ b/site/docs/index.md.description @@ -0,0 +1 @@ +Documentation pertaining to Libreboot installation, configuration and maintenance. Information about development is provided. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with payloads such as the GNU boot loader named GRUB. diff --git a/site/docs/index.zh-cn.md.description b/site/docs/index.zh-cn.md.description new file mode 100644 index 0000000..b2861be --- /dev/null +++ b/site/docs/index.zh-cn.md.description @@ -0,0 +1 @@ +Libreboot 项目提供基于 coreboot 的自由且开源的引导固件. GNU GRUB, SeaBIOS, U-Boot. diff --git a/site/docs/install/acer_g43t-am3.md.description b/site/docs/install/acer_g43t-am3.md.description new file mode 100644 index 0000000..6b54174 --- /dev/null +++ b/site/docs/install/acer_g43t-am3.md.description @@ -0,0 +1 @@ +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Acer G43T-AM3 motherboard. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. diff --git a/site/docs/install/c201.md.description b/site/docs/install/c201.md.description new file mode 100644 index 0000000..a493aac --- /dev/null +++ b/site/docs/install/c201.md.description @@ -0,0 +1 @@ +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your ASUS Chromebook C201. diff --git a/site/docs/install/chromebooks.md.description b/site/docs/install/chromebooks.md.description new file mode 100644 index 0000000..666c162 --- /dev/null +++ b/site/docs/install/chromebooks.md.description @@ -0,0 +1 @@ +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on various ARM64-based Chromebook laptops. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. diff --git a/site/docs/install/d945gclf.md.description b/site/docs/install/d945gclf.md.description new file mode 100644 index 0000000..772f227 --- /dev/null +++ b/site/docs/install/d945gclf.md.description @@ -0,0 +1 @@ +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Intel D945GCLF motherboard. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. diff --git a/site/docs/install/deguard.md.description b/site/docs/install/deguard.md.description new file mode 100644 index 0000000..17ee5bb --- /dev/null +++ b/site/docs/install/deguard.md.description @@ -0,0 +1 @@ +Libreboot can disable the Intel Boot Guard, on any Intel 6th, 7th or 8th gen platform with Intel Management Engine version 11.x present. Intel Boot Guard would otherwise prevent coreboot from booting, by verifying the bootblock of the vendor's UEFI firmware. With this, you can use Libreboot and its various default coreboot payloads, such as the GNU boot loader named GRUB. diff --git a/site/docs/install/dell3050.md.description b/site/docs/install/dell3050.md.description new file mode 100644 index 0000000..de6e2d1 --- /dev/null +++ b/site/docs/install/dell3050.md.description @@ -0,0 +1 @@ +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Dell Latitude 3050 Micro. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. diff --git a/site/docs/install/dell7010.md.description b/site/docs/install/dell7010.md.description new file mode 100644 index 0000000..e93c754 --- /dev/null +++ b/site/docs/install/dell7010.md.description @@ -0,0 +1 @@ +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Dell OptiPlex 7010 SFF. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. diff --git a/site/docs/install/dell780.md.description b/site/docs/install/dell780.md.description new file mode 100644 index 0000000..4dc1d35 --- /dev/null +++ b/site/docs/install/dell780.md.description @@ -0,0 +1 @@ +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Dell OptiPlex 780. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. diff --git a/site/docs/install/dell9020.md.description b/site/docs/install/dell9020.md.description new file mode 100644 index 0000000..4e21d19 --- /dev/null +++ b/site/docs/install/dell9020.md.description @@ -0,0 +1 @@ +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Dell OptiPlex 9020 MT and SFF, also XE2 SFF and MT. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. diff --git a/site/docs/install/dell_thermal.md.description b/site/docs/install/dell_thermal.md.description new file mode 100644 index 0000000..1e76d53 --- /dev/null +++ b/site/docs/install/dell_thermal.md.description @@ -0,0 +1 @@ +Thermal protection has a few idiosyncrasies, on the various motherboards supported by Libreboot. This guide will explain what they are, and how they are handled by the LIbreboot project. diff --git a/site/docs/install/devmem.md.description b/site/docs/install/devmem.md.description new file mode 100644 index 0000000..f3f7dfe --- /dev/null +++ b/site/docs/install/devmem.md.description @@ -0,0 +1 @@ +Libreboot installation relies heavily on port IO and access to lower memory, which is usually restricted. This guide teaches you how to disabled such restrictions on Linux and BSD operating systems. diff --git a/site/docs/install/ga-g41m-es2l.md.description b/site/docs/install/ga-g41m-es2l.md.description new file mode 100644 index 0000000..7d7c2e3 --- /dev/null +++ b/site/docs/install/ga-g41m-es2l.md.description @@ -0,0 +1 @@ +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Gigabyte GA-G41M-ES2L motherboard. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. diff --git a/site/docs/install/hp2170p.md.description b/site/docs/install/hp2170p.md.description new file mode 100644 index 0000000..339bbb4 --- /dev/null +++ b/site/docs/install/hp2170p.md.description @@ -0,0 +1 @@ +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your HP EliteBook 2170p. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. diff --git a/site/docs/install/hp2560p.md.description b/site/docs/install/hp2560p.md.description new file mode 100644 index 0000000..47782c4 --- /dev/null +++ b/site/docs/install/hp2560p.md.description @@ -0,0 +1 @@ +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your HP EliteBook 2560p. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. diff --git a/site/docs/install/hp2570p.md.description b/site/docs/install/hp2570p.md.description new file mode 100644 index 0000000..02e5dbb --- /dev/null +++ b/site/docs/install/hp2570p.md.description @@ -0,0 +1 @@ +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your HP EliteBook 2570p. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. diff --git a/site/docs/install/hp8200sff.md.description b/site/docs/install/hp8200sff.md.description new file mode 100644 index 0000000..9d974c7 --- /dev/null +++ b/site/docs/install/hp8200sff.md.description @@ -0,0 +1 @@ +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your HP Elite 8200 SFF motherboard. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. diff --git a/site/docs/install/hp820g2.md.description b/site/docs/install/hp820g2.md.description new file mode 100644 index 0000000..a5c3998 --- /dev/null +++ b/site/docs/install/hp820g2.md.description @@ -0,0 +1 @@ +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your HP EliteBook 820 G2. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. diff --git a/site/docs/install/hp8300usdt.md.description b/site/docs/install/hp8300usdt.md.description new file mode 100644 index 0000000..af5abf2 --- /dev/null +++ b/site/docs/install/hp8300usdt.md.description @@ -0,0 +1 @@ +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your HP Elite 8300 USDT motherboard. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. diff --git a/site/docs/install/hp8460p.md.description b/site/docs/install/hp8460p.md.description new file mode 100644 index 0000000..5836809 --- /dev/null +++ b/site/docs/install/hp8460p.md.description @@ -0,0 +1 @@ +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your HP EliteBook 8460p. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. diff --git a/site/docs/install/hp8470p.md.description b/site/docs/install/hp8470p.md.description new file mode 100644 index 0000000..92bf0bf --- /dev/null +++ b/site/docs/install/hp8470p.md.description @@ -0,0 +1 @@ +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your HP EliteBook 8470p. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. diff --git a/site/docs/install/hp8560w.md.description b/site/docs/install/hp8560w.md.description new file mode 100644 index 0000000..4a1675e --- /dev/null +++ b/site/docs/install/hp8560w.md.description @@ -0,0 +1 @@ +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your HP EliteBook 8560w. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. diff --git a/site/docs/install/hp9470m.md.description b/site/docs/install/hp9470m.md.description new file mode 100644 index 0000000..d8b7690 --- /dev/null +++ b/site/docs/install/hp9470m.md.description @@ -0,0 +1 @@ +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your HP EliteBook Folio 9470m. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. diff --git a/site/docs/install/ich9utils.md.description b/site/docs/install/ich9utils.md.description new file mode 100644 index 0000000..b10e9e7 --- /dev/null +++ b/site/docs/install/ich9utils.md.description @@ -0,0 +1 @@ +Documentation pertaining to ich9utils which can generate or modify Intel Flash Descriptors, and Intel GbE NVM images. Now obsolete, this documentation provides a reference pertaining to how these utilities were developed. diff --git a/site/docs/install/index.md.description b/site/docs/install/index.md.description new file mode 100644 index 0000000..ed97ae0 --- /dev/null +++ b/site/docs/install/index.md.description @@ -0,0 +1 @@ +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on various laptop, desktop and server motherboards, also a few games consoles. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. diff --git a/site/docs/install/ivy_has_common.md.description b/site/docs/install/ivy_has_common.md.description new file mode 100644 index 0000000..a3c4843 --- /dev/null +++ b/site/docs/install/ivy_has_common.md.description @@ -0,0 +1 @@ +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your, while handling vendor firmware. Libreboot's strict Binary Blob Reduction Policy is observed, and referenced here. diff --git a/site/docs/install/ivy_internal.md.description b/site/docs/install/ivy_internal.md.description new file mode 100644 index 0000000..d784506 --- /dev/null +++ b/site/docs/install/ivy_internal.md.description @@ -0,0 +1 @@ +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Lenovo ThinkPad X230. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. diff --git a/site/docs/install/kcma-d8.md.description b/site/docs/install/kcma-d8.md.description new file mode 100644 index 0000000..ff69b46 --- /dev/null +++ b/site/docs/install/kcma-d8.md.description @@ -0,0 +1 @@ +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your ASUS KCMA-D8 motherboard. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. diff --git a/site/docs/install/kfsn4-dre.md.description b/site/docs/install/kfsn4-dre.md.description new file mode 100644 index 0000000..5044f19 --- /dev/null +++ b/site/docs/install/kfsn4-dre.md.description @@ -0,0 +1 @@ +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your ASUS KFSN4-DRE motherboard. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. diff --git a/site/docs/install/kgpe-d16.md.description b/site/docs/install/kgpe-d16.md.description new file mode 100644 index 0000000..96d55b0 --- /dev/null +++ b/site/docs/install/kgpe-d16.md.description @@ -0,0 +1 @@ +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your ASUS KGPE-D16 motherboard. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. diff --git a/site/docs/install/latitude.md.description b/site/docs/install/latitude.md.description new file mode 100644 index 0000000..e222da4 --- /dev/null +++ b/site/docs/install/latitude.md.description @@ -0,0 +1 @@ +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on various Dell Latitude laptop models. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. diff --git a/site/docs/install/mac_address.md.description b/site/docs/install/mac_address.md.description new file mode 100644 index 0000000..123a08f --- /dev/null +++ b/site/docs/install/mac_address.md.description @@ -0,0 +1 @@ +Libreboot lets you modify the MAC address on various supported motherboards. This guide will teach you how to change your MAC address, by various means. diff --git a/site/docs/install/macbook21.md.description b/site/docs/install/macbook21.md.description new file mode 100644 index 0000000..2a4a2aa --- /dev/null +++ b/site/docs/install/macbook21.md.description @@ -0,0 +1 @@ +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Apple MacBook 2,1 and 1,1 circa 2006. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. diff --git a/site/docs/install/nvmutil.md.description b/site/docs/install/nvmutil.md.description new file mode 100644 index 0000000..481a21b --- /dev/null +++ b/site/docs/install/nvmutil.md.description @@ -0,0 +1 @@ +Instructions pertaining to nvmutil, which is software that can modify the MAC address and other information inside Intel GbE NVM images, on motherboards that make use of an Intel Flash Descriptor. diff --git a/site/docs/install/nvmutilimport.md.description b/site/docs/install/nvmutilimport.md.description new file mode 100644 index 0000000..aebe579 --- /dev/null +++ b/site/docs/install/nvmutilimport.md.description @@ -0,0 +1 @@ +Historical information pertaining to nvmutil which can modify MAC addresses on Intel GbE NVM images. diff --git a/site/docs/install/playstation.md.description b/site/docs/install/playstation.md.description new file mode 100644 index 0000000..e4ecb31 --- /dev/null +++ b/site/docs/install/playstation.md.description @@ -0,0 +1 @@ +Learn how to install Libreboot free/opensource BIOS boot firmware on your Sony PlayStation (PS1/PSX), optionally compiling it with GNU GCC. This makes heavy use of the PCSX-Redux Open BIOS, which can be used on PlayStation emulators and on real hardware. diff --git a/site/docs/install/r400.md.description b/site/docs/install/r400.md.description new file mode 100644 index 0000000..62a7f89 --- /dev/null +++ b/site/docs/install/r400.md.description @@ -0,0 +1 @@ +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Lenovo ThinkPad R400. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. diff --git a/site/docs/install/spi.md.description b/site/docs/install/spi.md.description new file mode 100644 index 0000000..902bd27 --- /dev/null +++ b/site/docs/install/spi.md.description @@ -0,0 +1 @@ +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware by way of external flashing. This is done using SPI-compatible programmer devices such as Raspberry Pi Pico. Some warnings are also provided against the use of CH341a. diff --git a/site/docs/install/spi_generic.md.description b/site/docs/install/spi_generic.md.description new file mode 100644 index 0000000..d5b425d --- /dev/null +++ b/site/docs/install/spi_generic.md.description @@ -0,0 +1 @@ +Learn how to flash Libreboot using Le Potato, which supports SPI flashing on NOR 25xx ICs. diff --git a/site/docs/install/t1650.md.description b/site/docs/install/t1650.md.description new file mode 100644 index 0000000..51d725f --- /dev/null +++ b/site/docs/install/t1650.md.description @@ -0,0 +1 @@ +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Dell Precision T1650. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. diff --git a/site/docs/install/t400.md.description b/site/docs/install/t400.md.description new file mode 100644 index 0000000..f366739 --- /dev/null +++ b/site/docs/install/t400.md.description @@ -0,0 +1 @@ +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Lenovo Thinkpad T400. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. diff --git a/site/docs/install/t420_external.md.description b/site/docs/install/t420_external.md.description new file mode 100644 index 0000000..1a3a4fd --- /dev/null +++ b/site/docs/install/t420_external.md.description @@ -0,0 +1 @@ +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Lenovo ThinkPad T420. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. diff --git a/site/docs/install/t440p_external.md.description b/site/docs/install/t440p_external.md.description new file mode 100644 index 0000000..4de85d5 --- /dev/null +++ b/site/docs/install/t440p_external.md.description @@ -0,0 +1 @@ +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Lenovo ThinkPad T440p. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. diff --git a/site/docs/install/t480.md.description b/site/docs/install/t480.md.description new file mode 100644 index 0000000..a705fdd --- /dev/null +++ b/site/docs/install/t480.md.description @@ -0,0 +1 @@ +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Lenovo ThinkPad T480. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. diff --git a/site/docs/install/t500.md.description b/site/docs/install/t500.md.description new file mode 100644 index 0000000..c70af3e --- /dev/null +++ b/site/docs/install/t500.md.description @@ -0,0 +1 @@ +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Lenovo ThinkPad T500. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. diff --git a/site/docs/install/t60_unbrick.md.description b/site/docs/install/t60_unbrick.md.description new file mode 100644 index 0000000..a60940b --- /dev/null +++ b/site/docs/install/t60_unbrick.md.description @@ -0,0 +1 @@ +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Lenovo ThinkPad T60. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. diff --git a/site/docs/install/w541_external.md.description b/site/docs/install/w541_external.md.description new file mode 100644 index 0000000..c17fc7a --- /dev/null +++ b/site/docs/install/w541_external.md.description @@ -0,0 +1 @@ +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Lenovo ThinkPad W541. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. diff --git a/site/docs/install/x200.md.description b/site/docs/install/x200.md.description new file mode 100644 index 0000000..8e6f379 --- /dev/null +++ b/site/docs/install/x200.md.description @@ -0,0 +1 @@ +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Lenovo ThinkPad X200. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. diff --git a/site/docs/install/x230_external.md.description b/site/docs/install/x230_external.md.description new file mode 100644 index 0000000..45cd73c --- /dev/null +++ b/site/docs/install/x230_external.md.description @@ -0,0 +1 @@ +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Lenovo ThinkPad X230 via external flashing. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. diff --git a/site/docs/install/x60_unbrick.md.description b/site/docs/install/x60_unbrick.md.description new file mode 100644 index 0000000..63a0631 --- /dev/null +++ b/site/docs/install/x60_unbrick.md.description @@ -0,0 +1 @@ +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Lenovo ThinkPad X60. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. diff --git a/site/docs/install/x60tablet_unbrick.md.description b/site/docs/install/x60tablet_unbrick.md.description new file mode 100644 index 0000000..42c3634 --- /dev/null +++ b/site/docs/install/x60tablet_unbrick.md.description @@ -0,0 +1 @@ +Unbricking a Lenovo ThinkPad X60 Tablet after botched Libreboot installation. diff --git a/site/docs/linux/grub_boot_installer.md.description b/site/docs/linux/grub_boot_installer.md.description new file mode 100644 index 0000000..2543041 --- /dev/null +++ b/site/docs/linux/grub_boot_installer.md.description @@ -0,0 +1 @@ +Learn how to boot Linux distributions from the GNU boot loader named GRUB, on your Libreboot system. Libreboot provides free/opensource BIOS/UEFI firmwware based on coreboot, which has a few quirks that must be dealt with first. diff --git a/site/docs/linux/grub_cbfs.md.description b/site/docs/linux/grub_cbfs.md.description new file mode 100644 index 0000000..77ff45e --- /dev/null +++ b/site/docs/linux/grub_cbfs.md.description @@ -0,0 +1 @@ +The GNU boot loader named GRUB can read from coreboot's file system, and boot Linux/BSD systems from the flash. With these guides, you will know how to configure GRUB in flash for your Libreboot system. diff --git a/site/docs/linux/grub_hardening.md.description b/site/docs/linux/grub_hardening.md.description new file mode 100644 index 0000000..8693451 --- /dev/null +++ b/site/docs/linux/grub_hardening.md.description @@ -0,0 +1 @@ +The GNU boot loader named GRUB provides many encryption and boot protection measures, that can be used to increase the security of your Libreboot system. This rivals many competing schemes such as UEFI SecureBoot, and we call our hardened GRUB setup Secure libreBoot. diff --git a/site/docs/linux/index.md.description b/site/docs/linux/index.md.description new file mode 100644 index 0000000..0bf65fc --- /dev/null +++ b/site/docs/linux/index.md.description @@ -0,0 +1 @@ +Learn how to install Linux distributions on your Libreboot system. Libreboot provides free/opensource BIOS/UEFI firmware, in many ways comparable to the vendor firmware but it does have a few idiosyncrasies that must be taken care of. diff --git a/site/docs/sitegen/index.md.description b/site/docs/sitegen/index.md.description new file mode 100644 index 0000000..f27efde --- /dev/null +++ b/site/docs/sitegen/index.md.description @@ -0,0 +1 @@ +Learn about the Libreboot Static Site Generator, which is used to convert Markdown documents into HTML. Libreboot Static Site generator, or lbssg, is what generates the Libreboot project website. diff --git a/site/docs/uboot/index.md.description b/site/docs/uboot/index.md.description new file mode 100644 index 0000000..4e35cff --- /dev/null +++ b/site/docs/uboot/index.md.description @@ -0,0 +1 @@ +Free/opensource UEFI payload for Libreboot, via U-Boot UEFI coreboot payload. This is provided by the Libreboot project on ARM64 platforms. This replaces Google's usual Depthcharge payload, on ARM64 chromebooks. Also available for x86. diff --git a/site/docs/uboot/uboot-debian-bookworm.md.description b/site/docs/uboot/uboot-debian-bookworm.md.description new file mode 100644 index 0000000..e69de29 diff --git a/site/docs/uboot/uboot-x86.md.description b/site/docs/uboot/uboot-x86.md.description new file mode 100644 index 0000000..033031c --- /dev/null +++ b/site/docs/uboot/uboot-x86.md.description @@ -0,0 +1 @@ +Free/opensource UEFI payload for Libreboot, via U-Boot UEFI coreboot payload. This is provided by the Libreboot project on x86 and amd64 platforms. You can use this even on motherboards that never had UEFI to begin with. diff --git a/site/download.md.description b/site/download.md.description new file mode 100644 index 0000000..6a39c06 --- /dev/null +++ b/site/download.md.description @@ -0,0 +1 @@ +Download Libreboot free/opensource BIOS/UEFI firmware. Libreboot is a coreboot distro, and provides several payloads such as the GNU boot loader named GRUB, the SeaBIOS payload and the U-Boot payload (for x86 and ARM). diff --git a/site/freedom-status.md.description b/site/freedom-status.md.description new file mode 100644 index 0000000..6633be5 --- /dev/null +++ b/site/freedom-status.md.description @@ -0,0 +1,4 @@ +Libreboot is a free/opensource BIOS/UEFI boot firmware distribution based on coreboot +for booting Linux/BSD on supported x86/ARM motherboards. It comes with GNU boot +loader GRUB, SeaBIOS and U-Boot. This page describes how Libreboot handles vendor +code on each supported motherboard. diff --git a/site/freedom-status.uk.md.description b/site/freedom-status.uk.md.description new file mode 100644 index 0000000..6633be5 --- /dev/null +++ b/site/freedom-status.uk.md.description @@ -0,0 +1,4 @@ +Libreboot is a free/opensource BIOS/UEFI boot firmware distribution based on coreboot +for booting Linux/BSD on supported x86/ARM motherboards. It comes with GNU boot +loader GRUB, SeaBIOS and U-Boot. This page describes how Libreboot handles vendor +code on each supported motherboard. diff --git a/site/git.de.md.description b/site/git.de.md.description new file mode 100644 index 0000000..3f5f10a --- /dev/null +++ b/site/git.de.md.description @@ -0,0 +1 @@ +Send patches to the Libreboot project via Git. Libreboot is a community-led free/opensource BIOS/UEFI firmware project, based on coreboot and provides a variety of coreboot payloads, such as the GNU boot loader named GRUB. diff --git a/site/git.md.description b/site/git.md.description new file mode 100644 index 0000000..3f5f10a --- /dev/null +++ b/site/git.md.description @@ -0,0 +1 @@ +Send patches to the Libreboot project via Git. Libreboot is a community-led free/opensource BIOS/UEFI firmware project, based on coreboot and provides a variety of coreboot payloads, such as the GNU boot loader named GRUB. diff --git a/site/git.uk.md.description b/site/git.uk.md.description new file mode 100644 index 0000000..3f5f10a --- /dev/null +++ b/site/git.uk.md.description @@ -0,0 +1 @@ +Send patches to the Libreboot project via Git. Libreboot is a community-led free/opensource BIOS/UEFI firmware project, based on coreboot and provides a variety of coreboot payloads, such as the GNU boot loader named GRUB. diff --git a/site/index.de.md.description b/site/index.de.md.description new file mode 100644 index 0000000..3db20b3 --- /dev/null +++ b/site/index.de.md.description @@ -0,0 +1 @@ +Das Libreboot Projekt bietet eine freie/Open Source Boot Firmware mit GNU boot loader GRUB, SeaBIOS und U-Boot. diff --git a/site/index.it.md.description b/site/index.it.md.description new file mode 100644 index 0000000..de81a88 --- /dev/null +++ b/site/index.it.md.description @@ -0,0 +1 @@ +Il progetto Libreboot fornisce avvio libero e open source grazie al firmware basato su coreboot. Il progetto Libreboot fornisce avvio GNU boot loader GRUB, SeaBIOS e U-Boot. diff --git a/site/index.md.description b/site/index.md.description new file mode 100644 index 0000000..bb8da0e --- /dev/null +++ b/site/index.md.description @@ -0,0 +1 @@ +Libreboot is a free/opensource BIOS/UEFI boot firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/index.ru.md.description b/site/index.ru.md.description new file mode 100644 index 0000000..30fc86e --- /dev/null +++ b/site/index.ru.md.description @@ -0,0 +1 @@ +Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/index.zh-cn.md.description b/site/index.zh-cn.md.description new file mode 100644 index 0000000..b2861be --- /dev/null +++ b/site/index.zh-cn.md.description @@ -0,0 +1 @@ +Libreboot 项目提供基于 coreboot 的自由且开源的引导固件. GNU GRUB, SeaBIOS, U-Boot. diff --git a/site/news/10.md.description b/site/news/10.md.description new file mode 100644 index 0000000..db74f87 --- /dev/null +++ b/site/news/10.md.description @@ -0,0 +1 @@ +Tenth year anniversary and history of the Libreboot project, as of December 2023. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/argon2.md.description b/site/news/argon2.md.description new file mode 100644 index 0000000..64f747f --- /dev/null +++ b/site/news/argon2.md.description @@ -0,0 +1 @@ +Argon2 KDF allows greater memory hardness, which means that it is much less vulnerable to bruteforce attacks. This encryption scheme was added to the GNU boot loader named GRUB, in Libreboot's version, thereby allowing full LUKS2 support in Libreboot's GRUB payload. diff --git a/site/news/audit.md.description b/site/news/audit.md.description new file mode 100644 index 0000000..94c24c0 --- /dev/null +++ b/site/news/audit.md.description @@ -0,0 +1 @@ +Libreboot build system audit. Libreboot's build system is constantly audited to fix bugs, improve stability and overall code efficiency. diff --git a/site/news/audit2.md.description b/site/news/audit2.md.description new file mode 100644 index 0000000..28933bd --- /dev/null +++ b/site/news/audit2.md.description @@ -0,0 +1 @@ +Libreboot build system audit 2. Libreboot's build system is constantly audited to fix bugs, improve stability and overall code efficiency. diff --git a/site/news/audit3.md.description b/site/news/audit3.md.description new file mode 100644 index 0000000..3666712 --- /dev/null +++ b/site/news/audit3.md.description @@ -0,0 +1 @@ +Libreboot build system audit 3. Libreboot's build system is constantly audited to fix bugs, improve stability and overall code efficiency. diff --git a/site/news/audit4.md.description b/site/news/audit4.md.description new file mode 100644 index 0000000..3012987 --- /dev/null +++ b/site/news/audit4.md.description @@ -0,0 +1 @@ +Libreboot build system audit 4. Libreboot's build system is constantly audited to fix bugs, improve stability and overall code efficiency. diff --git a/site/news/audit5.md.description b/site/news/audit5.md.description new file mode 100644 index 0000000..be1c3c1 --- /dev/null +++ b/site/news/audit5.md.description @@ -0,0 +1 @@ +Libreboot build system audit 5. Libreboot's build system is constantly audited to fix bugs, improve stability and overall code efficiency. diff --git a/site/news/audit6.md.description b/site/news/audit6.md.description new file mode 100644 index 0000000..07f5fe4 --- /dev/null +++ b/site/news/audit6.md.description @@ -0,0 +1 @@ +Libreboot build system audit 6. Libreboot's build system is constantly audited to fix bugs, improve stability and overall code efficiency. diff --git a/site/news/codeberg.md.description b/site/news/codeberg.md.description new file mode 100644 index 0000000..b317bdc --- /dev/null +++ b/site/news/codeberg.md.description @@ -0,0 +1,3 @@ +Libreboot's main Git repositories were moved to Codeberg, whereas +they were previously hosted on Notabug. Notabug is still used as a +backup Git repository mirror for the Libreboot project. diff --git a/site/news/e6400.md.description b/site/news/e6400.md.description new file mode 100644 index 0000000..6f7b5f4 --- /dev/null +++ b/site/news/e6400.md.description @@ -0,0 +1 @@ +Dell Latitude E6400 added to Libreboot. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/e6400nvidia.md.description b/site/news/e6400nvidia.md.description new file mode 100644 index 0000000..cbb06bb --- /dev/null +++ b/site/news/e6400nvidia.md.description @@ -0,0 +1 @@ +Advice regarding Nvidia GPUs on Dell Latitude E6400, when installing Libreboot free/opensource BIOS/UEFI boot firmware. diff --git a/site/news/fam15h.md.description b/site/news/fam15h.md.description new file mode 100644 index 0000000..c92f882 --- /dev/null +++ b/site/news/fam15h.md.description @@ -0,0 +1 @@ +Request for hardware donation of ASUS KGPE-D16. diff --git a/site/news/fedfree.md.description b/site/news/fedfree.md.description new file mode 100644 index 0000000..a1e31a0 --- /dev/null +++ b/site/news/fedfree.md.description @@ -0,0 +1 @@ +Federation of Freedom is a blog maintained by Leah Rowe, which describes some of the infrastructure of the Libreboot project, and tells you how to configure your own servers, for your own free and open source software project. diff --git a/site/news/freedom.md.description b/site/news/freedom.md.description new file mode 100644 index 0000000..06d0652 --- /dev/null +++ b/site/news/freedom.md.description @@ -0,0 +1 @@ +People ask about other firmware besides Libreboot all the time, such as Embedded Controller firmware. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot. diff --git a/site/news/gm45microcode.md.description b/site/news/gm45microcode.md.description new file mode 100644 index 0000000..c6a431f --- /dev/null +++ b/site/news/gm45microcode.md.description @@ -0,0 +1 @@ +Notice regarding the handling of CPU microcode updates in Libreboot, on laptops that use the Intel GM45 northbridge and ICH9m southbridge designs. diff --git a/site/news/hp2170p.md.description b/site/news/hp2170p.md.description new file mode 100644 index 0000000..3d23a5e --- /dev/null +++ b/site/news/hp2170p.md.description @@ -0,0 +1 @@ +HP EliteBook 2170p addod to Libreboot. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/hp8200sff.md.description b/site/news/hp8200sff.md.description new file mode 100644 index 0000000..dca0458 --- /dev/null +++ b/site/news/hp8200sff.md.description @@ -0,0 +1 @@ +HP Elite 8200 SFF added to Libreboot. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/hp8200sff.uk.md.description b/site/news/hp8200sff.uk.md.description new file mode 100644 index 0000000..dca0458 --- /dev/null +++ b/site/news/hp8200sff.uk.md.description @@ -0,0 +1 @@ +HP Elite 8200 SFF added to Libreboot. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/hp820g2.md.description b/site/news/hp820g2.md.description new file mode 100644 index 0000000..2871ad4 --- /dev/null +++ b/site/news/hp820g2.md.description @@ -0,0 +1 @@ +HP EliteBook 820 G2 addod to Libreboot. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/hp8470p_and_dell_t1650.md.description b/site/news/hp8470p_and_dell_t1650.md.description new file mode 100644 index 0000000..696fea9 --- /dev/null +++ b/site/news/hp8470p_and_dell_t1650.md.description @@ -0,0 +1 @@ +HP Elite 8470p and Dell Precision T1650 added to Libreboot. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with payloads like the GNU boot loader GRUB, SeaBIOS and U-Boot. diff --git a/site/news/hp_elitebooks.md.description b/site/news/hp_elitebooks.md.description new file mode 100644 index 0000000..b642099 --- /dev/null +++ b/site/news/hp_elitebooks.md.description @@ -0,0 +1 @@ +More HP EliteBooks added to Libreboot. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/kgpe-d16.md.description b/site/news/kgpe-d16.md.description new file mode 100644 index 0000000..4acadfa --- /dev/null +++ b/site/news/kgpe-d16.md.description @@ -0,0 +1 @@ +Notice regarding ASUS KGPE-D16 in the Libreboot project. diff --git a/site/news/libreboot20131212.md.description b/site/news/libreboot20131212.md.description new file mode 100644 index 0000000..5aa673d --- /dev/null +++ b/site/news/libreboot20131212.md.description @@ -0,0 +1 @@ +Libreboot 20131212 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/libreboot20131213.md.description b/site/news/libreboot20131213.md.description new file mode 100644 index 0000000..69e372a --- /dev/null +++ b/site/news/libreboot20131213.md.description @@ -0,0 +1 @@ +Libreboot 20131213 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/libreboot20131214.md.description b/site/news/libreboot20131214.md.description new file mode 100644 index 0000000..68fc0a2 --- /dev/null +++ b/site/news/libreboot20131214.md.description @@ -0,0 +1 @@ +Libreboot 20131214 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/libreboot20140221.md.description b/site/news/libreboot20140221.md.description new file mode 100644 index 0000000..64e2ac3 --- /dev/null +++ b/site/news/libreboot20140221.md.description @@ -0,0 +1 @@ +Libreboot 20140221 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/libreboot20140309.md.description b/site/news/libreboot20140309.md.description new file mode 100644 index 0000000..b26af46 --- /dev/null +++ b/site/news/libreboot20140309.md.description @@ -0,0 +1 @@ +Libreboot 20140309 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/libreboot20140605.md.description b/site/news/libreboot20140605.md.description new file mode 100644 index 0000000..1586237 --- /dev/null +++ b/site/news/libreboot20140605.md.description @@ -0,0 +1 @@ +Libreboot 20140605 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/libreboot20140611.md.description b/site/news/libreboot20140611.md.description new file mode 100644 index 0000000..59a14f9 --- /dev/null +++ b/site/news/libreboot20140611.md.description @@ -0,0 +1 @@ +Libreboot 20140611 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/libreboot20140622.md.description b/site/news/libreboot20140622.md.description new file mode 100644 index 0000000..694ff34 --- /dev/null +++ b/site/news/libreboot20140622.md.description @@ -0,0 +1 @@ +Libreboot 20140622 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/libreboot20140711.md.description b/site/news/libreboot20140711.md.description new file mode 100644 index 0000000..466815c --- /dev/null +++ b/site/news/libreboot20140711.md.description @@ -0,0 +1 @@ +Libreboot 20140711 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/libreboot20140716.md.description b/site/news/libreboot20140716.md.description new file mode 100644 index 0000000..d2382fb --- /dev/null +++ b/site/news/libreboot20140716.md.description @@ -0,0 +1 @@ +Libreboot 20240225 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/libreboot20140720.md.description b/site/news/libreboot20140720.md.description new file mode 100644 index 0000000..1898e11 --- /dev/null +++ b/site/news/libreboot20140720.md.description @@ -0,0 +1 @@ +Libreboot 20140720 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/libreboot20140729.md.description b/site/news/libreboot20140729.md.description new file mode 100644 index 0000000..2884647 --- /dev/null +++ b/site/news/libreboot20140729.md.description @@ -0,0 +1 @@ +Libreboot 20140729 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/libreboot20140811.md.description b/site/news/libreboot20140811.md.description new file mode 100644 index 0000000..a182a2c --- /dev/null +++ b/site/news/libreboot20140811.md.description @@ -0,0 +1 @@ +Libreboot 20140811 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/libreboot20140903.md.description b/site/news/libreboot20140903.md.description new file mode 100644 index 0000000..138c674 --- /dev/null +++ b/site/news/libreboot20140903.md.description @@ -0,0 +1 @@ +Libreboot 20140903 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/libreboot20140911.md.description b/site/news/libreboot20140911.md.description new file mode 100644 index 0000000..4a8ae1b --- /dev/null +++ b/site/news/libreboot20140911.md.description @@ -0,0 +1 @@ +Libreboot 20140911 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/libreboot20141015.md.description b/site/news/libreboot20141015.md.description new file mode 100644 index 0000000..4fdb700 --- /dev/null +++ b/site/news/libreboot20141015.md.description @@ -0,0 +1 @@ +Libreboot 20141015 release. diff --git a/site/news/libreboot20150124.md.description b/site/news/libreboot20150124.md.description new file mode 100644 index 0000000..df51456 --- /dev/null +++ b/site/news/libreboot20150124.md.description @@ -0,0 +1 @@ +Libreboot 20150124 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/libreboot20150126.md.description b/site/news/libreboot20150126.md.description new file mode 100644 index 0000000..684f909 --- /dev/null +++ b/site/news/libreboot20150126.md.description @@ -0,0 +1 @@ +Libreboot 20150126 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/libreboot20150208.md.description b/site/news/libreboot20150208.md.description new file mode 100644 index 0000000..4895e71 --- /dev/null +++ b/site/news/libreboot20150208.md.description @@ -0,0 +1 @@ +Libreboot 20150208 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/libreboot20150518.md.description b/site/news/libreboot20150518.md.description new file mode 100644 index 0000000..c707ddf --- /dev/null +++ b/site/news/libreboot20150518.md.description @@ -0,0 +1 @@ +Libreboot 20150518 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/libreboot20160818.md.description b/site/news/libreboot20160818.md.description new file mode 100644 index 0000000..f544036 --- /dev/null +++ b/site/news/libreboot20160818.md.description @@ -0,0 +1 @@ +Libreboot 20160818 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/libreboot20160902.md.description b/site/news/libreboot20160902.md.description new file mode 100644 index 0000000..8e2d66e --- /dev/null +++ b/site/news/libreboot20160902.md.description @@ -0,0 +1 @@ +Libreboot 20160902 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/libreboot20160907.md.description b/site/news/libreboot20160907.md.description new file mode 100644 index 0000000..21d8b84 --- /dev/null +++ b/site/news/libreboot20160907.md.description @@ -0,0 +1 @@ +Libreboot 20160907 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/libreboot20210522.md.description b/site/news/libreboot20210522.md.description new file mode 100644 index 0000000..f81590b --- /dev/null +++ b/site/news/libreboot20210522.md.description @@ -0,0 +1 @@ +Libreboot 20210522 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/libreboot20211122.md.description b/site/news/libreboot20211122.md.description new file mode 100644 index 0000000..f664f51 --- /dev/null +++ b/site/news/libreboot20211122.md.description @@ -0,0 +1 @@ +Libreboot 20211122 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/libreboot20220710.md.description b/site/news/libreboot20220710.md.description new file mode 100644 index 0000000..eab62c1 --- /dev/null +++ b/site/news/libreboot20220710.md.description @@ -0,0 +1 @@ +Libreboot 20220710 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/libreboot20221214.md.description b/site/news/libreboot20221214.md.description new file mode 100644 index 0000000..c49dfbb --- /dev/null +++ b/site/news/libreboot20221214.md.description @@ -0,0 +1 @@ +Libreboot 20221214 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/libreboot20230319.md.description b/site/news/libreboot20230319.md.description new file mode 100644 index 0000000..8e034cc --- /dev/null +++ b/site/news/libreboot20230319.md.description @@ -0,0 +1 @@ +Libreboot 20230319 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/libreboot20230413.md.description b/site/news/libreboot20230413.md.description new file mode 100644 index 0000000..4fbe6e2 --- /dev/null +++ b/site/news/libreboot20230413.md.description @@ -0,0 +1 @@ +Libreboot 20230413 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/libreboot20230423.md.description b/site/news/libreboot20230423.md.description new file mode 100644 index 0000000..5a052d7 --- /dev/null +++ b/site/news/libreboot20230423.md.description @@ -0,0 +1 @@ +Libreboot 20230423 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/libreboot20230625.md.description b/site/news/libreboot20230625.md.description new file mode 100644 index 0000000..244f626 --- /dev/null +++ b/site/news/libreboot20230625.md.description @@ -0,0 +1 @@ +Libreboot 20230625 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/libreboot20231021.md.description b/site/news/libreboot20231021.md.description new file mode 100644 index 0000000..ccfd4a0 --- /dev/null +++ b/site/news/libreboot20231021.md.description @@ -0,0 +1 @@ +Libreboot 20231021 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/libreboot20231101.md.description b/site/news/libreboot20231101.md.description new file mode 100644 index 0000000..b9df681 --- /dev/null +++ b/site/news/libreboot20231101.md.description @@ -0,0 +1 @@ +Libreboot 20231101 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/libreboot20231106.md.description b/site/news/libreboot20231106.md.description new file mode 100644 index 0000000..6506ac1 --- /dev/null +++ b/site/news/libreboot20231106.md.description @@ -0,0 +1 @@ +Libreboot 20231106 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/libreboot20240126.md.description b/site/news/libreboot20240126.md.description new file mode 100644 index 0000000..6a4219b --- /dev/null +++ b/site/news/libreboot20240126.md.description @@ -0,0 +1 @@ +Libreboot 20240106 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/libreboot20240225.md.description b/site/news/libreboot20240225.md.description new file mode 100644 index 0000000..820c455 --- /dev/null +++ b/site/news/libreboot20240225.md.description @@ -0,0 +1 @@ +Libreboot 20230225 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/libreboot20240504.md.description b/site/news/libreboot20240504.md.description new file mode 100644 index 0000000..ef37127 --- /dev/null +++ b/site/news/libreboot20240504.md.description @@ -0,0 +1 @@ +Libreboot 20240504 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/libreboot20240612.md.description b/site/news/libreboot20240612.md.description new file mode 100644 index 0000000..6b528b7 --- /dev/null +++ b/site/news/libreboot20240612.md.description @@ -0,0 +1 @@ +Libreboot 20240612 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/libreboot20241008.md.description b/site/news/libreboot20241008.md.description new file mode 100644 index 0000000..b3b4cc8 --- /dev/null +++ b/site/news/libreboot20241008.md.description @@ -0,0 +1 @@ +Libreboot 20241008 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/libreboot20241206.Revisions.md.description b/site/news/libreboot20241206.Revisions.md.description new file mode 100644 index 0000000..63d71e0 --- /dev/null +++ b/site/news/libreboot20241206.Revisions.md.description @@ -0,0 +1 @@ +Libreboot 20241206 release revisions. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/libreboot20241206.md.description b/site/news/libreboot20241206.md.description new file mode 100644 index 0000000..33fff7d --- /dev/null +++ b/site/news/libreboot20241206.md.description @@ -0,0 +1 @@ +Libreboot 20241206 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/libreboot20241206rev8.md.description b/site/news/libreboot20241206rev8.md.description new file mode 100644 index 0000000..b9f603a --- /dev/null +++ b/site/news/libreboot20241206rev8.md.description @@ -0,0 +1 @@ +Libreboot 20241206, 8th revision. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. diff --git a/site/news/microcode.md.description b/site/news/microcode.md.description new file mode 100644 index 0000000..20fae76 --- /dev/null +++ b/site/news/microcode.md.description @@ -0,0 +1 @@ +Policy announcement regarding CPU microcode updates in Libreboot. diff --git a/site/news/mirrors.md.description b/site/news/mirrors.md.description new file mode 100644 index 0000000..2363b29 --- /dev/null +++ b/site/news/mirrors.md.description @@ -0,0 +1 @@ +New Libreboot Git repository mirrors are available, for downloading Libreboot free/opensource BIOS/UEFI boot firmware. diff --git a/site/news/policy.md.description b/site/news/policy.md.description new file mode 100644 index 0000000..38ca802 --- /dev/null +++ b/site/news/policy.md.description @@ -0,0 +1 @@ +Libreboot project Binary Blob Reduction Policy, which pertains to the handling of vendor code. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot. diff --git a/site/news/ports202402.md.description b/site/news/ports202402.md.description new file mode 100644 index 0000000..1080dcc --- /dev/null +++ b/site/news/ports202402.md.description @@ -0,0 +1 @@ +A number of new motherboards were added to Libreboot, thereby providing them with free/opensource BIOS/UEFI firmware based on coreboot. Libreboot is a coreboot distro, providing payloads such as the GNU boot loader named GRUB, by default. diff --git a/site/news/safety.md.description b/site/news/safety.md.description new file mode 100644 index 0000000..7224887 --- /dev/null +++ b/site/news/safety.md.description @@ -0,0 +1 @@ +Safety instructions pertaining to installation of Libreboot free/opensource BIOS/UEFI firmware. diff --git a/site/news/schedule.md.description b/site/news/schedule.md.description new file mode 100644 index 0000000..d7996c5 --- /dev/null +++ b/site/news/schedule.md.description @@ -0,0 +1 @@ +Libreboot will adopt a new release schedule from 2025 onward, with more consistent version numbering and release codenames. Libreboot will do testing releases in April and October, and stable releases in June and December, each year. diff --git a/site/news/sourcehut.md.description b/site/news/sourcehut.md.description new file mode 100644 index 0000000..f8bb3f4 --- /dev/null +++ b/site/news/sourcehut.md.description @@ -0,0 +1 @@ +Libreboot is now officially available on SourceHut, including mailing lists. diff --git a/site/news/translations.de.md.description b/site/news/translations.de.md.description new file mode 100644 index 0000000..b6a1ed1 --- /dev/null +++ b/site/news/translations.de.md.description @@ -0,0 +1 @@ +Instructions for how to translate the Libreboot website. diff --git a/site/news/translations.md.description b/site/news/translations.md.description new file mode 100644 index 0000000..bc531c8 --- /dev/null +++ b/site/news/translations.md.description @@ -0,0 +1 @@ +Translations needed for the Libreboot website. Learn how you can create and submit translations for the Libreboot project website. diff --git a/site/news/update202308.md.description b/site/news/update202308.md.description new file mode 100644 index 0000000..9d99d83 --- /dev/null +++ b/site/news/update202308.md.description @@ -0,0 +1 @@ +Upstream code revisions in Libreboot, as of August 2023, for example the GNU boot loader named GRUB was updated. diff --git a/site/news/usa-libre-part2.md.description b/site/news/usa-libre-part2.md.description new file mode 100644 index 0000000..32b6a46 --- /dev/null +++ b/site/news/usa-libre-part2.md.description @@ -0,0 +1 @@ +Free and open source software in your government. diff --git a/site/news/usa-libre-part3.md.description b/site/news/usa-libre-part3.md.description new file mode 100644 index 0000000..07dbfed --- /dev/null +++ b/site/news/usa-libre-part3.md.description @@ -0,0 +1 @@ +Free Software inside your government. diff --git a/site/news/usa-libre.md.description b/site/news/usa-libre.md.description new file mode 100644 index 0000000..32b6a46 --- /dev/null +++ b/site/news/usa-libre.md.description @@ -0,0 +1 @@ +Free and open source software in your government. diff --git a/site/news/x201.md.description b/site/news/x201.md.description new file mode 100644 index 0000000..c9ff70a --- /dev/null +++ b/site/news/x201.md.description @@ -0,0 +1,2 @@ +ThinkPad X201 support was removed from Libreboot, due +to thermal safety issues on that board. diff --git a/site/other.md.description b/site/other.md.description new file mode 100644 index 0000000..0dd0baf --- /dev/null +++ b/site/other.md.description @@ -0,0 +1 @@ +Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot. Several other projects exist that are very different to Libreboot, but also based on coreboot. diff --git a/site/sitemap.md.description b/site/sitemap.md.description new file mode 100644 index 0000000..e9d02ce --- /dev/null +++ b/site/sitemap.md.description @@ -0,0 +1 @@ +This page lists every other page on the Libreboot website. From 3b90750b4b6ea0e8c9682ca517bb76800e6a5e2a Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 25 Jan 2025 15:04:38 +0000 Subject: [PATCH 210/279] shorter descriptions Signed-off-by: Leah Rowe --- site/docs/build/index.md.description | 2 +- site/docs/index.md.description | 2 +- site/docs/install/acer_g43t-am3.md.description | 2 +- site/docs/install/chromebooks.md.description | 2 +- site/docs/install/d945gclf.md.description | 2 +- site/docs/install/deguard.md.description | 2 +- site/docs/install/dell3050.md.description | 2 +- site/docs/install/dell7010.md.description | 2 +- site/docs/install/dell780.md.description | 2 +- site/docs/install/dell9020.md.description | 2 +- site/docs/install/dell_thermal.md.description | 2 +- site/docs/install/devmem.md.description | 2 +- site/docs/install/ga-g41m-es2l.md.description | 2 +- site/docs/install/hp2170p.md.description | 2 +- site/docs/install/hp2560p.md.description | 2 +- site/docs/install/hp2570p.md.description | 2 +- site/docs/install/hp8200sff.md.description | 2 +- site/docs/install/hp820g2.md.description | 2 +- site/docs/install/hp8300usdt.md.description | 2 +- site/docs/install/hp8460p.md.description | 2 +- site/docs/install/hp8470p.md.description | 2 +- site/docs/install/hp8560w.md.description | 2 +- site/docs/install/hp9470m.md.description | 2 +- site/docs/install/ich9utils.md.description | 2 +- site/docs/install/index.md.description | 2 +- site/docs/install/ivy_has_common.md.description | 2 +- site/docs/install/ivy_internal.md.description | 2 +- site/docs/install/kcma-d8.md.description | 2 +- site/docs/install/kfsn4-dre.md.description | 2 +- site/docs/install/kgpe-d16.md.description | 2 +- site/docs/install/latitude.md.description | 2 +- site/docs/install/macbook21.md.description | 2 +- site/docs/install/nvmutil.md.description | 2 +- site/docs/install/playstation.md.description | 2 +- site/docs/install/r400.md.description | 2 +- site/docs/install/spi.md.description | 2 +- site/docs/install/t1650.md.description | 2 +- site/docs/install/t400.md.description | 2 +- site/docs/install/t420_external.md.description | 2 +- site/docs/install/t440p_external.md.description | 2 +- site/docs/install/t480.md.description | 2 +- site/docs/install/t500.md.description | 2 +- site/docs/install/t60_unbrick.md.description | 2 +- site/docs/install/w541_external.md.description | 2 +- site/docs/install/x200.md.description | 2 +- site/docs/install/x230_external.md.description | 2 +- site/docs/install/x60_unbrick.md.description | 2 +- site/docs/linux/grub_boot_installer.md.description | 2 +- site/docs/linux/grub_cbfs.md.description | 2 +- site/docs/linux/grub_hardening.md.description | 2 +- site/docs/linux/index.md.description | 2 +- site/docs/sitegen/index.md.description | 2 +- site/docs/uboot/index.md.description | 2 +- site/docs/uboot/uboot-debian-bookworm.md.description | 0 site/docs/uboot/uboot-x86.md.description | 2 +- site/download.md.description | 2 +- site/freedom-status.md.description | 6 ++---- site/freedom-status.uk.md.description | 6 ++---- site/git.de.md.description | 2 +- site/git.md.description | 2 +- site/git.uk.md.description | 2 +- site/index.it.md.description | 2 +- site/index.md.description | 2 +- site/index.ru.md.description | 2 +- site/news/10.md.description | 2 +- site/news/argon2.md.description | 2 +- site/news/codeberg.md.description | 3 +-- site/news/e6400.md.description | 2 +- site/news/freedom.md.description | 3 ++- site/news/hp2170p.md.description | 2 +- site/news/hp8200sff.md.description | 2 +- site/news/hp8200sff.uk.md.description | 2 +- site/news/hp820g2.md.description | 2 +- site/news/hp8470p_and_dell_t1650.md.description | 2 +- site/news/hp_elitebooks.md.description | 2 +- site/news/libreboot20131212.md.description | 2 +- site/news/libreboot20131213.md.description | 2 +- site/news/libreboot20131214.md.description | 2 +- site/news/libreboot20140221.md.description | 2 +- site/news/libreboot20140309.md.description | 2 +- site/news/libreboot20140605.md.description | 2 +- site/news/libreboot20140611.md.description | 2 +- site/news/libreboot20140622.md.description | 2 +- site/news/libreboot20140711.md.description | 2 +- site/news/libreboot20140716.md.description | 2 +- site/news/libreboot20140720.md.description | 2 +- site/news/libreboot20140729.md.description | 2 +- site/news/libreboot20140811.md.description | 2 +- site/news/libreboot20140903.md.description | 2 +- site/news/libreboot20140911.md.description | 2 +- site/news/libreboot20150124.md.description | 2 +- site/news/libreboot20150126.md.description | 2 +- site/news/libreboot20150208.md.description | 2 +- site/news/libreboot20150518.md.description | 2 +- site/news/libreboot20160818.md.description | 2 +- site/news/libreboot20160902.md.description | 2 +- site/news/libreboot20160907.md.description | 2 +- site/news/libreboot20210522.md.description | 2 +- site/news/libreboot20211122.md.description | 2 +- site/news/libreboot20220710.md.description | 2 +- site/news/libreboot20221214.md.description | 2 +- site/news/libreboot20230319.md.description | 2 +- site/news/libreboot20230413.md.description | 2 +- site/news/libreboot20230423.md.description | 2 +- site/news/libreboot20230625.md.description | 2 +- site/news/libreboot20231021.md.description | 2 +- site/news/libreboot20231101.md.description | 2 +- site/news/libreboot20231106.md.description | 2 +- site/news/libreboot20240126.md.description | 2 +- site/news/libreboot20240225.md.description | 2 +- site/news/libreboot20240504.md.description | 2 +- site/news/libreboot20240612.md.description | 2 +- site/news/libreboot20241008.md.description | 2 +- site/news/libreboot20241206.Revisions.md.description | 2 +- site/news/libreboot20241206.md.description | 2 +- site/news/libreboot20241206rev8.md.description | 2 +- site/news/policy.md.description | 2 +- site/news/ports202402.md.description | 2 +- site/news/schedule.md.description | 2 +- site/other.md.description | 2 +- site/template.de.include | 2 +- site/template.include | 2 +- site/template.it.include | 2 +- site/template.uk.include | 2 +- site/template.zh-cn.include | 2 +- 125 files changed, 127 insertions(+), 131 deletions(-) delete mode 100644 site/docs/uboot/uboot-debian-bookworm.md.description diff --git a/site/docs/build/index.md.description b/site/docs/build/index.md.description index 67b97e6..955efdc 100644 --- a/site/docs/build/index.md.description +++ b/site/docs/build/index.md.description @@ -1 +1 @@ -Libreboot project documentation. Learn about Libreboot installation, how Libreboot is designed and how you can contribute to the project. Libreboot provides free/opensource BIOS/UEFI boot firmware based on coreboot. +Libreboot project documentation. Learn about Libreboot installation, how Libreboot is designed and how you can contribute to the project. diff --git a/site/docs/index.md.description b/site/docs/index.md.description index 839da72..745796e 100644 --- a/site/docs/index.md.description +++ b/site/docs/index.md.description @@ -1 +1 @@ -Documentation pertaining to Libreboot installation, configuration and maintenance. Information about development is provided. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with payloads such as the GNU boot loader named GRUB. +Documentation pertaining to Libreboot installation. Learn how to install Libreboot, and use coreboot payloads such as the GNU boot loader GRUB. diff --git a/site/docs/install/acer_g43t-am3.md.description b/site/docs/install/acer_g43t-am3.md.description index 6b54174..ddc02dd 100644 --- a/site/docs/install/acer_g43t-am3.md.description +++ b/site/docs/install/acer_g43t-am3.md.description @@ -1 +1 @@ -Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Acer G43T-AM3 motherboard. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Acer G43T-AM3 motherboard. diff --git a/site/docs/install/chromebooks.md.description b/site/docs/install/chromebooks.md.description index 666c162..a349cb7 100644 --- a/site/docs/install/chromebooks.md.description +++ b/site/docs/install/chromebooks.md.description @@ -1 +1 @@ -Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on various ARM64-based Chromebook laptops. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on various ARM64-based Chromebook laptops. diff --git a/site/docs/install/d945gclf.md.description b/site/docs/install/d945gclf.md.description index 772f227..9f804ce 100644 --- a/site/docs/install/d945gclf.md.description +++ b/site/docs/install/d945gclf.md.description @@ -1 +1 @@ -Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Intel D945GCLF motherboard. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Intel D945GCLF motherboard. diff --git a/site/docs/install/deguard.md.description b/site/docs/install/deguard.md.description index 17ee5bb..cbc7400 100644 --- a/site/docs/install/deguard.md.description +++ b/site/docs/install/deguard.md.description @@ -1 +1 @@ -Libreboot can disable the Intel Boot Guard, on any Intel 6th, 7th or 8th gen platform with Intel Management Engine version 11.x present. Intel Boot Guard would otherwise prevent coreboot from booting, by verifying the bootblock of the vendor's UEFI firmware. With this, you can use Libreboot and its various default coreboot payloads, such as the GNU boot loader named GRUB. +Libreboot can disable the Intel Boot Guard, on any Intel 6th, 7th or 8th gen platform with Intel Management Engine version 11.x present, using deguard. diff --git a/site/docs/install/dell3050.md.description b/site/docs/install/dell3050.md.description index de6e2d1..3bcb6e6 100644 --- a/site/docs/install/dell3050.md.description +++ b/site/docs/install/dell3050.md.description @@ -1 +1 @@ -Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Dell Latitude 3050 Micro. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. +Dell OptiPlex 3050 installation. Libreboot is a free/opensource BIOS/UEFI boot firmware distribution based on coreboot with payloads like GNU GRUB boot loader. diff --git a/site/docs/install/dell7010.md.description b/site/docs/install/dell7010.md.description index e93c754..71ba34a 100644 --- a/site/docs/install/dell7010.md.description +++ b/site/docs/install/dell7010.md.description @@ -1 +1 @@ -Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Dell OptiPlex 7010 SFF. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Dell OptiPlex 7010 SFF. diff --git a/site/docs/install/dell780.md.description b/site/docs/install/dell780.md.description index 4dc1d35..2a8e1d2 100644 --- a/site/docs/install/dell780.md.description +++ b/site/docs/install/dell780.md.description @@ -1 +1 @@ -Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Dell OptiPlex 780. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Dell OptiPlex 780. diff --git a/site/docs/install/dell9020.md.description b/site/docs/install/dell9020.md.description index 4e21d19..5dedde4 100644 --- a/site/docs/install/dell9020.md.description +++ b/site/docs/install/dell9020.md.description @@ -1 +1 @@ -Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Dell OptiPlex 9020 MT and SFF, also XE2 SFF and MT. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Dell OptiPlex 9020 MT and SFF, also XE2 SFF and MT. diff --git a/site/docs/install/dell_thermal.md.description b/site/docs/install/dell_thermal.md.description index 1e76d53..80847b4 100644 --- a/site/docs/install/dell_thermal.md.description +++ b/site/docs/install/dell_thermal.md.description @@ -1 +1 @@ -Thermal protection has a few idiosyncrasies, on the various motherboards supported by Libreboot. This guide will explain what they are, and how they are handled by the LIbreboot project. +Thermal protection has a few idiosyncrasies, on the various motherboards supported by Libreboot. This guide will explain what they are. diff --git a/site/docs/install/devmem.md.description b/site/docs/install/devmem.md.description index f3f7dfe..cc57306 100644 --- a/site/docs/install/devmem.md.description +++ b/site/docs/install/devmem.md.description @@ -1 +1 @@ -Libreboot installation relies heavily on port IO and access to lower memory, which is usually restricted. This guide teaches you how to disabled such restrictions on Linux and BSD operating systems. +Libreboot installation relies heavily on port IO and access to lower memory, which is usually restricted. Learn how to enable access on Linux and BSD. diff --git a/site/docs/install/ga-g41m-es2l.md.description b/site/docs/install/ga-g41m-es2l.md.description index 7d7c2e3..54a301f 100644 --- a/site/docs/install/ga-g41m-es2l.md.description +++ b/site/docs/install/ga-g41m-es2l.md.description @@ -1 +1 @@ -Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Gigabyte GA-G41M-ES2L motherboard. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Gigabyte GA-G41M-ES2L motherboard. diff --git a/site/docs/install/hp2170p.md.description b/site/docs/install/hp2170p.md.description index 339bbb4..9f4d0d2 100644 --- a/site/docs/install/hp2170p.md.description +++ b/site/docs/install/hp2170p.md.description @@ -1 +1 @@ -Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your HP EliteBook 2170p. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your HP EliteBook 2170p. diff --git a/site/docs/install/hp2560p.md.description b/site/docs/install/hp2560p.md.description index 47782c4..2a968df 100644 --- a/site/docs/install/hp2560p.md.description +++ b/site/docs/install/hp2560p.md.description @@ -1 +1 @@ -Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your HP EliteBook 2560p. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your HP EliteBook 2560p. diff --git a/site/docs/install/hp2570p.md.description b/site/docs/install/hp2570p.md.description index 02e5dbb..651f9a8 100644 --- a/site/docs/install/hp2570p.md.description +++ b/site/docs/install/hp2570p.md.description @@ -1 +1 @@ -Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your HP EliteBook 2570p. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your HP EliteBook 2570p. diff --git a/site/docs/install/hp8200sff.md.description b/site/docs/install/hp8200sff.md.description index 9d974c7..3b36651 100644 --- a/site/docs/install/hp8200sff.md.description +++ b/site/docs/install/hp8200sff.md.description @@ -1 +1 @@ -Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your HP Elite 8200 SFF motherboard. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your HP Elite 8200 SFF motherboard. diff --git a/site/docs/install/hp820g2.md.description b/site/docs/install/hp820g2.md.description index a5c3998..a174b2b 100644 --- a/site/docs/install/hp820g2.md.description +++ b/site/docs/install/hp820g2.md.description @@ -1 +1 @@ -Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your HP EliteBook 820 G2. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your HP EliteBook 820 G2. diff --git a/site/docs/install/hp8300usdt.md.description b/site/docs/install/hp8300usdt.md.description index af5abf2..3e84f10 100644 --- a/site/docs/install/hp8300usdt.md.description +++ b/site/docs/install/hp8300usdt.md.description @@ -1 +1 @@ -Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your HP Elite 8300 USDT motherboard. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your HP Elite 8300 USDT motherboard. diff --git a/site/docs/install/hp8460p.md.description b/site/docs/install/hp8460p.md.description index 5836809..fb08fe9 100644 --- a/site/docs/install/hp8460p.md.description +++ b/site/docs/install/hp8460p.md.description @@ -1 +1 @@ -Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your HP EliteBook 8460p. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your HP EliteBook 8460p. diff --git a/site/docs/install/hp8470p.md.description b/site/docs/install/hp8470p.md.description index 92bf0bf..617bfe9 100644 --- a/site/docs/install/hp8470p.md.description +++ b/site/docs/install/hp8470p.md.description @@ -1 +1 @@ -Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your HP EliteBook 8470p. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your HP EliteBook 8470p. diff --git a/site/docs/install/hp8560w.md.description b/site/docs/install/hp8560w.md.description index 4a1675e..33f47d8 100644 --- a/site/docs/install/hp8560w.md.description +++ b/site/docs/install/hp8560w.md.description @@ -1 +1 @@ -Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your HP EliteBook 8560w. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your HP EliteBook 8560w. diff --git a/site/docs/install/hp9470m.md.description b/site/docs/install/hp9470m.md.description index d8b7690..7815a45 100644 --- a/site/docs/install/hp9470m.md.description +++ b/site/docs/install/hp9470m.md.description @@ -1 +1 @@ -Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your HP EliteBook Folio 9470m. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. +HP EliteBook Folio 9470m added. Libreboot is a free/opensource BIOS/UEFI boot firmware distribution based on coreboot with payloads like GNU GRUB boot loader. diff --git a/site/docs/install/ich9utils.md.description b/site/docs/install/ich9utils.md.description index b10e9e7..8d7fc3b 100644 --- a/site/docs/install/ich9utils.md.description +++ b/site/docs/install/ich9utils.md.description @@ -1 +1 @@ -Documentation pertaining to ich9utils which can generate or modify Intel Flash Descriptors, and Intel GbE NVM images. Now obsolete, this documentation provides a reference pertaining to how these utilities were developed. +Documentation pertaining to ich9utils which can generate or modify Intel Flash Descriptors, and Intel GbE NVM images. diff --git a/site/docs/install/index.md.description b/site/docs/install/index.md.description index ed97ae0..6ffec3a 100644 --- a/site/docs/install/index.md.description +++ b/site/docs/install/index.md.description @@ -1 +1 @@ -Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on various laptop, desktop and server motherboards, also a few games consoles. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on various laptop, desktop and server motherboards. Boot payloads like GNU GRUB. diff --git a/site/docs/install/ivy_has_common.md.description b/site/docs/install/ivy_has_common.md.description index a3c4843..6bad493 100644 --- a/site/docs/install/ivy_has_common.md.description +++ b/site/docs/install/ivy_has_common.md.description @@ -1 +1 @@ -Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your, while handling vendor firmware. Libreboot's strict Binary Blob Reduction Policy is observed, and referenced here. +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your, with vendor code. Libreboot's strict Binary Blob Reduction Policy is observed. diff --git a/site/docs/install/ivy_internal.md.description b/site/docs/install/ivy_internal.md.description index d784506..8c24b2f 100644 --- a/site/docs/install/ivy_internal.md.description +++ b/site/docs/install/ivy_internal.md.description @@ -1 +1 @@ -Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Lenovo ThinkPad X230. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Lenovo ThinkPad X230. diff --git a/site/docs/install/kcma-d8.md.description b/site/docs/install/kcma-d8.md.description index ff69b46..cb0fb2a 100644 --- a/site/docs/install/kcma-d8.md.description +++ b/site/docs/install/kcma-d8.md.description @@ -1 +1 @@ -Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your ASUS KCMA-D8 motherboard. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your ASUS KCMA-D8 motherboard. diff --git a/site/docs/install/kfsn4-dre.md.description b/site/docs/install/kfsn4-dre.md.description index 5044f19..81bafe8 100644 --- a/site/docs/install/kfsn4-dre.md.description +++ b/site/docs/install/kfsn4-dre.md.description @@ -1 +1 @@ -Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your ASUS KFSN4-DRE motherboard. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your ASUS KFSN4-DRE motherboard. diff --git a/site/docs/install/kgpe-d16.md.description b/site/docs/install/kgpe-d16.md.description index 96d55b0..fea4ece 100644 --- a/site/docs/install/kgpe-d16.md.description +++ b/site/docs/install/kgpe-d16.md.description @@ -1 +1 @@ -Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your ASUS KGPE-D16 motherboard. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your ASUS KGPE-D16 motherboard. diff --git a/site/docs/install/latitude.md.description b/site/docs/install/latitude.md.description index e222da4..b13ae1d 100644 --- a/site/docs/install/latitude.md.description +++ b/site/docs/install/latitude.md.description @@ -1 +1 @@ -Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on various Dell Latitude laptop models. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on various Dell Latitude laptop models. diff --git a/site/docs/install/macbook21.md.description b/site/docs/install/macbook21.md.description index 2a4a2aa..8464830 100644 --- a/site/docs/install/macbook21.md.description +++ b/site/docs/install/macbook21.md.description @@ -1 +1 @@ -Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Apple MacBook 2,1 and 1,1 circa 2006. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Apple MacBook 2,1 and 1,1 circa 2006. diff --git a/site/docs/install/nvmutil.md.description b/site/docs/install/nvmutil.md.description index 481a21b..a344dc9 100644 --- a/site/docs/install/nvmutil.md.description +++ b/site/docs/install/nvmutil.md.description @@ -1 +1 @@ -Instructions pertaining to nvmutil, which is software that can modify the MAC address and other information inside Intel GbE NVM images, on motherboards that make use of an Intel Flash Descriptor. +Instructions pertaining to nvmutil, which is software that can modify the MAC address and other information inside Intel GbE NVM images. diff --git a/site/docs/install/playstation.md.description b/site/docs/install/playstation.md.description index e4ecb31..1f92b23 100644 --- a/site/docs/install/playstation.md.description +++ b/site/docs/install/playstation.md.description @@ -1 +1 @@ -Learn how to install Libreboot free/opensource BIOS boot firmware on your Sony PlayStation (PS1/PSX), optionally compiling it with GNU GCC. This makes heavy use of the PCSX-Redux Open BIOS, which can be used on PlayStation emulators and on real hardware. +Install free/opensource BIOS boot firmware on your Sony PlayStation (PS1/PSX), optionally compiling it with GNU GCC. This uses PCSX-Redux Open BIOS. diff --git a/site/docs/install/r400.md.description b/site/docs/install/r400.md.description index 62a7f89..51cc603 100644 --- a/site/docs/install/r400.md.description +++ b/site/docs/install/r400.md.description @@ -1 +1 @@ -Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Lenovo ThinkPad R400. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. +ThinkPad R400 installation. Libreboot is a free/opensource BIOS/UEFI boot firmware distribution based on coreboot with payloads like GNU GRUB boot loader. diff --git a/site/docs/install/spi.md.description b/site/docs/install/spi.md.description index 902bd27..c3ad0ed 100644 --- a/site/docs/install/spi.md.description +++ b/site/docs/install/spi.md.description @@ -1 +1 @@ -Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware by way of external flashing. This is done using SPI-compatible programmer devices such as Raspberry Pi Pico. Some warnings are also provided against the use of CH341a. +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware by way of external flashing, using compatible 25xx NOR programmer (SPI flasher). diff --git a/site/docs/install/t1650.md.description b/site/docs/install/t1650.md.description index 51d725f..f010158 100644 --- a/site/docs/install/t1650.md.description +++ b/site/docs/install/t1650.md.description @@ -1 +1 @@ -Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Dell Precision T1650. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Dell Precision T1650. diff --git a/site/docs/install/t400.md.description b/site/docs/install/t400.md.description index f366739..b5a4efd 100644 --- a/site/docs/install/t400.md.description +++ b/site/docs/install/t400.md.description @@ -1 +1 @@ -Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Lenovo Thinkpad T400. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Lenovo Thinkpad T400. diff --git a/site/docs/install/t420_external.md.description b/site/docs/install/t420_external.md.description index 1a3a4fd..f098f4e 100644 --- a/site/docs/install/t420_external.md.description +++ b/site/docs/install/t420_external.md.description @@ -1 +1 @@ -Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Lenovo ThinkPad T420. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Lenovo ThinkPad T420. diff --git a/site/docs/install/t440p_external.md.description b/site/docs/install/t440p_external.md.description index 4de85d5..2daa0de 100644 --- a/site/docs/install/t440p_external.md.description +++ b/site/docs/install/t440p_external.md.description @@ -1 +1 @@ -Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Lenovo ThinkPad T440p. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Lenovo ThinkPad T440p. diff --git a/site/docs/install/t480.md.description b/site/docs/install/t480.md.description index a705fdd..7eada21 100644 --- a/site/docs/install/t480.md.description +++ b/site/docs/install/t480.md.description @@ -1 +1 @@ -Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Lenovo ThinkPad T480. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Lenovo ThinkPad T480. diff --git a/site/docs/install/t500.md.description b/site/docs/install/t500.md.description index c70af3e..a3f1413 100644 --- a/site/docs/install/t500.md.description +++ b/site/docs/install/t500.md.description @@ -1 +1 @@ -Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Lenovo ThinkPad T500. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Lenovo ThinkPad T500. diff --git a/site/docs/install/t60_unbrick.md.description b/site/docs/install/t60_unbrick.md.description index a60940b..7e035d9 100644 --- a/site/docs/install/t60_unbrick.md.description +++ b/site/docs/install/t60_unbrick.md.description @@ -1 +1 @@ -Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Lenovo ThinkPad T60. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Lenovo ThinkPad T60. diff --git a/site/docs/install/w541_external.md.description b/site/docs/install/w541_external.md.description index c17fc7a..b6406e1 100644 --- a/site/docs/install/w541_external.md.description +++ b/site/docs/install/w541_external.md.description @@ -1 +1 @@ -Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Lenovo ThinkPad W541. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Lenovo ThinkPad W541. diff --git a/site/docs/install/x200.md.description b/site/docs/install/x200.md.description index 8e6f379..7df0131 100644 --- a/site/docs/install/x200.md.description +++ b/site/docs/install/x200.md.description @@ -1 +1 @@ -Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Lenovo ThinkPad X200. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Lenovo ThinkPad X200. diff --git a/site/docs/install/x230_external.md.description b/site/docs/install/x230_external.md.description index 45cd73c..0cf267f 100644 --- a/site/docs/install/x230_external.md.description +++ b/site/docs/install/x230_external.md.description @@ -1 +1 @@ -Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Lenovo ThinkPad X230 via external flashing. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Lenovo ThinkPad X230 via external flashing. diff --git a/site/docs/install/x60_unbrick.md.description b/site/docs/install/x60_unbrick.md.description index 63a0631..5eac014 100644 --- a/site/docs/install/x60_unbrick.md.description +++ b/site/docs/install/x60_unbrick.md.description @@ -1 +1 @@ -Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Lenovo ThinkPad X60. Libreboot provides a plethora of coreboot payloads by default, such as the GNU boot loader named GRUB. +Learn how to install Libreboot free/opensource BIOS/UEFI boot firmware on your Lenovo ThinkPad X60. diff --git a/site/docs/linux/grub_boot_installer.md.description b/site/docs/linux/grub_boot_installer.md.description index 2543041..cfeafa6 100644 --- a/site/docs/linux/grub_boot_installer.md.description +++ b/site/docs/linux/grub_boot_installer.md.description @@ -1 +1 @@ -Learn how to boot Linux distributions from the GNU boot loader named GRUB, on your Libreboot system. Libreboot provides free/opensource BIOS/UEFI firmwware based on coreboot, which has a few quirks that must be dealt with first. +Learn how to boot Linux distro installers on your Libreboot system. diff --git a/site/docs/linux/grub_cbfs.md.description b/site/docs/linux/grub_cbfs.md.description index 77ff45e..c40fb3f 100644 --- a/site/docs/linux/grub_cbfs.md.description +++ b/site/docs/linux/grub_cbfs.md.description @@ -1 +1 @@ -The GNU boot loader named GRUB can read from coreboot's file system, and boot Linux/BSD systems from the flash. With these guides, you will know how to configure GRUB in flash for your Libreboot system. +The GNU boot loader GRUB can read from coreboot's file system, and boot Linux/BSD systems from the flash. Learn how to configure this behaviour. diff --git a/site/docs/linux/grub_hardening.md.description b/site/docs/linux/grub_hardening.md.description index 8693451..f954096 100644 --- a/site/docs/linux/grub_hardening.md.description +++ b/site/docs/linux/grub_hardening.md.description @@ -1 +1 @@ -The GNU boot loader named GRUB provides many encryption and boot protection measures, that can be used to increase the security of your Libreboot system. This rivals many competing schemes such as UEFI SecureBoot, and we call our hardened GRUB setup Secure libreBoot. +The GNU boot loader GRUB provides many encryption and boot protection schemes to increase security, rivalling schemes like UEFI SecureBoot. diff --git a/site/docs/linux/index.md.description b/site/docs/linux/index.md.description index 0bf65fc..865155d 100644 --- a/site/docs/linux/index.md.description +++ b/site/docs/linux/index.md.description @@ -1 +1 @@ -Learn how to install Linux distributions on your Libreboot system. Libreboot provides free/opensource BIOS/UEFI firmware, in many ways comparable to the vendor firmware but it does have a few idiosyncrasies that must be taken care of. +Learn how to install Linux distributions on your Libreboot system. diff --git a/site/docs/sitegen/index.md.description b/site/docs/sitegen/index.md.description index f27efde..19477cd 100644 --- a/site/docs/sitegen/index.md.description +++ b/site/docs/sitegen/index.md.description @@ -1 +1 @@ -Learn about the Libreboot Static Site Generator, which is used to convert Markdown documents into HTML. Libreboot Static Site generator, or lbssg, is what generates the Libreboot project website. +Learn about the Libreboot Static Site Generator, which is used to convert Markdown documents into HTML. This is what generates the Libreboot website. diff --git a/site/docs/uboot/index.md.description b/site/docs/uboot/index.md.description index 4e35cff..e351013 100644 --- a/site/docs/uboot/index.md.description +++ b/site/docs/uboot/index.md.description @@ -1 +1 @@ -Free/opensource UEFI payload for Libreboot, via U-Boot UEFI coreboot payload. This is provided by the Libreboot project on ARM64 platforms. This replaces Google's usual Depthcharge payload, on ARM64 chromebooks. Also available for x86. +Free/opensource UEFI payload for Libreboot, via U-Boot UEFI coreboot payload. This is provided by the Libreboot project on ARM64 and x86 platforms. diff --git a/site/docs/uboot/uboot-debian-bookworm.md.description b/site/docs/uboot/uboot-debian-bookworm.md.description deleted file mode 100644 index e69de29..0000000 diff --git a/site/docs/uboot/uboot-x86.md.description b/site/docs/uboot/uboot-x86.md.description index 033031c..2bdf149 100644 --- a/site/docs/uboot/uboot-x86.md.description +++ b/site/docs/uboot/uboot-x86.md.description @@ -1 +1 @@ -Free/opensource UEFI payload for Libreboot, via U-Boot UEFI coreboot payload. This is provided by the Libreboot project on x86 and amd64 platforms. You can use this even on motherboards that never had UEFI to begin with. +Free/opensource UEFI payload for Libreboot, via U-Boot UEFI coreboot payload. This is provided by the Libreboot project on x86 and amd64 platforms. diff --git a/site/download.md.description b/site/download.md.description index 6a39c06..73dc96d 100644 --- a/site/download.md.description +++ b/site/download.md.description @@ -1 +1 @@ -Download Libreboot free/opensource BIOS/UEFI firmware. Libreboot is a coreboot distro, and provides several payloads such as the GNU boot loader named GRUB, the SeaBIOS payload and the U-Boot payload (for x86 and ARM). +Download Libreboot free/opensource BIOS/UEFI firmware. Libreboot is a coreboot distro, and provides several payloads such as the GNU boot loader named GRUB. diff --git a/site/freedom-status.md.description b/site/freedom-status.md.description index 6633be5..9e14082 100644 --- a/site/freedom-status.md.description +++ b/site/freedom-status.md.description @@ -1,4 +1,2 @@ -Libreboot is a free/opensource BIOS/UEFI boot firmware distribution based on coreboot -for booting Linux/BSD on supported x86/ARM motherboards. It comes with GNU boot -loader GRUB, SeaBIOS and U-Boot. This page describes how Libreboot handles vendor -code on each supported motherboard. +Libreboot handles certain vendor code on specific motherboards. +Libreboot is a free/opensource BIOS/UEFI boot firmware distribution based on coreboot. diff --git a/site/freedom-status.uk.md.description b/site/freedom-status.uk.md.description index 6633be5..9e14082 100644 --- a/site/freedom-status.uk.md.description +++ b/site/freedom-status.uk.md.description @@ -1,4 +1,2 @@ -Libreboot is a free/opensource BIOS/UEFI boot firmware distribution based on coreboot -for booting Linux/BSD on supported x86/ARM motherboards. It comes with GNU boot -loader GRUB, SeaBIOS and U-Boot. This page describes how Libreboot handles vendor -code on each supported motherboard. +Libreboot handles certain vendor code on specific motherboards. +Libreboot is a free/opensource BIOS/UEFI boot firmware distribution based on coreboot. diff --git a/site/git.de.md.description b/site/git.de.md.description index 3f5f10a..f68f31e 100644 --- a/site/git.de.md.description +++ b/site/git.de.md.description @@ -1 +1 @@ -Send patches to the Libreboot project via Git. Libreboot is a community-led free/opensource BIOS/UEFI firmware project, based on coreboot and provides a variety of coreboot payloads, such as the GNU boot loader named GRUB. +Send patches to the Libreboot project via Git. Libreboot is a community-led free/opensource BIOS/UEFI boot firmware project, with payloads like GNU GRUB. diff --git a/site/git.md.description b/site/git.md.description index 3f5f10a..f68f31e 100644 --- a/site/git.md.description +++ b/site/git.md.description @@ -1 +1 @@ -Send patches to the Libreboot project via Git. Libreboot is a community-led free/opensource BIOS/UEFI firmware project, based on coreboot and provides a variety of coreboot payloads, such as the GNU boot loader named GRUB. +Send patches to the Libreboot project via Git. Libreboot is a community-led free/opensource BIOS/UEFI boot firmware project, with payloads like GNU GRUB. diff --git a/site/git.uk.md.description b/site/git.uk.md.description index 3f5f10a..f68f31e 100644 --- a/site/git.uk.md.description +++ b/site/git.uk.md.description @@ -1 +1 @@ -Send patches to the Libreboot project via Git. Libreboot is a community-led free/opensource BIOS/UEFI firmware project, based on coreboot and provides a variety of coreboot payloads, such as the GNU boot loader named GRUB. +Send patches to the Libreboot project via Git. Libreboot is a community-led free/opensource BIOS/UEFI boot firmware project, with payloads like GNU GRUB. diff --git a/site/index.it.md.description b/site/index.it.md.description index de81a88..185b450 100644 --- a/site/index.it.md.description +++ b/site/index.it.md.description @@ -1 +1 @@ -Il progetto Libreboot fornisce avvio libero e open source grazie al firmware basato su coreboot. Il progetto Libreboot fornisce avvio GNU boot loader GRUB, SeaBIOS e U-Boot. +Il progetto Libreboot fornisce avvio libero e open source grazie al firmware basato su coreboot. Il progetto Libreboot fornisce avvio GNU boot loader GRUB. diff --git a/site/index.md.description b/site/index.md.description index bb8da0e..d6be7fe 100644 --- a/site/index.md.description +++ b/site/index.md.description @@ -1 +1 @@ -Libreboot is a free/opensource BIOS/UEFI boot firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +Libreboot is a free/opensource BIOS/UEFI boot firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD. diff --git a/site/index.ru.md.description b/site/index.ru.md.description index 30fc86e..429c622 100644 --- a/site/index.ru.md.description +++ b/site/index.ru.md.description @@ -1 +1 @@ -Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +Libreboot is a free/opensource BIOS/UEFI boot firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot. diff --git a/site/news/10.md.description b/site/news/10.md.description index db74f87..8e81f36 100644 --- a/site/news/10.md.description +++ b/site/news/10.md.description @@ -1 +1 @@ -Tenth year anniversary and history of the Libreboot project, as of December 2023. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +Tenth year anniversary and history of the Libreboot project, as of December 2023. Libreboot development has often been turbulent, and full of twists. diff --git a/site/news/argon2.md.description b/site/news/argon2.md.description index 64f747f..a980685 100644 --- a/site/news/argon2.md.description +++ b/site/news/argon2.md.description @@ -1 +1 @@ -Argon2 KDF allows greater memory hardness, which means that it is much less vulnerable to bruteforce attacks. This encryption scheme was added to the GNU boot loader named GRUB, in Libreboot's version, thereby allowing full LUKS2 support in Libreboot's GRUB payload. +Argon2 KDF allows greater memory hardness, thus reducing vulnerability to bruteforce attacks. Argon2 KDF added to the GNU boot loader named GRUB. diff --git a/site/news/codeberg.md.description b/site/news/codeberg.md.description index b317bdc..0f6eb1b 100644 --- a/site/news/codeberg.md.description +++ b/site/news/codeberg.md.description @@ -1,3 +1,2 @@ Libreboot's main Git repositories were moved to Codeberg, whereas -they were previously hosted on Notabug. Notabug is still used as a -backup Git repository mirror for the Libreboot project. +they were previously hosted on Notabug. diff --git a/site/news/e6400.md.description b/site/news/e6400.md.description index 6f7b5f4..db7367d 100644 --- a/site/news/e6400.md.description +++ b/site/news/e6400.md.description @@ -1 +1 @@ -Dell Latitude E6400 added to Libreboot. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +Dell Latitude E6400 added. Libreboot is a free/opensource BIOS/UEFI boot firmware distribution based on coreboot with payloads like GNU GRUB boot loader. diff --git a/site/news/freedom.md.description b/site/news/freedom.md.description index 06d0652..3c7dae6 100644 --- a/site/news/freedom.md.description +++ b/site/news/freedom.md.description @@ -1 +1,2 @@ -People ask about other firmware besides Libreboot all the time, such as Embedded Controller firmware. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot. +How does Libreboot handle vendor firmware, on boards that otherwise require it? +Libreboot's strict Binary Blob Reduction Policy is observed at all times. diff --git a/site/news/hp2170p.md.description b/site/news/hp2170p.md.description index 3d23a5e..76f64b4 100644 --- a/site/news/hp2170p.md.description +++ b/site/news/hp2170p.md.description @@ -1 +1 @@ -HP EliteBook 2170p addod to Libreboot. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +HP EliteBook 2170p added. Libreboot is a free/opensource BIOS/UEFI boot firmware distribution based on coreboot with payloads like GNU GRUB boot loader. diff --git a/site/news/hp8200sff.md.description b/site/news/hp8200sff.md.description index dca0458..97292b9 100644 --- a/site/news/hp8200sff.md.description +++ b/site/news/hp8200sff.md.description @@ -1 +1 @@ -HP Elite 8200 SFF added to Libreboot. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +HP Elite 8200 SFF added. Libreboot is a free/opensource BIOS/UEFI boot firmware distribution based on coreboot with payloads like GNU GRUB boot loader. diff --git a/site/news/hp8200sff.uk.md.description b/site/news/hp8200sff.uk.md.description index dca0458..97292b9 100644 --- a/site/news/hp8200sff.uk.md.description +++ b/site/news/hp8200sff.uk.md.description @@ -1 +1 @@ -HP Elite 8200 SFF added to Libreboot. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +HP Elite 8200 SFF added. Libreboot is a free/opensource BIOS/UEFI boot firmware distribution based on coreboot with payloads like GNU GRUB boot loader. diff --git a/site/news/hp820g2.md.description b/site/news/hp820g2.md.description index 2871ad4..bbffe53 100644 --- a/site/news/hp820g2.md.description +++ b/site/news/hp820g2.md.description @@ -1 +1 @@ -HP EliteBook 820 G2 addod to Libreboot. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +HP EliteBook 820 G2 added. Libreboot is a free/opensource BIOS/UEFI boot firmware distribution based on coreboot with payloads like GNU GRUB boot loader. diff --git a/site/news/hp8470p_and_dell_t1650.md.description b/site/news/hp8470p_and_dell_t1650.md.description index 696fea9..df4e11b 100644 --- a/site/news/hp8470p_and_dell_t1650.md.description +++ b/site/news/hp8470p_and_dell_t1650.md.description @@ -1 +1 @@ -HP Elite 8470p and Dell Precision T1650 added to Libreboot. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with payloads like the GNU boot loader GRUB, SeaBIOS and U-Boot. +HP Elite 8470p and Dell Precision T1650 added. Libreboot is a free/opensource BIOS/UEFI firmware distro based on coreboot with payloads like GNU GRUB boot loader. diff --git a/site/news/hp_elitebooks.md.description b/site/news/hp_elitebooks.md.description index b642099..937ac26 100644 --- a/site/news/hp_elitebooks.md.description +++ b/site/news/hp_elitebooks.md.description @@ -1 +1 @@ -More HP EliteBooks added to Libreboot. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +More HP EliteBooks added. Libreboot is a free/opensource BIOS/UEFI boot firmware distribution based on coreboot with payloads like GNU GRUB boot loader. diff --git a/site/news/libreboot20131212.md.description b/site/news/libreboot20131212.md.description index 5aa673d..6410e91 100644 --- a/site/news/libreboot20131212.md.description +++ b/site/news/libreboot20131212.md.description @@ -1 +1 @@ -Libreboot 20131212 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +Libreboot 20131212 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution with coreboot payloads such as GNU boot loader GRUB. diff --git a/site/news/libreboot20131213.md.description b/site/news/libreboot20131213.md.description index 69e372a..fa45d9c 100644 --- a/site/news/libreboot20131213.md.description +++ b/site/news/libreboot20131213.md.description @@ -1 +1 @@ -Libreboot 20131213 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +Libreboot 20131213 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution with coreboot payloads such as GNU boot loader GRUB. diff --git a/site/news/libreboot20131214.md.description b/site/news/libreboot20131214.md.description index 68fc0a2..08e7ece 100644 --- a/site/news/libreboot20131214.md.description +++ b/site/news/libreboot20131214.md.description @@ -1 +1 @@ -Libreboot 20131214 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +Libreboot 20131214 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution with coreboot payloads such as GNU boot loader GRUB. diff --git a/site/news/libreboot20140221.md.description b/site/news/libreboot20140221.md.description index 64e2ac3..21b7c35 100644 --- a/site/news/libreboot20140221.md.description +++ b/site/news/libreboot20140221.md.description @@ -1 +1 @@ -Libreboot 20140221 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +Libreboot 20140221 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution with coreboot payloads such as GNU boot loader GRUB. diff --git a/site/news/libreboot20140309.md.description b/site/news/libreboot20140309.md.description index b26af46..fa836b9 100644 --- a/site/news/libreboot20140309.md.description +++ b/site/news/libreboot20140309.md.description @@ -1 +1 @@ -Libreboot 20140309 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +Libreboot 20140309 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution with coreboot payloads such as GNU boot loader GRUB. diff --git a/site/news/libreboot20140605.md.description b/site/news/libreboot20140605.md.description index 1586237..ae18e6c 100644 --- a/site/news/libreboot20140605.md.description +++ b/site/news/libreboot20140605.md.description @@ -1 +1 @@ -Libreboot 20140605 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +Libreboot 20140605 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution with coreboot payloads such as GNU boot loader GRUB. diff --git a/site/news/libreboot20140611.md.description b/site/news/libreboot20140611.md.description index 59a14f9..3933d7d 100644 --- a/site/news/libreboot20140611.md.description +++ b/site/news/libreboot20140611.md.description @@ -1 +1 @@ -Libreboot 20140611 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +Libreboot 20140611 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution with coreboot payloads such as GNU boot loader GRUB. diff --git a/site/news/libreboot20140622.md.description b/site/news/libreboot20140622.md.description index 694ff34..88fb3ed 100644 --- a/site/news/libreboot20140622.md.description +++ b/site/news/libreboot20140622.md.description @@ -1 +1 @@ -Libreboot 20140622 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +Libreboot 20140622 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution with coreboot payloads such as GNU boot loader GRUB. diff --git a/site/news/libreboot20140711.md.description b/site/news/libreboot20140711.md.description index 466815c..ad0873f 100644 --- a/site/news/libreboot20140711.md.description +++ b/site/news/libreboot20140711.md.description @@ -1 +1 @@ -Libreboot 20140711 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +Libreboot 20140711 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution with coreboot payloads such as GNU boot loader GRUB. diff --git a/site/news/libreboot20140716.md.description b/site/news/libreboot20140716.md.description index d2382fb..bd9c869 100644 --- a/site/news/libreboot20140716.md.description +++ b/site/news/libreboot20140716.md.description @@ -1 +1 @@ -Libreboot 20240225 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +Libreboot 20140716 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution with coreboot payloads such as GNU boot loader GRUB. diff --git a/site/news/libreboot20140720.md.description b/site/news/libreboot20140720.md.description index 1898e11..472bbb4 100644 --- a/site/news/libreboot20140720.md.description +++ b/site/news/libreboot20140720.md.description @@ -1 +1 @@ -Libreboot 20140720 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +Libreboot 20140720 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution with coreboot payloads such as GNU boot loader GRUB. diff --git a/site/news/libreboot20140729.md.description b/site/news/libreboot20140729.md.description index 2884647..d21f5f3 100644 --- a/site/news/libreboot20140729.md.description +++ b/site/news/libreboot20140729.md.description @@ -1 +1 @@ -Libreboot 20140729 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +Libreboot 20140729 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution with coreboot payloads such as GNU boot loader GRUB. diff --git a/site/news/libreboot20140811.md.description b/site/news/libreboot20140811.md.description index a182a2c..de35822 100644 --- a/site/news/libreboot20140811.md.description +++ b/site/news/libreboot20140811.md.description @@ -1 +1 @@ -Libreboot 20140811 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +Libreboot 20140811 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution with coreboot payloads such as GNU boot loader GRUB. diff --git a/site/news/libreboot20140903.md.description b/site/news/libreboot20140903.md.description index 138c674..429a583 100644 --- a/site/news/libreboot20140903.md.description +++ b/site/news/libreboot20140903.md.description @@ -1 +1 @@ -Libreboot 20140903 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +Libreboot 20140903 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution with coreboot payloads such as GNU boot loader GRUB. diff --git a/site/news/libreboot20140911.md.description b/site/news/libreboot20140911.md.description index 4a8ae1b..51a5cde 100644 --- a/site/news/libreboot20140911.md.description +++ b/site/news/libreboot20140911.md.description @@ -1 +1 @@ -Libreboot 20140911 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +Libreboot 20140911 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution with coreboot payloads such as GNU boot loader GRUB. diff --git a/site/news/libreboot20150124.md.description b/site/news/libreboot20150124.md.description index df51456..a0a53a2 100644 --- a/site/news/libreboot20150124.md.description +++ b/site/news/libreboot20150124.md.description @@ -1 +1 @@ -Libreboot 20150124 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +Libreboot 20150124 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution with coreboot payloads such as GNU boot loader GRUB. diff --git a/site/news/libreboot20150126.md.description b/site/news/libreboot20150126.md.description index 684f909..6c1a180 100644 --- a/site/news/libreboot20150126.md.description +++ b/site/news/libreboot20150126.md.description @@ -1 +1 @@ -Libreboot 20150126 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +Libreboot 20150126 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution with coreboot payloads such as GNU boot loader GRUB. diff --git a/site/news/libreboot20150208.md.description b/site/news/libreboot20150208.md.description index 4895e71..135102b 100644 --- a/site/news/libreboot20150208.md.description +++ b/site/news/libreboot20150208.md.description @@ -1 +1 @@ -Libreboot 20150208 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +Libreboot 20150208 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution with coreboot payloads such as GNU boot loader GRUB. diff --git a/site/news/libreboot20150518.md.description b/site/news/libreboot20150518.md.description index c707ddf..5b0d818 100644 --- a/site/news/libreboot20150518.md.description +++ b/site/news/libreboot20150518.md.description @@ -1 +1 @@ -Libreboot 20150518 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +Libreboot 20150518 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution with coreboot payloads such as GNU boot loader GRUB. diff --git a/site/news/libreboot20160818.md.description b/site/news/libreboot20160818.md.description index f544036..90c5776 100644 --- a/site/news/libreboot20160818.md.description +++ b/site/news/libreboot20160818.md.description @@ -1 +1 @@ -Libreboot 20160818 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +Libreboot 20160818 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution with coreboot payloads such as GNU boot loader GRUB. diff --git a/site/news/libreboot20160902.md.description b/site/news/libreboot20160902.md.description index 8e2d66e..739ed7f 100644 --- a/site/news/libreboot20160902.md.description +++ b/site/news/libreboot20160902.md.description @@ -1 +1 @@ -Libreboot 20160902 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +Libreboot 20160902 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution with coreboot payloads such as GNU boot loader GRUB. diff --git a/site/news/libreboot20160907.md.description b/site/news/libreboot20160907.md.description index 21d8b84..32b05cc 100644 --- a/site/news/libreboot20160907.md.description +++ b/site/news/libreboot20160907.md.description @@ -1 +1 @@ -Libreboot 20160907 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +Libreboot 20160907 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution with coreboot payloads such as GNU boot loader GRUB. diff --git a/site/news/libreboot20210522.md.description b/site/news/libreboot20210522.md.description index f81590b..a583f37 100644 --- a/site/news/libreboot20210522.md.description +++ b/site/news/libreboot20210522.md.description @@ -1 +1 @@ -Libreboot 20210522 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +Libreboot 20210522 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution with coreboot payloads such as GNU boot loader GRUB. diff --git a/site/news/libreboot20211122.md.description b/site/news/libreboot20211122.md.description index f664f51..ed76f87 100644 --- a/site/news/libreboot20211122.md.description +++ b/site/news/libreboot20211122.md.description @@ -1 +1 @@ -Libreboot 20211122 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +Libreboot 20211122 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution with coreboot payloads such as GNU boot loader GRUB. diff --git a/site/news/libreboot20220710.md.description b/site/news/libreboot20220710.md.description index eab62c1..03268ca 100644 --- a/site/news/libreboot20220710.md.description +++ b/site/news/libreboot20220710.md.description @@ -1 +1 @@ -Libreboot 20220710 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +Libreboot 20220710 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution with coreboot payloads such as GNU boot loader GRUB. diff --git a/site/news/libreboot20221214.md.description b/site/news/libreboot20221214.md.description index c49dfbb..996e778 100644 --- a/site/news/libreboot20221214.md.description +++ b/site/news/libreboot20221214.md.description @@ -1 +1 @@ -Libreboot 20221214 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +Libreboot 20221214 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution with coreboot payloads such as GNU boot loader GRUB. diff --git a/site/news/libreboot20230319.md.description b/site/news/libreboot20230319.md.description index 8e034cc..39e9e38 100644 --- a/site/news/libreboot20230319.md.description +++ b/site/news/libreboot20230319.md.description @@ -1 +1 @@ -Libreboot 20230319 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +Libreboot 20230319 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution with coreboot payloads such as GNU boot loader GRUB. diff --git a/site/news/libreboot20230413.md.description b/site/news/libreboot20230413.md.description index 4fbe6e2..740e099 100644 --- a/site/news/libreboot20230413.md.description +++ b/site/news/libreboot20230413.md.description @@ -1 +1 @@ -Libreboot 20230413 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +Libreboot 20230413 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution with coreboot payloads such as GNU boot loader GRUB. diff --git a/site/news/libreboot20230423.md.description b/site/news/libreboot20230423.md.description index 5a052d7..9176828 100644 --- a/site/news/libreboot20230423.md.description +++ b/site/news/libreboot20230423.md.description @@ -1 +1 @@ -Libreboot 20230423 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +Libreboot 20230423 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution with coreboot payloads such as GNU boot loader GRUB. diff --git a/site/news/libreboot20230625.md.description b/site/news/libreboot20230625.md.description index 244f626..f91d0a8 100644 --- a/site/news/libreboot20230625.md.description +++ b/site/news/libreboot20230625.md.description @@ -1 +1 @@ -Libreboot 20230625 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +Libreboot 20230625 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution with coreboot payloads such as GNU boot loader GRUB. diff --git a/site/news/libreboot20231021.md.description b/site/news/libreboot20231021.md.description index ccfd4a0..b6d8dbb 100644 --- a/site/news/libreboot20231021.md.description +++ b/site/news/libreboot20231021.md.description @@ -1 +1 @@ -Libreboot 20231021 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +Libreboot 20231021 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution with coreboot payloads such as GNU boot loader GRUB. diff --git a/site/news/libreboot20231101.md.description b/site/news/libreboot20231101.md.description index b9df681..a2c1d88 100644 --- a/site/news/libreboot20231101.md.description +++ b/site/news/libreboot20231101.md.description @@ -1 +1 @@ -Libreboot 20231101 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +Libreboot 20231101 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution with coreboot payloads such as GNU boot loader GRUB. diff --git a/site/news/libreboot20231106.md.description b/site/news/libreboot20231106.md.description index 6506ac1..47fc9a8 100644 --- a/site/news/libreboot20231106.md.description +++ b/site/news/libreboot20231106.md.description @@ -1 +1 @@ -Libreboot 20231106 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +Libreboot 20231106 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution with coreboot payloads such as GNU boot loader GRUB. diff --git a/site/news/libreboot20240126.md.description b/site/news/libreboot20240126.md.description index 6a4219b..5900979 100644 --- a/site/news/libreboot20240126.md.description +++ b/site/news/libreboot20240126.md.description @@ -1 +1 @@ -Libreboot 20240106 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +Libreboot 20240126 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution with coreboot payloads such as GNU boot loader GRUB. diff --git a/site/news/libreboot20240225.md.description b/site/news/libreboot20240225.md.description index 820c455..0a22fa0 100644 --- a/site/news/libreboot20240225.md.description +++ b/site/news/libreboot20240225.md.description @@ -1 +1 @@ -Libreboot 20230225 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +Libreboot 20240225 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution with coreboot payloads such as GNU boot loader GRUB. diff --git a/site/news/libreboot20240504.md.description b/site/news/libreboot20240504.md.description index ef37127..2adc0a3 100644 --- a/site/news/libreboot20240504.md.description +++ b/site/news/libreboot20240504.md.description @@ -1 +1 @@ -Libreboot 20240504 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +Libreboot 20240504 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution with coreboot payloads such as GNU boot loader GRUB. diff --git a/site/news/libreboot20240612.md.description b/site/news/libreboot20240612.md.description index 6b528b7..a776bae 100644 --- a/site/news/libreboot20240612.md.description +++ b/site/news/libreboot20240612.md.description @@ -1 +1 @@ -Libreboot 20240612 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +Libreboot 20240612 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution with coreboot payloads such as GNU boot loader GRUB. diff --git a/site/news/libreboot20241008.md.description b/site/news/libreboot20241008.md.description index b3b4cc8..0bfc05a 100644 --- a/site/news/libreboot20241008.md.description +++ b/site/news/libreboot20241008.md.description @@ -1 +1 @@ -Libreboot 20241008 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +Libreboot 20241008 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution with coreboot payloads such as GNU boot loader GRUB. diff --git a/site/news/libreboot20241206.Revisions.md.description b/site/news/libreboot20241206.Revisions.md.description index 63d71e0..7d2350f 100644 --- a/site/news/libreboot20241206.Revisions.md.description +++ b/site/news/libreboot20241206.Revisions.md.description @@ -1 +1 @@ -Libreboot 20241206 release revisions. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +Libreboot 20241206 release revisions. Libreboot is a free/opensource BIOS/UEFI firmware distribution with coreboot payloads such as GNU boot loader GRUB. diff --git a/site/news/libreboot20241206.md.description b/site/news/libreboot20241206.md.description index 33fff7d..3e38cd1 100644 --- a/site/news/libreboot20241206.md.description +++ b/site/news/libreboot20241206.md.description @@ -1 +1 @@ -Libreboot 20241206 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +Libreboot 20241206 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution with coreboot payloads such as GNU boot loader GRUB. diff --git a/site/news/libreboot20241206rev8.md.description b/site/news/libreboot20241206rev8.md.description index b9f603a..378cf72 100644 --- a/site/news/libreboot20241206rev8.md.description +++ b/site/news/libreboot20241206rev8.md.description @@ -1 +1 @@ -Libreboot 20241206, 8th revision. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot, for booting Linux/BSD on x86/x86_64 and ARM64 motherboards. +Libreboot 20241206rev8 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution with coreboot payloads such as GNU boot loader GRUB. diff --git a/site/news/policy.md.description b/site/news/policy.md.description index 38ca802..f0d0ebf 100644 --- a/site/news/policy.md.description +++ b/site/news/policy.md.description @@ -1 +1 @@ -Libreboot project Binary Blob Reduction Policy, which pertains to the handling of vendor code. Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot. +Libreboot project Binary Blob Reduction Policy, which pertains to the handling of vendor code. Libreboot provides exclusively free software, when possible. diff --git a/site/news/ports202402.md.description b/site/news/ports202402.md.description index 1080dcc..44c2d44 100644 --- a/site/news/ports202402.md.description +++ b/site/news/ports202402.md.description @@ -1 +1 @@ -A number of new motherboards were added to Libreboot, thereby providing them with free/opensource BIOS/UEFI firmware based on coreboot. Libreboot is a coreboot distro, providing payloads such as the GNU boot loader named GRUB, by default. +A number of new motherboards were added to Libreboot. Libreboot is a coreboot distro, providing payloads such as the GNU boot loader named GRUB, by default. diff --git a/site/news/schedule.md.description b/site/news/schedule.md.description index d7996c5..7d6a057 100644 --- a/site/news/schedule.md.description +++ b/site/news/schedule.md.description @@ -1 +1 @@ -Libreboot will adopt a new release schedule from 2025 onward, with more consistent version numbering and release codenames. Libreboot will do testing releases in April and October, and stable releases in June and December, each year. +Libreboot adopted a new release schedule in 2025, with more consistent version numbering and release codenames. Two stable and two testing releases annually. diff --git a/site/other.md.description b/site/other.md.description index 0dd0baf..c402f9d 100644 --- a/site/other.md.description +++ b/site/other.md.description @@ -1 +1 @@ -Libreboot is a free/opensource BIOS/UEFI firmware distribution based on coreboot with GNU boot loader GRUB, SeaBIOS and U-Boot. Several other projects exist that are very different to Libreboot, but also based on coreboot. +Libreboot is a free/opensource BIOS/UEFI boot firmware distribution. Several other projects exist that are very different to Libreboot, also based on coreboot. diff --git a/site/template.de.include b/site/template.de.include index 9c8bd55..4dbbddb 100644 --- a/site/template.de.include +++ b/site/template.de.include @@ -2,7 +2,7 @@ - + diff --git a/site/template.include b/site/template.include index 6985d07..a875399 100644 --- a/site/template.include +++ b/site/template.include @@ -2,7 +2,7 @@ - + diff --git a/site/template.it.include b/site/template.it.include index 807bfef..189acd7 100644 --- a/site/template.it.include +++ b/site/template.it.include @@ -2,7 +2,7 @@ - + diff --git a/site/template.uk.include b/site/template.uk.include index 86fbb82..8529add 100644 --- a/site/template.uk.include +++ b/site/template.uk.include @@ -2,7 +2,7 @@ - + diff --git a/site/template.zh-cn.include b/site/template.zh-cn.include index d1cf266..c155a2c 100644 --- a/site/template.zh-cn.include +++ b/site/template.zh-cn.include @@ -2,7 +2,7 @@ - + From 5cf2ddde7395a9f98ba4cebc6f493b00fb58af7f Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 25 Jan 2025 18:31:03 +0000 Subject: [PATCH 211/279] expand other.md Signed-off-by: Leah Rowe --- site/other.md | 136 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 135 insertions(+), 1 deletion(-) diff --git a/site/other.md b/site/other.md index 22e0b8b..4ff262d 100644 --- a/site/other.md +++ b/site/other.md @@ -208,7 +208,72 @@ website. We in the Libreboot project wish to see everyone using free boot firmware, which was the primary motivation behind this page, in promoting the various projects. -Non-coreboot free firmware +Organisations +------------- + +This list will be populated over time. Several organisations exist out there +that pertain to *Free and Open Source firmware* development, supporting its +existence in general. Here are just a few of them: + +### Open Source Firmware Foundation (OSFF) + +Website: + +The OSFF is a non-profit organisation of Oregon, USA, whose mission it is to +coordinate communication between the various free boot projects (projects like +coreboot). Several coreboot developers are a part of +its [governance](https://opensourcefirmware.foundation/team/). + +The OSFF also hosts an annual [Open Source Firmware +Conference](https://www.osfc.io/), where various projects, companies and +peoples can talk about their work in this field. + +The OSFF exists precisely because nothing like it has existed before; the +world of boot firmware is largely dominated by proprietary IBVs (independent +BIOS vendors), the likes of e.g. AMI, Phoenix. + +Organisations like OSFF are critical, if we ever wish to see *libre* boot +firmware become the default firmware, on computers that normal people actually +purchase. All the separate projects out there do great work, but it is critical +that we have a central *sorting ground*, a *point of contact* if you will, +to represent us, and the OSFF's mission is to be exactly that. + +OSFF also has their own list of projects, similar to the list on *this* page +that you are reading now. See: + + + +Libreboot is currently not affiliated with the OSFF in any official capacity, +but it has our *full* support, and we will do what we can to help it, when we +can. + +### Software Freedom Conservancy (SFC) + +Although not strictly related to free/opensource firmware, the coreboot project +is an SFC member, which you can see here: + + + +The SFC is a non-profit organisation of New York, USA, dedicated to the +cause of [software freedom](https://writefreesoftware.org/learn), with a view +towards Copyleft advocacy, especially [copyleft +compliance enforcement](https://sfconservancy.org/copyleft-compliance/). + +SFC provides services to *member projects*, such as coreboot, which you +can read about here: + +* +* + +Services such as donations infrastructure, legal services (including things +like copyright assignements and enforcement), advice/assistance about project +governance, help with fundraising and outreach, etc. + +Although Libreboot is not affiliated with SFC in any official capacity, it is +otherwise an excellent organisation, it is listed here in honour of the +excellent work it does, including its support of the coreboot project. + +Non-coreboot firmware projects -------------------------- Several other projects besides coreboot provide free hardware initialisation, @@ -216,5 +281,74 @@ such as [U-Boot](https://www.u-boot.org/) (as own firmware, distinct from U-Boot as a coreboot payload), [Trusted Firmware](https://www.trustedfirmware.org/) and so on. +Here are a few such projects: + +### fwupd + +fwupd is essentially a centralised repository of firmware images, that +can be used to provide updates for your mainboard. Although not officially +supported nor endorsed by the Libreboot project, many Linux distros make +use of this to provide UEFI firmware updates for example. + +Libreboot doesn't use this, due to the many idiosyncrasies of Libreboot on +various motherboards; however, we may use it in a limited capacity, in the +future. + +### LinuxBoot + +Website: + +LinuxBoot can be provided as a UEFI DXE, or as a U-Boot SPL, coreboot payload +or Slim Bootloader Stage 1B, to provide a Linux kernel at boot time, which +kexecs into another Linux kernel. + +The benefit of using *Linux* to *boot Linux* is that then the bootloader part +of your firmware doesn't need to rewrite every driver, because Linux already +provides excellent drivers, and it also affords you many advanced +configuration possibility such as hardened encryption setups with things +like Measured Boot, and it could also be used to boot over a network. + +### OpenBMC + +Website: + +Linux distro for management controllers (BMCs) used on servers, +rack switches and RAID appliances. This provides a remote management +feature, most useful (for example) on colocated server hosting. + +### Oreboot + +Website: + +Oreboot is a special fork of coreboot, re-written in the Rust programming +language, focusing specifically on the *LinuxBoot* payload configuration. + +### Trusted Firmware + +Website: + +Trusted Firmware provides boot firmware for ARMv8-A, ARMv9-A +and ARMv8-M. Specifically tailored for use on embedded systems, and parts of +it are also used by the coreboot project on some boards. + +### U-Boot + +Website: + +U-Boot runs on a large number of embedded systems, with support for a variety +of architectures such as ARM, x86, RISC-V and others. U-Boot provides its own +small kernel and operating system, with drivers and applications designed to +boot your operating system using various methods. It has an advanced *shell*, +with excellent networking and file system support - most notably, we use it +in Libreboot as a UEFI payload for *coreboot*, but U-Boot can also provide its +own boot initialisation independently of coreboot. + +One of the nice features of U-Boot is its *licensing* (GPLv2 for the most part) +and similar coding style to Linux; the licensing and technical design means +that it's much easier to port existing Linux drivers, when something needs to +be done in the U-boot project. + +----------------------------------------- + We would like to list various distros of these too. If you know of a cool project, please get in touch with the Libreboot project! From 987afae58a40ebebb9bca57a81e92f98bdfdd3f3 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 25 Jan 2025 18:37:44 +0000 Subject: [PATCH 212/279] mention fossy Signed-off-by: Leah Rowe --- site/other.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/site/other.md b/site/other.md index 4ff262d..e20eca1 100644 --- a/site/other.md +++ b/site/other.md @@ -269,6 +269,11 @@ Services such as donations infrastructure, legal services (including things like copyright assignements and enforcement), advice/assistance about project governance, help with fundraising and outreach, etc. +SFC also hosts an annual conference, called *FOSSY*, which projects, companies +and peoples can go to to promote their work on free/opensource projects. See: + + + Although Libreboot is not affiliated with SFC in any official capacity, it is otherwise an excellent organisation, it is listed here in honour of the excellent work it does, including its support of the coreboot project. From f628901f61918fea7fd95dd9f65d859ff7881f72 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 26 Jan 2025 11:58:47 +0000 Subject: [PATCH 213/279] add spi to other.md Signed-off-by: Leah Rowe --- site/other.md | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/site/other.md b/site/other.md index e20eca1..fbd7c28 100644 --- a/site/other.md +++ b/site/other.md @@ -278,6 +278,43 @@ Although Libreboot is not affiliated with SFC in any official capacity, it is otherwise an excellent organisation, it is listed here in honour of the excellent work it does, including its support of the coreboot project. +### Software in the Public Interest (SPI) + +Website: + +The SPI is a non-profit organisation of New York, USA, dedicated to the +cause of [software freedom](https://writefreesoftware.org/learn). It provides +fiscal sponsorship and promotion of numerous Free and Open Source projects, +which you can read about here: + + + +It provides services to member projects such as donations infrastructure, +legal services, advice/assistance and oversight of project governance and +general help with fundraising. + +SFC most notably provides services to Debian, which is a member: + + + +Although SPI does not currently (at this time) sponsor any coreboot or +firmware-related projects, several of the projects that it *does* support +are critical for Libreboot development. For example, it also supports the +Arch Linux project: + + + +Libreboot development, especially build testing, happens largely on computers +running Debian Linux and Arch Linux, because these cover a large number of +users; we also test many other distros such as Fedora or Ubuntu. + +Organisations like SPI (and indeed SFC, OSFF) are critical to the general +health of the Free Software movement. Without them, we would not be able to +as effectively coordinate projects, especially in terms of funding. + +Libreboot is not currently affiliated with the SPI in any official capacity, +but they have our respect and they are listed here. + Non-coreboot firmware projects -------------------------- From cf64fdd4090d049c05855df68479c89b04106c10 Mon Sep 17 00:00:00 2001 From: Steffen Pankratz Date: Mon, 27 Jan 2025 16:06:09 +0100 Subject: [PATCH 214/279] Misc typo fixes. Signed-off-by: Steffen Pankratz --- site/docs/install/dell3050.md | 2 +- site/docs/install/dell_thermal.md | 2 +- site/docs/install/t500.md | 4 ++-- site/docs/install/w541_external.md | 6 +++--- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/site/docs/install/dell3050.md b/site/docs/install/dell3050.md index 03c0a74..0e7de68 100644 --- a/site/docs/install/dell3050.md +++ b/site/docs/install/dell3050.md @@ -173,7 +173,7 @@ Observe the following photo of the flash (SOIC-8): Dell OptiPlex 3050 Micro flash IC -You can otherwise flash internally, including from factory firmware(if the +You can otherwise flash internally, including from factory firmware (if the service jumper is set). Errata diff --git a/site/docs/install/dell_thermal.md b/site/docs/install/dell_thermal.md index a28552d..5e87935 100644 --- a/site/docs/install/dell_thermal.md +++ b/site/docs/install/dell_thermal.md @@ -17,7 +17,7 @@ Basically, what you need to do is: laptop came with, if you bought it on ebay for example). Arctic MX-6 is good. * Check that the fan works reliably -Also: the `intel_pstate` driver can be used to artifically cap CPU speed. See: +Also: the `intel_pstate` driver can be used to artificially cap CPU speed. See: diff --git a/site/docs/install/t500.md b/site/docs/install/t500.md index c1a035c..b9a35d6 100644 --- a/site/docs/install/t500.md +++ b/site/docs/install/t500.md @@ -23,7 +23,7 @@ x-toc-enable: true | **Architecture** | x86_64 | | **EC** | Proprietary | | **Original boot firmware** | LenovoBIOS | -| **Intel ME/AMD PSP** | Present. Can be completly disabled. | +| **Intel ME/AMD PSP** | Present. Can be completely disabled. | | **Flash chip** | SOIC-8/SOIC-16/WSON-8 4MiB/8MiB (Upgradable to 16MiB) | ``` @@ -107,7 +107,7 @@ NOTE: this can only be done when you are using Lenovo BIOS. How to update the EC firmware while running libreboot is unknown. libreboot only replaces the BIOS firmware, not EC. -Updated EC firmware has several advantages e.g. bettery battery +Updated EC firmware has several advantages e.g. better battery handling. The T500 is almost identical to the X200, code-wise. See diff --git a/site/docs/install/w541_external.md b/site/docs/install/w541_external.md index c0fea61..b5f02dd 100644 --- a/site/docs/install/w541_external.md +++ b/site/docs/install/w541_external.md @@ -61,7 +61,7 @@ external flashing. dd if=libreboot.rom of=top.rom bs=1M skip=8 dd if=libreboot.rom of=bottom.rom bs=1M count=8 -Flash the top chip with top.rom, and tho bottom chip with bottom.rom. +Flash the top chip with top.rom, and the bottom chip with bottom.rom. Don't worry about knowing which chip is which on a standard setup; flashprog will let you know if the image size is incorrect for the chip you're flashing. @@ -95,7 +95,7 @@ on pin 8 of the chip that you're flashing. Ideally you should pull the other chip select high via 47ohm resistor, which should be enough to prevent damage in the case of accidentally shorting the wrong pin. -Doing this means that you *disable* the chip fou're not flashing. It's very +Doing this means that you *disable* the chip you're not flashing. It's very important that you ensure only the one you want to flash is active, when using an external flasher. @@ -111,7 +111,7 @@ thinkpad\_acpi issues {#thinkpad-acpi} --------------------------------------- It has been reported by a user that `thinkpad_acpi` does not load correctly on -the T440p. Since the W541/W540/T540p are also haswell machines, you may be +the T440p. Since the W541/W540/T540p are also Haswell machines, you may be affected by this issue. If you encounter this, check [this page](../../faq.md#thinkpad-acpi) From 363fdf2d5e019e6c93b2715e71825916049184a1 Mon Sep 17 00:00:00 2001 From: arielenter Date: Tue, 4 Feb 2025 16:50:26 +0000 Subject: [PATCH 215/279] Some clarification and improvements MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1.- Clarify that the special fork by google of flashrom is not required if you are internally flashing within ChromeOS. 2.- Add instructions to set a password in order to be able to use “sudo”. 3.- Show location of the write protection screw in Kevin boards. --- site/docs/install/chromebooks.md | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/site/docs/install/chromebooks.md b/site/docs/install/chromebooks.md index 715c177..523b1bc 100644 --- a/site/docs/install/chromebooks.md +++ b/site/docs/install/chromebooks.md @@ -31,7 +31,10 @@ these Chromebook devices. See: -You must then compile this from source, and run it. +This document assumes you’ll be using ChromeOS to do the internal flashing. +ChromeOS already comes with this special fork of flashrom pre-installed. But if +you are using another OS or an external flasher, you will need to compile and +use the aforementioned flashrom fork. Enable ChromeOS "Developer Mode" -------------------------------- @@ -48,6 +51,26 @@ screen. Waiting for 30 seconds or pressing `Ctrl + D` on this screen will proceed to boot into ChromeOS, which then erases all data on the device and reboots again into a clean ChromeOS installation. +Before following steps to configure your device as new in the first screen, you +should be able to see a “Enable debugging features” link that you should click +on. A confirmation dialog displays. Click Proceed. The system reboots, use +`Ctrl + D` again and displays a dialog with password prompts. Set the new root +password. Click Enable. The screen displays messages indicating success or +failure. Click OK. You'll see the first screen again. Follow the remaining +prompts to configure your Chrome device. + +Once you are finished configuring your device, you’ll be giving the option to +sign in; here you may use the guest account option in the bottom if you like. + +Now in the desktop we’ll set a password to use “sudo”: Use +`Ctrl+Alt+Forward Arrow` (the one two key to the right of esc key, representing +F2) to open a “Developer console” (similar to opening a tty) where the first +line ends with “localhost login”. Enter root and the password you just set for +it. Then you must run `chromeos-setdevpassword` and set another password, which +is the one that is actually used when running “sudo”. Now use +`Ctrl+Alt+Backward Arrow` (the key next to the right of esc, representing F1) +to get back to the desktop. + With Developer Mode enabled, you can launch a terminal emulator inside ChromeOS by pressing the `Ctrl + Alt + T` key combination. Run `shell` inside the resulting `crosh` prompt to actually get to a `bash` session @@ -119,6 +142,12 @@ that asserts the WP pin on the flash chip. The screw can be identified by the fact that it bridges electrical contacts, but finding and removing it might require you to disassemble most of the board. +In my case as an example, my kevin board had the protection screw +[here](https://av.libreboot.org/board/kevin/write_protection_screw.jpg). It was +tricky for me to find it since it was one of the screws that seemed to holds +the heat sink in place, which I thought made it an unlikely candidate. I +recommend you leave it unscrew never the less after flashing. + Newer boards have a root-of-trust chip enforcing write-protection. The [Closed Case Debugging](https://chromium.googlesource.com/chromiumos/platform/ec/+/cr50_stab/docs/case_closed_debugging_gsc.md) mechanism should be used to disable hardware write-protection. Opening From 84219b20eb0a207910805dca658dbe6b3fe1e70e Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Thu, 6 Feb 2025 20:13:17 +0000 Subject: [PATCH 216/279] T480: mention pulseaudio vs pipewire Signed-off-by: Leah Rowe --- site/docs/install/t480.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/site/docs/install/t480.md b/site/docs/install/t480.md index 44f3297..17b090e 100644 --- a/site/docs/install/t480.md +++ b/site/docs/install/t480.md @@ -493,6 +493,9 @@ you've inserted manually. If it says "Unplugged", try it anyway. The HDA Verb may be incorrect. This will be investigated and a hotfix patch made to the Libreboot 20241206 images. +You must also be used *pulseaudio*, not *pipewire*, because even manual +switching doesn't work in pipewire. **It only works in pulseaudio.** + ### How to use HDMI audio You can get audio from Displayport/HDMI, but you must select it manually. From 46ab4acf3ab962305d5522a71b44cba45714e534 Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Fri, 7 Feb 2025 22:36:26 +0800 Subject: [PATCH 217/279] contrib: Update the ich9gen section in Steve's contribs --- site/contrib.md | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/site/contrib.md b/site/contrib.md index 00e1d49..dc42608 100644 --- a/site/contrib.md +++ b/site/contrib.md @@ -631,20 +631,19 @@ engineered the layout of the Intel GbE NVM (non-volatile memory) region in the boot flash. This region defines configuration options for the onboard Intel GbE NIC, if present. -Based on this, I was able to take Steve's initial proof of concept and write +Based on this, I was able to take Steve's initial proof of concept +and work with him extensively to write the `ich9gen` utility, which generates an Intel Flash Descriptor and GbE NVM -region, from scratch, without an Intel ME region defined. It is this tool, -the `ich9gen` tool, that Libreboot uses to provide ROM images for GM45+ICH9M +region, from scratch, without an Intel ME region defined, +without needing a dump of the original Lenovo BIOS firmware. +Libreboot used to use `ich9gen` to provide ROM images for GM45+ICH9M platforms (such as ThinkPad X200/T400/T500/W500), with a fully functional descriptor and functional Gigabit Ethernet, but *without* needing Intel Management Engine (ME) firmware, thus making those machines *libre* (the ME is fully disabled, when you use a descriptor+gbe image generated by `ich9gen`). - -With *my* `ich9gen` tool (Steve's tool was called `ich9deblob`), you didn't -need a dump of the original Lenovo BIOS firmware anymore! I could not have -written this tool, without Steve's initial proof of concept. I worked with him, -extensively, for many months. All GM45+ICH9M support (X200, T400, etc) in -Libreboot is made possible because of the work he did, back in 2014. +Note that `ich9gen` is now obsolete as the Flash Descriptor and NVM region +are generated pre-assembled, and `nvmutil` is used to change MAC addresses +instead. ### Swift Geek From 4e7473b822bdb6d73da594c8a6ddb0293a5ffc9a Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Fri, 7 Feb 2025 22:38:21 +0800 Subject: [PATCH 218/279] docs/install/ich9utils.desc: Note deprecation --- site/docs/install/ich9utils.md.description | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/docs/install/ich9utils.md.description b/site/docs/install/ich9utils.md.description index 8d7fc3b..c89e04e 100644 --- a/site/docs/install/ich9utils.md.description +++ b/site/docs/install/ich9utils.md.description @@ -1 +1 @@ -Documentation pertaining to ich9utils which can generate or modify Intel Flash Descriptors, and Intel GbE NVM images. +Documentation pertaining to the deprecated ich9utils which can generate or modify Intel Flash Descriptors, and Intel GbE NVM images. From dd0bf75198cfccde04c0ce984d584d5edd0744ef Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Fri, 7 Feb 2025 22:40:23 +0800 Subject: [PATCH 219/279] docs/install/mac_address: Remove ich9utils mentions --- site/docs/install/mac_address.md | 22 +--------------------- 1 file changed, 1 insertion(+), 21 deletions(-) diff --git a/site/docs/install/mac_address.md b/site/docs/install/mac_address.md index 8c857f5..ac15557 100644 --- a/site/docs/install/mac_address.md +++ b/site/docs/install/mac_address.md @@ -86,18 +86,7 @@ init scripts or you can use your operating system's own networking configuration. Refer to your operating system's documentation for how to do this. -Changing the MAC address on X200/T400/T500/W500 ------------------------------------------------ - -On GM45 laptops with ICH9M southbridge and Intel PHY module, the MAC address -is hardcoded in boot flash, which means it can be changed if you re-flash. - -See [ich9utils documentation](../install/ich9utils.md) - -If *all* you want to do is change the MAC address, you might try `nvmutil` -instead. See notes below: - -Changing the MAC address on ivybridge/sandybridge/haswell (e.g. X230/T440p) +Changing the MAC address (e.g. X230/T440p) ----------------------------------------------------------------- See [nvmutil documentation](../install/nvmutil.md) @@ -107,15 +96,6 @@ Sandybridge, Ivybridge and Haswell platforms, but it can be used on any platform with a valid GbE region in flash, where an Intel Flash Descriptor is used; this includes older GM45+ICH9M machines supported by Libreboot. -The `ich9utils` program is more useful in an lbmk context, because it -generates an entire Intel Flash Descriptor and GbE region from scratch; -coreboot has a similar method in its build system, using its own utility -called bincfg, but this tool is unused in lbmk. - -No tool like ich9utils exists for these boards yet, but lbmk includes the IFD -and GbE files in-tree (Intel ME is handled by extracting from Lenovo updates, -which the build system automatically fetches from the internet). - You can use `nvmutil` to change the existing MAC address in a GbE region. This sets the "hardcoded" MAC address, typically a globally assigned one set by the vendor, but you can use local addresses, and you can use randomised MACs. From 6b1b5745497cbedf16eb000f53129293c59a8893 Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Fri, 7 Feb 2025 22:42:03 +0800 Subject: [PATCH 220/279] docs/install/{r4,t4,t5,x2}00: Remove ich9util mentions --- site/docs/install/r400.md | 3 +-- site/docs/install/t400.md | 3 +-- site/docs/install/t500.md | 3 +-- site/docs/install/x200.md | 3 +-- 4 files changed, 4 insertions(+), 8 deletions(-) diff --git a/site/docs/install/r400.md b/site/docs/install/r400.md index 358f459..e5b782d 100644 --- a/site/docs/install/r400.md +++ b/site/docs/install/r400.md @@ -71,8 +71,7 @@ the palmrest: 4MiB is SOIC-8, 8MiB is SOIC-16. *The R400 laptops come with the ME (and sometimes AMT in addition) before flashing libreboot. libreboot disables and removes it by using a -modified descriptor: see [../install/ich9utils.md](../install/ich9utils.md)* -(contains notes, plus instructions) +modified descriptor.* Flashing instructions can be found at [../install/\#flashprog](../install/#flashprog) diff --git a/site/docs/install/t400.md b/site/docs/install/t400.md index c6c6a02..6d8f73e 100644 --- a/site/docs/install/t400.md +++ b/site/docs/install/t400.md @@ -70,8 +70,7 @@ the palmrest: 4MiB is SOIC-8, 8MiB is SOIC-16. *The T400 laptops come with the ME (and sometimes AMT in addition) before flashing libreboot. libreboot disables and removes it by using a -modified descriptor: see [../install/ich9utils.md](../install/ich9utils.md)* -(contains notes, plus instructions) +modified descriptor.* Flashing instructions can be found at [../install/\#flashprog](../install/#flashprog) diff --git a/site/docs/install/t500.md b/site/docs/install/t500.md index c1a035c..d19bec1 100644 --- a/site/docs/install/t500.md +++ b/site/docs/install/t500.md @@ -72,8 +72,7 @@ the palmrest: 4MiB is SOIC-8, 8MiB is SOIC-16. *The T500 laptops come with the ME (and sometimes AMT in addition) before flashing libreboot. libreboot disables and removes it by using a -modified descriptor: see [../install/ich9utils.md](../install/ich9utils.md)* -(contains notes, plus instructions) +modified descriptor.* Flashing instructions can be found at [../install/\#flashprog](../install/#flashprog) diff --git a/site/docs/install/x200.md b/site/docs/install/x200.md index e35fc95..070fce9 100644 --- a/site/docs/install/x200.md +++ b/site/docs/install/x200.md @@ -70,8 +70,7 @@ the palmrest: 4MiB is SOIC-8, 8MiB is SOIC-16. *The X200 laptops come with the ME (and sometimes AMT in addition) before flashing libreboot. libreboot disables and removes it by using a -modified descriptor: see [../install/ich9utils.md](../install/ich9utils.md)* -(contains notes, plus instructions) +modified descriptor.* Flashing instructions can be found at [../install/\#flashprog](../install/#flashprog) From dd993be62fd053768e4826a550fcaa649128c0ef Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Fri, 7 Feb 2025 22:48:37 +0800 Subject: [PATCH 221/279] faq: Remove ich9util mentions --- site/faq.md | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/site/faq.md b/site/faq.md index da8e866..cf0ccc0 100644 --- a/site/faq.md +++ b/site/faq.md @@ -295,7 +295,7 @@ privacy that can't be ignored. Before version 6.0 (that is, on systems from 2008/2009 and earlier), the ME can be disabled by setting a couple of values in the SPI flash memory. The ME firmware can then be removed entirely from the flash -memory space. The libreboot project [does this](docs/install/ich9utils.md) on +memory space. The libreboot project does this on the Intel 4 Series systems that it supports, such as the [ThinkPad X200](../docs/install/x200.md) and [ThinkPad T400](../docs/install/t400.md). ME firmware versions 6.0 and @@ -516,13 +516,8 @@ inconvenient to use an external programmer. On some systems, it is possible to write-protect the firmware, such that it is rendered read-only at the OS level (external flashing is still -possible, using dedicated hardware). For example, on current GM45 -laptops (e.g. ThinkPad X200, T400), you can write-protect (see -[ICH9 gen utility](docs/install/ich9utils.md#ich9gen)). - -It's possible to write-protect on all libreboot systems, but the instructions -need to be written. The documentation is in the main git repository, so you are -welcome to submit patches adding these instructions. +possible, using dedicated hardware). [See instructions +here.](docs/linux/grub_hardening.md#flash-write-protection) TODO: Document PRx based flash protection on Intel platforms, and investigate other methods on AMD systems. From 7307e9eb33106fc03fa0ed64d9d79184ee80b80c Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Fri, 7 Feb 2025 22:58:52 +0800 Subject: [PATCH 222/279] freedom-status: Remove ich9util mentions --- site/freedom-status.md | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/site/freedom-status.md b/site/freedom-status.md index 4d15100..777dfc2 100644 --- a/site/freedom-status.md +++ b/site/freedom-status.md @@ -95,7 +95,7 @@ In a *descriptor* configuration, the flash is divided into regions such as: the initialisation firmware plus operating system for it is loaded from this dedicated region in the main boot flash. More info is available [in the FAQ](faq.md#intelme) - where ME firmware is otherwise present, Libreboot - either [removes](docs/install/ich9utils.html) it or (with the `me_cleaner` program) [reconfigures](https://github.com/corna/me_cleaner/wiki/How-does-it-work%3F) it in such + either removes it or (with the `me_cleaner` program) [reconfigures](https://github.com/corna/me_cleaner/wiki/How-does-it-work%3F) it in such a way where it is disabled during machine initialisation. * Platform region: non-program data, usually just a bunch of strings put there by the hardware vendor. @@ -152,11 +152,7 @@ whether the CPU comes out of reset). *Libreboot* provides a way to fully remove the ME firmware, while retaining full use of the machine, on GM45 platforms with ICH9M southbridge. These are -laptops: ThinkPad X200/T400/T500/W500 and so on of that generation. See: -[docs/install/ich9utils.md](docs/install/ich9utils.md) - -The `ich9utils` software is provided by Libreboot. The `ich9gen` utility was -specifically written by Leah Rowe, in 2014 and improved incrementally since. +laptops: ThinkPad X200/T400/T500/W500 and so on of that generation. On newer platforms as alluded to above, `me_cleaner` is used instead. @@ -301,7 +297,6 @@ Intel Flash Descriptors are provided as blobs on some boards, but these are not *software* blobs. They are configurations provided in a binary format, fully readable by libre software. For example: -* Libreboot's `ich9gen` program generates ICH9M flash descriptors from scratch. * Coreboot's `ifdtool` program has extensive features for manipulating Intel flash descriptors. * Corebot's `bincfg` program generates any sort of binary from a `.spec` file @@ -311,8 +306,6 @@ fully readable by libre software. For example: Intel GbE NVM config (configuration data, binary-encoded, for gigabit NIC): -* Libreboot's `ich9gen` program *also* generates GbE NVM images specifically - for Intel NICs used in GM45 thinkpads. * Libreboot's `nvmutil` program can manipulate GbE NVM images ### ARM/chromebooks From 6f6ccc1ea9b844d3cfbe9e1b8404b2e43518ac21 Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Fri, 7 Feb 2025 23:01:57 +0800 Subject: [PATCH 223/279] git: Remove ich9util mentions --- site/git.md | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/site/git.md b/site/git.md index ea544a0..3eb12cc 100644 --- a/site/git.md +++ b/site/git.md @@ -35,9 +35,7 @@ needed something more stable, so now Libreboot is hosted on codeberg. See: There are also these programs, hosted by the Libreboot project, and libreboot either recommends them or makes use of them: -The `ich9utils` project is now available under `util/ich9utils` in lbmk, and -lbmk uses *that*, but the old standalone repository is still available on -notabug (bucts is also there): +The old `ich9utils` and `bucts` repositories are available on notabug: * Bucts (utility): * ich9utils (utility): @@ -60,13 +58,6 @@ internally an libreboot ROM onto a ThinkPad X60 or T60 that is currently running the original Lenovo BIOS. Instructions for that are available here:\ [libreboot installation guides](docs/install/) -The `ich9utils` repository is used heavily, by the `lbmk` build system. However, -you can also download `ich9utils` on its own and use it. It generates ICH9M -descriptor+GbE images for GM45 ThinkPads that use the ICH9M southbridge. It may -also work for other systems using the same platform/chipset. -Documentation for `ich9utils` is available here:\ -[ich9utils documentation](docs/install/ich9utils.md) - ### lbmk (libreboot-make) This is the core build system in libreboot. You could say that `lbmk` *is* From 24d1145ca447d76c6e842cf50d15f9d42d6a754e Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 8 Feb 2025 14:34:38 +0000 Subject: [PATCH 224/279] add example to gen docs Signed-off-by: Leah Rowe --- site/docs/sitegen/index.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/site/docs/sitegen/index.md b/site/docs/sitegen/index.md index 53073c0..1d25132 100644 --- a/site/docs/sitegen/index.md +++ b/site/docs/sitegen/index.md @@ -62,10 +62,11 @@ Learn more about Free Software:\ Here are some websites built using the Libreboot Static Site Generator: -* (Libreboot project, maintained by Leah Rowe) * (Libreboot fork maintained by Leah Rowe) -* -* (Leah Rowe's blog) +* (Leah Rowe's self-hosted servers tutorial website) +* (Libreboot project, maintained by Leah Rowe) +* (Leah Rowe's transgender advocacy website) +* (Leah Rowe's personal blog) Requirements ------------ From d0c1908702d86077185840f04818567d737c435f Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 9 Feb 2025 13:39:41 +0000 Subject: [PATCH 225/279] other.md: fix TF-A link Signed-off-by: Leah Rowe --- site/other.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/other.md b/site/other.md index fbd7c28..026a0ea 100644 --- a/site/other.md +++ b/site/other.md @@ -367,7 +367,7 @@ language, focusing specifically on the *LinuxBoot* payload configuration. ### Trusted Firmware -Website: +Website: Trusted Firmware provides boot firmware for ARMv8-A, ARMv9-A and ARMv8-M. Specifically tailored for use on embedded systems, and parts of From fa485ebbe6f9a2970b6f2175f66300f9e8e7aa6e Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 9 Feb 2025 14:45:15 +0000 Subject: [PATCH 226/279] list firmware-action on other.md Signed-off-by: Leah Rowe --- site/other.md | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/site/other.md b/site/other.md index 026a0ea..5a0a898 100644 --- a/site/other.md +++ b/site/other.md @@ -86,6 +86,39 @@ coreboot images for each supported motherboard, with an emphasis on stability. It's a very different approach than Libreboot's approach; Libreboot provides a more generalised design in its build system and infrastructure. +### Firmware-action + +Website: + +Documentation: + +**TODO: Link their FOSDEM 2025 talk when it becomes available on archives.** + +Launched at the start of 2023, this project by 9elements provides +a source-based package manager similar conceptually to lbmk; it downloads, +patches and compiles various upstream sources, specifically coreboot, +Linux, Tianocore/edk2, u-root and others. + +It currently does not provide specific build targets pre-configured, nor +binary releases, but it could theoretically be fashioned that way, and this +was asked of them at their FOSDEM 2025 talk, during questions and answers - and +much of what it's trying to do could inspire aspects of Libreboot's design in +the future. + +Their build system design is interesting, and has many of the same sort of +features lbmk has, such as tracking of build artifacts / re-use of build +artifacts to speed up re-builds. I (Leah Rowe, Libreboot maintainer) learned +of Firmware-action because I attended their FOSDEM 2025 talk. It is listed on +this page, because their build system design *can* be used to provide a fully +fledged coreboot distribution, with binary releases. + +The goal of the firmware-action project is to provide a fully reproducible +build environment, for integration with a CI/CD setup during coreboot +development. This build system has great potential to provide a useful +competitor versus, say, Heads or LinuxBoot projects. The design of this build +system could also be adapted to provide many different coreboot payloads, +even ones that it currently doesn't support, such as GNU GRUB. + ### Heads Website: From fda7faffcd674f1f223a5e9f66d0aea90512cb78 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Wed, 12 Feb 2025 23:15:15 +0000 Subject: [PATCH 227/279] 20241206rev9 notes Signed-off-by: Leah Rowe --- site/news/libreboot20241206.Revisions.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/site/news/libreboot20241206.Revisions.md b/site/news/libreboot20241206.Revisions.md index aec9d61..180b140 100644 --- a/site/news/libreboot20241206.Revisions.md +++ b/site/news/libreboot20241206.Revisions.md @@ -162,3 +162,23 @@ the full announcement, linked above: TPM drivers in SeaBIOS. * Better handling of dependencies, for various Linux distros. * Various code quality improvements for `util/nvmutil`, especially the Makefile. + +Revision 9 (12 February 2025) +----------- + +Merged a fix from Riku Viitanen, fixing an uninitialised variable in +pico-serprog, which caused sync issues on pico2 devices or other dongles +that used RP2530. See: + + + +This bug page on the upstream project describes the bug, and the fix as +mentioned there was merged in Libreboot's mirror, here in this commit: + + + +People who previously downloaded the tarball for pico-serprog images, should +download again, choosing 20241206rev9. + +The coreboot tarballs have not been replaced. The source tarball *has* been +replaced. From 8725126ec23241582766ed7a996805e357e139fc Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 15 Feb 2025 16:29:15 +0000 Subject: [PATCH 228/279] subtle improvement to CBW2 reference make it shorter, and more to the point Signed-off-by: Leah Rowe --- site/news/10.md | 85 ++++++++++++++++++++++++------------------------- 1 file changed, 41 insertions(+), 44 deletions(-) diff --git a/site/news/10.md b/site/news/10.md index e80cc79..5e05c46 100644 --- a/site/news/10.md +++ b/site/news/10.md @@ -1519,6 +1519,8 @@ on [minifree.org](https://minifree.org/). January 1st, 2025, UPDATE! ------------------------ +And some facts discovered in February 2025 have also been added! + ### Cold Boot War II The truce of 2024 has ended. GNU did a talk during 38C3 conference, where @@ -1526,7 +1528,10 @@ they spent at least *one third* of the talk, telling people to stop using Libreboot, to stop promoting Libreboot, stop contributing to it. This is an act of war against the Libreboot project. Their decision, in the talk, demonstrated that they have all the same intentions that they originally had -in their LibrePlanet 2023 talk, that lead to the *first* Cold Boot War. +in their LibrePlanet 2023 talk, that lead to the *first* Cold Boot War. Their +intent is that Libreboot must cease to exist, and that they must replace it; +they are not content simply with existing in their own right, rather, they want +their existence *to replace mine*. Intent matters. A lot of people might disagree, but the world runs on dreams. What we do in the moment is just an manifestation of dreams. Their dream is @@ -1536,38 +1541,13 @@ Therefore, Cold Boot War II was declared, in the early hours of January 1st, 202 There won't be much material difference as a result of this, but the consequence is that there is no longer good will from Libreboot towards the GNU project. -Canoeboot will be developed as aggressively as before, if not more so. It will -be maintained and updated aggressively, but now with this fact in mind, and -with the view that the GNU project must be contained; the mere existence -of the Canoeboot project is a direct attack on GNU, and it will continue. It -is an attack, because *they* can't attack *Canoeboot* lest they look like -hypocrites, which they are, but looking like it is worse. They were the ones -who tried to steal the Libreboot name, and they the aggressors; Canoeboot was -formed as an act of self defense to protect Libreboot, and Canoeboot is a fun -technical challenge. - -I was going to approach the GNU project and start a discussion about shutting +I *was* going to approach the GNU project and start a discussion about shutting down the Canoeboot project, and merge it with GNU. As of January 2025, GNU's own Libreboot fork *still* uses the same late 2021 coreboot and GRUB revisions that it used when they started back in June 2023. As of December 2024, the Canoeboot project used upstream revisions *from December 2024* and with completely up to date documentation. -Such an attempt at collaboration was made before, and it was rejected. It is -clear now that the GNU/FSF developers have nothing but contempt. Therefore, -the agenda from 1 January 2025 onward, is to *replace* GNU, not join it; to move -so far ahead of the project on a technical level, and to overwhelm it so much -in that regard, yet offer no truce and no way out for GNU. The end result shall -be that FSF/GNU fans only have Canoeboot, and nothing else. GNU has shown -historical opposition and hostility to the Libreboot project, to the extent -that they even tried to steal the name; therefore, I will show no mercy. - -This is not about tech. This is about dreams. A battle of dreams. My dream is -to maintain a highly popular [Free Software](https://writefreesoftware.org/learn) -boot project, namely Libreboot and Canoeboot; this dream exists because I enjoy -the work, and I believe in Free Software. GNU's dream has been to steal mine; -I do all the work, and they wanted to steal my thunder. - Canoeboot is vastly superior to anything GNU would ever do, or has done. Canoeboot's highly efficient [design](https://canoeboot.org/docs/maintain/) is much simpler and more powerful in practise, doing *more* in fewer lines @@ -1575,11 +1555,8 @@ of code - and it supports more hardware. Canoeboot is, at this time, interested in more GM45-based Dell Latitude models and X4x-based Dell OptiPlex 780 variants, among other ports. Other works are also planned. -Canoeboot shall continue, and there will not be a 2nd truce. The truce -of 2024 was announced unilaterally by the Libreboot project, at the start -of 2024, in the interest of improving relations. - -For those interested, the talk is here: +For those interested, GNU's anti-Libreboot talk is here (they also talk trash +about Canoeboot, though to a lesser extent than they do about Libreboot): **https://www.youtube.com/watch?v=dHJ9m6HRwq0** In it, they strongly imply that all Libreboot boards use Intel FSP/MRC, which @@ -1599,17 +1576,37 @@ but the reality is that this is literally impossible, on any hardware. The reason is strongly described in Libreboot's [Freedom Status](../freedom-status.md) and [Binary Blob Reduction Policy](policy.md) pages. -It is clear, then, that the GNU project wishes to undermine the Libreboot -project; their dream is that Libreboot will one day cease to exist. So in -response, Libreboot has this dream too, but about GNU. My revenge shall be -to continue maintaining Libreboot and Canoeboot, to a high standard, and to -get ever further ahead of them both technically, and politically. +They lie and lie and lie about me and about the Libreboot project, because if +they actually discussed the [nuance](policy.md) of Libreboot policy, they are +worried that more people might agree with Libreboot. They don't care about the +reality; they are also hypocrites, since they still use Libreboot and Canoeboot +themselves. For example, in their FOSDEM 2025 talk about machine learning, the +executive director of the FSF is clearly using a Dell Latitude E6400: +; +look about 46 minutes in and it shows the whole laptop. Their own project does +not support this laptop, only Libreboot and Canoeboot do! And neox told me on +IRC during February 2025 that he uses Libreboot on a ThinkPad T440p. So... why +should anyone take them seriously? GNU policy has little merit - Libreboot ignores +it, because their policy limits the amount of hardware that can be supported - and +what merit does it have at all when its creators don't even follow it? As of +February 2025, Richard Stallman's own website still claims that he uses a +Libreboot system: . +I could probably dig even deeper and find more examples, but you get the point. -The outcome of coldbootwar2 will be described in the *next* decade anniversary page, -on 12 December 2033. It is strongly expected that Libreboot will continue to -exist and thrive by then; today's Libreboot will be vastly inferior to that -future Libreboot, and it is expected that GNU will have long given up the ghost. -Canoeboot will still be maintained regularly. That is the dream, and it is my -wish that this dream be fully realised. It shall be done. +On merit, they are weak - and they don't even believe in their own merit. That +is why they need to attack the Libreboot project on their own project's website. +They could criticise just coreboot, which is the project they are actually dealing +with, but that's too hard; Libreboot is, to them, the easier target. They are +essentially cowards. Luckily, Libreboot and Canoeboot are literally *years ahead* +of them, on a technological level - and many of their people use Canoeboot and +Libreboot, because they get it: Libreboot is providing them with what they actually +need, namely, a free software boot project that tries to support as many machines +as possible, so it actually supports the hardware that they want to use. -I'm not allowed to win, but I will. +I was actually banned from the FSF's IRC channel on Libera, specifically because +I called neox (Adrien Bourmault) a hypocrite for using Libreboot, despite being +one of the co-founders of GNU's fork of Libreboot, that heavily criticises +Libreboot - and despite the fact that neox himself, in the above linked 38c3 +talk, heavily critises *me*. He lies, claiming that I oppose free software, +while using my project. Weak, weak, weak. I don't respect [hypocrites](https://vimuser.org/hypocrites.html) at all, +and neither should you. From 9a3fcc68afe213e897d23165aa6da2ec20527976 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Mon, 17 Feb 2025 20:57:37 +0000 Subject: [PATCH 229/279] docs/install/spi: remove repetition (ch341a) Signed-off-by: Leah Rowe --- site/docs/install/spi.md | 22 +++------------------- 1 file changed, 3 insertions(+), 19 deletions(-) diff --git a/site/docs/install/spi.md b/site/docs/install/spi.md index e8b9f54..a6b8e09 100644 --- a/site/docs/install/spi.md +++ b/site/docs/install/spi.md @@ -214,11 +214,6 @@ Higher speeds might work nicely, on Pico 2. Do not buy CH341A! ------------------ -This section was heavily expanded, on 19 January 2025, because we see many -people online still talking about the CH341a. Therefore, the hatred has been -amplified. Please read this section carefully, to know why we advise against -use of this particular programmer. - NOR flashes on libreboot systems run on 3.3V DC or 1.8V DC, and this includes data lines. CH341A can have 5V logic levels on data lines, which can damage your SPI flash and also the southbridge that it's connected to, plus anything else @@ -278,7 +273,8 @@ resistors) performed, on the black CH341A:\ The green version (not shown above) may come with 3.3v logic already wired, but -still needs to have pull-up resistors placed for WP/HOLD. +still needs to have pull-up resistors placed for WP/HOLD. Some of them may have +switchable voltage instead, via a physical toggle on the board. Disclaimer: A few (not many, but wily) people have criticised this section of the documentation, due to a misconception about what it really means and also because @@ -317,8 +313,7 @@ chip selects at once; it's just better, in every way. And the Raspberry Pi is completely reprogrammable, so you can use it for something else when you're done, e.g. UART dongle, or if you're wily enough, [PlayStation 1 Optical Disc Emulator](https://github.com/paulocode/picostation) - the Pico is simply a -highly versatile tool, much better value for money than the piece of junk -CH341a. +highly versatile tool, much better value for money. There is only one instance where the CH341a is *good*, and that is when you're actually flashing a loose (not soldered) chip, in the ZIF socket on the CH341a @@ -337,17 +332,6 @@ also newer models that have a voltage switch and logic level shifter already on the board, which can be very useful. *Clip-based* flashing (ISP / in-system programming) is, specifically, what we advise against using the CH341a for. -Even if you *are* doing socket-based flashing, we still suggest buying the Pico -instead, though the Pico doesn't come with a ZIF socket; you can wire the Pico -to a breadboard instead, if you want to use a socket for flashing. Then you -will also have a good ISP device, and the overall cost covering both use-case -scenarios is *lower* (cheaper part cost) than buying a CH341a *and* Pico; and -the Pico can also emulate the PlayStation Optical Disc Drive in your -playstation to boot from SD card instead of your dead CD drive, or could even -be a [JTAG adapter](https://hackaday.com/2022/04/11/need-a-jtag-adapter-use-your-pico/) - -again, the Pico is a reprogrammable device! Whereas, the CH341a is a fixed-function -device (and performs poorly). - Why pay $10 for a CH341a when you can pay $10 for a Raspberry Pi Pico which is electrically and functionally superior in every way? And the Pico is completely open source, right down to the boot rom. From e484a829e39bde74806c376455ca47d6718595c0 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Tue, 18 Feb 2025 07:55:53 +0000 Subject: [PATCH 230/279] snip i got a very respectable email last night from a person who i now hold in very high regard. and the email merits a response - and the response will be a good one. Signed-off-by: Leah Rowe --- site/news/10.md | 95 ------------------------------------------------- 1 file changed, 95 deletions(-) diff --git a/site/news/10.md b/site/news/10.md index 5e05c46..e3ebad9 100644 --- a/site/news/10.md +++ b/site/news/10.md @@ -1515,98 +1515,3 @@ the erstwhile *gluglug* domain then redirecting to it, and I registered Minifree Ltd in the UK. Minifree is how I fund the Libreboot project, by selling computers with Libreboot pre-installed. You can find it on [minifree.org](https://minifree.org/). - -January 1st, 2025, UPDATE! ------------------------- - -And some facts discovered in February 2025 have also been added! - -### Cold Boot War II - -The truce of 2024 has ended. GNU did a talk during 38C3 conference, where -they spent at least *one third* of the talk, telling people to stop using -Libreboot, to stop promoting Libreboot, stop contributing to it. This is an -act of war against the Libreboot project. Their decision, in the talk, -demonstrated that they have all the same intentions that they originally had -in their LibrePlanet 2023 talk, that lead to the *first* Cold Boot War. Their -intent is that Libreboot must cease to exist, and that they must replace it; -they are not content simply with existing in their own right, rather, they want -their existence *to replace mine*. - -Intent matters. A lot of people might disagree, but the world runs on dreams. -What we do in the moment is just an manifestation of dreams. Their dream is -to *destroy the Libreboot project*. - -Therefore, Cold Boot War II was declared, in the early hours of January 1st, 2025. -There won't be much material difference as a result of this, but the consequence -is that there is no longer good will from Libreboot towards the GNU project. - -I *was* going to approach the GNU project and start a discussion about shutting -down the Canoeboot project, and merge it with GNU. As of January 2025, GNU's -own Libreboot fork *still* uses the same late 2021 coreboot and GRUB revisions -that it used when they started back in June 2023. As of December 2024, the -Canoeboot project used upstream revisions *from December 2024* and with -completely up to date documentation. - -Canoeboot is vastly superior to anything GNU would ever do, or has done. -Canoeboot's highly efficient [design](https://canoeboot.org/docs/maintain/) -is much simpler and more powerful in practise, doing *more* in fewer lines -of code - and it supports more hardware. Canoeboot is, at this time, interested -in more GM45-based Dell Latitude models and X4x-based Dell OptiPlex 780 variants, -among other ports. Other works are also planned. - -For those interested, GNU's anti-Libreboot talk is here (they also talk trash -about Canoeboot, though to a lesser extent than they do about Libreboot): -**https://www.youtube.com/watch?v=dHJ9m6HRwq0** - -In it, they strongly imply that all Libreboot boards use Intel FSP/MRC, which -isn't true. Everything up to Haswell uses completely free raminit; completely -free initialisation within coreboot. - -In general, Libreboot's [Binary Blob Reduction Policy](policy.md) dictates -that if Free Software *can* be used, it must be - as a result, many systems -supported by Libreboot, boot entirely with free software. Libreboot is a free -software project, whose primary goal is to increase software freedoms for users -by providing them with free boot firmware. And yet: the GNU talk strongly -suggests that Libreboot is a *proprietary software project*. - -In that same GNU talk, GNU directly states that I, Leah Rowe, am "against 100% -free software" - also false. I want everyone to use Free Software exclusively, -but the reality is that this is literally impossible, on any hardware. The -reason is strongly described in Libreboot's [Freedom Status](../freedom-status.md) -and [Binary Blob Reduction Policy](policy.md) pages. - -They lie and lie and lie about me and about the Libreboot project, because if -they actually discussed the [nuance](policy.md) of Libreboot policy, they are -worried that more people might agree with Libreboot. They don't care about the -reality; they are also hypocrites, since they still use Libreboot and Canoeboot -themselves. For example, in their FOSDEM 2025 talk about machine learning, the -executive director of the FSF is clearly using a Dell Latitude E6400: -; -look about 46 minutes in and it shows the whole laptop. Their own project does -not support this laptop, only Libreboot and Canoeboot do! And neox told me on -IRC during February 2025 that he uses Libreboot on a ThinkPad T440p. So... why -should anyone take them seriously? GNU policy has little merit - Libreboot ignores -it, because their policy limits the amount of hardware that can be supported - and -what merit does it have at all when its creators don't even follow it? As of -February 2025, Richard Stallman's own website still claims that he uses a -Libreboot system: . -I could probably dig even deeper and find more examples, but you get the point. - -On merit, they are weak - and they don't even believe in their own merit. That -is why they need to attack the Libreboot project on their own project's website. -They could criticise just coreboot, which is the project they are actually dealing -with, but that's too hard; Libreboot is, to them, the easier target. They are -essentially cowards. Luckily, Libreboot and Canoeboot are literally *years ahead* -of them, on a technological level - and many of their people use Canoeboot and -Libreboot, because they get it: Libreboot is providing them with what they actually -need, namely, a free software boot project that tries to support as many machines -as possible, so it actually supports the hardware that they want to use. - -I was actually banned from the FSF's IRC channel on Libera, specifically because -I called neox (Adrien Bourmault) a hypocrite for using Libreboot, despite being -one of the co-founders of GNU's fork of Libreboot, that heavily criticises -Libreboot - and despite the fact that neox himself, in the above linked 38c3 -talk, heavily critises *me*. He lies, claiming that I oppose free software, -while using my project. Weak, weak, weak. I don't respect [hypocrites](https://vimuser.org/hypocrites.html) at all, -and neither should you. From 40ca3087b78ad30e1309371d5319cbdf1d6de73d Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Tue, 18 Feb 2025 15:56:34 +0000 Subject: [PATCH 231/279] more snip my intent was clearly presented by the wholesale removal present in the last revision. this follow-up revision further conveys my intentions. Signed-off-by: Leah Rowe --- site/news/10.md | 55 ++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 45 insertions(+), 10 deletions(-) diff --git a/site/news/10.md b/site/news/10.md index e3ebad9..f11fc0e 100644 --- a/site/news/10.md +++ b/site/news/10.md @@ -60,7 +60,9 @@ that Libreboot no longer strictly aligns to FSF policy, but I still very much believe in the ideology behind it. I merely apply it in different, more [pragmatic](policy.md) ways - but this page is about the history of the project, so I have to put myself in the headspace I was in, during each development year -relative to when Libreboot started. +relative to when Libreboot started. Libreboot originally started very much as +an FSF-endorsed project, created specifically for the purpose of adhering to +their standards. ### Early history @@ -1221,7 +1223,7 @@ This period of Libreboot's history involved a massive amount of extreme and hostile competition between the Libreboot project and a *hostile fork* of Libreboot started by the FSF (now a GNU project). Libreboot fought hard to ensure that it, the *real* Libreboot project, the one on libreboot.org, survived, -becauseu the FSF literally tried to destroy it. They made no secret of it, and +because the FSF literally tried to destroy it. They made no secret of it, and even publicly announced such intentions at their LibrePlanet 2023 conference. Much of the remainder of this article will cover this period, and its aftermath. @@ -1478,14 +1480,31 @@ anymore; to do so was necessary, when they themselves did the same, because the FSF is a well-funded organisation with much bigger reach and would walk all over me if I allowed it, so it was necessary to show strength. -However, throughout 2024, GNU's fork has essentially been a dead project; they -haven't done any work on their build system of any consequence, and haven't -even updated their documentation that heavily. Their main focus was on -integrating the Untitled Static Site Generator into their infrastructure, -which otherwise relies heavily on TexInfo documents and CVS (Untitled relies on -Markdown and Git heavily - the FSF actually made a special rsync server for -to manually upload HTML files to, generated by Untitled, which they -wrapped around directly, within their fork of the Libreboot build system). +I don't start fights; I only finish them, decisively and without fear or +prejudice. Aside from minor acts on GNU's part, they have largely left me well +alone since the end of 2023, and my intention is to leave them alone. I have +at times perhaps been guilty of overthinking, but I basically don't care about +the FSF or GNU at this point. + +My intention is that the FSF promote *Canoeboot*, much like they did with the +old Libreboot, prior to policy change. GNU Boot can do whatever it wants, I +don't really care; so long as they're not taking potshots at Libreboot. FSF can +also promote their own project (GNU Boot), as they have; there's room for both. +It'd be nice if GNU Boot criticised coreboot instead of Libreboot; coreboot is +the project that includes binary blobs, Libreboot merely tries to make the best +of a situation that is not ideal, while not being dogmatic; Canoeboot and GNU +Boot are dogmatic answers to the same issue, namely that hardware vendors suck. +Prior to Libreboot's policy change, Libreboot was not a fork of something; it +was its own original distribution, and it criticized the hardware vendors and +coreboot for not being firm enough with them - and this is a criticism that +I still have, today, and always will have. What more is there to say? GNU chose +to see me as its enemy, even though I'm ideologically very much in line with it +and wish to see its goals advanced to the fullest; the only difference with +Libreboot is the exact method by which this is strived for, a methodology that +they (the GNU project) vehemently disagree with. Libreboot's instrument is +the [Binary Blob Reduction Policy](policy.md), while Canoeboot's is +the [Binary Blob Extermination Policy](https://canoeboot.org/news/policy.html), +and Canoeboot's policy is very much identical to GNU's own policy document. Last remarks ----------- @@ -1515,3 +1534,19 @@ the erstwhile *gluglug* domain then redirecting to it, and I registered Minifree Ltd in the UK. Minifree is how I fund the Libreboot project, by selling computers with Libreboot pre-installed. You can find it on [minifree.org](https://minifree.org/). + +*January 2025 update removed; hostilities briefly resumed, resulting from +accusations made by the GNU project against Libreboot and against me personally, +in a talk that they made at 38c3, but I've since decided to disregard it as being +that Adrien Bourmault simply doesn't know his place and spoke out of turn - I've +since begun discussions with the FSF and its executive director is remarkably +intelligent and decent, something I did not expect given my prior history - +more will be said about this, possibly, in future news updates, but not as +further updates to this 2023 article that you are currently reading. Good day!* + +*Some language on this page has been toned down, while not altering the substance +of this article in any way, and without removing any of the history or otherwise +any other information presented here. I remain wary of course, but my focus is +simply on Libreboot and Canoeboot - those people in GNU Boot such as Adrien +simply do not think the way I do and would likely never work with me. That is +why they have their project, and I have mine!!* From 02f623491b575a57af4db52f391a55d81dd912f7 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Tue, 18 Feb 2025 16:03:29 +0000 Subject: [PATCH 232/279] remove straggler Signed-off-by: Leah Rowe --- site/news/10.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/site/news/10.md b/site/news/10.md index f11fc0e..82914f8 100644 --- a/site/news/10.md +++ b/site/news/10.md @@ -1437,9 +1437,7 @@ date, in terms of code and documentation respectively. ### End of the Cold Boot War -**This reconciliation was cancelled. Please see the [update from January 2025](#january-1st-2025-update).** - -The *FSF* started the coldboot war. Libreboot merely won it. +The *FSF* started the coldboot war. Libreboot merely won it, decisively. From 2024 onward, unless more hostilities develop from FSF/GNU's side, I intend to adopt a more conciliatory approach toward GNU/FSF. I won the battle of 2023. From 2095c95771395f616d141e77fd19f7393cd2f276 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Wed, 19 Feb 2025 23:32:24 +0000 Subject: [PATCH 233/279] add t480 errata regarding the microphone Signed-off-by: Leah Rowe --- site/docs/install/t480.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/site/docs/install/t480.md b/site/docs/install/t480.md index 17b090e..bff77dc 100644 --- a/site/docs/install/t480.md +++ b/site/docs/install/t480.md @@ -566,6 +566,17 @@ Errata Some features either don't work, or are untested, when running Libreboot on the ThinkPad T480 or T480s. +### Microphone not working + +Tested in Debian 12.9 with PulseAudio - the built-in microphone isn't +detected at all. You can use an external USB microphone instead. + +The aux also doesn't seem to work at present; it may be related to the same +issue with headphone jack auto-switching. + +The good news is that the *webcam* seems to work just fine. All this will +need to be investigated. + ### Power-on after power failure Older Libreboot revisions made this machine always turn on, when plugging in From 7d5145149283fa0b5ecfb5ebb60f5da1adeb938b Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Thu, 20 Feb 2025 08:58:54 +0000 Subject: [PATCH 234/279] 20241206rev10 release announcement Signed-off-by: Leah Rowe --- site/news/MANIFEST | 1 + site/news/libreboot20241206.Revisions.md | 7 +++ site/news/libreboot20241206rev10.md | 68 ++++++++++++++++++++++++ 3 files changed, 76 insertions(+) create mode 100644 site/news/libreboot20241206rev10.md diff --git a/site/news/MANIFEST b/site/news/MANIFEST index d1feaa5..4f9fe40 100644 --- a/site/news/MANIFEST +++ b/site/news/MANIFEST @@ -1,3 +1,4 @@ +libreboot20241206rev10.md schedule.md libreboot20241206rev8.md libreboot20241206.md diff --git a/site/news/libreboot20241206.Revisions.md b/site/news/libreboot20241206.Revisions.md index 180b140..8ef77e3 100644 --- a/site/news/libreboot20241206.Revisions.md +++ b/site/news/libreboot20241206.Revisions.md @@ -182,3 +182,10 @@ download again, choosing 20241206rev9. The coreboot tarballs have not been replaced. The source tarball *has* been replaced. + +Revision 10 (18 February 2025) +----------- + +Several critical security fixes made to GRUB, and a few improvements to LVM +scanning in `grub.cfg` were made. Other minor fixes. A full announcement is +available in the [20241206rev10 announcement](libreboot20241206rev10.md). diff --git a/site/news/libreboot20241206rev10.md b/site/news/libreboot20241206rev10.md new file mode 100644 index 0000000..d22adc7 --- /dev/null +++ b/site/news/libreboot20241206rev10.md @@ -0,0 +1,68 @@ +% Libreboot 20241206, 10th revision released! GRUB security fixes, better LVM scanning, non-root USB2 hub support +% Leah Rowe +% 6 January 2025 + +Today's Libreboot 20241206 revision is the 10th revision in the Libreboot +20241206 stable release series. The changelog on this page is written, relative +to Libreboot 20241206 revision 9 which was released on 12 February 2025. +The *original* Libreboot 20241206 release came out on 6 December 2024. You +can find the full list of revisions [here](libreboot20241206.Revisions.md) +and the original release [here](libreboot20241206.md). + +Open source BIOS/UEFI firmware +------------------------------ + + + +Libreboot is a free/open source BIOS/UEFI replacement on x86 and ARM, providing +boot firmware that initialises the hardware in your computer, to then load an +operating system (e.g. Linux/BSD). It is specifically +a *[coreboot distribution](../docs/maintain/)*, +in the same way that Debian is a Linux distribution. It provides an automated +build system to produce coreboot ROM images with a variety of payloads such as +GRUB or SeaBIOS, with regular well-tested releases to make coreboot as easy +to use as possible for non-technical users. From a project management perspective, +this works in *exactly* the same way as a Linux distro, providing a source-based +package manager (called lbmk) which patches sources and compiles coreboot images. +It makes use of [coreboot](https://www.coreboot.org/) for hardware initialisation, +and then a payload such as [SeaBIOS](https://www.seabios.org/SeaBIOS) +or [GRUB](https://www.gnu.org/software/grub/) to boot your operating +system; on ARM(chromebooks), we provide *U-Boot* (as a coreboot payload). + +We also provide an experimental U-Boot setup on x86, as a coreboot payload for +providing a minimal UEFI implementation. + +### Regarding revision 10 + +Normally, revisions would only be documented on +the [Libreboot 20241206 revisions page](libreboot20241206.Revisions.md), but +this revision contains *critical security fixes*, so it was decided that there +should be a full announcement, to ensure that more people see it. + +Summarised list of changes +------------------------ + +### Revision updates + +GRUB released *73 patches* to its main branch, fixing a large number of +security issues. You can read about them here: + + + +This updates GRUB to revision `4dc6166571645780c459dde2cdc1b001a5ec844c` +from 18 February 2025. Several OOB heap writes, buffer overflows, use after +frees and so on, are now prevented with this update. + +### Feature changes + +In addition to the security fixes, several out-of-tree fixes from Libreboot's +main branch have been merged for GRUB, fixing bugs in the xHCI driver, and +adding support for non-root USB2 hubs on platforms that use the `xhci` GRUB +tree. + +### Configuration changes + +Changes to the GRUB configuration have been made, to make scanning of LVM +volume/group names more reliable, including on full-disk-encryption setups. +More such changes are planned for the next major release; the current changes +are very minor. From 380d78a68ebb70c99d0115705c6984a4d06c3018 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Thu, 20 Feb 2025 09:16:42 +0000 Subject: [PATCH 235/279] fix date Signed-off-by: Leah Rowe --- site/news/libreboot20241206rev10.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/news/libreboot20241206rev10.md b/site/news/libreboot20241206rev10.md index d22adc7..d37f268 100644 --- a/site/news/libreboot20241206rev10.md +++ b/site/news/libreboot20241206rev10.md @@ -1,6 +1,6 @@ % Libreboot 20241206, 10th revision released! GRUB security fixes, better LVM scanning, non-root USB2 hub support % Leah Rowe -% 6 January 2025 +% 18 February 2025 Today's Libreboot 20241206 revision is the 10th revision in the Libreboot 20241206 stable release series. The changelog on this page is written, relative From 5589d09492117b8cdf26c8aa3bcbeec254e0b932 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Fri, 28 Feb 2025 08:48:25 +0000 Subject: [PATCH 236/279] update revnotes on the home page Signed-off-by: Leah Rowe --- site/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/site/index.md b/site/index.md index 80c6cfe..59bd950 100644 --- a/site/index.md +++ b/site/index.md @@ -28,8 +28,8 @@ of these payloads in a single image, and you choose one at boot time. **NEW RELEASE: The latest release is Libreboot 20241206, released on 6 December 2024. See: [Libreboot 20241206 release announcement](news/libreboot20241206.md) - the -newest revision release, Libreboot 20241206 revision 8, is from 6 -January 2025.** +newest revision release, Libreboot 20241206 revision 10, is from 18 +February 2025.** You can also [buy Libreboot preinstalled](https://minifree.org/) from Minifree Ltd, on select hardware, as well as send your compatible hardware From 5109958992afd8ffd94ca84a1803943abbb9af01 Mon Sep 17 00:00:00 2001 From: "Skylar \"The Cobra\" Astaroth" Date: Wed, 5 Mar 2025 09:28:46 -0500 Subject: [PATCH 237/279] MA472LL/A tested and working There was also a formatting error that I corrected --- site/docs/install/macbook21.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/site/docs/install/macbook21.md b/site/docs/install/macbook21.md index c18e9de..e5db56b 100644 --- a/site/docs/install/macbook21.md +++ b/site/docs/install/macbook21.md @@ -85,7 +85,7 @@ Specifically (Order No. / Model No. / CPU) for the MacBook1,1: * MA255LL/A / A1181 (EMC 2092) / Core Duo T2500 *(tested - working)* * MA254LL/A / A1181 (EMC 2092) / Core Duo T2400 *(tested - working)* -* MA472LL/A / A1181 (EMC 2092) / Core Duo T2500 (untested) +* MA472LL/A / A1181 (EMC 2092) / Core Duo T2500 *(tested - working)* For the MacBook2,1: @@ -94,9 +94,11 @@ For the MacBook2,1: * MA701LL/A / A1181 (EMC 2121) / Intel Core 2 Duo T7200 *(tested - working)* * MB061LL/A / A1181 (EMC 2139) / Intel Core 2 Duo T7200 *(tested - + working)* * MA700LL/A / A1181 (EMC 2121) / Intel Core 2 Duo T7200 *(tested - working)* -* MB063LL/A / A1181 (EMC 2139) / Intel Core 2 Duo T7400 *(tested - working)* +* MB063LL/A / A1181 (EMC 2139) / Intel Core 2 Duo T7400 *(tested - + working)* * MB062LL/A / A1181 (EMC 2139) / Intel Core 2 Duo T7400 *(tested - working)* From 198b3c6d20f5219a26adbbec4e6a889e1b4180c4 Mon Sep 17 00:00:00 2001 From: can kurttekin Date: Sun, 9 Mar 2025 15:33:51 +0300 Subject: [PATCH 238/279] Turkish translations for couple of pages. --- site/contact.tr.md | 79 +++++++++++ site/docs/index.tr.md | 42 ++++++ site/docs/install/x200.tr.md | 246 +++++++++++++++++++++++++++++++++++ site/download.tr.md | 179 +++++++++++++++++++++++++ site/faq.tr.md | 234 +++++++++++++++++++++++++++++++++ site/freedom-status.tr.md | 207 +++++++++++++++++++++++++++++ site/git.tr.md | 161 +++++++++++++++++++++++ site/index.tr.md | 85 ++++++++++++ site/logo-license.tr.md | 14 ++ site/template-license.tr.md | 28 ++++ 10 files changed, 1275 insertions(+) create mode 100644 site/contact.tr.md create mode 100644 site/docs/index.tr.md create mode 100644 site/docs/install/x200.tr.md create mode 100644 site/download.tr.md create mode 100644 site/faq.tr.md create mode 100644 site/freedom-status.tr.md create mode 100644 site/git.tr.md create mode 100644 site/index.tr.md create mode 100644 site/logo-license.tr.md create mode 100644 site/template-license.tr.md diff --git a/site/contact.tr.md b/site/contact.tr.md new file mode 100644 index 0000000..c891ff1 --- /dev/null +++ b/site/contact.tr.md @@ -0,0 +1,79 @@ +--- +title: Libreboot Projesi ile İletişim +x-toc-enable: true +... + +Libreboot Önyüklenmiş Olarak Satın Alın +-------------------------------------- + +Profesyonel kurulum istiyorsanız, Minifree Ltd seçili donanımlarda [Libreboot önyüklenmiş](https://minifree.org/) cihazlar satmaktadır ve ayrıca makinenizi göndererek Libreboot kurulumu yaptırmak istiyorsanız [Libreboot önyükleme hizmeti](https://minifree.org/product/installation-service/) sunmaktadır. + +Libreboot'un kurucusu ve baş geliştiricisi Leah Rowe aynı zamanda Minifree Ltd'yi de işletmektedir; satışlar Libreboot projesi için finansman sağlamaktadır. + +Libreboot'u kendiniz kuruyorsanız, bunun için de destek mevcuttur. İletişim bilgileri (IRC, e-posta listesi vb.) aşağıdadır: + +Kullanıcı Desteği +---------------- + +Destek istemek istiyorsanız IRC veya Reddit önerilir (IRC önerilir). IRC ve Reddit hakkında bilgi için aşağıya bakın. + +E-posta Listesi +-------------- + +Libreboot'un şu e-posta listesi vardır: + + +E-posta adresi: [~libreboot/libreboot@lists.sr.ht](mailto:~libreboot/libreboot@lists.sr.ht) + +Geliştirme Tartışmaları +---------------------- + +Geliştirmeye nasıl yardımcı olabileceğiniz hakkında bilgi için [Git sayfasındaki](git.md) notlara bakın. + +Yamaları (çekme istekleri aracılığıyla) nasıl göndereceğinize dair talimatlar da o sayfada bulunmaktadır. + +IRC Sohbet Odası +--------------- + +IRC, Libreboot projesiyle iletişim kurmanın ana yoludur. Libera IRC'de `#libreboot` kanalı. + +Web sohbeti: + + +Libera, Özgür Yazılım projeleri için kullanılan en büyük IRC ağlarından biridir. Onlar hakkında daha fazla bilgiyi burada bulabilirsiniz: + +Tercih ettiğiniz istemciyi (weechat veya irssi gibi) kullanarak bağlanmak isterseniz, bağlantı bilgileri şu şekildedir: + +* Sunucu: `irc.libera.chat` +* Kanal: `#libreboot` +* Port (TLS): `6697` +* Port (TLS olmayan): `6667` + +TLS şifrelemesi etkin olarak `6697` portunu kullanmanızı öneririz. + +Kimlik doğrulama için SASL kullanmanız önerilir. Libera web sitesindeki şu sayfalar size nasıl yapılacağını anlatır: + +* WeeChat SASL kılavuzu: +* Irssi SASL kılavuzu: +* HexChat SASL kılavuzu: + +Genel olarak, IRC yazılımınızın sağladığı belgeleri kontrol etmelisiniz. + +Sosyal Medya +----------- + +Libreboot resmi olarak birçok yerde bulunmaktadır. + +### Mastodon + +Kurucu ve baş geliştirici Leah Rowe, Mastodon'da: + +* + +Leah'ya ayrıca şu e-posta adresinden ulaşılabilir: +[leah@libreboot.org](mailto:leah@libreboot.org) + +### Reddit + +Çoğunlukla destek kanalı olarak ve ayrıca haber duyuruları için kullanılır: + \ No newline at end of file diff --git a/site/docs/index.tr.md b/site/docs/index.tr.md new file mode 100644 index 0000000..485230a --- /dev/null +++ b/site/docs/index.tr.md @@ -0,0 +1,42 @@ +--- +title: Libreboot Özgür/Açık Kaynak BIOS/UEFI Yazılımını Yükleme +... + +Libreboot ile ilgili en son güncellemeler için her zaman [libreboot.org](https://libreboot.org/) adresini kontrol edin. Haberler ve sürüm duyuruları [ana haberler bölümünde](../news/) bulunabilir. + +[Libreboot hakkında Sıkça Sorulan Sorular](../faq.md). + +Yardıma mı ihtiyacınız var? +-------------------------- + +[Libreboot IRC](../contact.md) ve diğer kanallarda yardım alabilirsiniz. + +Profesyonel kurulum istiyorsanız, Minifree Ltd seçili donanımlarda [Libreboot ön yüklü](https://minifree.org/) sistemler satmaktadır ve ayrıca cihazınızı göndererek Libreboot kurulumu yaptırabileceğiniz bir [Libreboot ön yükleme hizmeti](https://minifree.org/product/installation-service/) sunmaktadır. + +Libreboot'un kurucusu ve baş geliştiricisi Leah Rowe aynı zamanda Minifree Ltd'nin sahibi ve işletmecisidir; satışlar Libreboot projesi için finansman sağlamaktadır. + +Libreboot'u yükleme +------------------ + +- [Libreboot nasıl yüklenir](install/) + +İşletim sistemlerini yükleme +--------------------------- + +- [Libreboot üzerine BSD işletim sistemleri kurulumu](bsd/) +- [Libreboot sistemine Linux kurulumu](linux/) + +Geliştiriciler için bilgiler +--------------------------- + +- [Libreboot kaynak kodunu nasıl derleyebilirsiniz](build/) +- [Yapı sistemi geliştirici dokümantasyonu](maintain/) +- [GRUB yükleyici](grub/) +- [U-Boot yükleyici](uboot/) + +Diğer bilgiler +------------- + +- [Libreboot Statik Site Oluşturucu](sitegen/) +- [Çeşitli](misc/) +- [Kod adları listesi](misc/codenames.md) \ No newline at end of file diff --git a/site/docs/install/x200.tr.md b/site/docs/install/x200.tr.md new file mode 100644 index 0000000..6909b8c --- /dev/null +++ b/site/docs/install/x200.tr.md @@ -0,0 +1,246 @@ +--- +title: Lenovo ThinkPad X200 / X200s / X200 Tablet'e Libreboot Kurulumu +x-toc-enable: true +... + +
    +
    +ThinkPad X200 +
    + +| ***Özellikler*** | | +|---------------------------|------------------------------------------------| +| **Üretici** | Lenovo | +| **Model** | ThinkPad X200/X200S/X200 Tablet | +| **Çıkış Tarihi** | Temmuz/Eylül 2009 | +| **Yonga Seti** | Intel Cantiga GM45 | +| **İşlemci** | Intel Core 2 Duo (Penryn ailesi) | +| **Ekran Kartı** | Intel GMA X4500MHD | +| **Ekran** | 1280x800/1440x900 TFT | +| **Bellek** | 1,2,3 veya 4GB (Resmi olmayan şekilde 8GB'a kadar yükseltilebilir) | +| **Mimari** | x86\_64 | +| **EC** | Tescilli | +| **Orijinal önyükleme yazılımı** | LenovoBIOS | +| **Intel ME/AMD PSP** | Mevcut. Tamamen devre dışı bırakılabilir. | +| **Flash yongası** | SOIC-8/SOIC-16/WSON-8 4MiB/8MiB (16MiB'a yükseltilebilir) | + +``` +W+: Üretici yazılımı olmadan çalışır; +N: Çalışmaz; +W*: Üretici yazılımı ile çalışır; +U: Test edilmedi; +P+: Kısmen çalışır; +P*: Üretici yazılımı ile kısmen çalışır +``` + +| ***Özellikler*** | | +|------------------|---------------------------------------| +| **Orijinal önyükleme yazılımı ile dahili flaşlama** | N | +| **Ekran** | W+ | +| **Ses** | W+ | +| **RAM Başlatma** | W+ | +| **Harici çıkış** | W+ | +| **Ekran parlaklığı** | P+ | + +| ***Desteklenen Yükleyiciler*** | | +|--------------------------------|-----------| +| **GRUB** | Çalışıyor | +| **SeaBIOS** | Çalışıyor | +| **SeaBIOS ve GRUB** | Çalışıyor | +
    + +Açık kaynak BIOS/UEFI yazılımı +------------------------- + +Bu belge, Lenovo ThinkPad X200, X200s veya X200 Tablet dizüstü bilgisayar anakartınıza +Libreboot'u nasıl kuracağınızı öğretecektir. Libreboot, tescilli BIOS/UEFI yazılımının +yerini alan bir [Özgür Yazılım](https://writefreesoftware.org/learn) projesidir. + +Tüm X200 dizüstü bilgisayarların uyumlu olduğuna inanılmaktadır. X200S ve X200 +Tablet de [yapılandırmaya bağlı olarak](#x200s) çalışacaktır. + +X200 anakartını X201 kasasına takmak mümkün olabilir, ancak bu henüz libreboot +projesi tarafından test edilmemiştir. Aynı durum X200S ve X201S arasında da +geçerli olabilir; bu da test edilmemiştir. *Büyük olasılıkla doğrudur.* + +X200 için iki olası flash yonga boyutu vardır: 4MiB (32Mbit) veya 8MiB (64Mbit). +Bu, avuç içi desteğinin altındaki flash yongasının türüne göre belirlenebilir: +4MiB SOIC-8, 8MiB SOIC-16'dır. + +*X200 dizüstü bilgisayarlar, libreboot'u flaşlamadan önce ME (ve bazen ek olarak AMT) +ile birlikte gelir. libreboot, değiştirilmiş bir tanımlayıcı kullanarak bunu devre +dışı bırakır ve kaldırır.* + +Flaşlama talimatları [../install/\#flashprog](../install/#flashprog) adresinde +bulunabilir. + +**NOT: Libreboot, 27 Ocak 2024 itibariyle artık [flashprog](https://flashprog.org/wiki/Flashprog) +kullanmaktadır; bu, flashrom'un bir çatallamasıdır. Bunun nedeni +[Libreboot 20240225 sürümünde](../../news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom) +açıklanmıştır.** + +Dell Latitude E6400 +------------------- + +**Henüz bir X200 satın almadıysanız: [Dell Latitude E6400](../install/latitude.md) +flaşlaması çok daha kolaydır; sökme işlemi gerekmez, Dell BIOS'tan Libreboot'a +tamamen yazılım üzerinden flaşlanabilir. Aynı donanım neslidir (GM45), aynı +işlemciler, video işlemci vb. ile.** + +EC güncellemesi {#ecupdate} +--------------------- + +En son EC yazılımı sürümüne güncellemeniz önerilir. [EC yazılımı](../../faq.md#ec-embedded-controller-firmware) +libreboot'tan ayrıdır, bu yüzden biz aslında bunu sağlamıyoruz, ancak hala +Lenovo BIOS kullanıyorsanız, hem BIOS hem de EC sürümünü güncelleyecek olan +Lenovo BIOS güncelleme yardımcı programını çalıştırabilirsiniz. Bakınız: + +- [../install/#flashprog](../install/#flashprog) +- +- [X200, X200s, X200si BIOS Güncellemesi](http://pcsupport.lenovo.com/au/en/products/laptops-and-netbooks/thinkpad-x-series-laptops/thinkpad-x200/downloads/ds015007) +- [X200t BIOS Güncellemesi](http://pcsupport.lenovo.com/au/en/products/laptops-and-netbooks/thinkpad-x-series-tablet-laptops/thinkpad-x200-tablet/downloads/ds018814) + +NOT: Bu işlem yalnızca Lenovo BIOS kullanırken yapılabilir. libreboot çalışırken +EC yazılımını nasıl güncelleyeceğiniz bilinmemektedir. libreboot yalnızca BIOS +yazılımının yerini alır, EC'nin değil. + +Güncellenmiş EC yazılımının daha iyi pil yönetimi gibi birçok avantajı vardır. + +Pil Geri Çağırma {#batteryrecall} +------------------------------ + +[21 Nisan 2015'te Lenovo, X200 ve X200S'in de dahil olduğu bazı ThinkPad modellerinde +bulunan Lenovo pillerinin geri çağırma kapsamını genişletti.](https://pcsupport.lenovo.com/cr/en/solutions/hf004122) +Etkilenip etkilenmediğinizi öğrenmek için [bu Lenovo aracını kullanın.](https://lenovobattery2014.orderz.com/) +Lenovo, geri çağrılan modellerin sahiplerinin "sistemi kapatmasını, pili çıkarmasını +ve ThinkPad'i yalnızca AC adaptörü ve güç kablosunu takarak çalıştırmasını" öneriyor. +Pil doğrulamasının ardından Lenovo, geri çağrılan pilleri ücretsiz olarak değiştirecektir. +X200/X200s için pil değiştirme talimatları [bu sayfada](https://pcsupport.lenovo.com/cr/en/parts/pd003507/) +bulunabilir. + +LCD uyumluluk listesi {#lcd_supported_list} +---------------------- + +LCD panel listesi (X200 panelleri burada listelenmiştir): + + +X200, X200S ve X200 Tablet için tüm LCD panellerin çalıştığı bilinmektedir. + +### AFFS/IPS paneller {#ips} + +#### X200 + + adresinden +uyarlanmıştır. + +TN ve IPS paneller arasındaki fark için wikipedia'ya bakın. IPS'ler normal bir +TN'den çok daha iyi renk/kontrasta sahiptir ve genellikle iyi görüş açılarına +sahip olacaktır. + +Bunlar X200 tabletten geliyor gibi görünüyor. Üzerinde cam dokunmatik ekran +koruması olmayan bir tane bulmanız gerekiyor (ancak bunu çıkarmak mümkün +olabilir). Ayrıca üzerinde sayısallaştırıcı olmamalıdır (yine, sayısallaştırıcıyı +çıkarmak mümkün olabilir). + +- BOE-Hydis HV121WX4-120, HV121WX4-110 veya HV121WX4-100 - ucuz sayılır, + bulmak zor olabilir + +- Samsung LTN121AP02-001 - yaygın olarak bulunur, ucuz + +*X200'ünüzde LED arkadan aydınlatmalı bir panel varsa, CCFL panellerle uyumlu +bir invertör ve kablo demeti de almanız gerekir. Hangi panel tipine sahip +olduğunuzu görmek için [\#led\_howtotell](#led_howtotell) bölümüne bakın. +İnvertör/kablo gerekiyorsa, parça numaraları şunlardır: bluetooth ve kamera +bağlantıları ile CCFL LVDS kablosu için 44C9909 ve invertör için 42W8009 +veya 42W8010.* + +Bunların parlak ve mat versiyonları vardır. Mat, yansıma önleyici anlamına +gelir ki bu istediğiniz şeydir (bu yazarın görüşüne göre). + +Ekranın nasıl değiştirileceği için HMM'ye (donanım bakım kılavuzu) bakın. + +Kaynaklar: + +- [ThinkPad Forums - X200'de Mat AFFS Panel](http://forum.thinkpads.com/viewtopic.php?f=2&t=84941) +- [ThinkPad Forums - X200 AFFS Modifikasyonu için Parçalar](http://forum.thinkpads.com/viewtopic.php?p=660662#p660662) +- [ThinkWiki.de - X200 Ekran Değişimi](http://thinkwiki.de/X200_Displayumbau) + +#### X200S + + X200S ekranlarının/ +montajlarının daha ince olduğunu açıklıyor. Kapağın tamamını normal bir X200/X201'den +gelen bir kapakla değiştirmeniz gerekiyor. + +### LED mi CCFL mi olduğunu nasıl anlarım? {#led_howtotell} + +Bazı X200'lerde LCD panellerinde CCFL arka aydınlatma, bazılarında LED arka +aydınlatma vardır. Bu aynı zamanda invertörlerin de değişeceği anlamına gelir, +bu yüzden paneli ve/veya invertörü değiştirirken dikkatli olmalısınız. (CCFL +invertör yüksek voltajlıdır ve LED arkadan aydınlatmalı bir paneli tahrip eder). + +CCFL'ler cıva içerir. CCFL arka aydınlatmalı bir X200 (doğru invertörle LED'e +değiştirilmemişse. Tedarikçinize danışın!) şunu söyleyecektir: *"Bu ürün Lityum +İyon Pil, Lityum Pil ve cıva içeren bir lamba içerir; yerel, eyalet veya federal +yasalara göre bertaraf edin"* (LED arkadan aydınlatmalı bir panele sahip olan +farklı bir şey söyleyecektir). + +Kurulum notları +------------------ + +Lenovo BIOS çalışıyorsa [harici flaşlama](spi.md) gereklidir. + +Bu kılavuz, ThinkPad X200'lerinde hala orijinal Lenovo BIOS'u bulunan ve +libreboot isteyenler içindir. Bu kılavuz ayrıca X200'ünüzü bozarsanız, +kurtarmanın nasıl yapılacağını bilmek için de (uyarlanarak) takip edilebilir. + +Orijinal Lenovo yazılımı çalışıyorsa, flash yongasına erişebilmek için klavyeyi +ve avuç içi desteğini çıkarmanız gerekecektir; yonga avuç içi desteğinin hemen +altındadır. Ardından harici bir SPI programlayıcı bağlayacak ve pil çıkarılmış +durumdayken kapalıyken yongayı harici olarak yeniden flaşlayacaksınız. + +NOT: Bu kılavuz yalnızca normal X200 için geçerlidir. X200S ve X200 Tablet +flaşlaması için lütfen libreboot.org'da bulunan diğer kılavuzları okuyun. + +### Flash yonga boyutu + +Flash yonga modelini ve boyutunu öğrenmek için x200'de bu komutu çalıştırın: + + flashprog -p internal + +### MAC adresi + +[mac\_address.md](mac_address.md) dosyasına bakın. + +### Prosedür + +Bu bölüm X200 içindir. Bu, X200S veya X200 Tablet için geçerli değildir +(bu sistemler için, flash yongası kartın diğer tarafında olduğundan anakartı +tamamen çıkarmanız gerekir). + +Bu vidaları çıkarın:\ +![](https://av.libreboot.org/x200/disassembly/0003.jpg) + +Klavyeyi nazikçe ekrana doğru itin, ardından kaldırın ve isteğe bağlı olarak +karttan bağlantısını kesin:\ +![](https://av.libreboot.org/x200/disassembly/0004.jpg) +![](https://av.libreboot.org/x200/disassembly/0005.jpg) + +Parmak izi okuyucusunun kablosunu çıkarın ve ardından avuç içi desteğini +sol ve sağ tarafından kaldırarak yukarı çekin:\ +![](https://av.libreboot.org/x200/disassembly/0006.1.jpg) +![](https://av.libreboot.org/x200/disassembly/0006.jpg) + +Bu, hem SOIC-8 hem de SOIC-16 için flash yongasının konumunu gösterir:\ +![](https://av.libreboot.org/x200/x200_soic16.jpg) +![](https://av.libreboot.org/x200/x200_soic8.jpg) + +Flash yongasının bir kısmını örten bandı kaldırın ve ardından klipsi bağlayın:\ +![](https://av.libreboot.org/x200/disassembly/0008.jpg) + +Artık libreboot'u kurmaya hazır olmalısınız. + +[SPI programlama talimatlarına](spi.md) bakın. + +İşiniz bittiğinde, sistemi tekrar bir araya getirin. Önyükleme yapmazsa, bu +platformda (coreboot'ta) raminit çok güvenilmez olduğu için diğer RAM modüllerini +deneyin. \ No newline at end of file diff --git a/site/download.tr.md b/site/download.tr.md new file mode 100644 index 0000000..e688586 --- /dev/null +++ b/site/download.tr.md @@ -0,0 +1,179 @@ +--- +title: Libreboot Özgür/Açık Kaynaklı BIOS/UEFI Yazılımını İndirin +x-toc-enable: true +... + +Yeni sürümler [ana haberler bölümünde](news/) duyurulur. + +Libreboot geliştirmesiyle daha çok ilgileniyorsanız, Git depolarına bağlantılar da içeren [libreboot geliştirme sayfasına](../git.md) gidin. [/docs/maintain/](docs/maintain/) sayfasında Libreboot'un nasıl bir araya getirildiği ve nasıl bakım yapılacağı açıklanmaktadır. Libreboot'u kaynak koddan derlemek istiyorsanız, [bu sayfayı okuyun](docs/build/). + +Libreboot Önyüklenmiş Olarak Satın Alın +-------------------------------------- + +Profesyonel kurulum istiyorsanız, Minifree Ltd seçili donanımlarda [Libreboot önyüklenmiş](https://minifree.org/) cihazlar satmaktadır ve ayrıca makinenizi göndererek Libreboot kurulumu yaptırmak istiyorsanız [Libreboot önyükleme hizmeti](https://minifree.org/product/installation-service/) sunmaktadır. + +Libreboot'un kurucusu ve baş geliştiricisi Leah Rowe aynı zamanda Minifree Ltd'yi de işletmektedir; satışlar Libreboot projesi için finansman sağlamaktadır. + +Güvenlik Uyarısı +--------------- + +**KURULUMDAN ÖNCE LÜTFEN [BU TALİMATLARI OKUYUN](docs/install/ivy_has_common.md), +AKSİ TAKDİRDE CİHAZINIZI BOZMUŞ OLABİLİRSİNİZ!! - Lütfen bağlantıya tıklayın ve oradaki talimatları +takip edin. Hatırlatma olarak, [işte bağlantı tekrar burada](docs/install/ivy_has_common.md).** + +GPG İmza Anahtarı +---------------- + +**En son sürüm, `stable` dizini altındaki Libreboot 20241206'dır.** + +### YENİ ANAHTAR + +Tam anahtar parmak izi: `8BB1 F7D2 8CF7 696D BF4F 7192 5C65 4067 D383 B1FF` + +Bu anahtar, 20240126 sürümünden *sonraki* Libreboot sürümleri içindir. 2024 yılındaki tüm Libreboot sürümleri için geçerlidir ve (erken iptal edilmezse) 26 Aralık 2028'de sona erecektir. + +Anahtarı buradan indirin: [lbkey.asc](lbkey.asc) + +Libreboot sürümleri GPG kullanılarak imzalanır. + +### ESKİ ANAHTAR + +Tam anahtar parmak izi: `98CC DDF8 E560 47F4 75C0 44BD D0C6 2464 FA8B 4856` + +Bu anahtar, 20160907 sürümünden *sonraki* ve Libreboot 20240126 sürümüne kadar olan Libreboot sürümleri içindir. Bu anahtar Aralık 2023'te *sona erdi*, bu nedenle Libreboot 20240126'dan sonraki sürümler için *yeni* anahtarı (yukarıya bakın) kullanmalısınız. + +Anahtarı buradan indirin: [lbkey.asc](lbkeyold.asc) + +Libreboot sürümleri GPG kullanılarak imzalanır. + +### ESKİ ESKİ ANAHTAR: + +Bu anahtar Libreboot 20160907 ve 20160907'den eski sürümler içindir: + +Tam anahtar parmak izi: CDC9 CAE3 2CB4 B7FC 84FD C804 969A 9795 05E8 C5B2 + +GPG anahtarı ayrıca bu dışa aktarılmış pubkey dökümüyle de indirilebilir: [lbkeyold.asc](lbkeyoldold.asc). + + sha512sum -c sha512sum.txt + gpg --verify sha512sum.txt.sig + +Git Deposu +--------- + +Bu sayfada düzenli sürüm arşivlerine bağlantılar listelenmiştir. + +Ancak, Libreboot'un en güncel sürümü için indirebileceğiniz bir Git deposu vardır. Buraya gidin: + +[Libreboot'u Git'ten nasıl indirirsiniz](git.md) + +HTTPS Yansıları {#https} +-------------- + +**En son sürüm, `stable` dizini altındaki Libreboot 20241206'dır.** + +Bu yansılar TLS (https://) şifrelemesi kullandığı için önerilir. + +Libreboot'u bu yansılardan indirebilirsiniz: + +* (Princeton +üniversitesi, ABD) +* (shapovalov.website, Ukrayna) +* (Kent +Üniversitesi, BK) +* (MIT üniversitesi, ABD) +* (koddos.net, Hollanda) +* (koddos.net, Hong Kong) +* (cyberbits.eu, Fransa) + +RSYNC Yansıları {#rsync} +-------------- + +Aşağıdaki rsync yansıları herkese açık olarak kullanılabilir: + +* (Kent Üniversitesi, +BK) +* (Princeton üniversitesi, ABD) +* (shapovalov.website, Ukrayna) +* (linux.ro, Romanya) +* (koddos.net, Hollanda) +* (koddos.net, Hong Kong) + +Bir yansı mı çalıştırıyorsunuz? Libreboot projesiyle iletişime geçin, bağlantı bu sayfaya eklenecektir! + +Rsync yansınızı web sunucunuz üzerinden kullanıma sunabilir ve ayrıca *kendi* yansınızı rsync üzerinden erişilebilir olacak şekilde yapılandırabilirsiniz. İnternette bir rsync sunucusunun nasıl kurulacağını gösteren birçok kaynak vardır. + +Kendi rsync yansınızı nasıl oluşturursunuz: + +Libreboot'un tüm sürüm arşivlerini yansılamak için kullanışlıdır. Bir rsync komutunu crontab'a koyabilir ve dosyaları web sunucunuzdaki bir dizine çekebilirsiniz. + +Tüm seti yansılayacaksanız, en az 25GiB ayırmanız önerilir. Libreboot'un rsync'i şu anda yaklaşık 12GiB'dir, bu nedenle 25GiB ayırmak size gelecek için bol alan sağlayacaktır. Minimum olarak, Libreboot yansınız için en az 15-20GiB alan kullanılabilir olduğundan emin olmalısınız. + +Resmi bir yansı barındırmak istiyorsanız, *libreboot.org yansısını kullanmanız şiddetle önerilir*. Aksi takdirde, sadece kendi yerel yansınızı oluşturmak istiyorsanız, libreboot.org'dan senkronize olan diğer yansılardan birini kullanmalısınız. + +Yansıyı oluşturmadan önce, web sunucunuzda bir dizin oluşturun. Örneğin: + + mkdir /var/www/html/libreboot/ + +Şimdi rsync'i çalıştırabilirsiniz, örneğin: + + rsync -avz --delete-after rsync://rsync.libreboot.org/mirrormirror/ /var/www/html/libreboot/ + +Bunu saatlik bir crontab'a koyabilirsiniz. Örneğin: + + crontab -e + +Ardından crontab'a bu satırı ekleyin ve kaydedin/çıkın (saatlik crontab): + + 0 * * * * rsync -avz --delete-after rsync://rsync.libreboot.org/mirrormirror/ /var/www/html/libreboot/ + +**Yukarıdaki rsync komutunda her yolun sonunda ileri eğik çizginin (/) olması son derece önemlidir. +Aksi takdirde, rsync çok garip davranacaktır.** + +**NOT: `rsync.libreboot.org` doğrudan halka açık değildir, yalnızca +IP'leri beyaz listeye alınanlar erişebilir. Bant genişliği nedeniyle, libreboot.org'da çalışan +güvenlik duvarı, belirli IP'ler dışında gelen rsync isteklerini engeller.** + +**Bir rsync yansısı çalıştırmak istiyorsanız, yukarıdaki üçüncü taraf yansılarından birinden senkronize edin +ve yansınızı kurun. Ardından IP adreslerinizin rsync kullanımı için beyaz listeye alınması için +Leah Rowe ile iletişime geçebilirsiniz - IP adresleri rsync ana bilgisayarınızın DNS A/AAAA +kayıtlarıyla eşleşiyorsa, bu kullanılabilir. libreboot.org'da saatlik bir crontab'da çalışan bir betik, +beyaz listeye alınmış rsync yansılarının A/AAAA kayıtlarını otomatik olarak alır ve güvenlik duvarından +geçmelerine izin veren kurallar ekler.** + +Rsync yansınızı düzenli olarak güncel tutmak istiyorsanız, bir crontab'a ekleyebilirsiniz. Bu sayfa size crontab'ın nasıl kullanılacağını anlatır: + + +HTTP Yansıları {#http} +------------- + +**En son sürüm, `stable` dizini altındaki Libreboot 20241206'dır.** + +UYARI: bu yansılar HTTPS olmadığı için şifrelenmemiştir. Trafiğiniz +kötü niyetli kişiler tarafından müdahaleye uğrayabilir. Doğru anahtara sahip olduğunuzu +varsayarak, özellikle GPG imzalarını kontrol ettiğinizden emin olun. Tabii ki, +HTTPS kullansanız bile bunu yapmalısınız. + +* (linux.ro, Romanya) +* (in-berlin.de, Almanya) + +FTP Yansıları {#ftp} +------------ + +**En son sürüm, `stable` dizini altındaki Libreboot 20241206'dır.** + +UYARI: FTP de HTTP gibi şifrelenmemiştir. Aynı riskler mevcuttur. + +* (Kent +Üniversitesi, BK) +* (linux.ro, Romanya) + +Statik Olarak Bağlanmış +---------------------- + +Libreboot, bazı sürümlerde mevcut kaynak koddan derlenmiş statik olarak bağlanmış yürütülebilir dosyalar içerir. Bu yürütülebilir dosyalar, birçok Linux dağıtımında çalışabilmeleri için belirli kitaplıkları içlerinde barındırır. + +GPL v2'ye uymak için, Libreboot projesi tarafından kaynak ISO'lar sağlanır. Bu kaynak ISO'ları `rsync` yansılarındaki `ccsource` dizininde bulabilirsiniz. + +20160907 sürümünden sonraki Libreboot sürümleri statik olarak bağlanmış ikili dosyalar dağıtmaz. Bunun yerine, bu sürümler normal Libreboot kaynak kodu arşivlerinin yeterli olduğu önceden derlenmiş ROM imajları dışında yalnızca kaynak içerir. Bu yeni sürümler bunun yerine derleme bağımlılıklarının kurulumunu otomatikleştirir ve çeşitli yardımcı programları kaynak koddan derlemek için belgelerde talimatlar sunar. + +Bu yürütülebilir dosyalar `flashprog` gibi yardımcı programlardır. \ No newline at end of file diff --git a/site/faq.tr.md b/site/faq.tr.md new file mode 100644 index 0000000..0700117 --- /dev/null +++ b/site/faq.tr.md @@ -0,0 +1,234 @@ +--- +title: Libreboot Yazılımı Hakkında Sık Sorulan Sorular +x-toc-enable: true +... + +**NOT: Libreboot, 27 Ocak 2024 itibariyle artık flashrom'un bir çatalı olan [flashprog](https://flashprog.org/wiki/Flashprog)'u standart olarak kullanmaktadır. +Bunun nedeni [Libreboot 20240225 sürümünde](news/libreboot20240225.md#flashprog-now-used-instead-of-flashrom) açıklanmıştır** + +Diğer adıyla Sıkça Sorgulanan Yanıtlar + +Yazılım Yüklemeden Önce Güvenliği Devre Dışı Bırakın +--------------------------------------------------- + +Dahili yazılım yüklemeden önce, `/dev/mem` korumalarını devre dışı bırakmanız gerekir. İşiniz bittiğinde tekrar etkinleştirdiğinizden emin olun. + +Bakınız: [/dev/mem korumasını devre dışı bırakma](docs/install/devmem.md) + +Libreboot Önyüklenmiş Olarak Satın Alın +-------------------------------------- + +Profesyonel kurulum istiyorsanız, Minifree Ltd seçili donanımlarda [Libreboot önyüklenmiş](https://minifree.org/) cihazlar satmaktadır ve ayrıca makinenizi göndererek Libreboot kurulumu yaptırmak istiyorsanız [Libreboot önyükleme hizmeti](https://minifree.org/product/installation-service/) sunmaktadır. + +Libreboot'un kurucusu ve baş geliştiricisi Leah Rowe aynı zamanda Minifree Ltd'yi de işletmektedir; satışlar Libreboot projesi için finansman sağlamaktadır. + +Önemli Konular +------------- + +### Libreboot'u kaynak koddan nasıl derlerim? + +[lbmk derleme talimatlarına](docs/build/) bakın. + +### Derleme sistemi nasıl çalışır? + +[lbmk bakım kılavuzuna](docs/maintain/) bakın. + +### CH341A Kullanmayın! + +Bu SPI programlayıcı çipinize ve bağlı olduğu anakarta zarar verecektir. + +Daha fazla bilgi için [docs/install/spi.md](docs/install/spi.md) sayfasındaki CH341A hakkındaki notları okuyun. + +### Nasıl Yardımcı Olabilirim + +Projeye önemli ölçüde yardımcı olmak için yetenekli bir geliştirici olmanız gerekmez. +Coreboot tarafından desteklenen bir kartınız varsa, onu Libreboot'a [port etmeyi](/docs/maintain/porting.md) düşünün. + +Libreboot'ta desteklenen bir kartınız varsa, lütfen test edici olmayı düşünün. +Test etmek minimal çaba gerektirir ve projeye gerçekten yardımcı olur. +ROM'lar yayınlanmadan önce test etmekle ilgileniyorsanız [kart bakımcıları belgelerine](/docs/maintain/testing.md) bakın. + +### GM45 ThinkPad'lerde Düzensiz Arka Işık + +Coreboot'ta kullanılacak doğru PWM değerini nasıl tespit edeceğimizi bilmiyoruz, bu yüzden coreboot'taki varsayılan değeri kullanıyoruz ve bu bazı CCFL panellerde bu soruna neden oluyor, ancak LED panellerde olmuyor. + +[belgeler: arka ışık kontrolü](../docs/misc/#finetune-backlight-control-on-intel-gpus) sayfasındaki notları takip ederek dağıtımınızda bunu çözebilirsiniz. + +### GM45 ThinkPad Ethernet Portu Otomatik Bağlanmıyor + +Bu, network-manager kullanan bazı sistemlerde gözlemlendi. Bu durum hem orijinal BIOS'ta hem de libreboot'ta oluyor. Bu donanımdaki bir özelliktir. Debian sistemlerinde, ethernet kablosunu bağladığınızda ağ servisini yeniden başlatmak bir çözüm yoludur: + + sudo service network-manager restart + +Systemd tabanlı dağıtımlarda şunu deneyebilirsiniz: + + sudo systemctl restart network-manager + +(servis adı, yapılandırmanıza bağlı olarak sizin için farklı olabilir) + +### PIKE2008 Modülü KGPE-D16 / KCMA-D8'i Donduruyor + +ASUS KCMA-D8 veya KGPE-D16'da PIKE2008 modülünden seçenek ROM'unu yüklemek sistemin önyüklemede donmasına neden olur. Bunu yükte kullanmak mümkündür (linuxboot gibi bir linux çekirdeği yükü kullanıyorsanız) veya normal SATA'dan önyükleme yapmak (SeaGRUB ve/veya SeaBIOS ile) ve sonra Linux'ta kullanmak mümkündür. Linux çekirdeği, seçenek ROM'unu yüklemeden PIKE2008 modülünü kullanabilir. + +### ThinkPad Dizüstü Bilgisayarlarda Çekirdek Panik Günlüklerini Nasıl Kaydederim? + +Bunu yapmanın en kolay yolu, çekirdeğin netconsole'unu kullanmak ve paniği yeniden oluşturmaktır. Netconsole iki makine gerektirir: panik olan (kaynak) ve çökme günlüklerini alacak olan (hedef). Kaynağın ethernet kablosuyla bağlı olması ve hedefin panik anında erişilebilir olması gerekir. Bu sistemi kurmak için, kaynakta root olarak (`source#`) ve hedefte normal kullanıcı olarak (`target$`) aşağıdaki komutları çalıştırın: + +1. Hedef makinede bir dinleyici sunucu başlatın (netcat iyi çalışır): + + `target$ nc -u -l -p 6666` + +2. Configfs'yi bağlayın (önyükleme başına yalnızca bir kez, zaten bağlı olup olmadığını + `mount | grep /sys/kernel/config` ile kontrol edebilirsiniz. Bağlı değilse + çıktı vermeyecektir). + + `source# modprobe configfs` + + `source# mkdir -p /sys/kernel/config` + + `source# mount none -t configfs /sys/kernel/config` + +3. Kaynağın ethernet arayüz adını bulun, `enp*` veya `eth*` şeklinde olmalıdır, + `ip address` veya `ifconfig` çıktısına bakın. + + `source# iface="enp0s29f8u1"` bunu değiştirin + + Hedef makinenin IPv4 adresini buraya girin: + + `source# tgtip="192.168.1.2"` bunu değiştirin + +4. Kaynak makinede netconsole günlükleme hedefi oluşturun: + + `source# modprobe netconsole` + + `source# cd /sys/kernel/config/netconsole` + + `source# mkdir target1; cd target1` + + `source# srcip=$(ip -4 addr show dev "$iface" | grep -Eo '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+')` + + `source# echo "$srcip" > local_ip` + + `source# echo "$tgtip" > remote_ip` + + `source# echo "$iface" > dev_name` + + `source# arping -I "$iface" "$tgtip" -f | grep -o '..:..:..:..:..:..' > remote_mac` + + `source# echo 1 > enabled` + +5. Konsol günlük seviyesini hata ayıklamaya değiştirin: + + `source# dmesg -n debug` + +6. Günlüklemenin çalışıp çalışmadığını test edin, örneğin kaynakta bir USB + cihazı takıp çıkararak. Hedef makinede netcat'i (nc) başlattığınız + terminalde birkaç satır görünmelidir. + +7. Çekirdek paniğini yeniden oluşturmayı deneyin. + +Donanım Uyumluluğu +----------------- + +### Hangi sistemler libreboot ile uyumludur? + +Herhangi bir sistem kolayca eklenebilir, bu nedenle *uyumluluk* yalnızca libreboot'un kullandığı `lbmk` derleme sistemine entegre edilmiş kartlara atıfta bulunur. + +[Kurulum sayfası](docs/install/) uyumlu makineleri listeler. + +### Modern Intel Donanımlarında Özgürlük Tuzakları {#intel} + +Coreboot nominal olarak Özgür Yazılımdır, ancak desteklediği bazı x86 hedeflerinde hem Intel hem de AMD'de belirli satıcı kodları gerektirir. + +#### Intel Yönetim Motoru (ME) {#intelme} + +NOT: Aşağıdaki bilgiler biraz eskidir. Günümüzde Intel ME bir ARC yardımcı işlemcisinde çalışmamaktadır, bunun yerine ME yazılımı Minix işletim sistemi tabanlı x86 için yazılmış, değiştirilmiş bir Intel 486 tabanlı mimaride çalışır. Ancak, genel tasarım felsefesi ve işleyiş çoğunlukla aynıdır. + +Intel ME'ye sahip *çoğu* güncel Intel platformunda, BringUp'tan sonra Intel ME'yi devre dışı bırakmak artık mümkündür. Bakınız: + + + +İçinde Intel ME bulunan tüm GM45+ICH9M dizüstü bilgisayarlarda (ayrıca bu X4X+ICH10 masaüstü bilgisayarlar anlamına gelir), ME yazılımının önyükleme belleğinde bulunması gerekmez. Ya ME'yi devre dışı bırakan ve önyükleme belleğindeki bölgeyi kaldıran değiştirilmiş bir tanımlayıcı kullanılır ya da tanımlayıcısız bir kurulum kullanılır. Ancak, tüm modern Intel platformları ana önyükleme belleğinde bir Intel ME imajının bulunmasını gerektirir. + +Şimdi ana konuya geçelim: + +Haziran 2006'da Intel'in 965 Express Yonga Seti Ailesi (Grafik ve) Bellek Denetleyici Hub'ları veya (G)MCH'ler ve ICH8 G/Ç Denetleyici Ailesinde tanıtılan Intel Yönetim Motoru (ME), (G)MCH yongasında fiziksel olarak bulunan ayrı bir hesaplama ortamıdır. 2009'un 3. çeyreğinde, ilk nesil Intel Core i3/i5/i7 (Nehalem) CPU'ları ve Platform Denetleyici Hub'larının (PCH) 5 Serisi Yonga Seti ailesi, ICH'nin yerini alan PCH yongasının içinde daha sıkı entegre edilmiş bir ME (şimdi 6.0 sürümünde) getirdi. Böylece ME, ***2006 ortasından bu yana tüm Intel masaüstü, mobil (dizüstü) ve sunucu sistemlerinde mevcuttur***. + +ME, bir ARC işlemci çekirdeğinden (ME'nin sonraki nesillerinde diğer işlemci çekirdekleriyle değiştirilmiştir), kod ve veri önbelleklerinden, bir zamanlayıcıdan ve ek cihazların bağlandığı güvenli bir dahili veri yolundan oluşur. Bu cihazlar arasında bir kriptografi motoru, dahili ROM ve RAM, bellek denetleyicileri ve ana işletim sisteminin belleğine erişmek ve ME'nin sınırlı dahili RAM'ini desteklemek için korumalı bir harici bellek bölgesi ayırmak için bir ***doğrudan bellek erişimi (DMA) motoru*** bulunur. ME ayrıca bir Intel Gigabit Ethernet Denetleyicisi üzerinden kendi MAC adresiyle ***ağ erişimine*** sahiptir. Dahili ROM'da saklanan önyükleme programı, PC'nin SPI flash yongasından bir yazılım "manifestosu" yükler. Bu manifesto ***güçlü bir kriptografik anahtarla*** imzalanmıştır ve ME yazılımının sürümleri arasında farklılık gösterir. Manifesto belirli bir Intel anahtarıyla imzalanmamışsa, önyükleme ROM'u yazılımı yükleyip çalıştırmaz ve ME işlemci çekirdeği durdurulur. + +ME yazılımı sıkıştırılmıştır ve içeriklerinin güvenli kriptografik hash'leriyle birlikte manifestoda listelenen modüllerden oluşur. Bir modül işletim sistemi çekirdeğidir ve "ThreadX" adlı ***özel bir gerçek zamanlı işletim sistemi (RTOS) çekirdeğine*** dayanır. Geliştirici Express Logic, ThreadX için lisanslar ve kaynak kodu satar. Intel gibi müşterilerin ThreadX kaynak kodunu açıklaması veya alt lisans vermesi yasaktır. Başka bir modül, bir ***Java sanal makinesi*** ve kriptografi, güvenli depolama vb. için önceden yüklenmiş Java sınıfları kümesinden oluşan Dinamik Uygulama Yükleyicisidir (DAL). DAL modülü, PC'nin HDD veya SSD'sinden ek ME modülleri yükleyip çalıştırabilir. ME yazılımı ayrıca flash bellek alanında Intel Aktif Yönetim Teknolojisi (AMT), bir Güvenilir Platform Modülü (TPM) uygulaması, Intel Boot Guard ve ses ve video DRM sistemleri dahil olmak üzere bir dizi yerel uygulama modülü içerir. + +Intel "vPro" markasının bir parçası olan Aktif Yönetim Teknolojisi (AMT) uygulaması, uzak kullanıcıların PC'yi açmasını, kapatmasını, bilgi görüntülemesini ve başka şekillerde yönetmesini sağlayan bir Web sunucusu ve uygulama kodudur. PC ***kapalıyken bile uzaktan kullanılabilir*** (Wake-on-Lan aracılığıyla). Trafik SSL/TLS kitaplıkları kullanılarak şifrelenir, ancak tüm büyük SSL/TLS uygulamalarının çok ses getiren güvenlik açıkları olduğunu hatırlayın. AMT uygulamasının kendisinin, rootkit'ler ve keylogger'lar geliştirmek ve bir PC'nin yönetim özelliklerine gizlice şifreli erişim kazanmak için kullanılan ***[bilinen güvenlik açıkları](https://en.wikipedia.org/wiki/Intel_Active_Management_Technology#Known_vulnerabilities_and_exploits)*** vardır. ME'nin PC'nin RAM'ine tam erişimi olduğunu unutmayın. Bu, ME'nin bilgisayarınızdaki tüm verileri görebileceği anlamına gelir. + +ME yazılımı, bilgisayarınızın donanımını başlatmak için gereken düşük seviyeli kodun yanı sıra, Intel'in sizin bilgisayarınızı kontrol etmesini sağlayan bir arka kapı görevi görür. Bu, Intel'in bilgisayarınızı uzaktan kontrol etmesine, verilerinize erişmesine ve bilgisayarınızı kapatmasına olanak tanır. ME, bilgisayarınızın RAM'ine tam erişime sahiptir ve ağ üzerinden iletişim kurabilir. + +ME'nin varlığı, bilgisayarınızın güvenliğini ve gizliliğini tehlikeye atar. ME'nin varlığı, bilgisayarınızın güvenliğini ve gizliliğini tehlikeye atar. Bu nedenle, ME'yi devre dışı bırakmak veya kaldırmak önemlidir. Libreboot, ME'yi devre dışı bırakır veya kaldırır, böylece bilgisayarınızın kontrolünü size geri verir. + +### AMD Platform Security Processor (PSP) {#amd} + +AMD Platform Security Processor (PSP), AMD'nin Intel ME'ye benzer bir teknolojisidir. PSP, AMD işlemcilerinde bulunan bir ARM işlemci çekirdeğidir. PSP, ME gibi, bilgisayarınızın RAM'ine tam erişime sahiptir ve ağ üzerinden iletişim kurabilir. + +PSP, AMD'nin bilgisayarınızı kontrol etmesini sağlayan bir arka kapı görevi görür. Bu, AMD'nin bilgisayarınızı uzaktan kontrol etmesine, verilerinize erişmesine ve bilgisayarınızı kapatmasına olanak tanır. PSP, bilgisayarınızın RAM'ine tam erişime sahiptir ve ağ üzerinden iletişim kurabilir. + +PSP'nin varlığı, bilgisayarınızın güvenliğini ve gizliliğini tehlikeye atar. Bu nedenle, PSP'yi devre dışı bırakmak veya kaldırmak önemlidir. Libreboot, PSP'yi devre dışı bırakır veya kaldırır, böylece bilgisayarınızın kontrolünü size geri verir. + +### Libreboot'u Nasıl Kurarım? + +Libreboot'u kurmanın birkaç yolu vardır: + +1. Minifree Ltd'den [Libreboot önyüklenmiş](https://minifree.org/) bir bilgisayar satın alabilirsiniz. +2. Uyumlu bir bilgisayarınız varsa, [Libreboot önyükleme hizmeti](https://minifree.org/product/installation-service/) için Minifree Ltd'ye gönderebilirsiniz. +3. [Kurulum talimatlarını](docs/install/) takip ederek kendiniz kurabilirsiniz. + +### Libreboot'u Kaynak Koddan Nasıl Derlerim? + +[lbmk derleme talimatlarına](docs/build/) bakın. + +### Derleme Sistemi Nasıl Çalışır? + +[lbmk bakım kılavuzuna](docs/maintain/) bakın. + +### Libreboot'u Güncellemeli miyim? + +Evet, Libreboot'u güncel tutmanız önerilir. Her yeni sürüm, güvenlik düzeltmeleri ve yeni özellikler içerir. Güncelleme talimatları için [kurulum sayfasına](docs/install/) bakın. + +### Libreboot'u Kaldırabilir miyim? + +Evet, Libreboot'u kaldırabilir ve orijinal BIOS/UEFI yazılımınıza geri dönebilirsiniz. Ancak, bu işlem risklidir ve dikkatli yapılmalıdır. Talimatlar için [kurulum sayfasına](docs/install/) bakın. + +### Libreboot Hangi İşletim Sistemlerini Destekler? + +Libreboot, [Linux](docs/linux/) ve [BSD](docs/bsd/) işletim sistemlerini iyi destekler. Windows gibi özgür olmayan işletim sistemleri de çalışabilir, ancak bu sistemler Libreboot'un özgürlük felsefesiyle çelişir. + +### Libreboot'ta Sorun Yaşıyorum. Ne Yapmalıyım? + +1. [SSS sayfasını](faq.html) kontrol edin - sorununuzun yanıtı burada olabilir. +2. [Belgeleri](docs/) okuyun - sorununuzla ilgili bilgi burada olabilir. +3. [IRC kanalına](https://web.libera.chat/#libreboot) katılın - burada yardım isteyebilirsiniz. +4. [E-posta listesine](https://lists.sr.ht/~libreboot/libreboot) yazın - burada da yardım isteyebilirsiniz. +5. [Hata takipçisinde](https://codeberg.org/libreboot/lbmk/issues) sorununuzu arayın veya yeni bir hata raporu oluşturun. + +### Libreboot'a Nasıl Katkıda Bulunabilirim? + +Libreboot'a birçok şekilde katkıda bulunabilirsiniz: + +1. [Yeni anakartlar ekleyerek](docs/maintain/porting.md) +2. [Test ederek](docs/maintain/testing.md) +3. [Belgeleri geliştirerek](docs/maintain/) +4. [Çeviri yaparak](news/translations.md) +5. [Hataları düzelterek](https://codeberg.org/libreboot/lbmk/issues) +6. [Bağış yaparak](https://www.patreon.com/libreleah) + +### Libreboot'un Geleceği Nedir? + +Libreboot, özgür yazılım topluluğunun bir parçası olarak gelişmeye devam edecektir. Hedeflerimiz: + +1. Daha fazla donanım desteği eklemek +2. Kullanıcı deneyimini iyileştirmek +3. Güvenliği artırmak +4. Belgeleri geliştirmek +5. Topluluk katılımını artırmak + +### Libreboot'u Ticari Olarak Kullanabilir miyim? + +Evet, Libreboot [GNU Genel Kamu Lisansı](https://www.gnu.org/licenses/gpl-3.0.html) altında lisanslanmıştır. Bu, yazılımı özgürce kullanabileceğiniz, değiştirebileceğiniz ve dağıtabileceğiniz anlamına gelir. Ancak, değişikliklerinizi de aynı lisans altında paylaşmanız gerekir. \ No newline at end of file diff --git a/site/freedom-status.tr.md b/site/freedom-status.tr.md new file mode 100644 index 0000000..6968568 --- /dev/null +++ b/site/freedom-status.tr.md @@ -0,0 +1,207 @@ +--- +title: Libreboot Açık Kaynak BIOS/UEFI için Yazılım ve Donanım Özgürlüğü Durumu +x-toc-enable: true +... + +Özgürlük olarak özgür +---------------------- + +Bu sayfa, Kasım 2022'de kabul edilen Libreboot'un [İkili Blob Azaltma Politikası](news/policy.md)'nın nasıl uygulandığını, özellikle de "eğer özgür yazılım kullanılabiliyorsa, kullanılmalıdır" diyen satırı nasıl uygulandığını belgeliyor. + +Libreboot, donanım başlatma için [coreboot](https://coreboot.org/) kullanır. Coreboot nominal olarak [*özgür* veya *açık kaynak* yazılım](https://writefreesoftware.org/) olmasına rağmen, *bazı* (hepsi değil) platformlarda coreboot, raminit gibi şeyler için belirli [satıcı dosyaları](https://en.wikipedia.org/wiki/Binary_blob) gerektirir. Libreboot tarafından şu anda desteklenen tüm kartlar, coreboot'un kendisinden tamamen *özgür*, *libre* veya *açık kaynak* kodla başlatılabilir, çünkü Libreboot şu anda yalnızca bu tür anakartlara odaklanmaktadır. Libreboot'un amacı, coreboot'tan tüm anakartları desteklemektir. + +Libreboot, Kasım 2022'de daha fazla donanımı (coreboot'tan) desteklemek için daha *pragmatik* bir [ikili blob azaltma politikası](news/policy.md) benimsemiştir, böylece çoğu insanın aksi takdirde kullanacağı tamamen tescilli önyükleme yazılımına kıyasla *yazılım özgürlüğünü* artıran coreboot'u daha fazla insanın kullanabilmesini sağlamak için; Libreboot'un modern politikası bu nedenle pragmatiktir ve *yazılım özgürlüğü* davasını daha da ileriye taşır. + +Libreboot'un *önceki* politikası *tüm ikili blobları yasaklamaktı*. Bu, coreboot'u kullanabilecek insan sayısını azaltarak Özgür Yazılım hareketine aktif olarak *zarar verdi*, çünkü bugüne kadar Libreboot gibi bir şey henüz yok. Libreboot'un ana amacı, coreboot'u coreboot fikrini seven ancak sıfırdan yapılandırmak için yeterli olmayan normal, teknik olmayan kullanıcılar için *kullanımı mümkün olduğunca kolay hale getirmektir*. Bu zarar, Kasım 2022'de *düzeltildi*. + +### Coreboot mimarisi + +Belirli konular hakkında bağlam için lütfen okuyun: + + + +Coreboot'ta %100 libre başlatma +------------------------------- + +Bu ayrımın (özellikle coreboot'un başlatma tarafına atıfta bulunarak) neden önemli olduğu, aşağıdaki bölümlerde daha net hale gelecektir: + +Libreboot'ta evrensel bir muafiyet yapılır, CPU mikro kod güncellemelerinin mevcutsa dahil edilmesini (okuyun: proje politikası gereği) zorunlu kılar. Bunun nedenleri hakkında daha fazla bilgi edinmek için şu makaleyi okuyabilirsiniz: + +[CPU mikro kod güncellemeleri **TAMAM**](news/policy.md#more-detailed-insight-about-microcode) + +[Libreboot 20230423'ten sonraki sürümler, mikro kod hariç tutulan ayrı ROM'lar sağlayacak, varsayılan olanlarla birlikte mikro kod dahil edilecektir.](news/microcode.md) + +Intel platformları +------------------ + +### Tanımlayıcı vs tanımlayıcı olmayan yapılandırma + +Libreboot, Intel platformlarını kullanan birkaç anakartı destekler. Bunlardan, bu makale için esasen iki tür makine vardır: + +* Tanımlayıcı olmayan yapılandırma +* Tanımlayıcı tabanlı yapılandırma + +*Tanımlayıcı* ne anlama gelir? Geleneksel olarak, Intel makinelerindeki ana flash IC (önyükleme yazılımını içeren, genellikle *BIOS* olarak adlandırılır), yalnızca *x86* yürütülebilir kod içerir ve CPU, bellek denetleyicisi ve çevre birimleri gibi tüm donanımları başlatmaktan sorumludur. Bu, *tanımlayıcı olmayan* yapılandırma olarak adlandırılacaktır; bu tür yapılandırmalarda, Intel ME yazılımı varsayılan olarak yoktur. + +Bir *tanımlayıcı* yapılandırmasında, flash aşağıdaki gibi bölgelere ayrılmıştır: + +* Intel flash tanımlayıcı: her zaman flash'ın ilk 4KiB'si. Makine için ikili kodlanmış yapılandırma verileri ve bölgeler (bu veya aşağıdaki diğerleri gibi) burada tanımlanır. Bazı açılardan, bunu bir sabit diskteki *Ana Önyükleme Kaydı*na benzetebilirsiniz. +* Intel GbE NVM (gigabit ethernet kalıcı bellek): yerleşik Intel gigabit ethernet cihazı için ikili kodlanmış yapılandırma verileri, eğer varsa. MAC adresi, NIC'nin hangi hızda çalışması gerektiği, PCI kimlikleri, *LED yanıp sönme hızı* ve daha fazlası gibi birçok ayarı içerir. Bir Intel olmayan NIC kullanılıyorsa, bu flash bölgesi mevcut olmayacaktır. +* ME (Intel Yönetim Motoru): varsayılan durumunda *kötü* bir güvenlik açığı olan ME, tam ağ bağlantısı ile uzaktan yönetim gibi birçok özellik sağlar. ME, ana CPU'dan ayrı özel bir yardımcı işlemcidir ve başlatma yazılımı ve işletim sistemi bu özel bölgeden ana önyükleme flash'ına yüklenir. Daha fazla bilgi [SSS'de](faq.md#intelme) mevcuttur - ME yazılımının başka bir yerde mevcut olduğu durumlarda, Libreboot ya onu kaldırır ya da (`me_cleaner` programı ile) [yeniden yapılandırır](https://github.com/corna/me_cleaner/wiki/How-does-it-work%3F) ve makine başlatma sırasında devre dışı bırakılır. +* Platform bölgesi: genellikle donanım satıcısı tarafından yerleştirilen bir dizi dize olan program dışı veriler. +* BIOS bölgesi: bu, CPU, bellek denetleyicisi ve çevre birimlerini başlatmaktan sorumlu olan ana önyükleme yazılımını içerir ve makineyi programları çalıştırabilecek bir duruma getirir (muhtemelen bir önyükleyici, ardından bir işletim sistemi). Coreboot kodu (Libreboot tarafından sağlanır) buraya gider. + +*Temel olarak*, bu tür "bölgeleri" bir sabit diskteki *bölümlere* benzetebilirsiniz. Önemli olan, flash IC'nin bu tür bölgelere *bölünmüş* olmasıdır, her bölge belirli bir amaç için tasarlanmıştır. + +*Tanımlayıcı* ve *GbE* bölgelerinin içeriği Intel veri sayfaları tarafından tanımlanmıştır, ancak bu veri sayfaları genellikle *ayrılmış* bölümler içerir ve bu bölümler belgelenmemiş olarak bırakılır. Yıllar boyunca yapılan tersine mühendislik çalışmaları bu boş noktaların bazılarını belgelemiştir. + +### Libreboot Intel ME görüntülerini dağıtmaz + +Libreboot, Git deposunda veya sürümlerde Intel ME yazılımını hiçbir şekilde dağıtmaz. Gerektiğinde, Libreboot, `me_cleaner` programını çalıştırarak otomatik olarak indirip kuran komut dosyaları sağlar. Bu tamamen otomatikleştirilmiştir. Lütfen okuyun: + + + +Libreboot yapılandırmalarında, Intel ME'nin *BringUp* kodu kalır. ME BringUp (BUP), ME'nin başlatılmasını sağlayan coreboot'a benzer; aynı benzetmeyle, Libreboot'un bunu yapılandırma şekli, *coreboot*'u bir yükleyici olmadan çalıştırmaya benzer. ME başlatılır, kod çalıştırabilecek bir duruma getirilir, ancak sonra *kod çalıştırmaz*. Bu nedenle *devre dışı bırakılmıştır*. + +Başka bir deyişle, *nötrleştirilmiş* bir Intel ME kurulumu, hem yazılım özgürlüğü hem de güvenlik açısından tamamen zararsızdır. Kullanılmayan, kullanılmayan bir işlemci haline gelir ve gerçek dünyadaki çoğu insanın kullanmak istemeyeceği bir şeydir. Bu perspektifle, Intel ME'nin ortalama kullanıcı için artık tamamen önemsiz olduğunu görüyoruz. + +*Yayınlanmış* Libreboot ROM görüntüleri, önceden derlenmiş olarak sağlanır, ME yazılımını hiç içermez; bir sürüm hazırlarken otomatik yayın komut dosyaları tarafından temizlenirler. Kaynaktan derliyorsanız, Libreboot yapı sistemi bunu otomatik olarak indirir (satıcıdan), nötrleştirir ve ardından ekler; sürüm ROM'larında, yapı sistemleri tarafından kullanılan aynı komut dosyaları manuel olarak çalıştırılabilir ve aynı sonucu elde eder. Lütfen okuyun: [docs/install/ivy_has_common.md](docs/install/ivy_has_common.md) + +ME yazılımı, neredeyse tüm Intel platformlarında *gereklidir*, aksi takdirde makine 30 dakika sonra *kapanır* (veya ME, CPU'nun sıfırlamadan çıkıp çıkmayacağını kontrol ediyorsa, hiç başlatmaz). + +### Intel ME kaldırma/devre dışı bırakma hakkında daha fazla bilgi + +*Libreboot*, GM45 platformlarında ICH9M güney köprüsü ile ME yazılımını tamamen kaldırmanın bir yolunu sağlar. Bunlar dizüstü bilgisayarlardır: ThinkPad X200/T400/T500/W500 ve bu nesil. + +Yukarıda bahsedildiği gibi, daha yeni platformlarda `me_cleaner` kullanılır. + +Belirli türde satıcı dosyaları hakkında notlar +--------------------------------------------- + +### VGA seçenek ROM'ları + +*Yerel* video başlatma, coreboot tarafından sağlanan kaynak kodu altında tüm desteklenen Intel platformları için desteklenir ve *etkindir*. + +Bazı durumlarda, bir dizüstü bilgisayar coreboot tarafından desteklenmeyen bir grafik yongasına sahip olabilir. Bu durumda, *VGA Seçenek ROM* adı verilen bir satıcı dosyası kullanılmalıdır. Libreboot, Dell Latitude E6400'ün Nvidia GPU modelleri için deneysel bir dalda VGA ROM'unu otomatik olarak indiren deneysel desteğe sahiptir. Bu şu anda sürümlerde veya `lbmk`'nin kararlı dalında mevcut değildir. + +Diğer durumlarda, bir makine *iki* grafik cihazına sahip olabilir, bunlardan biri coreboot tarafından sağlanan yerel (özgür/libre) başlatma ile. Bu durumlarda, diğer cihaz için bir VGA ROM eklemek mümkündür; Libreboot şu anda bunun için belgelerden yoksundur, ancak test edilmiştir. Örnek: bazı ivybridge veya haswell thinkpad'lerde çift Intel/Nvidia grafik. + +*Eklenti* GPU'lar için, SeaBIOS (yükleyici) genellikle kartta bulunan bir VGA ROM'u tarayabilir ve çalıştırabilir. Bu, Libreboot'un desteklediği belirli masaüstü anakartlarda test edilmiştir ve gayet iyi çalışır; Libreboot'un bu dosyaları hiç ele alması gerekmez. + +Libreboot'un varsayılanı, pratikte mümkün olduğunda her zaman özgürlüktür. Bu ek GPU'ları kullanmak isteyen kullanıcılar, Libreboot politikasındaki aşağıdaki paragrafı dikkate almalıdır: + +*"Yukarıdaki ilkeler varsayılan yapılandırmalar için geçerli olmalıdır. Ancak, libreboot kullanıcıların istediklerini yapmalarına izin verecek şekilde yapılandırılabilir olmalıdır."* - yapılandırılabilir, kesinlikle öyledir! Bkz: [docs/maintain/](docs/maintain/) + +### Bellek denetleyici başlatma + +Libreboot, 20230319 veya daha yüksek sürümlerde Haswell'e kadar olan tüm Intel bellek denetleyicileri için *tamamen libre* başlatma sağlar; Broadwell'de Intel MRC kullanılır ve Skylake/yeni platformlarda FSP-M kullanılır. + +ARM platformları (chromebook'lar) +--------------------------------- + +Çoğunlukla özgür yazılım, `daisy` ve `peach` anakartlarında satıcıdan BL1 önyükleyici dosyalarının dahil edilmesi gerekliliği dışında. Bunlar: + +* HP Chromebook 11 G1 (daisy-spring) **(sorunlar nedeniyle Libreboot'tan kaldırıldı (daha sonra yeniden eklenecek))** +* Samsung Chromebook XE303 (daisy-snow) **(aynı şekilde)** +* Samsung Chromebook 2 13" (peach-pi) **(aynı şekilde)** +* Samsung Chromebook 2 11" (peach-pit) **(aynı şekilde)** +* nyan-* chromebook'lar da geçici olarak kaldırıldı, ancak Libreboot'ta %100 özgür yazılım + +Her kart için özel olarak satıcı dosyalarının listesi +----------------------------------------------------- + +Bu makale, Libreboot'ta hangi satıcı dosyalarının yer aldığını ayrıntılı bir genel bakışla açıklamıştır. Yine, coreboot'tan tamamen libre başlatma *tüm şu anda desteklenen kartlarda* mevcuttur. + +*Coreboot'tan* bu kritik bir yönüdür, ancak Libreboot'un tam kapsamı, bazı durumlarda coreboot dışında yazılım içeren ana flash IC'dir. + +İşte her kart için bu dosyaların listesi: + +### Intel/x86 + +#### Intel ME: + +Bu hedeflerde nötrleştirilmiş ME gereklidir: + +`dell9020mt_nri_12mb`, `dell9020sff_nri_12mb`, `e5420_6mb`, `e5520_6mb`, `e5530_12mb`, `e6220_10mb`, `e6230_12mb`, `e6320_10mb`, `e6330_12mb`, `e6420_10mb`, `e6430_12mb`, `e6520_10mb`, `e6530_12mb`, `hp2170p_16mb`, `hp2560p_8mb`, `hp2570p_16mb`, `hp8200sff_4mb`, `hp8200sff_8mb`, `hp820g2_12mb`, `hp8300cmt_16mb`, `hp8300usdt_16mb`, `hp8460pintel_8mb`, `hp8470pintel_16mb`, `hp8560w_8mb`, `hp9470m_16mb`, `t1650_12mb`, `t420_8mb`, `t420s_8mb`, `t430_12mb`, `t440plibremrc_12mb`, `t520_8mb`, `t530_12mb`, `w530_12mb`, `w541_12mb`, `x220_8mb`, `x230_12mb`, `x230_16mb`, `x230t_12mb`, `x230t_16mb`, `dell3050micro_fsp_16mb`, `dell3050micro_vfsp_16mb`, `t480_fsp_16mb`, `t480_vfsp_16mb`, `t480s_fsp_16mb`, `t480s_vfsp_16mb` + +Belirtildiği gibi, Libreboot bunu ME'nin artık bir güvenlik tehdidi olmadığı bir durumda sağlar. Kendini başlatır, ancak sonra hiçbir şey yapmaz, bu nedenle devre dışı bırakılmıştır. Bu, `me_cleaner` kullanılarak yapılır. Bkz: + +MEv11 tabanlı platformlarda, ThinkPad T480 ve Dell OptiPlex 3050 Micro gibi, Intel Boot Guard'ı devre dışı bırakmak için [deguard](docs/install/deguard.md) da kullanıyoruz. + +#### KBC1126 EC yazılımı (HP dizüstü bilgisayarlar): + +Bu, şu hedefler için geçerlidir: `hp2170p_16mb`, `hp2560p_8mb`, `hp2570p_16mb`, `hp8470pintel_16mb`, `hp9470m_16mb`. + +[EC yazılımı](faq.md#ec-embedded-controller-firmware) ana önyükleme flash'ına eklenir, ayrı bir IC'de değil. Bu *daha iyidir* çünkü gelecekte libre yedeklerin kurulumu daha kolay olur ve tersine mühendislik çok daha kolay hale gelir. Libreboot'un yapı sistemi, bu tür yazılımları bir komut dosyasında ele alır ve yapı sürecinde otomatik olarak indirir. Libreboot 20230423'ten itibaren EC yazılımını temizler ve coreboot yapılandırması tarafından her kart için tanımlanan doğru ofsete `cbfstool` ile eklemek için özel bir komut dosyasında işlevsellik sağlar. + +#### Intel FSP + +Coreboot tarafından bazı kartlarda kullanılan romstage ve raminit sağlar. Libreboot'ta, aşağıdaki yapı hedefleri için kullanıyoruz: + +`t480_fsp_16mb`, `t480_vfsp_16mb`, `t480s_fsp_16mb`, `t480s_vfsp_16mb`, `dell3050micro_fsp_16mb`, `dell3050micro_vfsp_16mb` + +#### SMSC SCH5545 Çevresel Kontrol + +Bu, Dell Precision T1650'de fan kontrolü için gereken küçük bir yazılımdır. + +#### CPU mikro kodu: + +[*Mikro kod* güncellemeleri](faq.md#microcode) varsayılan olarak *tüm* x86 platformlarında sağlanır. Teknik olarak gerekli değildir, ancak şiddetle tavsiye edilir. Kaldırmak için şunu yapın: + + cbfstool filename.rom remove -n cpu_microcode_blob.bin + +ASUS KFSN4-DRE, KCMA-D8 ve KGPE-D16 kartlarında bunun yerine şunu yapın: + + cbfstool filename.rom remove -n microcode_amd.bin + cbfstool filename.rom remove -n microcode_amd_fam15h.bin + +[Libreboot 20230423'ten sonraki sürümler, mikro kod hariç tutulan ayrı ROM'lar sağlayacak, varsayılan olanlarla birlikte mikrokod dahil edilecektir.](news/microcode.md) + +Mikro kod güncellemelerinin kaldırılması sistem kararlılığını olumsuz yönde etkileyecek, standart olmayan bozuk davranışlar getirecek ve makinenin düzgün önyükleme yapamamasına neden olabilecektir. Diğer durumlarda, S3 askıya alma/devam ettirme gibi özellikleri bozabilir. + +CPU mikro kod dosyaları varsayılan olarak tüm x86 kartlarında dahil edilir. Çoğu durumda gerekli olmasa da, kullanılmaları şiddetle tavsiye edilir. Nedenleri için bkz: +[news/policy.md#more-detailed-insight-about-microcode](news/policy.md#more-detailed-insight-about-microcode) + +#### Intel Flash Tanımlayıcı (IFD): + +Intel Flash Tanımlayıcıları bazı kartlarda blob olarak sağlanır, ancak bunlar *yazılım* blobu değildir. Bunlar ikili formatta sağlanan yapılandırmalardır ve özgür yazılım tarafından tamamen okunabilir. Örneğin: + +* Coreboot'un `ifdtool` programı, Intel flash tanımlayıcılarını değiştirmek için kapsamlı özelliklere sahiptir. +* Coreboot'un `bincfg` programı, insan tarafından okunabilir bir formatta herhangi bir ikili formatı tanımlayabilen bir `.spec` dosyasından herhangi bir ikili oluşturur. Çeşitli platformlar için birkaç flash tanımlayıcı içerir, ancak Libreboot bunları kullanmaz. + +Intel GbE NVM yapılandırması (gigabit NIC için ikili kodlanmış yapılandırma verileri): + +* Libreboot'un `nvmutil` programı GbE NVM görüntülerini değiştirebilir + +### ARM/chromebook'lar + +#### BL1 önyükleyici (peach/daisy): + +BL1 önyükleyici şunlar için gereklidir: `daisy_snow`, `daisy_spring` ve `peach_pit`. + +Bu kartlar *şu anda* mevcut değil. Yapı sistemi henüz BL1 dosyalarını otomatik olarak eklemediği için Libreboot'tan kaldırıldılar. Kartların, Libreboot'taki Alper'in U-Boot portunu kullanarak çalıştığına inanılıyor. + +Sonuç +---------- + +Yukarıdakilerden görebileceğiniz gibi, Libreboot gerçekten de *ikili blob azaltma politikası*nı uyguluyor ve *azaltma* vurgusu en kritik nokta. Libreboot'un tüm kartlarda makul düzeyde *yazılım özgürlüğü* sağladığı söylenebilir. + +Libreboot, çeşitli ek özellikler sağlamak için birçok platform için daha fazla bu tür dosya *ekleyebilirdi*, ancak Libreboot projesinin *amacı* *özgür* yazılımı teşvik etmek ve tescilli yazılım geliştiricilerinin kullanıcılar üzerindeki gücünü *en aza indirmek* olduğu için bunları eklemeyi tercih etmez. + +Umarım bu makale düşünmek için malzeme sağlamıştır. + +### Bir not: donanım özgürlüğü + +Şu anda desteklenen Libreboot makinelerinin hiçbiri özgür *donanıma* sahip değildir, yani IC'ler kamuya açık *verilog* dosyaları ve benzerleriyle birlikte gelmez. Bu makinelerin kendi yedeklerini üretemezsiniz. + +Her makinenin devre kartlarını açıklayan bazı şematikler ve boardview dosyaları çeşitli kanallar aracılığıyla çevrimiçi olarak mevcuttur. Bunları kendiniz aramanız gerekir; bir gün, Tamir Hakkı hareketi umarız ki bu tür belgelere kamunun evrensel erişimini sağlayacaktır. + +İleri okuma +--------------- + +Bu makale *ana önyükleme flash*'ına giren kodu açıkladı, ancak satın aldığınız herhangi bir bilgisayarda sistemin başka yerlerinde *tonlarca* yazılım bulunur. Bazı içgörüler Libreboot SSS'de mevcuttur. Bkz: + +* [faq.md#what-level-of-software-freedom-does-libreboot-give-me](faq.md#what-level-of-software-freedom-does-libreboot-give-me) +* [faq.md#what-other-firmware-exists-outside-of-libreboot](faq.md#what-other-firmware-exists-outside-of-libreboot) + +Bunlardan en kritik olanları HDD/SSD yazılımı ve EC yazılımıdır. Bu iki bağlantıda açıklanan sorunlar, Libreboot'lular da dahil olmak üzere birçok farklı bilgisayar ve dünyadaki neredeyse diğer tüm bilgisayarlar için geçerlidir. diff --git a/site/git.tr.md b/site/git.tr.md new file mode 100644 index 0000000..338fae2 --- /dev/null +++ b/site/git.tr.md @@ -0,0 +1,161 @@ +--- +title: Git'i Nasıl Kullanırsınız ve/veya Libreboot'a Yama Gönderirsiniz +x-toc-enable: true +... + +Libreboot Depoları +----------------- + +`libreboot` projesinin 3 ana Git deposu vardır: + +* Derleme sistemi: +* Web sitesi (+belgeler): +* Görseller (web sitesi için): +* Pico-serprog: +* Libreboot Statik Site Oluşturucu: + +Ayrıca bakınız: [Libreboot Statik Site Oluşturucu](docs/sitegen/). + +Ayrıca lbmk'yi Libreboot'un kendi cgit örneğinde *gezinebilirsiniz*, ancak bu geliştirme için tasarlanmamıştır (bunun için codeberg'i kullanın):\ + + +[Görevler](tasks/) sayfası, uygulamak istediğimiz (hepsi değil) bazı şeyleri listeler, henüz uygulanmamışsa. Yamalar hoş karşılanır! + +Ana Git depoları çalışmıyorsa, `lbmk` ve `lbwww`'nin yansıları bu sayfada aşağıda listelenmiştir. + +Libreboot daha önce NotABug'ı kullanıyordu, ancak muhtemelen çok fazla kişi kullandığı için genellikle akşamları HTTP 500 hataları döndürmesi nedeniyle sürekli güvenilirlik sorunları yaşandı; Libreboot'un daha kararlı bir şeye ihtiyacı olduğuna karar verildi, bu yüzden şimdi Libreboot codeberg'de barındırılıyor. Bakınız: [8 Nisan 2023'te codeberg'e taşınma duyurusu](news/codeberg.md) + +Ayrıca Libreboot projesi tarafından barındırılan ve libreboot'un ya önerdiği ya da kullandığı şu programlar da var: + +Eski `ich9utils` ve `bucts` depoları notabug'da mevcuttur: + +* Bucts (yardımcı program): +* ich9utils (yardımcı program): + +Bu depolardan herhangi birini indirebilir, istediğiniz değişiklikleri yapabilir ve ardından aşağıdaki talimatları kullanarak değişikliklerinizi gönderebilirsiniz. + +Libreboot'u (tüm parçalarını) bir Linux dağıtımında derlemeniz önerilir. Örneğin, derleme sistemi (lbmk) BSD sistemlerinde test edilmemiştir. Linux sisteminize `git`'i kurun ve depolardan birini indirin. + +Libreboot'un geliştirilmesi Git sürüm kontrol sistemi kullanılarak yapılır. Git'i nasıl kullanacağınızı bilmiyorsanız [resmi Git belgelerine](https://git-scm.com/doc) bakın. + +`bucts` deposu, son kontrol ettiğimizde `stuge.se`'deki orijinal depo artık mevcut olmadığı için libreboot projesi tarafından barındırılmaktadır. `bucts` programı Peter Stuge tarafından yazılmıştır. Şu anda orijinal Lenovo BIOS'unu çalıştıran bir ThinkPad X60 veya T60'a dahili olarak bir libreboot ROM'u yüklüyorsanız `bucts`'ye ihtiyacınız var. Bunun için talimatlar burada mevcuttur:\ +[libreboot kurulum kılavuzları](docs/install/) + +### lbmk (libreboot-make) + +Bu, libreboot'taki çekirdek derleme sistemidir. `lbmk`'nin libreboot *olduğunu* söyleyebilirsiniz! Git deposunu indirin: + + git clone https://codeberg.org/libreboot/lbmk + +Yukarıda görülen `git` komutu, libreboot derleme sistemi `lbmk`'yi indirecektir. Ardından şu şekilde içine girebilirsiniz: + + cd lbmk + +İstediğiniz değişiklikleri yapın veya sadece derleyin. `lbmk`'yi nasıl derleyeceğinize dair talimatlar için [derleme talimatlarına](docs/build/) bakın. + +Derleme sisteminin kendisi ve nasıl çalıştığı hakkında bilgi [lbmk bakım kılavuzunda](docs/maintain/) mevcuttur. + +### lbwww ve lbwww-img + +Libreboot web sitesi ve belgelerin *tamamı* bir Git deposunda barındırılmaktadır. Şu şekilde indirin: + + git clone https://codeberg.org/libreboot/lbwww + +Görseller adresinde barındırılır ve ayrı bir depoda mevcuttur: + + git clone https://codeberg.org/libreboot/lbwww-img + +İstediğiniz değişiklikleri yapın. Yama gönderme hakkında aşağıdaki notlara bakın. + +Web sitesinin tamamı Markdown'da, özellikle Pandoc versiyonunda yazılmıştır. Statik HTML sayfaları [lbssg](docs/sitegen/) ile oluşturulur. Libreboot'un kurucusu Leah Rowe, aynı zamanda Libreboot statik site oluşturucu projesinin de kurucusudur. + +İsterseniz yerel bir HTTP sunucusu kurabilir ve web sitesinin kendi yerel sürümünüzü oluşturabilirsiniz. Lütfen görsellerin hala adresinde barındırılanlarla bağlantılı olacağını unutmayın, bu nedenle `lbwww-img`'ye eklediğiniz görseller (eklediğiniz görseller için) görsel bağlantılarını `av.libreboot.org`'a bağlarsanız yerel `lbwww` sitenizde görünmeyecektir. Ancak, bu tür görsellerin av.libreboot.org'da barındırılması gereklidir. + +Bu nedenle, web sitesine görsel eklemek istiyorsanız, lütfen her biri için bağlantıları olacak şekilde `lbwww-img` deposuna da gönderin. Libreboot web sitesinde birleştirildiğinde, görselleriniz canlı olarak görünecektir. + +Bir fotoğraf ekliyorsanız, web dağıtımı için sıkıştırın. Görseller genellikle 800px genişliğinde ve genellikle 100KiB'den küçük boyutta olmalıdır: + +İlk olarak, favori görsel işleme programınızı kullanarak görselinizi yaklaşık 800px genişliğe ölçeklendirin. Örneğin, `imagemagick` ile şunu yapabilirsiniz (görüntünün zaten tercih edilenden daha küçük veya eşit olmadığından emin olun). + + convert original.jpg -resize 600000@ -quality 70% web.jpg + +Göndermeden önce jpg görseller üzerinde her zaman `jpegoptim` çalıştırmalısınız. Gereksiz meta verileri kaldırır ve içlerinde kullanılan huffman tablolarını akıllıca yeniden düzenleyerek *kayıpsız* olarak daha da optimize eder. + + jpegoptim -s --all-progressive web.jpg + +Görsel bir (çizgi) çizimse, bitmap'lere göre vektör grafikleri tercih edilir. Bu nedenle, mümkünse bunları SVG olarak kaydedin. Bunlar değiştirilmesi kolaydır ve çevirmenlerin işini de kesinlikle kolaylaştıracaktır. + +PNG görseller `zopfli` ile optimize edilmelidir (bu da kayıpsızdır). Örneğin, bu Libreboot önyükleme logosunu yaklaşık 11k'dan 3k'ya düşürdü: + + zopflipng -ym image.png image.png + +Geliştirme amaçları için, önce görsellerinizi yerel bağlantılar yapabilir ve ardından belge/web sitesi yamalarınızı gönderirken URL'leri ayarlayabilirsiniz. + +Web sitesinin yerel sürümünüzü nasıl kuracağınıza dair talimatlar lbssg kılavuzunda mevcuttur. Untitled'ı indirin ve untitled dizininizin içinde `www/` adlı bir dizin oluşturun, ardından www dizininin içine girin ve `lbwww` deposunu oraya klonlayın. Yerel HTTP sunucunuzu buna göre yapılandırın. + +Yine, bu amaç için talimatlar lbssg kılavuzunda mevcuttur. + +### İsim Gerekli Değil + +Yaptığınız katkılar, herkesin erişebileceği bir Git deposunda kamuya açık olarak kaydedilir. Bu, katkıda bulunanın adını ve e-posta adresini içerir. + +Git'te, yazar adı ve e-posta adresi için tanımlayıcı veriler kullanmanız gerekmez. `libreboot Contributor` kullanabilir ve e-posta adresiniz contributor@libreboot.org olarak belirtilebilir. Gizliliğinizi korumak istiyorsanız bunu yapmanıza izin verilir. Gizliliğe inanıyoruz. Anonim kalmayı seçerseniz, buna saygı duyacağız. + +Tabii ki, istediğiniz adı ve/veya e-posta adresini kullanabilirsiniz. + +Yasal olarak konuşursak, uluslararası telif hakkı yasasının Bern Sözleşmesi kapsamında tüm telif hakları otomatiktir. Hangi adı kullandığınız, hatta telif hakkı beyan edip etmediğiniz önemli değildir (ancak belirli telif hakkı lisanslarının kullanılmasını gerektiriyoruz - bu sayfada bunun hakkında daha fazla bilgi okuyun). + +Commit'lerinizde/yamalarınızda farklı bir ad ve e-posta adresi kullanırsanız, oldukça anonim olmalısınız. Değişiklikleri genel bir Git deposuna göndermeden önce onaylamak için [git log](https://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History) ve [git show](https://git-scm.com/docs/git-show) kullanın. + +### Lisanslar (katkıda bulunanlar için) + +Çalışmanızı özgür bir lisans altında özgürce lisansladığınızdan emin olun. Libreboot artık hangi lisansların kabul edildiğine dair keyfi kısıtlamalar koymamaktadır ve halihazırda birçok lisans mevcuttur. Katkınızı denetleyeceğiz ve sorun varsa size bildireceğiz (örn. lisans yok). + +Çalışmanızda *her zaman* bir lisans beyan edin! Bir lisans beyan etmemek, varsayılan, kısıtlayıcı telif hakkı yasalarının geçerli olduğu anlamına gelir, bu da çalışmanızı özel mülk yapar ve aynı kısıtlamalara tabi olur. + +MIT lisansı başlamak için iyi bir lisanstır ve Libreboot'taki tüm yeni çalışmalar için tercih edilen lisanstır, ancak seçici değiliz. Libreboot tarihsel olarak çoğunlukla GPL lisanslaması kullanmıştır; bunların çoğu kalmıştır ve muhtemelen kalacaktır. Bu sizin çalışmanız; açıkçası, mevcut bir çalışmadan türetiyorsanız, lisans uyumluluğu için katkınızda aynı lisansı kullanmak mantıklı olabilir. + +[Burada](https://opensource.org/licenses) yaygın lisans örnekleri bulabilirsiniz. + +Mevcut bir çalışmadan *türetiyorsanız*, katkınızın lisansının türetildiği çalışmanın lisanslamasıyla uyumlu olması önemlidir. MIT lisansı iyidir çünkü birçok diğer lisansla geniş çapta uyumludur ve diğer lisansların vermediği birçok özgürlüğe (alt lisanslama özgürlüğü gibi) izin verir: + + + +### Yama Gönderme + + adresinde bir hesap oluşturun ve üzerinde çalışmak istediğiniz depoya (giriş yapmış olarak) gidin. *Fork*'a tıklayın ve hesabınızda kendi libreboot deponuz olacak. Deponuzu klonlayın, istediğiniz değişiklikleri yapın ve ardından Codeberg'deki hesabınızdaki deponuza gönderin. İsterseniz bunu yeni bir dalda da yapabilirsiniz. + +Codeberg hesabınızda, resmi libreboot deposuna gidebilir ve bir Çekme İsteği gönderebilirsiniz. Çalışma şekli, insanların bu günlerde kullandığı diğer popüler web tabanlı Git platformlarına benzer. + +Yamalarınızı oraya gönderebilirsiniz. Alternatif olarak, libreboot IRC kanalına giriş yapabilir ve yamalarla kendi Git deponuz varsa, hangi yamaların incelenmesini istediğinizi kanala bildirebilirsiniz. + +Bir Çekme İsteği gönderdikten sonra, libreboot bakımcıları e-posta yoluyla bilgilendirilecektir. Projeden yeterince hızlı yanıt alamazsanız, Libera Chat'teki `#libreboot` kanalı aracılığıyla projeyi bilgilendirebilirsiniz. + +Yama göndermenin başka bir yolu da doğrudan Leah Rowe'a e-posta göndermektir: +[info@minifree.org](mailto:info@minifree.org) Leah'nın proje e-posta adresidir. + +Ancak, kod inceleme sürecinin şeffaflığı için, şimdilik Codeberg'i kullanmanız önerilir. + +### E-posta Listesi + +Libreboot'un şu e-posta listesi vardır: + + +E-posta adresi: [~libreboot/libreboot@lists.sr.ht](mailto:~libreboot/libreboot@lists.sr.ht) + +lbmk.git'in Yansıları +-------------------- + +`lbmk` deposu, Libreboot sürümlerini (derlenmiş ROM imajları dahil) üreten Libreboot'un otomatik derleme sistemini içerir. + +Bu bağlantılardan herhangi biri üzerinde `git clone` çalıştırabilirsiniz (bağlantılar ayrıca Web tarayıcınızda değişiklikleri görüntülemek için tıklanabilir): + +* +* +* +* +* +* +* +* +* \ No newline at end of file diff --git a/site/index.tr.md b/site/index.tr.md new file mode 100644 index 0000000..aa5e774 --- /dev/null +++ b/site/index.tr.md @@ -0,0 +1,85 @@ +--- +title: Özgür ve Açık Kaynaklı BIOS/UEFI Önyükleme Yazılımı +x-toc-enable: true +... + +*Libreboot*, Debian'ın bir *Linux dağıtımı* olması gibi, bir *[coreboot dağıtımıdır](docs/maintain)*. Libreboot, [belirli Intel/AMD x86 ve ARM tabanlı anakartlarda](docs/install/#which-systems-are-supported-by-libreboot) özel mülk BIOS/UEFI yazılımının yerini alan, coreboot tabanlı [özgür, açık kaynaklı](https://writefreesoftware.org/) (*libre*) önyükleme yazılımı sağlar. Bu anakartlar dizüstü ve masaüstü bilgisayarları içerir. Donanımı başlatır (örn. bellek denetleyicisi, CPU, çevre birimleri) ve işletim sisteminiz için bir önyükleyici başlatır. [Linux](docs/linux/) ve [BSD](docs/bsd/) iyi desteklenmektedir. [Libera](https://libera.chat/) IRC'deki [\#libreboot](https://web.libera.chat/#libreboot) kanalından yardım alabilirsiniz. + +Libreboot çalıştıran ThinkPad T480Libreboot çalıştıran ThinkPad T480 + +Libreboot, x86/x86_64 Intel/AMD anakartlarda GNU önyükleyici "[GRUB](docs/linux/)" ve SeaBIOS yüklerini, ARM64(Aarch64) anakartlarda ise *coreboot için* [U-Boot UEFI yükünü](docs/uboot/) sağlar. Bazı kartlarda [x86/x86_64 U-Boot UEFI yükü](docs/uboot/uboot-x86.md) de mevcuttur. x86, x86_64 ve arm64 U-Boot yükleri hafif bir UEFI önyükleme uygulaması sağlar. Libreboot'un [tasarımı](docs/maintain/) tüm bu yükleri tek bir imajda birleştirir ve önyükleme sırasında birini seçersiniz. + +**YENİ SÜRÜM: En son sürüm 6 Aralık 2024'te yayınlanan Libreboot 20241206'dır. +Bakınız: [Libreboot 20241206 sürüm duyurusu](news/libreboot20241206.md) - en +yeni revizyon sürümü olan Libreboot 20241206 revizyon 10, 18 Şubat 2025 tarihlidir.** + +Ayrıca Minifree Ltd'den seçili donanımlarda [Libreboot önyüklenmiş cihazlar satın alabilir](https://minifree.org/) veya uyumlu donanımınızı [Libreboot önyükleme hizmeti](https://minifree.org/product/installation-service/) için gönderebilirsiniz. Libreboot'un kurucusu ve baş geliştiricisi Leah Rowe aynı zamanda Minifree'yi de işletmektedir; satışlar Libreboot için finansman sağlamaktadır. + +*Biz*, yazılımı [inceleme, paylaşma, değiştirme ve kullanma özgürlüğünün](https://writefreesoftware.org/), herhangi bir kısıtlama olmaksızın, herkesin sahip olması gereken temel insan haklarından biri olduğuna inanıyoruz. Bu bağlamda, *yazılım özgürlüğü* önemlidir. Özgürlüğünüz önemlidir. Eğitim önemlidir. [Onarım hakkı](https://en.wikipedia.org/wiki/Right_to_repair) önemlidir; Libreboot, donanımınızı sürekli yazılım güncellemeleriyle kullanmaya devam etmenizi sağlar. Tüm bunlar Libreboot'un *var olma nedenidir*. + +Libreboot Tasarımına Genel Bakış +-------------------------------- + +Libreboot çalıştıran HP EliteBook 2560p ve Folio 9470m + +Libreboot, [makine başlatma](https://doc.coreboot.org/getting_started/architecture.html) için [coreboot](https://coreboot.org/) sağlar, bu da önyükleme belleğindeki bir [yüke](https://doc.coreboot.org/payloads.html) atlar; coreboot, Linux/BSD gibi işletim sisteminizi önyükleyen birçok yükle çalışır. + +Libreboot, [tam otomatik bir derleme sistemi](docs/maintain/), [otomatik derleme süreci](docs/build/) ve [kullanıcı dostu kurulum talimatları](docs/install/) sağlayarak, ayrıca desteklenen donanımlara kurulum için önceden derlenmiş ROM imajları sağlayan düzenli [ikili sürümler](download.md) sunarak, coreboot'u teknik olmayan kullanıcılar için kullanımı kolay hale getirir. Libreboot'un sağladığı gibi bir otomasyon olmadan, coreboot çoğu kullanıcı için erişilemez olurdu; yine de Libreboot'u istediğiniz gibi [yeniden yapılandırabilirsiniz](docs/maintain/). + +Neden Libreboot Kullanmalı? +--------------------------- + +Libreboot çalıştıran çeşitli Lenovo ThinkPad'ler + +Halihazırda özgür yazılıma eğilimliyseniz, belki de zaten bir coreboot kullanıcısıysanız, Libreboot, derleme otomasyonu aracılığıyla ya başlamanızı ya da coreboot'u makinenizde sürdürmenizi kolaylaştırır. Düzenli test edilmiş sürümler sağlar, önceden derlenmiş, genellikle kararlılığı sağlamak için coreboot (ve diğer kodlar) üzerinde belirli yamalarla birlikte gelir. Karşılaştırma olarak, coreboot her birkaç ayda bir kod tabanının bir anlık görüntüsüyle sürekli sürüm modelini kullanır; çok geliştirici odaklıdır, oysa Libreboot özellikle son kullanıcılar için tasarlanmıştır. Başka bir deyişle, Libreboot'un amacı *Sadece Çalışmaktır*. Coreboot'un doğrudan yapılandırılması ve kurulumu da mümkündür, ancak Libreboot bunu *çok* daha kolay hale getirir. + +Libreboot size çoğu diğer önyükleme yazılımıyla alamayacağınız [Özgür Yazılım](https://writefreesoftware.org/) sağlar, ayrıca daha hızlı önyükleme hızları ve [daha iyi güvenlik](docs/linux/grub_hardening.md) sunar. Birçok kullanım senaryosu için son derece güçlü ve [yapılandırılabilirdir](docs/maintain/). Özel mülk BIOS satıcıları tarafından size dayatılan kısıtlamalardan (güvenlik sorunlarından bahsetmiyorum bile) memnun değilseniz, Libreboot sizin için olası bir seçenektir. Coreboot'tan miras aldığı için, kodda bilinen arka kapılar içermez ve 1980'lerden kalma eski öğeler içermez. Libreboot, düzenli olarak denetlenen ve geliştirilen coreboot'a dayalı Linux/BSD sistemleri için şık, hızlı bir önyükleme deneyimi sağlar. + +Libreboot özel mülk yazılımlardan daha güvenilirdir. Birçok kişi [özgür bir işletim sistemi](https://www.openbsd.org/) kullansa bile özel mülk (özgür olmayan) önyükleme yazılımı kullanır. Özel mülk yazılımlar genellikle [arka kapılar](faq.html#intel) [içerir](faq.html#amd) ve hatalı olabilir. Libreboot projesi, Aralık 2013'te, coreboot yazılımını teknik olmayan kullanıcılar için erişilebilir kılma açık amacıyla kuruldu. + +Libreboot, kullanıcıların özel mülk önyükleme yazılımından kaçmasına yardımcı olmaya odaklanan topluluk odaklı bir projedir; biz kendimiz tüm yazılımların [özgür](https://writefreesoftware.org/) olduğu bir dünyada yaşamak istiyoruz ve bu nedenle Libreboot, o dünyaya yaklaşmaya yardımcı olma çabasıdır. Büyük satıcıların aksine, sizi herhangi bir şekilde kısıtlamaya çalışmıyoruz veya sizi bir güvenlik tehdidi olarak görmüyoruz; yazılımı özgürce kullanma, inceleme, değiştirme ve yeniden dağıtma yeteneğinin herkesin sahip olması gereken bir insan hakkı olduğunu düşünüyoruz. Bilgisayarlara uyarlandığında, bunlar satın aldığınız ürünlerdir ve bu nedenle onları istediğiniz gibi değiştirme özgürlüğüne sahip olmalısınız. Intel'in *Boot Guard*'ından (yalnızca kendileri tarafından imzalanmış yazılımın çalıştırılmasına izin vererek coreboot'u engelleyen) veya diğer satıcıların benzer kısıtlamalar getirmesinden bahsederken "güvenlik"ten bahsettiklerini duyduğunuzda, yalnızca *kendi* güvenliklerinden bahsediyorlar, sizinkinden değil. Libreboot projesinde, bu tersine çevrilmiştir; biz Intel Boot Guard ve benzeri teknolojileri kendi mülkünüz (bilgisayarınız) üzerindeki özgürlüğünüze bir saldırı olarak görüyoruz ve bu nedenle, bu tür kontrolü [geri almanıza](docs/install/deguard.html) [yardımcı olmayı](https://trmm.net/TOCTOU/) misyonumuz haline getiriyoruz. + +Libreboot Coreboot'un Bir Çatalı Değildir +---------------------------------------- + + + +Aslında, Libreboot her kart için mümkün olduğunca *stok* coreboot'a yakın kalmaya çalışır, ancak Libreboot derleme sistemi tarafından otomatik olarak sağlanan birçok farklı yapılandırma türüyle birlikte. + +*Alpine Linux*'un bir *Linux dağıtımı* olması gibi, Libreboot bir *coreboot dağıtımıdır*. ROM imajını sıfırdan oluşturmak istiyorsanız, aksi takdirde ROM imajını hazırlamak için coreboot, GRUB ve ihtiyacınız olan diğer yazılımların uzman düzeyinde yapılandırmasını gerçekleştirmeniz gerekir. *Libreboot* ile, Git'ten veya bir kaynak arşivinden indirebilir ve basit bir betik çalıştırabilirsiniz, ve tüm ROM imajlarını oluşturacaktır. `lbmk` (Libreboot MaKe) adlı otomatik bir derleme sistemi, bu ROM imajlarını herhangi bir kullanıcı girişi veya müdahalesi gerekmeden otomatik olarak oluşturur. Yapılandırma önceden gerçekleştirilmiştir. + +Libreboot'un otomatik derleme sistemini kullanmadan normal coreboot'u derleseydiniz, çalışan bir yapılandırma üretmek için çok daha fazla müdahale ve iyi teknik bilgi gerektirirdi. + +Libreboot'un düzenli ikili sürümleri bu ROM imajlarını önceden derlenmiş olarak sağlar ve [teknik olmayan kullanıcılar için yazılmış basitleştirilmiş talimatları](docs/install/) takip etme yeteneği dışında özel bir bilgi veya beceri gerektirmeden bunları kurabilirsiniz. + +### Nasıl Yardımcı Olabilirsiniz + +[Görevler sayfası](tasks/) üzerinde çalışılabilecek (çalışılacak) görevleri listeler. Daha fazla görev eklendikçe/tamamlandıkça güncellenecektir. Yardımcı olmak istiyorsanız, bu görevlerden birini seçip üzerinde çalışabilirsiniz. + +Libreboot'ta GRUB önyükleyici + +Yardımcı olabileceğiniz *en büyük* yol, bir yapılandırma göndererek Libreboot'a *yeni* anakartlar eklemektir. Coreboot'un desteklediği her şey, sürümlerde sağlanan ROM imajlarıyla Libreboot'a entegre edilebilir. Bakınız: + +* [Kart bakımcısı/test edicisi olmak için başvurun](docs/maintain/testing.md) +* [Yeni anakartlar için port kılavuzu](docs/maintain/porting.md) +* [Libreboot derleme sistemi belgeleri](docs/maintain/) + +Bunun ardından, derleme sistemi bakımı (yukarıya bakın) ve ciddiye aldığımız *belgelendirme* var. Belgelendirme, herhangi bir projede kritik öneme sahiptir. + +*Kullanıcı desteği* de kritik öneme sahiptir. IRC'de kalın ve eğer birine sorunuyla yardımcı olabilecek yetkinliğe sahipseniz (veya onlarla birlikte öğrenecek kadar kurnazysanız), bu projeye büyük bir hizmettir. Birçok kişi ayrıca `r/libreboot` subreddit'inde kullanıcı desteği istemektedir. + +[Hata takipçisinde](https://codeberg.org/libreboot/lbmk/issues) listelenen hataları kontrol edebilirsiniz. + +Bir hata fark eder ve düzeltmeniz varsa, [yamaları nasıl göndereceğinize dair talimatlar burada](git.md), ve ayrıca rapor edebilirsiniz. Ayrıca, bu web sitesinin tamamı Markdown ile yazılmıştır ve yamalar gönderebileceğiniz [ayrı bir depoda](https://codeberg.org/libreboot/lbwww) barındırılmaktadır. + +Tüm geliştirme tartışmaları ve kullanıcı desteği IRC kanalında yapılmaktadır. Daha fazla bilgi [iletişim sayfasında](contact.md) bulunmaktadır. + +### libreboot.org için Çeviriler Gerekli + +Libreboot şu anda Ukraynaca ve Fransızca çevrilmiş web sayfalarına sahiptir (ancak her iki dilde de henüz tüm sayfalar için değil). + +Çevirilere yardımcı olmak istiyorsanız, sayfaları çevirebilir, mevcut çevirileri güncelleyebilir ve çevrilmiş versiyonlarınızı gönderebilirsiniz. Talimatlar için lütfen okuyun: + +[libreboot.org için çeviri nasıl gönderilir](news/translations.md) + +Belirli bir dilde biri zaten çalışıyor olsa bile, her zaman birden fazla kişi kullanabiliriz. Ne kadar çok o kadar iyi! \ No newline at end of file diff --git a/site/logo-license.tr.md b/site/logo-license.tr.md new file mode 100644 index 0000000..ad5221c --- /dev/null +++ b/site/logo-license.tr.md @@ -0,0 +1,14 @@ +--- +title: Libreboot logo lisansı +... + +Libreboot logosu, 2014 yılında Marcus Moeller tarafından oluşturulmuş olup telif hakkı da kendisine aittir. Logo, Creative Commons Zero lisansı, versiyon 1.0 şartları altında yayınlanmıştır. + +Bu logoya dayalı çıkartma dosyaları 2015 yılında Patrick McDermott tarafından oluşturulmuş ve aynı lisans altında yayınlanmıştır. + +Bu lisansın (CC-0 1.0) bir kopyasını şu adreste bulabilirsiniz: + + +Çıkartma tasarımlarındaki yazı tipi `lato`'dur. Vektörlerdeki metinlerin doğru görünmesi için bu yazı tipini yüklemeniz gerekir. + +Logo dosyalarını burada görebilirsiniz: \ No newline at end of file diff --git a/site/template-license.tr.md b/site/template-license.tr.md new file mode 100644 index 0000000..0921bc6 --- /dev/null +++ b/site/template-license.tr.md @@ -0,0 +1,28 @@ +--- +title: Şablon lisansı +... + +Bu web sitesi Markdown ile yazılmış ve Pandoc kullanılarak statik HTML'ye derlenmiştir. Kullanılan HTML şablonu, +Telif Hakkı (c) 2014--2017, John MacFarlane + +Şablondaki değişiklikler 2021-2024 Leah Rowe telif hakkına sahiptir ve Creative Commons Zero lisansı versiyon 1.0 evrensel şartları altında yayınlanmıştır. Bu lisansı şu adreste bulabilirsiniz: + + +Şablon dosyasını burada bulabilirsiniz: [/template.include](/template.include) + +`template.include` dosyası değiştirilmiş versiyondur (Leah Rowe tarafından değiştirilmiştir). +Orijinal versiyonu burada bulabilirsiniz: [/template.original](/template.original) + +Belirli sayfalarda başka değiştirilmiş şablonlar da kullanılabilir. Bunu libreboot web sitesinin Git deposunda kontrol edebilirsiniz. + +John MacFarlane tarafından oluşturulan `template.original` adlı orijinal şablon dosyası aşağıdaki koşullar altında yayınlanmıştır: + +Kaynak ve ikili formlarda, değiştirilmiş veya değiştirilmemiş olarak yeniden dağıtım ve kullanım, aşağıdaki koşullar karşılandığı sürece izin verilir: + +Kaynak kodunun yeniden dağıtımı, yukarıdaki telif hakkı bildirimini, bu koşullar listesini ve aşağıdaki sorumluluk reddini içermelidir. + +İkili formda yeniden dağıtım, yukarıdaki telif hakkı bildirimini, bu koşullar listesini ve aşağıdaki sorumluluk reddini, dağıtımla birlikte sağlanan belgelerde ve/veya diğer materyallerde yeniden üretmelidir. + +John MacFarlane'in adı veya diğer katkıda bulunanların adları, önceden yazılı izin alınmadan bu yazılımdan türetilen ürünleri onaylamak veya tanıtmak için kullanılamaz. + +BU YAZILIM TELİF HAKKI SAHİPLERİ VE KATKIDA BULUNANLAR TARAFINDAN "OLDUĞU GİBİ" SAĞLANMIŞTIR VE TİCARİ ELVERİŞLİLİK VE BELİRLİ BİR AMACA UYGUNLUK DAHİL ANCAK BUNLARLA SINIRLI OLMAMAK ÜZERE, AÇIK VEYA ZIMNİ HERHANGİ BİR GARANTİ REDDEDİLMEKTEDİR. TELİF HAKKI SAHİBİ VEYA KATKIDA BULUNANLAR, HERHANGİ BİR DOĞRUDAN, DOLAYLI, ARIZİ, ÖZEL, ÖRNEK NİTELİĞİNDE VEYA SONUÇSAL HASARDAN (YEDEK MAL VEYA HİZMETLERİN TEMİNİ; KULLANIM, VERİ VEYA KAR KAYBI; VEYA İŞ KESİNTİSİ DAHİL ANCAK BUNLARLA SINIRLI OLMAMAK ÜZERE) SORUMLU TUTULAMAZ, BU TÜR HASARLARIN OLASILIĞI KONUSUNDA BİLGİLENDİRİLMİŞ OLSALAR BİLE, SÖZLEŞME, KATI SORUMLULUK VEYA HAKSIZ FİİL (İHMAL VEYA DİĞER DURUMLAR DAHİL) GİBİ HERHANGİ BİR SORUMLULUK TEORİSİ ALTINDA, BU YAZILIMIN KULLANIMINDAN KAYNAKLANAN HİÇBİR ŞEKİLDE SORUMLU TUTULAMAZLAR. \ No newline at end of file From 1e4efd903e07795a2c8c96cf111eccbaca95c0e3 Mon Sep 17 00:00:00 2001 From: justinschuldt Date: Fri, 14 Mar 2025 07:00:13 +0000 Subject: [PATCH 239/279] fix maintain page typos --- site/docs/maintain/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/site/docs/maintain/index.md b/site/docs/maintain/index.md index 3387943..1acc220 100644 --- a/site/docs/maintain/index.md +++ b/site/docs/maintain/index.md @@ -503,7 +503,7 @@ Please also visit: This is a bootloader provided on ARM chromebooks, within Libreboot. It also provides UEFI. Information about that can be found on these resources: -* [U-Boot documentation](../u-boot/) +* [U-Boot documentation](../uboot/) * [Chromebook documentation](../install/chromebooks.md) This is currently the only payload on *ARM* systems, within Libreboot. @@ -1166,7 +1166,7 @@ as: These are similar in meaning to their coreboot counterparts. -The tree` entry is actually a link, where its value is a directory name +The `tree` entry is actually a link, where its value is a directory name under `config/u-boot`. For example, `tree="default"` would refer to `config/u-boot/default` and the corresponding U-Boot source tree created (when running `./mk u-boot`, which makes use of `target.cfg`) From b38fb3356061cf7a28a7a02b67da41ec4cd4d145 Mon Sep 17 00:00:00 2001 From: arielenter Date: Sun, 30 Mar 2025 21:55:27 +0000 Subject: [PATCH 240/279] Add uboot instructions for installing Trisquel Aramo --- site/docs/uboot/uboot-trisquel-aramo.md | 59 +++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 site/docs/uboot/uboot-trisquel-aramo.md diff --git a/site/docs/uboot/uboot-trisquel-aramo.md b/site/docs/uboot/uboot-trisquel-aramo.md new file mode 100644 index 0000000..44ec104 --- /dev/null +++ b/site/docs/uboot/uboot-trisquel-aramo.md @@ -0,0 +1,59 @@ +--- +title: Trisquel 11 Aramo on Samsung Chromebook Plus XE513C24 +x-toc-enable: true +... + +System Configuration +-------------------- + +Hardware: Samsung Chromebook Plus XE513C24 (gru\_kevin) + +Libreboot: 2024-12-06 + +Operating System: Trisquel 11.0.1 Aramo + +Background +------------------------- + +The current arm64 installer for Trisquel 11 has a so far unresolved problem where the the installer doesn’t start after choosing any of the installation methods offered by the arm64 ISO’s menu [trisquel-netinst_11.0.1_arm64.iso](https://cdimage.trisquel.info/trisquel-images/trisquel-netinst_11.0.1_arm64.iso). The screen simply stays blank without anything ever showing up or happening. The issue has been discussed in the forum of Trisquel [comment-178704](https://trisquel.info/en/trisquel-samsung-chromebook-v1-kevin-support-group#comment-178704). + +Until the problem is resolved, “debootstrap” can be used as a workaround. + +What is debootstrap? +------------------------- + +Most Debian based distributions offer an installer that can be executed from an external media, but what happen if we have an already installed system? would it be possible to install a second system from it into another drive for example? With debootstrap you can. + +Debootstrap installation workaround +------------------------- + +Since there was a precedence that Debian 12 could be easily installed using it’s installation ISO [uboot-debian-bookworm](https://libreboot.org/docs/uboot/uboot-debian-bookworm.html), I figure it could be possible to install Trisquel 11 after it and thankfully it worked. + +The way I did it, is that I installed Debian 12 into a SD card using its installer from a USB A memory. For this purpose I used and adapter/hub since this computer only has USB C inputs. Then after booting Debian from the SD card, I used debootstrap to install Trisquel 11 into the internal MMC. + +Detailed instructions and other useful info +------------------------- + +A step by step guide can be found in the following Trisquel’s documentation page [arm64-chromebooks-trisquel-installation](https://trisquel.info/en/wiki/arm64-chromebooks-trisquel-installation). + +The following page also details many user experiences, some fixes and some tips to improve the usability of Trisquel with this device [samsung-chromebook-v1-kevin-support-group](https://trisquel.info/en/wiki/samsung-chromebook-v1-kevin-support-group). Many of its points might also apply to Debian users as well. + +A review of the device from a Trisquel’s user point of view can be found here: [samsung-chromebook-v1-kevin-review](https://trisquel.info/en/samsung-chromebook-v1-kevin-review) + +System Functionality +------------------------- + +Things that work: + +* Touch screen and stylus +* Touchpad +* Speakers +* Volume buttons on side of laptop. +* Graphics +* Playing videos + +Things that do not work: + +* Wireless internet and Bluetooth (non free software drivers are required) +* The headphone jack does't work +* Some times the computer stops responding with the screen shutoff while trying to hibernate or recovering from it. For this reason I disabled hibernation on my system. From 067aa382163435faf042664290a7a1c67c04fc3d Mon Sep 17 00:00:00 2001 From: arielenter Date: Sun, 30 Mar 2025 21:59:26 +0000 Subject: [PATCH 241/279] Add uboot instructions for installing Trisquel Aramo --- site/docs/install/chromebooks.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/site/docs/install/chromebooks.md b/site/docs/install/chromebooks.md index 523b1bc..8d43bf4 100644 --- a/site/docs/install/chromebooks.md +++ b/site/docs/install/chromebooks.md @@ -144,7 +144,7 @@ removing it might require you to disassemble most of the board. In my case as an example, my kevin board had the protection screw [here](https://av.libreboot.org/board/kevin/write_protection_screw.jpg). It was -tricky for me to find it since it was one of the screws that seemed to holds +tricky for me to find it since it was one of the screws that seemed to hold the heat sink in place, which I thought made it an unlikely candidate. I recommend you leave it unscrew never the less after flashing. @@ -217,6 +217,7 @@ three general methods for installing that vary depending on the distribution: * [ArchLinuxARM on RK3399-based Chromebooks](../uboot/uboot-archlinux.md). * [Debian Bookworm on Samsung Chromebook Plus XE513C24](../uboot/uboot-debian-bookworm.md). +* [Trisquel Aramo on Samsung Chromebook Plus XE513C24](../uboot/uboot-trisquel-aramo.md). * [Debian on Asus Chromebook C201](https://wiki.debian.org/InstallingDebianOn/Asus/C201). ### Unsuccessful installations: From dbf5ec3ebf49c81c9055d8587eee0d5476059258 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Tue, 1 Apr 2025 12:21:11 +0100 Subject: [PATCH 242/279] remove _fsp references in the documentation users must only use the _vfsp targets, where Intel FSP is used. The _fsp targets were removed from lbmk quite recently. Signed-off-by: Leah Rowe --- site/docs/install/ivy_has_common.md | 6 ++++++ site/docs/install/t480.md | 6 +----- site/freedom-status.md | 5 ++--- site/freedom-status.tr.md | 4 ++-- site/freedom-status.uk.md | 5 ++--- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/site/docs/install/ivy_has_common.md b/site/docs/install/ivy_has_common.md index a72843c..04a61d1 100644 --- a/site/docs/install/ivy_has_common.md +++ b/site/docs/install/ivy_has_common.md @@ -304,6 +304,12 @@ in the build system; these releases include `_vfsp` images instead. Newer targets added in the future, that need FSP, will also have `_vfsp` in the file name, for consistency. +To eliminate any doubt: `_fsp` targets were also removed from lbmk, +on 1 April 2025. Not everyone was aware of this change, yet the resulting build +was identical (when compiling from source). To eliminate all questions about it, +the `_fsp` targets were removed entirely. Please use the `_vfsp` targets from +now on, when dealing with any machine that uses Intel FSP. + This is written as errata because some users may still be using older release images but on the newer build system from May 2024 onward; you must use the Libreboot 20240225 release if you want to inject MRC and so on, for these older diff --git a/site/docs/install/t480.md b/site/docs/install/t480.md index bff77dc..d8f454e 100644 --- a/site/docs/install/t480.md +++ b/site/docs/install/t480.md @@ -707,11 +707,7 @@ git commit -s -m "experimental/unstable t480 thunderbolt support" **NOTE: With the above change, or if using the branch referenced below, the build targets will be `t480_fsp_16mb` and `t480s_fsp_16mb`, -not `t480_vfsp_16mb` and `t480s_vfsp_16mb`; see notes regarding fsp/vfsp -elsewhere on this page. This branch also does not contain other fixes from -Libreboot 20231206 rev8/newer, since it's based on 20241206 rev2. A rebase will -not be conducted; instead, ThunderBolt PCI-E support will simply be added in -a subsequent release, and revision to the 20241206 release.** +not `t480_vfsp_16mb` and `t480s_vfsp_16mb`. You can now follow standard [build instructions](../build/). diff --git a/site/freedom-status.md b/site/freedom-status.md index 777dfc2..341c435 100644 --- a/site/freedom-status.md +++ b/site/freedom-status.md @@ -230,7 +230,7 @@ Here is a list, *for each* board, of those files: Neutered ME required on these targets: -`dell9020mt_nri_12mb`, `dell9020sff_nri_12mb`, `e5420_6mb`, `e5520_6mb`, `e5530_12mb`, `e6220_10mb`, `e6230_12mb`, `e6320_10mb`, `e6330_12mb`, `e6420_10mb`, `e6430_12mb`, `e6520_10mb`, `e6530_12mb`, `hp2170p_16mb`, `hp2560p_8mb`, `hp2570p_16mb`, `hp8200sff_4mb`, `hp8200sff_8mb`, `hp820g2_12mb`, `hp8300cmt_16mb`, `hp8300usdt_16mb`, `hp8460pintel_8mb`, `hp8470pintel_16mb`, `hp8560w_8mb`, `hp9470m_16mb`, `t1650_12mb`, `t420_8mb`, `t420s_8mb`, `t430_12mb`, `t440plibremrc_12mb`, `t520_8mb`, `t530_12mb`, `w530_12mb`, `w541_12mb`, `x220_8mb`, `x230_12mb`, `x230_16mb`, `x230t_12mb`, `x230t_16mb`, `dell3050micro_fsp_16mb`, `dell3050micro_vfsp_16mb`, `t480_fsp_16mb`, `t480_vfsp_16mb`, `t480s_fsp_16mb`, `t480s_vfsp_16mb` +`dell9020mt_nri_12mb`, `dell9020sff_nri_12mb`, `e5420_6mb`, `e5520_6mb`, `e5530_12mb`, `e6220_10mb`, `e6230_12mb`, `e6320_10mb`, `e6330_12mb`, `e6420_10mb`, `e6430_12mb`, `e6520_10mb`, `e6530_12mb`, `hp2170p_16mb`, `hp2560p_8mb`, `hp2570p_16mb`, `hp8200sff_4mb`, `hp8200sff_8mb`, `hp820g2_12mb`, `hp8300cmt_16mb`, `hp8300usdt_16mb`, `hp8460pintel_8mb`, `hp8470pintel_16mb`, `hp8560w_8mb`, `hp9470m_16mb`, `t1650_12mb`, `t420_8mb`, `t420s_8mb`, `t430_12mb`, `t440plibremrc_12mb`, `t520_8mb`, `t530_12mb`, `w530_12mb`, `w541_12mb`, `x220_8mb`, `x230_12mb`, `x230_16mb`, `x230t_12mb`, `x230t_16mb`, `dell3050micro_vfsp_16mb`, `t480_vfsp_16mb`, `t480s_vfsp_16mb` As stated, Libreboot provides this in a state where the ME is no longer a threat to security. It initialises itself, but then does nothing, so it's @@ -259,8 +259,7 @@ at the correct offset as defined by coreboot config for each board. Provides romstage and raminit, used by coreboot on some boards. In Libreboot, we use it for the following build targets: -`t480_fsp_16mb`, `t480_vfsp_16mb`, `t480s_fsp_16mb`, `t480s_vfsp_16mb`, -`dell3050micro_fsp_16mb`, `dell3050micro_vfsp_16mb` +`t480_vfsp_16mb`, `t480s_vfsp_16mb`, `dell3050micro_vfsp_16mb` #### SMSC SCH5545 Environmental Control diff --git a/site/freedom-status.tr.md b/site/freedom-status.tr.md index 6968568..e4c1e95 100644 --- a/site/freedom-status.tr.md +++ b/site/freedom-status.tr.md @@ -122,7 +122,7 @@ Bu makale, Libreboot'ta hangi satıcı dosyalarının yer aldığını ayrıntı Bu hedeflerde nötrleştirilmiş ME gereklidir: -`dell9020mt_nri_12mb`, `dell9020sff_nri_12mb`, `e5420_6mb`, `e5520_6mb`, `e5530_12mb`, `e6220_10mb`, `e6230_12mb`, `e6320_10mb`, `e6330_12mb`, `e6420_10mb`, `e6430_12mb`, `e6520_10mb`, `e6530_12mb`, `hp2170p_16mb`, `hp2560p_8mb`, `hp2570p_16mb`, `hp8200sff_4mb`, `hp8200sff_8mb`, `hp820g2_12mb`, `hp8300cmt_16mb`, `hp8300usdt_16mb`, `hp8460pintel_8mb`, `hp8470pintel_16mb`, `hp8560w_8mb`, `hp9470m_16mb`, `t1650_12mb`, `t420_8mb`, `t420s_8mb`, `t430_12mb`, `t440plibremrc_12mb`, `t520_8mb`, `t530_12mb`, `w530_12mb`, `w541_12mb`, `x220_8mb`, `x230_12mb`, `x230_16mb`, `x230t_12mb`, `x230t_16mb`, `dell3050micro_fsp_16mb`, `dell3050micro_vfsp_16mb`, `t480_fsp_16mb`, `t480_vfsp_16mb`, `t480s_fsp_16mb`, `t480s_vfsp_16mb` +`dell9020mt_nri_12mb`, `dell9020sff_nri_12mb`, `e5420_6mb`, `e5520_6mb`, `e5530_12mb`, `e6220_10mb`, `e6230_12mb`, `e6320_10mb`, `e6330_12mb`, `e6420_10mb`, `e6430_12mb`, `e6520_10mb`, `e6530_12mb`, `hp2170p_16mb`, `hp2560p_8mb`, `hp2570p_16mb`, `hp8200sff_4mb`, `hp8200sff_8mb`, `hp820g2_12mb`, `hp8300cmt_16mb`, `hp8300usdt_16mb`, `hp8460pintel_8mb`, `hp8470pintel_16mb`, `hp8560w_8mb`, `hp9470m_16mb`, `t1650_12mb`, `t420_8mb`, `t420s_8mb`, `t430_12mb`, `t440plibremrc_12mb`, `t520_8mb`, `t530_12mb`, `w530_12mb`, `w541_12mb`, `x220_8mb`, `x230_12mb`, `x230_16mb`, `x230t_12mb`, `x230t_16mb`, `dell3050micro_vfsp_16mb`, `t480_vfsp_16mb`, `t480s_vfsp_16mb` Belirtildiği gibi, Libreboot bunu ME'nin artık bir güvenlik tehdidi olmadığı bir durumda sağlar. Kendini başlatır, ancak sonra hiçbir şey yapmaz, bu nedenle devre dışı bırakılmıştır. Bu, `me_cleaner` kullanılarak yapılır. Bkz: @@ -138,7 +138,7 @@ Bu, şu hedefler için geçerlidir: `hp2170p_16mb`, `hp2560p_8mb`, `hp2570p_16mb Coreboot tarafından bazı kartlarda kullanılan romstage ve raminit sağlar. Libreboot'ta, aşağıdaki yapı hedefleri için kullanıyoruz: -`t480_fsp_16mb`, `t480_vfsp_16mb`, `t480s_fsp_16mb`, `t480s_vfsp_16mb`, `dell3050micro_fsp_16mb`, `dell3050micro_vfsp_16mb` +`t480_vfsp_16mb`, `t480s_vfsp_16mb`, `dell3050micro_vfsp_16mb` #### SMSC SCH5545 Çevresel Kontrol diff --git a/site/freedom-status.uk.md b/site/freedom-status.uk.md index 7081ac7..66d34ba 100644 --- a/site/freedom-status.uk.md +++ b/site/freedom-status.uk.md @@ -324,7 +324,7 @@ Libreboot *наразі* не розміщує ці блоби взагалі, Нейтралізований ME потрібен на цих цілях: -`dell9020mt_nri_12mb`, `dell9020sff_nri_12mb`, `e5420_6mb`, `e5520_6mb`, `e5530_12mb`, `e6220_10mb`, `e6230_12mb`, `e6320_10mb`, `e6330_12mb`, `e6420_10mb`, `e6430_12mb`, `e6520_10mb`, `e6530_12mb`, `hp2170p_16mb`, `hp2560p_8mb`, `hp2570p_16mb`, `hp8200sff_4mb`, `hp8200sff_8mb`, `hp820g2_12mb`, `hp8300cmt_16mb`, `hp8300usdt_16mb`, `hp8460pintel_8mb`, `hp8470pintel_16mb`, `hp8560w_8mb`, `hp9470m_16mb`, `t1650_12mb`, `t420_8mb`, `t420s_8mb`, `t430_12mb`, `t440plibremrc_12mb`, `t520_8mb`, `t530_12mb`, `w530_12mb`, `w541_12mb`, `x220_8mb`, `x230_12mb`, `x230_16mb`, `x230t_12mb`, `x230t_16mb`, `dell3050micro_fsp`, `dell3050micro_vfsp_16mb`, `t480_fsp_16mb`, `t480_vfsp_16mb`, `t480s_fsp_16mb`, `t480s_vfsp_16mb` +`dell9020mt_nri_12mb`, `dell9020sff_nri_12mb`, `e5420_6mb`, `e5520_6mb`, `e5530_12mb`, `e6220_10mb`, `e6230_12mb`, `e6320_10mb`, `e6330_12mb`, `e6420_10mb`, `e6430_12mb`, `e6520_10mb`, `e6530_12mb`, `hp2170p_16mb`, `hp2560p_8mb`, `hp2570p_16mb`, `hp8200sff_4mb`, `hp8200sff_8mb`, `hp820g2_12mb`, `hp8300cmt_16mb`, `hp8300usdt_16mb`, `hp8460pintel_8mb`, `hp8470pintel_16mb`, `hp8560w_8mb`, `hp9470m_16mb`, `t1650_12mb`, `t420_8mb`, `t420s_8mb`, `t430_12mb`, `t440plibremrc_12mb`, `t520_8mb`, `t530_12mb`, `w530_12mb`, `w541_12mb`, `x220_8mb`, `x230_12mb`, `x230_16mb`, `x230t_12mb`, `x230t_16mb`, `dell3050micro_vfsp_16mb`, `t480_vfsp_16mb`, `t480s_vfsp_16mb` Як заявлено, Libreboot надає це в стані, де ME більше не є загрозою для безпеки. Він ініціалізує себе, але потім нічого не робить, тому його @@ -353,8 +353,7 @@ at the correct offset as defined by coreboot config for each board. Provides romstage and raminit, used by coreboot on some boards. In Libreboot, we use it for the following build targets: -`t480_fsp_16mb`, `t480_vfsp_16mb`, `t480s_fsp_16mb`, `t480s_vfsp_16mb`, -`dell3050micro_fsp_16mb`, `dell3050micro_vfsp_16mb` +`t480_vfsp_16mb`, `t480s_vfsp_16mb`, `dell3050micro_vfsp_16mb` #### SMSC SCH5545 Environmental Control From 086765046d83b48fc503666800802fa37357e4fa Mon Sep 17 00:00:00 2001 From: Ronanand0 Date: Tue, 8 Apr 2025 08:38:19 +0000 Subject: [PATCH 243/279] hp820g2 tpm2 upgrade + spec. site update Added description on how to upgrade the tpm firmware without pictures and replaced specifications link from the wayback machine as the original site is deleted. --- site/docs/install/hp820g2.md | 35 +++++++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/site/docs/install/hp820g2.md b/site/docs/install/hp820g2.md index 831348f..41a2c21 100644 --- a/site/docs/install/hp820g2.md +++ b/site/docs/install/hp820g2.md @@ -80,7 +80,7 @@ Alternatively, you can use pre-compiled release images. Full hardware specifications can be found on HP's own website: - + Pre-compiled images now possible! -------------------------------- @@ -185,14 +185,37 @@ Refer generally to the [main flashing guide](../install/) and to the [external flashing guide](../install/spi.md) so that you can learn how to actually flash it. -TPM 2.0 potentially supported +TPM 2.0 supported ----------------------------- -The onboard TPM is an SLB 9660, which supports TPM 1.2 but it is known to be -compatible with TPM 2.0 via firmware upgrade. Although not yet tested, we have -some notes about that here: +** DO NOT DO THIS WITH ORIGINAL BOOT FIRMWARE, IT BECAMES UNBOOTABLE; see + ** -[../../tasks/#hp-820-g2-tpm](../../tasks/#hp-820-g2-tpm) +The onboard TPM is an SLB 9660, which supports TPM 1.2 but it is known to be +compatible with TPM 2.0 via firmware upgrade, but incompatible with stock rom. + +Only by externally backing up the stock flash and private flash, flashing libreboot, booting to OS, downgrading it, then reflashing stock firmware from backup would make it work again. **Untested, may work with HP TPM Configuration Utility on Windows.** + +One way to do it is using the TPMFactoryUpd tool from + +iavael's + +or +crass's github repo with SLB 966x firmware; + + +after making it and checking the machine's tpm version with; + +``` +TPMFactoryUpd -info +``` + +Before upgrading, make sure the ownership is unclaimed and tpm enabled. +to update, you should use config file in the firmware folder inside the downloaded and extracted 9665FW update package_1.5.zip, then start the upgrade process: + +``` +TPMFactoryUpd -update config-file -config TPM12_latest.cfg +``` Not yet used meaningfully by Libreboot itself, but the TPM can be used to implement things like measured boot. From c73745f6486fc966a4f1f4ccabbae570f2cc3cc0 Mon Sep 17 00:00:00 2001 From: Ronanand0 Date: Tue, 8 Apr 2025 08:45:44 +0000 Subject: [PATCH 244/279] spec link update Original site deleted -> backup from wayback machine --- site/docs/install/hp2570p.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/docs/install/hp2570p.md b/site/docs/install/hp2570p.md index 3208d5a..b46a292 100644 --- a/site/docs/install/hp2570p.md +++ b/site/docs/install/hp2570p.md @@ -49,7 +49,7 @@ Brief board info Vendor info here: - + Installation of Libreboot ------------------------- From 6bbbf9fe085eb5e3cf7cc6f9019dcbb9b0d750e8 Mon Sep 17 00:00:00 2001 From: Ronanand0 Date: Tue, 8 Apr 2025 09:04:11 +0000 Subject: [PATCH 245/279] Link for vendor manual --- site/docs/install/hp8560w.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/site/docs/install/hp8560w.md b/site/docs/install/hp8560w.md index bd7470b..ecaec94 100644 --- a/site/docs/install/hp8560w.md +++ b/site/docs/install/hp8560w.md @@ -65,6 +65,8 @@ HP EliteBook 8560w laptop motherboard. Libreboot is a [Free Software](https://writefreesoftware.org/learn) project that replaces proprietary BIOS/UEFI firmware. +Vendor manual [here](https://web.archive.org/web/20240901000000*/https://h10032.www1.hp.com/ctg/Manual/c03424153.pdf). + **Unavailable in Libreboot 20240126 or earlier. You must [compile from source](../build/), or use a release newer than 20240126.** From 0a83f8fc42d9fd9193375bc9a306a0b994f801dd Mon Sep 17 00:00:00 2001 From: Ronanand0 Date: Tue, 8 Apr 2025 09:05:09 +0000 Subject: [PATCH 246/279] Update site/docs/install/hp8560w.md --- site/docs/install/hp8560w.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/docs/install/hp8560w.md b/site/docs/install/hp8560w.md index ecaec94..fea69c7 100644 --- a/site/docs/install/hp8560w.md +++ b/site/docs/install/hp8560w.md @@ -65,7 +65,7 @@ HP EliteBook 8560w laptop motherboard. Libreboot is a [Free Software](https://writefreesoftware.org/learn) project that replaces proprietary BIOS/UEFI firmware. -Vendor manual [here](https://web.archive.org/web/20240901000000*/https://h10032.www1.hp.com/ctg/Manual/c03424153.pdf). +Vendor manual [here](https://web.archive.org/web/20240629174138/https://h10032.www1.hp.com/ctg/Manual/c03424153.pdf). **Unavailable in Libreboot 20240126 or earlier. You must [compile from source](../build/), or use a release newer than 20240126.** From be35d8c0e1ae62f76f5c2f1c1eaf23f24caef5ea Mon Sep 17 00:00:00 2001 From: Ronanand0 Date: Tue, 8 Apr 2025 09:13:04 +0000 Subject: [PATCH 247/279] hp8470p spec. link update hp -> wayback machine --- site/docs/install/hp8470p.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/docs/install/hp8470p.md b/site/docs/install/hp8470p.md index c64804c..1d337fa 100644 --- a/site/docs/install/hp8470p.md +++ b/site/docs/install/hp8470p.md @@ -66,7 +66,7 @@ Libreboot is a [Free Software](https://writefreesoftware.org/learn) project that replaces proprietary BIOS/UEFI firmware. Official information about the laptop can be found here: - + This is a beastly 14" Ivy Bridge platform from HP. **NOTE: Until otherwise stated, only the Intel GPU variant is supported in From a52ebef53bc4fdc34ac62012e05973bb52183cb8 Mon Sep 17 00:00:00 2001 From: Ronanand0 Date: Tue, 8 Apr 2025 09:20:51 +0000 Subject: [PATCH 248/279] hp9470m Vendor manual update From wayback machine --- site/docs/install/hp9470m.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/site/docs/install/hp9470m.md b/site/docs/install/hp9470m.md index 6b53383..ee99f37 100644 --- a/site/docs/install/hp9470m.md +++ b/site/docs/install/hp9470m.md @@ -46,6 +46,8 @@ that replaces proprietary BIOS/UEFI firmware. HP EliteBook Folio 9470m is a 14" ultrabook with a backlit keyboard. +Vendor manual [here](https://web.archive.org/web/20240509202822/http://h10032.www1.hp.com/ctg/Manual/c03909856.pdf). + Libreboot has support for this, in the Git repository and release versions from Libreboot 20230423 onwards. From 9ce0dc2889ede3ca2c48122bdf4e926b14771f53 Mon Sep 17 00:00:00 2001 From: Ronanand0 Date: Tue, 8 Apr 2025 09:24:29 +0000 Subject: [PATCH 249/279] hp8460p vendor manual added --- site/docs/install/hp8460p.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/site/docs/install/hp8460p.md b/site/docs/install/hp8460p.md index a4ea240..376ec82 100644 --- a/site/docs/install/hp8460p.md +++ b/site/docs/install/hp8460p.md @@ -65,6 +65,8 @@ HP EliteBook 8460p laptop motherboard. Libreboot is a [Free Software](https://writefreesoftware.org/learn) project that replaces proprietary BIOS/UEFI firmware. +Vendor manual [here](https://web.archive.org/web/20240814185019/https://h10032.www1.hp.com/ctg/Manual/c03253774.pdf). + **Unavailable in Libreboot 20231106 or earlier. You must [compile from source](../build/), or use a release newer than 20231106.** From 9c86f0c89a55d352da4038f53cb118420ad5acad Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Thu, 17 Apr 2025 01:30:33 +0100 Subject: [PATCH 250/279] docs/linux: Update regarding Fedora "sixteenbit" It has been reported to me that setting this variable is no longer required. It *is* required on older Fedora versions, so it will be retained, but a note has been added saying that it is no longer required on newer Fedora versions. Signed-off-by: Leah Rowe --- site/docs/linux/index.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/site/docs/linux/index.md b/site/docs/linux/index.md index 0ad58ce..ec6c6ef 100644 --- a/site/docs/linux/index.md +++ b/site/docs/linux/index.md @@ -165,6 +165,10 @@ Set the `sixteenbit` variable to an empty string, then run: grub2-mkconfig -o /boot/grub2/grub.cfg +**NOTE: On newer Federa versions, setting the sixteenbit variable is +no longer required and it is no longer present. However, you should still +deal with the BLS issue, mentioned below:** + ### BLS issue With [newer versions of fedora](https://fedoraproject.org/wiki/Changes/BootLoaderSpecByDefault), From 68f4ff8a0fb9d50fbe781ef00d75932fff5813dc Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Mon, 21 Apr 2025 00:55:44 +0100 Subject: [PATCH 251/279] 20241206rev11 notes Signed-off-by: Leah Rowe --- site/index.md | 4 +- site/news/MANIFEST | 1 + site/news/libreboot20241206.Revisions.md | 7 ++ site/news/libreboot20241206rev11.md | 133 +++++++++++++++++++++++ 4 files changed, 143 insertions(+), 2 deletions(-) create mode 100644 site/news/libreboot20241206rev11.md diff --git a/site/index.md b/site/index.md index 59bd950..b5cbb4d 100644 --- a/site/index.md +++ b/site/index.md @@ -28,8 +28,8 @@ of these payloads in a single image, and you choose one at boot time. **NEW RELEASE: The latest release is Libreboot 20241206, released on 6 December 2024. See: [Libreboot 20241206 release announcement](news/libreboot20241206.md) - the -newest revision release, Libreboot 20241206 revision 10, is from 18 -February 2025.** +newest revision release, Libreboot 20241206 revision 11, is from 20 +April 2025.** You can also [buy Libreboot preinstalled](https://minifree.org/) from Minifree Ltd, on select hardware, as well as send your compatible hardware diff --git a/site/news/MANIFEST b/site/news/MANIFEST index 4f9fe40..f7a1f1c 100644 --- a/site/news/MANIFEST +++ b/site/news/MANIFEST @@ -1,3 +1,4 @@ +libreboot20241206rev11.md libreboot20241206rev10.md schedule.md libreboot20241206rev8.md diff --git a/site/news/libreboot20241206.Revisions.md b/site/news/libreboot20241206.Revisions.md index 8ef77e3..2242ca0 100644 --- a/site/news/libreboot20241206.Revisions.md +++ b/site/news/libreboot20241206.Revisions.md @@ -189,3 +189,10 @@ Revision 10 (18 February 2025) Several critical security fixes made to GRUB, and a few improvements to LVM scanning in `grub.cfg` were made. Other minor fixes. A full announcement is available in the [20241206rev10 announcement](libreboot20241206rev10.md). + +Revision 11 (20 April 2025) +----------- + +Several regressions have been fixed, that were caused by the previous CVE +fixes merged in Revision 10. +See: [20241206rev11 announcement](libreboot20241206rev11.md). diff --git a/site/news/libreboot20241206rev11.md b/site/news/libreboot20241206rev11.md new file mode 100644 index 0000000..4f37968 --- /dev/null +++ b/site/news/libreboot20241206rev11.md @@ -0,0 +1,133 @@ +% Libreboot 20241206, 11th revision released! (fixes to GRUB regressions) +% Leah Rowe +% 20 April 2025 + +Today's Libreboot 20241206 revision is the 11th revision in the Libreboot +20241206 stable release series. The changelog on this page is written, relative +to Libreboot 20241206 revision 10 +You can find the full list of revisions [here](libreboot20241206.Revisions.md) +and the original release [here](libreboot20241206.md). + +Open source BIOS/UEFI firmware +------------------------------ + + + +Libreboot is a free/open source BIOS/UEFI replacement on x86 and ARM, providing +boot firmware that initialises the hardware in your computer, to then load an +operating system (e.g. Linux/BSD). It is specifically +a *[coreboot distribution](../docs/maintain/)*, +in the same way that Debian is a Linux distribution. It provides an automated +build system to produce coreboot ROM images with a variety of payloads such as +GRUB or SeaBIOS, with regular well-tested releases to make coreboot as easy +to use as possible for non-technical users. From a project management perspective, +this works in *exactly* the same way as a Linux distro, providing a source-based +package manager (called lbmk) which patches sources and compiles coreboot images. +It makes use of [coreboot](https://www.coreboot.org/) for hardware initialisation, +and then a payload such as [SeaBIOS](https://www.seabios.org/SeaBIOS) +or [GRUB](https://www.gnu.org/software/grub/) to boot your operating +system; on ARM(chromebooks), we provide *U-Boot* (as a coreboot payload). + +We also provide an experimental U-Boot setup on x86, as a coreboot payload for +providing a minimal UEFI implementation. + +### Regarding revision 11 + +Normally, revisions would only be documented on +the [Libreboot 20241206 revisions page](libreboot20241206.Revisions.md), but +this revision contains *critical regression fixes*, so it was decided that there +should be a full announcement, to ensure that more people see it. + +Summarised list of changes +------------------------ + +Several major CVE fixes were merged in the previous release revision, but +these caused several regressions especially in filesystem drivers (e.g. fs/ext2). + +For example, very large files would sometimes not load properly on ext4 file +systems, leading to a distro no longer booting (this also affected people who +used the loopback device). + +See below for a full list of fixes merged from upstream, included in this +revision release. GRUB should hopefully be stable now. + +If you previously updated to the revision 10 release, and you rely on the +GRUB payload, you are *strongly* advised to install 20241206rev11 instead. + +### Revision updates + +The following GRUB fixes were merged from upstream: + +``` +* a4da71daf util/grub-install: Include raid5rec module for RAID 4 as well +* 223fcf808 loader/ia64/efi/linux: Reset grub_errno on failure to allocate +* 6504a8d4b lib/datetime: Specify license in emu module +* 8fef533cf configure: Add -mno-relax on riscv* +* 1fe094855 docs: Document the long options of tpm2_key_protect_init +* 6252eb97c INSTALL: Document the packages needed for TPM2 key protector tests +* 9d4b382aa docs: Update NV index mode of TPM2 key protector +* 2043b6899 tests/tpm2_key_protector_test: Add more NV index mode tests +* 9f66a4719 tests/tpm2_key_protector_test: Reset "ret" on fail +* b7d89e667 tests/tpm2_key_protector_test: Simplify the NV index mode test +* 5934bf51c util/grub-protect: Support NV index mode +* cd9cb944d tpm2_key_protector: Support NV index handles +* fa69deac5 tpm2_key_protector: Unseal key from a buffer +* 75c480885 tss2: Add TPM 2.0 NV index commands +* 041164d00 tss2: Fix the missing authCommand +* 46c9f3a8d tpm2_key_protector: Add tpm2_dump_pcr command +* 617dab9e4 tpm2_key_protector: Dump PCRs on policy fail +* 204a6ddfb loader/i386/linux: Update linux_kernel_params to match upstream +* 6b64f297e loader/xnu: Fix memory leak +* f94d257e8 fs/btrfs: Fix memory leaks +* 81146fb62 loader/i386/linux: Fix resource leak +* 1d0059447 lib/reloacator: Fix memory leaks +* f3f1fcecd disk/ldm: Fix memory leaks +* aae2ea619 fs/ntfs: Fix NULL pointer dereference and possible infinite loop +* 3b25e494d net/drivers/ieee1275/ofnet: Add missing grub_malloc() +* fee6081ec kern/ieee1275/init: Increase MIN_RMA size for CAS negotiation on PowerPC machines +* b66c6f918 fs/zfs: Fix a number of memory leaks in ZFS code +* 1d59f39b5 tests/util/grub-shell: Remove the work directory on successful run and debug is not on +* e0116f3bd tests/grub_cmd_cryptomount: Remove temporary directories if successful and debug is not on +* e6e2b73db tests/grub_cmd_cryptomount: Default TMPDIR to /tmp +* 32b02bb92 tests/grub_cmd_cryptomount: Cleanup the cryptsetup script unless debug is enabled +* c188ca5d5 tests: Cleanup generated files on expected failure in grub_cmd_cryptomount +* 50320c093 tests/util/grub-shell-luks-tester: Add missing line to create RET variable in cleanup +* bb6d3199b tests/util/grub-shell-luks-tester: Find cryptodisk by UUID +* 3fd163e45 tests/util/grub-shell: Default qemuopts to envvar $GRUB_QEMU_OPTS +* ff7f55307 disk/lvm: Add informational messages in error cases of ignored features +* a16b4304a disk/lvm: Add support for cachevol LV +* 9a37d6114 disk/lvm: Add support for integrity LV +* 6c14b87d6 lvm: Match all LVM segments before validation +* d34b9120e disk/lvm: Remove unused cache_pool +* 90848a1f7 disk/lvm: Make cache_lv more generic as ignored_feature_lv +* 488ac8bda commands/ls: Add directory header for dir args +* 096bf59e4 commands/ls: Print full paths for file args +* 90288fc48 commands/ls: Output path for single file arguments given with path +* 6337d84af commands/ls: Show modification time for file paths +* cbfb031b1 commands/ls: Merge print_files_long() and print_files() into print_file() +* 112d2069c commands/ls: Return proper GRUB_ERR_* for functions returning type grub_err_t +* da9740cd5 commands/acpi: Use options enum to index command options +* 1acf11fe4 docs: Capture additional commands restricted by lockdown +* 6a168afd3 docs: Document restricted filesystems in lockdown +* be0ae9583 loader/i386/bsd: Fix type passed for the kernel +* ee27f07a6 kern/partition: Unbreak support for nested partitions +* cb639acea lib/tss2/tss2_structs.h: Fix clang build - remove duplicate typedef +* 696e35b7f include/grub/mm.h: Remove duplicate inclusion of grub/err.h +* 187338f1a script/execute: Don't let trailing blank lines determine the return code +* ff173a1c0 gitignore: Ignore generated files from libtasn +* fbcc38891 util/grub.d/30_os-prober.in: Conditionally show or hide chain and efi menu entries +* 56ccc5ed5 util/grub.d/30_os-prober.in: Fix GRUB_OS_PROBER_SKIP_LIST for non-EFI +* 01f064064 docs: Do not reference non-existent --dumb option +* 3f440b5a5 docs: Replace @lbracechar{} and @rbracechar{} with @{ and @} +* f20988738 fs/xfs: Fix grub_xfs_iterate_dir() return value in case of failure +* 1ed2628b5 fs/xfs: Add new superblock features added in Linux 6.12/6.13 +* 348cd416a fs/ext2: Rework out-of-bounds read for inline and external extents +* c730eddd2 disk/ahci: Remove conditional operator for endtime +* f0a08324d term/ns8250-spcr: Return if redirection is disabled +* 7161e2437 commands/file: Fix NULL dereference in the knetbsd tests +* 11b9c2dd0 gdb_helper: Typo hueristic +* 224aefd05 kern/efi/mm: Reset grub_mm_add_region_fn after ExitBootServices() call +* 531750f7b i386/tsc: The GRUB menu gets stuck due to unserialized rdtsc +* f2a1f66e7 kern/i386/tsc_pmtimer: The GRUB menu gets stuck due to failed calibration +* 13f005ed8 loader/i386/linux: Fix cleanup if kernel doesn't support 64-bit addressing +``` From 47c993cba483ff23a4c7b866c6cedcc905e9a2bd Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Wed, 30 Apr 2025 12:03:42 +0100 Subject: [PATCH 252/279] Libreboot 25.04 release Signed-off-by: Leah Rowe --- site/docs/install/spi.md | 10 +- site/docs/maintain/index.md | 317 +++++----- site/download.md | 8 +- site/download.tr.md | 10 +- site/download.uk.md | 10 +- site/index.de.md | 6 +- site/index.fr.md | 4 +- site/index.it.md | 4 +- site/index.md | 8 +- site/index.ru.md | 2 +- site/index.tr.md | 8 +- site/index.uk.md | 4 +- site/index.zh-cn.md | 2 +- site/news/MANIFEST | 1 + site/news/libreboot2504.md | 791 +++++++++++++++++++++++++ site/news/libreboot2504.md.description | 1 + 16 files changed, 988 insertions(+), 198 deletions(-) create mode 100644 site/news/libreboot2504.md create mode 100644 site/news/libreboot2504.md.description diff --git a/site/docs/install/spi.md b/site/docs/install/spi.md index a6b8e09..5303dea 100644 --- a/site/docs/install/spi.md +++ b/site/docs/install/spi.md @@ -102,8 +102,14 @@ Raspberry Pi Pico ### RP2040/RP2530 both supported -**Pico 2 and other RP2530 dongles also supported, on Libreboot 20241206 rev8 -or higher. Releases before this only supported the original Pico, and other +NOTE: RP2530 dongles removed in the Libreboot 25.04 testing release, but will +be re-added in future revisions. It was removed due to bugs, so Libreboot only +supports Pico1 for now, and the Pico2 images were also removed from the December +release of 2024, retroactively. Subsequent revisions will once again re-add +Pico 2 support, after it has been better tested. + +**Pico 2 and other RP2530 dongles also supported, on Libreboot 20241206 rev8, +but experimental. Releases before this only supported the original Pico, and other RP2040 dongles; newer Libreboot releases now support both RP2040 and RP2530.** The pinout on Raspberry Pi Pico and Raspberry Pi Pico 2 are identical, but you diff --git a/site/docs/maintain/index.md b/site/docs/maintain/index.md index 1acc220..229b7c6 100644 --- a/site/docs/maintain/index.md +++ b/site/docs/maintain/index.md @@ -170,7 +170,7 @@ instead, because nproc is not available on every operating system. ### XBMK\_RELEASE -If set to `y`, it signals to `script/roms` that a release is being built, +If set to `y`, it signals that a release is being built, and it will honour `release="n"` in target.cfg files. You could also set this yourself when doing regular builds, if you wanted to test how `./mk -b coreboot` behaves running it in release mode. Do this if you want to: @@ -518,7 +518,7 @@ and it can successfully boot UEFI applications on x86 Libreboot systems. Please also visit: This is compiled, so as to provide `UEFIExtract`. Currently used by the -vendor download logic within `include/vendor.sh`, to download SCH5545 EC +vendor download logic within `include/inject.sh`, to download SCH5545 EC firmware (used for fan control on Dell Precision T1650). This has also been modified to build reliably on non-glibc-based systems e.g. @@ -1330,7 +1330,7 @@ posix shell scripts) that constitute the entire Libreboot build system, lbmk: Scripts in root directory of lbmk --------------------------------- -### build +### mk This is the main build script. @@ -1339,7 +1339,7 @@ Example commands: ./mk -b coreboot ./mk -Special commands available (not provided by files under `script/`): +Special commands available: ./mk release ./mk inject @@ -1353,164 +1353,6 @@ You can also know what build system revision you have by running: This script is the beating heart of Libreboot. Break it and you break Libreboot. -include/ --------- - -This directory contains *helper scripts*, to be included -by main scripts using the `.` command (called the `source` -command in `bash`, but we rely upon posix `sh` only). - -### include/git.sh - -These functions in here previously existed as independent scripts, but they -were unified here, and they are used when you pass the `-f` argument -to `script/update/trees` (e.g. `./mk -f coreboot`). - -These functions deal with git cloning, submodule updates, revision resets and -the application of patch files via `git am`. *Every* git repository downloaded -by lbmk is handled by the functions in this file. - -### include/mrc.sh - -This was previously a separate script. The download logic was removed, and -now the logic under `include/vendor.sh` is used for downloads. This file now -only contains those functions used for extraction of MRC files from Google -Chromebook images, currently only used for Haswell motherboards. - -This is an include, used by `include/vendor.sh`, but it's here in -this file because the vendor download script is GPLv3-only, while the MRC -extract logic in this file is GPLv2-only (forked from coreboot ages ago). Thus, -it is provided as an include to bypass license incompatibility. It has been -heavily modified to use the same style of logic and general control flow used -in the script at `include/vendor.sh`, and it is used from there. - -### include/lib.sh - -Several other parts of lbmk also use this file. It is added to as little as -possible, and contains miscallaneous functions that don't belong anywhere else. - -The functions here are mostly those that deal with configuration files; scanning -them to set variables and so on. - -This file also contains generic error handling, used by all lbmk scripts. - -This also contains functions to verify the current libreboot version, and check -whether Git is properly initialised on the host system. It also contains -the `setvars` function, which provides a shorthand way of initialising many -variables (combined with use of `eval`), which lbmk uses heavily. - -This function also contains `x_()` which lbmk uses to execute commands -and ensure that they cause an exit (with non-zero status) from lbmk, if they -return an error state. - -This also includes the `mk()` function, which can be used as shorthand to -build multiple projects, but it doesn't handle targets within multi-tree projects, -so if for example you say `mk coreboot`, it would build every coreboot target. -This is useful for the release build logic, because now it can much more simply -build all of Libreboot, while still being flexible about it. - -### include/rom.sh - -This builds coreboot ROM images. Specifically, this contains mkhelper functions. -It also builds serprog images, and it could be used to provide functions for -building other types of firmware. - -Command: `./mk -b coreboot targetname` - -The `targetname` argument must be specified, chosen from this output: - - ./mk -b coreboot list - -Pass several board names if you wish to build only for specific targets. For -example: - - ./mk -b coreboot x60 x200_8mb - -To build *all* targets, specify: - - ./mk -b coreboot - -For x86 targets, these scripts build with the GRUB and/or SeaBIOS payloads -inserted into the ROM images; secondary payloads like Memtest86+ are also -handled and inserted here. - -It heavily makes use of the `target.cfg` file, for a given board. This script -will *only* operate on a single target, from a directory in `config/coreboot/`. - -If `grub_scan_disk` is set, it sets that in the `scan.cfg` file that is to be -inserted into a ROM image, when `payload_grub` is turned on. - -It automatically detects if `crossgcc` is to be compiled, on a given coreboot -tree (in cases where it has not yet been compiled), and compiles it for a -target based on the `arch` entry in `target.cfg`. - -It creates ROM images with GRUB, SeaBIOS, U-Boot, optionally with Memtest86+ -also included, in various separate configurations in many different ROM images -for user installation. - -If no payload is defined in `target.cfg`, the `build/roms` script will exit -with error status. - -If SeaBIOS is to be used, on `libgfxinit` setups, SeaVGABIOS will also be -inserted. This provides a minimal VGA compatibility layer on top of the -coreboot framebuffer, but does not allow for *switching* the VGA mode. It is -currently most useful for directly executing ISOLINUX/SYSLINUX bootloaders, -and certain OS software (some Windows setups might work, poorly, depending on -the board configuration, but don't hold your breath; it is far from complete). - -If SeaBIOS is to be used, in `vgarom` setups or `normal` setups, SeaVGABIOS -is not inserted and you rely on either coreboot and/or SeaBIOS to execute VGA -option ROMs. - -In all cases, this script automatically inserts several SeaBIOS runtime -configurations, such as: `etc/ps2-keyboard-spinup` set to 3000 (PS/2 spinup -wait time), `etc/pci-optionrom-exec` set to 2 (despite that already being -the default anyway) to enable *all* option ROMs, unless `vgarom` setups are -used, in which case the option is set to *0* (disabled) because coreboot is -then expected to handle option ROMs, and SeaBIOS should not do it. - -This script handles U-Boot separately, for ARM-based chromeos devices. - -When the ROM is finished compiling, it will appear under a directory in `bin/` - -This script is the beating heart of Libreboot. Break it, and you break -Libreboot! - -CCACHE is automatically used, when building coreboot, but not currently for -other projects. This is done by cooking coreboot configs at build time, enabling -coreboot's build option for it. - -### Serprog images: - -Build firmware images for serprog-based SPI programmers, where they use an -STM32 MCU. It also builds for RP2040-based programmers like Raspberry Pi Pico. - -Example command: `./mk -b pico-serprog` - -Example command: `./mk -b stm32-vserprog` - -This also uses `rom.sh` as with the coreboot image build logic. It's all -defined in that file, so read the main section pertaining to this file. - -### include/vendor.sh - -Helper functions for downloading and injecting vendor files. How to use: - - ./mk inject ARGUMENTS - ./mk -d coreboot TARGET - -Refer elsewhere in the documentation for how to handle vendor files, and/or -read [the guide](../install/ivy_has_common.md). - -script/ -------- - -### script/trees - -*This* is the other beating heart of Libreboot. Used heavily by Libreboot, this -script is what handles defconfig files for SeaBIOS, U-Boot *and* coreboot; it -used to be separate scripts, but the logic was unified under this single script. - It *also* handles simple git trees, where there is only one revision for the project, e.g. GRUB, and the command syntax is the same. Whether a project is multi-tree or single-tree is determined by the presence of the @@ -1625,3 +1467,154 @@ All of this used to about 20 different scripts, all with much-duplicated logic. Now it is unified, efficiently, under a single script. Remember: code equals bugs, so less code equals fewer bugs. + +include/ +-------- + +This directory contains *helper scripts*, to be included +by main scripts using the `.` command (called the `source` +command in `bash`, but we rely upon posix `sh` only). + +### include/git.sh + +These functions in here previously existed as independent scripts, but they +were unified here, and they are used when you pass the `-f` argument to `mk`. + +These functions deal with git cloning, submodule updates, revision resets and +the application of patch files via `git am`. *Every* git repository downloaded +by lbmk is handled by the functions in this file. + +### include/mrc.sh + +This was previously a separate script. The download logic was removed, and +now the logic under `include/inject.sh` is used for downloads. This file now +only contains those functions used for extraction of MRC files from Google +Chromebook images, currently only used for Haswell motherboards. + +This is an include, used by `include/inject.sh`, but it's here in +this file because the vendor download script is GPLv3-only, while the MRC +extract logic in this file is GPLv2-only (forked from coreboot ages ago). Thus, +it is provided as an include to bypass license incompatibility. It has been +heavily modified to use the same style of logic and general control flow used +in the script at `include/inject.sh`, and it is used from there. + +### include/lib.sh and init.sh + +The `init.sh` file contains generic lbmk initialisation, and extra library +functions are contained inside `lib.sh`. + +Several other parts of lbmk also use this file. It is added to as little as +possible, and contains miscallaneous functions that don't belong anywhere else. + +The functions here are mostly those that deal with configuration files; scanning +them to set variables and so on. + +This file also contains generic error handling, used by all lbmk scripts. + +This also contains functions to verify the current libreboot version, and check +whether Git is properly initialised on the host system. It also contains +the `setvars` function, which provides a shorthand way of initialising many +variables (combined with use of `eval`), which lbmk uses heavily. + +This function also contains `x_()` which lbmk uses to execute commands +and ensure that they cause an exit (with non-zero status) from lbmk, if they +return an error state. + +This also includes the `mk()` function, which can be used as shorthand to +build multiple projects, but it doesn't handle targets within multi-tree projects, +so if for example you say `mk coreboot`, it would build every coreboot target. +This is useful for the release build logic, because now it can much more simply +build all of Libreboot, while still being flexible about it. + +### include/rom.sh + +This builds coreboot ROM images. Specifically, this contains mkhelper functions. +It also builds serprog images, and it could be used to provide functions for +building other types of firmware. + +Command: `./mk -b coreboot targetname` + +The `targetname` argument must be specified, chosen from this output: + + ./mk -b coreboot list + +Pass several board names if you wish to build only for specific targets. For +example: + + ./mk -b coreboot x60 x200_8mb + +To build *all* targets, specify: + + ./mk -b coreboot + +For x86 targets, these scripts build with the GRUB and/or SeaBIOS payloads +inserted into the ROM images; secondary payloads like Memtest86+ are also +handled and inserted here. + +It heavily makes use of the `target.cfg` file, for a given board. This script +will *only* operate on a single target, from a directory in `config/coreboot/`. + +If `grub_scan_disk` is set, it sets that in the `scan.cfg` file that is to be +inserted into a ROM image, when `payload_grub` is turned on. + +It automatically detects if `crossgcc` is to be compiled, on a given coreboot +tree (in cases where it has not yet been compiled), and compiles it for a +target based on the `arch` entry in `target.cfg`. + +It creates ROM images with GRUB, SeaBIOS, U-Boot, optionally with Memtest86+ +also included, in various separate configurations in many different ROM images +for user installation. + +If no payload is defined in `target.cfg`, the `build/roms` script will exit +with error status. + +If SeaBIOS is to be used, on `libgfxinit` setups, SeaVGABIOS will also be +inserted. This provides a minimal VGA compatibility layer on top of the +coreboot framebuffer, but does not allow for *switching* the VGA mode. It is +currently most useful for directly executing ISOLINUX/SYSLINUX bootloaders, +and certain OS software (some Windows setups might work, poorly, depending on +the board configuration, but don't hold your breath; it is far from complete). + +If SeaBIOS is to be used, in `vgarom` setups or `normal` setups, SeaVGABIOS +is not inserted and you rely on either coreboot and/or SeaBIOS to execute VGA +option ROMs. + +In all cases, this script automatically inserts several SeaBIOS runtime +configurations, such as: `etc/ps2-keyboard-spinup` set to 3000 (PS/2 spinup +wait time), `etc/pci-optionrom-exec` set to 2 (despite that already being +the default anyway) to enable *all* option ROMs, unless `vgarom` setups are +used, in which case the option is set to *0* (disabled) because coreboot is +then expected to handle option ROMs, and SeaBIOS should not do it. + +This script handles U-Boot separately, for ARM-based chromeos devices. + +When the ROM is finished compiling, it will appear under a directory in `bin/` + +This script is the beating heart of Libreboot. Break it, and you break +Libreboot! + +CCACHE is automatically used, when building coreboot, but not currently for +other projects. This is done by cooking coreboot configs at build time, enabling +coreboot's build option for it. + +### Serprog images: + +Build firmware images for serprog-based SPI programmers, where they use an +STM32 MCU. It also builds for RP2040-based programmers like Raspberry Pi Pico. + +Example command: `./mk -b pico-serprog` + +Example command: `./mk -b stm32-vserprog` + +This also uses `rom.sh` as with the coreboot image build logic. It's all +defined in that file, so read the main section pertaining to this file. + +### include/inject.sh + +Helper functions for downloading and injecting vendor files. How to use: + + ./mk inject ARGUMENTS + ./mk -d coreboot TARGET + +Refer elsewhere in the documentation for how to handle vendor files, and/or +read [the guide](../install/ivy_has_common.md). diff --git a/site/download.md b/site/download.md index f1af170..635b527 100644 --- a/site/download.md +++ b/site/download.md @@ -33,7 +33,7 @@ there, before flashing. For posterity, GPG signing key --------------- -**The latest release is Libreboot 20241206, under the `stable` directory.** +**The latest release is Libreboot 25.04, under the `testing` directory.** ### NEW KEY @@ -85,7 +85,7 @@ there is a Git repository that you can download from. Go here: HTTPS mirrors {#https} ------------- -**The latest release is Libreboot 20241206, under the `stable` directory.** +**The latest release is Libreboot 25.04, under the `testing` directory.** These mirrors are recommended, since they use TLS (https://) encryption. @@ -176,7 +176,7 @@ crontab. This page tells you how to use crontab: HTTP mirrors {#http} ------------ -**The latest release is Libreboot 20241206, under the `stable` directory.** +**The latest release is Libreboot 25.04, under the `testing` directory.** WARNING: these mirrors are non-HTTPS which means that they are unencrypted. Your traffic could be subject to interference by @@ -190,7 +190,7 @@ if using HTTPS. FTP mirrors {#ftp} ----------- -**The latest release is Libreboot 20241206, under the `stable` directory.** +**The latest release is Libreboot 25.04, under the `testing` directory.** WARNING: FTP is also unencrypted, like HTTP. The same risks are present. diff --git a/site/download.tr.md b/site/download.tr.md index e688586..3cad1dc 100644 --- a/site/download.tr.md +++ b/site/download.tr.md @@ -24,7 +24,7 @@ takip edin. Hatırlatma olarak, [işte bağlantı tekrar burada](docs/install/iv GPG İmza Anahtarı ---------------- -**En son sürüm, `stable` dizini altındaki Libreboot 20241206'dır.** +**En son sürüm, `testing` dizini altındaki Libreboot 25.04'dır.** ### YENİ ANAHTAR @@ -69,7 +69,7 @@ Ancak, Libreboot'un en güncel sürümü için indirebileceğiniz bir Git deposu HTTPS Yansıları {#https} -------------- -**En son sürüm, `stable` dizini altındaki Libreboot 20241206'dır.** +**En son sürüm, `testing` dizini altındaki Libreboot 25.04'dır.** Bu yansılar TLS (https://) şifrelemesi kullandığı için önerilir. @@ -146,7 +146,7 @@ Rsync yansınızı düzenli olarak güncel tutmak istiyorsanız, bir crontab'a e HTTP Yansıları {#http} ------------- -**En son sürüm, `stable` dizini altındaki Libreboot 20241206'dır.** +**En son sürüm, `testing` dizini altındaki Libreboot 25.04'dır.** UYARI: bu yansılar HTTPS olmadığı için şifrelenmemiştir. Trafiğiniz kötü niyetli kişiler tarafından müdahaleye uğrayabilir. Doğru anahtara sahip olduğunuzu @@ -159,7 +159,7 @@ HTTPS kullansanız bile bunu yapmalısınız. FTP Yansıları {#ftp} ------------ -**En son sürüm, `stable` dizini altındaki Libreboot 20241206'dır.** +**En son sürüm, `testing` dizini altındaki Libreboot 25.04'dır.** UYARI: FTP de HTTP gibi şifrelenmemiştir. Aynı riskler mevcuttur. @@ -176,4 +176,4 @@ GPL v2'ye uymak için, Libreboot projesi tarafından kaynak ISO'lar sağlanır. 20160907 sürümünden sonraki Libreboot sürümleri statik olarak bağlanmış ikili dosyalar dağıtmaz. Bunun yerine, bu sürümler normal Libreboot kaynak kodu arşivlerinin yeterli olduğu önceden derlenmiş ROM imajları dışında yalnızca kaynak içerir. Bu yeni sürümler bunun yerine derleme bağımlılıklarının kurulumunu otomatikleştirir ve çeşitli yardımcı programları kaynak koddan derlemek için belgelerde talimatlar sunar. -Bu yürütülebilir dosyalar `flashprog` gibi yardımcı programlardır. \ No newline at end of file +Bu yürütülebilir dosyalar `flashprog` gibi yardımcı programlardır. diff --git a/site/download.uk.md b/site/download.uk.md index 7d55784..9352e4f 100644 --- a/site/download.uk.md +++ b/site/download.uk.md @@ -33,7 +33,7 @@ there, before flashing. For posterity, Код підпису GPG --------------- -**Останнім випуском є Libreboot 20241206, в директорії `stable`.** +**Останнім випуском є Libreboot 25.04, в директорії `testing`.** ### НОВИЙ КЛЮЧ @@ -52,7 +52,7 @@ will expire on 26 December 2028. Повний відбиток ключа: `98CC DDF8 E560 47F4 75C0 44BD D0C6 2464 FA8B 4856` This key is for Libreboot releases *after* the 20160907 release, and up -to the Libreboot 20241206 release. This key *expired* during December 2023, +to the Libreboot 25.04 release. This key *expired* during December 2023, so you should use the *newer* key (see above) for the releases after Libreboot 20240126. @@ -85,7 +85,7 @@ Libreboot 20240126. Дзеркала HTTPS {#https} ------------- -**Останнім випуском є Libreboot 20241206, в директорії `stable`.** +**Останнім випуском є Libreboot 25.04, в директорії `testing`.** Дані дзеркала є рекомендованими, оскільки використовують TLS (https://) шифрування. @@ -176,7 +176,7 @@ crontab. Ця сторінка розповідає вам, як викорис Дзеркала HTTP {#http} ------------ -**Останнім випуском є Libreboot 20241206, під директорією `stable`.** +**Останнім випуском є Libreboot 25.04, під директорією `testing`.** УВАГА: ці дзеркала є не-HTTPS, що означає, що вони незашифровані. Ваш трафік може бути об'єктом втручання @@ -190,7 +190,7 @@ crontab. Ця сторінка розповідає вам, як викорис Дзеркала FTP {#ftp} ----------- -**Останнім випуском є Libreboot 20241206, під директорією `stable`.** +**Останнім випуском є Libreboot 25.04, під директорією `testing`.** УВАГА: FTP є також незашифрованим, подібно HTTP. Ті ж самі ризики присутні. diff --git a/site/index.de.md b/site/index.de.md index 139f540..6919c53 100644 --- a/site/index.de.md +++ b/site/index.de.md @@ -27,9 +27,9 @@ depends on your preferences. Libreboot's design incorporates all of these boot methods in a single image, so you can choose which one you use at boot time, and more payloads (e.g. Linux kexec payload) are planned for future releases. -**NEUESTE VERSION: Die neueste Version von Libreboot ist 20241206, veröffentlicht -am 6 December 2024. -Siehe auch: [Libreboot 20241206 release announcement](news/libreboot20241206.md).** +**NEUESTE VERSION: Die neueste Version von Libreboot ist 25.04, veröffentlicht +am 30 April 2025. +Siehe auch: [Libreboot 25.04 release announcement](news/libreboot2504.md).** You can also [buy Libreboot preinstalled](https://minifree.org/) from Minifree Ltd, on select hardware, as well as send your compatible hardware diff --git a/site/index.fr.md b/site/index.fr.md index 4ab6977..3f59410 100644 --- a/site/index.fr.md +++ b/site/index.fr.md @@ -20,8 +20,8 @@ depends on your preferences. Libreboot's design incorporates all of these boot methods in a single image, so you can choose which one you use at boot time, and more payloads (e.g. Linux kexec payload) are planned for future releases. -**NOUVELLE VERSION: La dernière version est [Libreboot 20241206](news/Libreboot20241206.md), sortie -le 6 December 2024.** +**NOUVELLE VERSION: La dernière version est [Libreboot 25.04](news/libreboot2504.md), sortie +le 30 April 2025.** Vous pouvez également acheter du matériel avec [Libreboot pré-installé](https://minifree.org/) via l'entreprise Minifree Ltd, ou envoyer votre propre ordinateur [pour y installer Libreboot](https://minifree.org/product/installation-service/). diff --git a/site/index.it.md b/site/index.it.md index 072018f..d693e93 100644 --- a/site/index.it.md +++ b/site/index.it.md @@ -26,8 +26,8 @@ depends on your preferences. Libreboot's design incorporates all of these boot methods in a single image, so you can choose which one you use at boot time, and more payloads (e.g. Linux kexec payload) are planned for future releases. -**ULTIMO RILASCIO: L'ultimo rilascio e' Libreboot 20241206, rilasciato il 6 December 2024. -Vedi: [Libreboot 20241206 annuncio di rilascio](news/libreboot20241206.md).** +**ULTIMO RILASCIO: L'ultimo rilascio e' Libreboot 25.04, rilasciato il 30 April 2025. +Vedi: [Libreboot 25.04 annuncio di rilascio](news/libreboot2504.md).** You can also [buy Libreboot preinstalled](https://minifree.org/) from Minifree Ltd, on select hardware, as well as send your compatible hardware diff --git a/site/index.md b/site/index.md index b5cbb4d..0f102e9 100644 --- a/site/index.md +++ b/site/index.md @@ -25,11 +25,9 @@ on some boards. The x86, x86\_64 and arm64 U-Boot payloads provide a lightweight UEFI boot implementation. Libreboot's [design](docs/maintain/) incorporates all of these payloads in a single image, and you choose one at boot time. -**NEW RELEASE: The latest release is Libreboot 20241206, released on -6 December 2024. -See: [Libreboot 20241206 release announcement](news/libreboot20241206.md) - the -newest revision release, Libreboot 20241206 revision 11, is from 20 -April 2025.** +**NEW RELEASE: The latest release is Libreboot 25.04, released on +30 April 2025. +See: [Libreboot 25.04 release announcement](news/libreboot2504.md). You can also [buy Libreboot preinstalled](https://minifree.org/) from Minifree Ltd, on select hardware, as well as send your compatible hardware diff --git a/site/index.ru.md b/site/index.ru.md index 0407781..64a1bd0 100644 --- a/site/index.ru.md +++ b/site/index.ru.md @@ -19,7 +19,7 @@ depends on your preferences. Libreboot's design incorporates all of these boot methods in a single image, so you can choose which one you use at boot time, and more payloads (e.g. Linux kexec payload) are planned for future releases. -**НОВЫЙ РЕЛИЗ: Последний релиз Libreboot - 20241206, опубликован 6 December 2024 года. Смотрите: [Libreboot 20241206 release announcment](news/libreboot20241206.md).** +**НОВЫЙ РЕЛИЗ: Последний релиз Libreboot - 25.04, опубликован 30 April 2025 года. Смотрите: [Libreboot 25.04 release announcment](news/libreboot2504.md).** Вы также можете купить [Libreboot предустановленным](https://minifree.org) от Minifree Ltd, а также присылать нам свои совместимые устройства для [установки Libreboot](https://minifree.org/product/installation-service/). Основатель и ведущий разработчик Libreboot, Лия Роу, также владеет и управляет Minifree; продажи обеспечивают финансирование для Libreboot. diff --git a/site/index.tr.md b/site/index.tr.md index aa5e774..4098655 100644 --- a/site/index.tr.md +++ b/site/index.tr.md @@ -9,9 +9,9 @@ x-toc-enable: true Libreboot, x86/x86_64 Intel/AMD anakartlarda GNU önyükleyici "[GRUB](docs/linux/)" ve SeaBIOS yüklerini, ARM64(Aarch64) anakartlarda ise *coreboot için* [U-Boot UEFI yükünü](docs/uboot/) sağlar. Bazı kartlarda [x86/x86_64 U-Boot UEFI yükü](docs/uboot/uboot-x86.md) de mevcuttur. x86, x86_64 ve arm64 U-Boot yükleri hafif bir UEFI önyükleme uygulaması sağlar. Libreboot'un [tasarımı](docs/maintain/) tüm bu yükleri tek bir imajda birleştirir ve önyükleme sırasında birini seçersiniz. -**YENİ SÜRÜM: En son sürüm 6 Aralık 2024'te yayınlanan Libreboot 20241206'dır. -Bakınız: [Libreboot 20241206 sürüm duyurusu](news/libreboot20241206.md) - en -yeni revizyon sürümü olan Libreboot 20241206 revizyon 10, 18 Şubat 2025 tarihlidir.** +**YENİ SÜRÜM: En son sürüm 4 April 2025'te yayınlanan Libreboot 25.04'dır. +Bakınız: [Libreboot 25.04 sürüm duyurusu](news/libreboot2504.md) - en +yeni revizyon sürümü olan Libreboot 25.04 revizyon 10, 18 Şubat 2025 tarihlidir.** Ayrıca Minifree Ltd'den seçili donanımlarda [Libreboot önyüklenmiş cihazlar satın alabilir](https://minifree.org/) veya uyumlu donanımınızı [Libreboot önyükleme hizmeti](https://minifree.org/product/installation-service/) için gönderebilirsiniz. Libreboot'un kurucusu ve baş geliştiricisi Leah Rowe aynı zamanda Minifree'yi de işletmektedir; satışlar Libreboot için finansman sağlamaktadır. @@ -82,4 +82,4 @@ Libreboot şu anda Ukraynaca ve Fransızca çevrilmiş web sayfalarına sahiptir [libreboot.org için çeviri nasıl gönderilir](news/translations.md) -Belirli bir dilde biri zaten çalışıyor olsa bile, her zaman birden fazla kişi kullanabiliriz. Ne kadar çok o kadar iyi! \ No newline at end of file +Belirli bir dilde biri zaten çalışıyor olsa bile, her zaman birden fazla kişi kullanabiliriz. Ne kadar çok o kadar iyi! diff --git a/site/index.uk.md b/site/index.uk.md index 4772fae..dbe4d47 100644 --- a/site/index.uk.md +++ b/site/index.uk.md @@ -27,8 +27,8 @@ depends on your preferences. Libreboot's design incorporates all of these boot methods in a single image, so you can choose which one you use at boot time, and more payloads (e.g. Linux kexec payload) are planned for future releases. -**НОВИЙ ВИПУСК: Останній випуск Libreboot 20241206, випущено 6 December 2024. -Дивіться: [Оголошення про випуск Libreboot 20241206](news/libreboot20241206.md).** +**НОВИЙ ВИПУСК: Останній випуск Libreboot 25.04, випущено 30 April 2024. +Дивіться: [Оголошення про випуск Libreboot 25.04](news/libreboot2504.md).** You can also [buy Libreboot preinstalled](https://minifree.org/) from Minifree Ltd, on select hardware, as well as send your compatible hardware diff --git a/site/index.zh-cn.md b/site/index.zh-cn.md index 31eb162..08e790e 100644 --- a/site/index.zh-cn.md +++ b/site/index.zh-cn.md @@ -19,7 +19,7 @@ depends on your preferences. Libreboot's design incorporates all of these boot methods in a single image, so you can choose which one you use at boot time, and more payloads (e.g. Linux kexec payload) are planned for future releases. -**新版发布: 最新版本 Libreboot 20241206 已在 2024 年 12 月 06 日发布。详见: [Libreboot 20241206 发布公告](news/libreboot20241206.md).** +**新版发布: 最新版本 Libreboot 25.04 已在 2025 年 04 月 30 日发布。详见: [Libreboot 25.04 发布公告](news/libreboot2504.md).** 你也可以从 Minifree Ltd [购买特定硬件的 Libreboot 电脑](https://minifree.org/), 或者将兼容硬件寄来预装 Libreboot。 diff --git a/site/news/MANIFEST b/site/news/MANIFEST index f7a1f1c..9879344 100644 --- a/site/news/MANIFEST +++ b/site/news/MANIFEST @@ -1,3 +1,4 @@ +libreboot2504.md libreboot20241206rev11.md libreboot20241206rev10.md schedule.md diff --git a/site/news/libreboot2504.md b/site/news/libreboot2504.md new file mode 100644 index 0000000..e7ae0de --- /dev/null +++ b/site/news/libreboot2504.md @@ -0,0 +1,791 @@ +% Libreboot 25.04 "Corny Calamity" released! +% Leah Rowe +% 30 April 2025 + +Today's Libreboot 25.04 revision is a *testing release*, whereas the previous +stable release was Libreboot 20241206. The codename for this release +is *Corny Calamity*. This is the first release to have a codename, and it is +using YY.MM format for the version number for the first time. Older releases +used YYYYMMDD as release dates. + +**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../docs/install/ivy_has_common.md), OR +YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions +there, before flashing. For posterity, +[here is the link again](../docs/install/ivy_has_common.md).** + +New schedule and version numbers +------------------------------- + +This change in version release scheme was previously reported in the news +post announcing Libreboot's new [formal release schedule](schedule.md). As per +that article, the next stable release will be Libreboot 25.06, in June 2025. + +Regarding the changelog +-------------------- + +A lot has happened since Libreboot 20241206, released in December 2024. Although +several revisions were made to that release in recent months, *this* new +release changelog is relative to the *original* December 2024 release, so some +of these changes were also included in 20241206 revision releases. + +Open source BIOS/UEFI firmware +---------------------------- + + + +Libreboot is a free/open source BIOS/UEFI replacement on x86 and ARM, providing +boot firmware that initialises the hardware in your computer, to then load an +operating system (e.g. Linux/BSD). It is specifically +a *[coreboot distribution](../docs/maintain/)*, +in the same way that Debian is a Linux distribution. It provides an automated +build system to produce coreboot ROM images with a variety of payloads such as +GRUB or SeaBIOS, with regular well-tested releases to make coreboot as easy +to use as possible for non-technical users. From a project management perspective, +this works in *exactly* the same way as a Linux distro, providing a source-based +package manager (called lbmk) which patches sources and compiles coreboot images. +It makes use of [coreboot](https://www.coreboot.org/) for hardware initialisation, +and then a payload such as [SeaBIOS](https://www.seabios.org/SeaBIOS) +or [GRUB](https://www.gnu.org/software/grub/) to boot your operating +system; on ARM(chromebooks) and certain x86 mainboards, we provide *U-Boot* (as +a coreboot payload), which provides a lightweight UEFI implementation.. + + + +Summarised list of changes +------------------------- + +### Board support + +The following boards have been added since the Libreboot 20241206 release: + +* Acer Q45T-AM support added (similar to G43T-AM3 mainboard) + +G43T-AM3 and Q45T-AM were also changed to a descriptor-based setup, with +full GbE region and correct 4MB ROM size, so for example ethernet should +work fine now. + +### Revision updates + +In descending order from latest changes to earliest changes: + +* Bump SeaBIOS to to rev 9029a010, 4 March 2025 +* Updated Untitled to newer LBSSG repository. +* Bump flashprog to rev e060018 (1 March 2025) +* Bump U-Boot on ARM64 boards to U-Boot v2025.04. Patching courtesy of + Alper Nebi Yasak. +* Bump uefitool to rev a072527, 26 Apr 2025 to fix CMake compatibility issue + since CMake 4 no longer supports version 3.5, whereas the old uefitool had + an earlier version as the minimum supported. This fixed a minor build error. +* Merged coreboot/next with coreboot/default +* Bump coreboot/next to rev c247f62749b as of 20 April 2025 +* Bump coreboot/default to rev c247f62749b as of 20 April 2025 +* Bump GRUB to rev a4da71daf (20 April 2025) +* Bump flashprog to revision eb2c041 (14 Nov 2024). + +The GRUB revision includes a number of critical CVE fixes, and regression +fixes, that were also included in Libreboot 20241206 rev11. + +The NASM version was updated to version 2.16.03 on coreboot/fam15h, to prevent +build errors, instead of fixing the old NASM 2.14.02. Tested on Debian Sid +Experimental, with GCC15-based toolchain, and on Fedora 42. + +PICO support: Reverted to the old pico serprog/sdk repositories used +in Libreboot 20240612. This is temporary, because pico2 support is currently +broken, so this release only has pico1 support, when dealing with Rpi Pico +devices. Upstream pico-serprog works fine on pico2, so this will be fixed +in and re-updated again in a future revision release. The pico2 update images +were retroactively removed from the 20241206 release on rsync. + +A patch from upstream was backported to the old pico-sdk version, so that it +builds correctly on newer GCC15 (tested on Debian Sid with "Experimental" +packages enabled). + +### Licensing + +* Added SPDX license headers to almost every configuration file in lbmk. + +### Security + +These can be considered bug fixes, but these are special fixes that are of +massive concern to users. + +* Merged *73* critical CVE fixes into the GNU GRUB source code, from upstream. +* Stricter use of pledge and unveil in the nvmutil source code. +* *Much* safer `./mk inject`. It used to be that the tarballs were extracted + and files inserted into the extracted images, but the tarballs were left + unmodified; many users thought then that they should extract the tarball + and flash that, which lead to bricks. And it was easy to flash uninjected + images, where files (e.g. Intel ME) are needed, so now ROM images are padded + by one byte, to prevent flashing, and the user is strongly reminded to + inject files first; upon running the `./mk inject` commands, these images + are then safe to flash. +* Fix globbing issues in lbmk by double-quoting variables everywhere, and + generally making sure that certain characters are escaped properly when + necessary. To reduce the chance of bad commands being run by mistake or + intentionally. +* Removed auto-confirm on `./mk dependencies` commands, to mitigate the risk + of a buggy package manager on the user's distro possibly removing many + packages. Now the user must confirm their choice, e.g. when a conflict + occurs, instead of the package manager already deciding for the user. +* ThinkPad T480 / OptiPlex 3050: Disable HyperThreading/SMT by default, for + security, to reduce the attack vector of certain speculative execution-based + exploits. + +### Feature changes + +In descending order from latest changes to earliest changes: + +* `init.sh`: More verbose error info, on non-zero exits. +* `util/nvmutil`: Within each 4KB part, only handle 4KB, even if the block + size is bigger. This means using less memory, and modification of anything + past 4KB is not required. +* `util/nvmutil`: Support 16KB and 128KB GbE files, in addition to the + usual 8KB files. The size is based on the block size of the flash you use. +* Added non-root USB3 hub support to GRUB on the xHCI implementation, courtesy + of a patch from Nitrokey. +* GRUB: Scan LUKS inside *every* LVM, to support the uncommon use case where + LUKS is inside LVM, instead of LVM inside LUKS. It is theoretically possible, + even if ill advised. +* GRUB: Scan *every* LVM device, where available, as a fallback at boot time + when all else fails. +* Release ROMs prefixed with a "DO NOT FLASH" warning and padded by one byte, + where vendor files are required. The `./mk inject` commands remove this + prefix/padding, after vendor files are inserted and checksums verified. +* Better detecting of whether vendor files are needed, and confirmation to + the user while running `./mk inject` commands. +* Allow restoring the default MAC address on `./mk inject` commands, by using + the `setmac restore` arguments. +* Randomise the MAC address by default, where applicable, when running + the `./mk inject` commands, because lots of users previously flashed without + changing it, so lots of users had generic MAC addresses. + The `setmac keep` argument prevents this from happening, where desired. +* `include/vendor.sh`: More user-friendly debug messages, for the user to + know what's going on. +* `util/nvmutil`: Add uninstall command to the Makefile +* `util/nvmutil`: Add distclean command to the Makefile +* `util/nvmutil`: Nicer hexdump display, similar to `hexdump -C`. +* Support a `re` argument in `./mk dependencies` Fedora commands, for + re-installation of packages as desired. +* Support `--reinstall` in the `./mk dependencies debian` command, when the + user wants to re-install dependencies. +* Put temporary `PATH` directory in the normal `XBMK_CACHE` directory, and + clear it whenever a new parent instance of the build system is executed. + This is used for the GCC/GNAT matched symlinks, for example, or the python + symlink created at startup. +* Pico 2 support briefly added, but was a bit buggy for now, so it's removed + in this release, and was retroactively removed in rsync for the + Libreboot 20241206 release; this will be re-added in a future release. +* Added GRUB-first payload setups as an option, but not enabled by default. + The user can add `payload_grubsea="y"` in the `target.cfg` file for a given + mainboard. +* Support automatically downloading Lenovo ThunderBolt firmware for the + ThinkPad T480, automatically padding it for installation. This update fixes + a charging bug that affected some earlier launch models. +* Insert GRUB backgrounds in CBFS instead of GRUB memdisk, which makes + GRUB background images easier to replace. + +### Configuration changes + +In descending order from the latest changes to the earliest changes: + +* T480/3050micro: Removed the `fsp` targets, because we only need + the `vfsp` targets. +* Added `gnutls-devel` to Fedora 41 dependencies. +* Added `libx86` to Arch dependencies, needed for the `int` utility. +* Added `less` to Arch dependencies, because it's needed for certain commands + e.g. git commands. +* GRUB: Use the codeberg mirror first, to mitigate GNU mirrors often being + slow or rate limited, e.g. for gnulib downloads. +* fedora41/dependencies: add libuuid-devel +* Added `uuid-devel` to fedora41 dependencies +* flashprog: Disable `-Werror` to prevent minor warnings being treated as errors. + +### Bug fixes + +The following bug fixes have been merged (in descending order from the latest +changes to the earliest changes): + +* coreboot (all trees): Added patch fixing GMP build errors on modern + GCC15 hostcc. +* coreboot (all trees): Fixed building of crossgcc with newer GCC15. Patches + courtesy of Alper Nebi Yasak. +* coreboot (all trees): Added a patch to fix building coreboot utils with + newer GCC15. +* dependencies/debian: Fixed the libusb package name for newer Debian releases, + courtesy of Alper Nebi Yasak. +* SeaBIOS: Fixed `malloc_fn` function pointers in the `romfile` patch, courtesy + of Alper Nebi Yasak. Fix build errors on GCC 15. +* `include/lib.sh`: Force use of System Python e.g. `/usr/bin/python`, when + a python venv is detected. This prevents the build system from hanging. +* coreboot `g43t_am3`: Fixed the `data.vbt` path. +* Alper Nebi Yasak fixed the Python 2/3 detection in some edge cases when + the `python` command is python2. +* `include/lib.sh` (later `init.sh`): Do root check *first*, right after + the dependencies check, whereas it previously did the python check before + checking for root user. +* lbmk: Don't use TMPDIR directly, use another variable containing its value, + and make sure it doesn't get changed wrongly. This reduces the possibility + of accidentally leaving old tmp files laying around. +* `include/lib.sh`: `tar` commands now return an exit with error, if a fault + occurs, whereas it didn't before, due to piped output. This is done + using the `x_` wrapper on tar commands, to provide error exits. +* `mk`: function `check_project_hashes` now returns an error, if the sha512sum + command fails. It previously didn't, due to piped outputs. It's now mitigated + by using `x_` on piped commands, for error exits. +* Forking of lbmk parent instance to child instance isno longer handled by + variables. It's been simplified, to only be based on whether TMPDIR is set, + and it's generally more robust now in this release. The old code sometimes + broke under certain edge cases. +* `include/vendor.sh` (later renaming to `inject.sh`): General code cleanup, + about 100 sloc removed without reducing features. +* lbmk: Initialise `PATH` to a standard string if not set, on the parent + instance of lbmk. +* lbmk: Use `pwd` instead of the `PWD` variable, resetting the latter safely + as lbmk runs. This prevents lbmk from changing directory to an erroneous + system path, if `PWD` wasn't properly set for some reason. This is a + preventative bug fix, because no actual issue ever occured in practise. +* Much safer Python version check at lbmk startup, using data structures that + are provided universally by all Python implementations, instead of + relying on the output of `--version`. +* Fixed T480 backlight controls, courtesy of a patch from Mate Kukri. +* Set up Python in `PATH` when lbmk starts, to ensure that it is always + version 3. This is checked at startup. +* `include/vendor.sh`: Prevent double-nuke, where a given tarball already had + vendor files removed prior to release. +* `include/vendor.sh`: Allow setting a MAC address even if vendor files aren't + needed. +* `include/vendor.sh`: Download utils even if `vcfg` is not set, in case the + user is also setting a MAC address. +* `util/nvmutil`: Honour the `INSTALL` variable, if set by the user, otherwise + it is set to `install` by default. +* `util/nvmutil`: Don't do `clean` when running `uninstall`. +* `util/nvmutil`: Proper DESTDIR/PREFIX handling, whereas it was not handled + properly at all before. +* `util/nvmutil`: Only set CC/CFLAGS if unset, and use sensible defaults. +* Fixed various shellcheck errors in lbmk. +* HP EliteBook 820 G2: Fixed vendor file insertion and set `release=y`. The + insertion of Intel MRC and refcode previously didn't pass checksum validation. +* ThinkPad T480 / OptiPlex 3050: Force power-off state upon recovery from + power loss, otherwise the system always turns on as soon as a charger is + plugged in. This is configured by hardcoding, due to a current lack of any + option table on the T480. +* Debian dependencies: replace liblz4-tool with lz4 and liblz4-dev. The latter + is also available in Debian Trixie and Sid, at this time, in addition to + Debian Bookworm, so it works on all of them. +* U-Boot (x86): Fixed a bug since Swig 4.3.0 changed the syntax for its + language-specific AppendOut functions. A patch from upstream was backported, + and the patch is also compatible with older versions of Swig. +* In lbmk scripts, use `command -v` instead of `which`, to find the locations + of certain binaries. This is a bug fix, since `which` is non-standard and + so could break on some setups. +* Crossgcc: when building it for coreboot, fix mismatching GCC/GNAT versions + so that they match, if multiple versions are present. This was done because + Debain Trixie initially had GCC 14 and GNAT 13, whereas we need GNAT to build + the Intel video init code on many mainboards. +* T480/T480: Disable TPM2 to mitigate a hang in SeaBIOS due to buggy drivers. +* `dependencies/debian`: Fix the `python3-distutils` package, renamed it + to `python3-distutils-extra`, which works on bookworm *and* newer, but the + former did not. +* `git.sh`: don't initialise the `livepull` variable globally, reset it per + target instead, to prevent some repositories from being wrongly re-cloned. +* Thinkpad T480 / Dell OptiPlex 3050: Handle FSP insertion post-release, rather + than providing FSP images directly in release images. It is now handled by + the `./mk inject` command, copying the reference image from coreboot and + splitting it upp and rebasing it, to mitigate certain technicalities of + Intel's FSP license, which otherwise permits free redistribution. +* Safer, more reliable exit when handling vendor files, because in some cases + lbmk was leaving the `lock` file in place (erroneously). +* Safer exit when running the `./mk dependencies` commands, so that lbmk is + more likely to exit, because it was theoretically possible that it might + not under certain edge cases. +* Disable nvme hotplug on Dell OptiPlex 3050 Micro, to prevent replugging in + Linux, which would otherwise lead to possible data corruption. +* T480: Fix coreboot SPD size to 512 instead of 256 (it was already + auto-corrected to 512 at build time, but the original configs were 256 which + is wrong). +* Add tarballs and gpg signatures to `.gitignore` + +### General code cleanup + +A large audit has been conducted, removing a lot of dead code in the build +system and improving the code quality considerably. Not all of such cleanup +changes are listed, because otherwise it'd overwhelm the changelog, and many +of the changes alone are quite pedantic, but together make a big change. You +can consult the Git log if you're more interested. + +A lot of bloat was removed, but a *lot* of new features, especially safety +features, were added, so the build system is *bigger*: lbmk has a sloccount +of *1507* source lines, in this release, versus 1145 in the 20241206 release. +However, this is with a slew of new features that are useful, including much +safer handling of vendor files, safer in that the risk of bricks is reduced. +This sloccount includes only the core shell scripts that comprise the build +system; there are millions of lines of code, between all the upstream sources +that lbmk imports, or otherwise depends on. lbmk is *[tiny](../docs/maintain/)*. + +In descending order from the latest changes to the earliest changes: + +* `init.sh`: Generally moralised it, moving separate tasks into separate + functions, rathher than having it be one big monolith. +* `vendor.sh` was renamed to `inject.sh`, so that future changes can be + in better sync between lbmk and cbmk on this file, because the cbmk version + has the MAC address changer (but no vendorfile handling). In the future, + this will be split so that `vendor.sh` exists again, containing only the + vendorfile handling, and `inject.sh` will only handle MAC addresses. +* `init.sh`: Several variables were moved out of this file and elsewwhere in + lbmk. +* Moved the `singletree` function to `git.sh` instead of `lib.sh` +* Moved the `cbfs` function from `lib.sh` to `rom.sh`. +* `include/lib.sh`: Use a more top-down function order, more clear, and it was + split into an extra file `init.sh` that does the most basic lbmk initialisation + at startup, whereas what remains in `lib.sh` really are generic library + functions used throughout lbmk. +* `include/git.sh`: Removed unused crossgcc linking feature, because we don't + use it anymore (coreboot trees have their own crossgcc and never link to + another these days). Libreboot used to have many more coreboot trees, some + of which re-used crossgcc from another tree. Similarly, the accompanying + variable `tree_depend` is no longer handled. The `xtree` variable is still + handled, because projects like U-Boot use that to configure crossgcc. +* include/vendor.sh: Removed unnecessary check against the ROM image size. + Generally simplified the processing of release images. +* include/git.sh`: Removed many redundant functions, merging several of them. +* `include/mrc.sh`: Fixed a bad print, making proper use of a string inside + a printf statement. +* Simplified many file checks in lbmk, by using the `e` function. +* Removed a bunch of useless `eval` commands in general, throughout lbmk, + making the code much cleaner. +* lbmk: the `x_` function is now used much more aggressively, for error + handling, simplifying error handling in lbmk overall. +* `mk` main script: Merged the `trees` script with it, so now it's all one + script. The `mk` script is now the only executable script in lbmk. +* `mk` (main script): The `roms` command is removed (legacy / obsolete). +* The version/versiondate files are now dotfiles, to hide during operation. +* `include/lib.sh`: Hardcoded projectname/projectsite variables, instead + of storing them in a file. +* `trees` script: Unified handling of flags (same string used in error output), + to ensure that error(usage) messages always match. +* `trees` script (later merged into `mk`): Removed a lot of old bloat. +* `util/nvmutil`: Make the checksum word position a define. Generally cleaned + up a lot of code to make it clearer for the reader. Added more verbose + messages to the user, confirming things such as how much was read or written + on the user's file system. Various miscallaneous bug fixes (edge cases that + were unlikely to ever be triggered). +* `util/nvmutil`: More efficient use of memory when handling files. +* `util/nvmutil`: Much cleaner handling of user input. +* `util/nvmutil: More granular MAC address parsing errors, easy for debugging. +* `util/nvmutil`: Make the Gbe Checksum a define, for readibility. +* `util/nvmutil`: Obey the 79-character-per-line limit, as per lbmk coding + style. +* `util/nvmutil`: Tidied up several pledge calls +* Removed use of several unnecessary subshells and `eval` statements in lbmk. +* `trees`: Later, the GCC/GNAT matching feature was rewritten to work both ways, + where an older GCC was matched to GNAT and vice versa, whereas it previously + only went one way. `gcc` and `gnat` are manipulated in `PATH` to ensure that + the user has a consistent version of both. +* `path.sh` later merged into the `trees` script (which later merged + into the main `mk` script). This `path.sh` is what contained the first + implementation of the GNAT/GCC version matching feature. +* `path.sh`: Remove unnecessary shebang, and the same on other `include/` + scripts. NOTE: `path.sh` was later merged into `lib.sh`, which then became + split into `init.sh` in later changes (see above). +* Removed legacy build system commands e.g. `./build` and `./update`; now + only the newer `./mk` commands are supported. This and the change below was + briefly reverted, for the 20241206 revisions, but then re-introduced in + preparation for this Libreboot 25.04 release. +* Removed the deprecated `./vendor` command; now only `./mk` commands are + used. The `./mk -d coreboot target` commands are used, for downloading + vendor files. +* Removed unused patch that was for the original deguard implementation, + prior to Mate Kukri's re-write of it. + +Git log +------- + +This log is relative to Libreboot 20241206: + +``` +* 4f77125066d coreboot/fam15h: update submodule for nasm +* 0f2202554ab coreboot/fam15h: update nasm to 2.16.03 +* 2009c26f0aa serprog: Remove pico2 support for the time being +* a08b8d94fc5 seabios: bump to rev 9029a010, 4 March 2025 +* 342eca6f3d1 update untitled +* b0a6d4711a3 coreboot413: add alper's fix to cbfstool for gcc15 +* 628ae867c9a flashprog: bump to rev e060018 (1 March 2025) +* 5e96db5a2b4 further gcc-15 fix for gmp on -std=23 +* 9a9cd26b2d5 coreboot/default and fam15h: gmp fix, gcc15 hostcc +* 80007223c85 lib.sh: Provide printf for mktarball +* a16c483e5fd Merge pull request 'coreboot: fam15h: Add patches to fix build with GCC 15 as host compiler' (#318) from alpernebbi/lbmk:coreboot-fam15h-gcc15 into master +|\ +| * 685685ab0e4 coreboot: fam15h: Add patches to fix build with GCC 15 as host compiler +|/ +* 02110f2bc1d Merge pull request 'coreboot: Add patch to fix build with GCC 15 as host compiler' (#317) from alpernebbi/lbmk:coreboot-gcc15-nonstring into master +|\ +| * 5ad1de3931a coreboot: Add patch to fix build with GCC 15 as host compiler +|/ +* 9e7bceb7fa9 Merge pull request 'seabios: Fix malloc_fn function pointer in romfile patch' (#313) from alpernebbi/lbmk:seabios-romfile-malloc-fptr into master +|\ +| * 35c853f8b33 seabios: Fix malloc_fn function pointer in romfile patch +* | 686e136f150 Merge pull request 'dependencies/debian: Fix libusb package name' (#315) from alpernebbi/lbmk:debian-libusb-dependency into master +|\ \ +| * | 6f120f01588 dependencies/debian: Fix libusb package name +| |/ +* / d8b0e749983 init.sh: fix yet another double quote for dotfiles +|/ +* 780844112ae Merge pull request 'Update U-Boot to v2025.10' (#305) from alpernebbi/lbmk:uboot-v2025.04 into master +|\ +| * 1265927ca38 u-boot: gru: Disable INIT_SP_RELATIVE +| * 5bea1fade9a u-boot: arm64: Expand our modified defconfigs to full configs +| * fd56d8ada13 u-boot: arm64: Merge our modifications into new defconfigs +| * ed9ddd7415f u-boot: arm64: Add new upstream defconfigs +| * b1fa44858cb u-boot: arm64: Rebase to v2025.04 +| * 976fc6890ae u-boot: arm64: Save our modifications to the upstream defconfigs +| * 418570a6172 u-boot: arm64: Turn configs into defconfigs +|/ +* 093a86d9c09 init.sh: don't use eval to read version files +* 3045079947b init.sh: use backslash for dotfiles in eval +* da108d1c045 mk: Don't run mkhelpers if mode is set +* 71a58a38ab4 mk: condense main() again +* f3882b9bf21 init.sh: make git name/email error more useful +* 9cebda333d5 init.sh: move git name/mail check to xbmk_git_init +* ea081adc4ca init.sh: tidy up the git name/email check +* 3292bded692 mk: make main() more readable +* 97a5e3d15ed mk: move git check to init.sh xbmk_set_version +* 11cd952060d init.sh: tidy up xbmk_init() +* f6c5c8d396d mk: move git_init to init.sh +* ec1c92238cc init.sh: minor cleanup +* e009f09e7fa init.sh: clean up setvars +* 9ec72153408 init.sh setvars: make err a printf for eval +* 18ad654a1f7 init.sh: merge xbmk_child_init with xbmk_init +* 15268202478 init.sh: split xbmk_child_init into functions +* 0280cd4c0e7 init.sh: move parent fork to new function +* a0e1d42ff74 init.sh: Provide more complete error info +* a8f0623efbb update uefitool to rev a072527, 26 Apr 2025 +* c698972130f rename include/vendor.sh to inject.sh +* 24e488aae56 lib.sh: move _ua to the xbmkget function +* 6779d3f9915 move variables out of init.sh to others +* 848159fa0eb lib.sh: rename vendor_checksum +* 1de77c6558c lib.sh: move singletree() to git.sh +* 703fe444312 lib.sh: move cbfs() to rom.sh +* b57952e90d2 re-split include/init.sh to lib.sh +* 8ecb62c6628 rename include/lib.sh to init.sh +* ce4381169fa lib.sh: introduce more top-down function order +* 15b64cfebe8 mk/git.sh: remove tree_depend variable +* 9b8179c0e5d git.sh: remove unused xgcc linking feature +* 4624c6e536c mk: remove unused variables (ser/xp) +* aba5b3a3532 mk: simplify main() +* 0ab7c6ff9cf lib.sh: use realpath to get sys python on venv +* 8edea026c58 lib.sh: Force use of System Python to prevent hang +* b1b964fa5c3 lib.sh: further condense the python check +* 9543a325acb lib.sh: further simplify the python check +* 9baabed7186 lib.sh: condense the python check +* 0c5c5ffc873 lib.sh: simplify mk() +* 83022b6ba83 lib.sh: simplify cbfs() +* 13ad839691d lib.sh: simplify the python check +* b1ea4165754 mk: remove mkhelp() and use x_() instead +* 4cf64e59ed0 mk: simplify handling of trees() +* d0581914c74 coreboot/hp8300cmt: purge xhci_overcurrent_mapping +* cb52fc4ba82 Fix VBT path on HP Elite desktops +* 2bee87cfc26 lib.sh: add missing copyright year +* 4b7ab403c65 ifd/q45t_am: unlock regions by default +* 564155277ea coreboot/g43t_am3: use ifd-based setup +* 0ddd1963751 coreboot/q45t_am3: use ifd-based setup +* 3b2d933842a coreboot/default: add missing submodules +* a10d81399c7 NEW MAINBOARD: Acer Q45T-AM (G43T-AM3 variant) +* d114e0a765c mk: don't print confirmation of git pkg.cfg +* f59c24f12aa coreboot/g43t_am3: fix data.vbt path +* 21020fa319a add missing config/data/coreboot/0 +* 2b4629d790b Merge pull request 'lib.sh: Fix python3 detection when 'python' is python2' (#290) from alpernebbi/lbmk:python3-detection-fix into master +|\ +| * a18d287a81e lib.sh: Fix python3 detection when 'python' is python2 +|/ +* c7569a67145 coreboot/next: merge with coreboot/default +* 762c7ff43eb coreboot/default: Update, c247f62749b (8 Feb 2025) +* 86e7aa80c51 Update the GRUB revisions +* 8d57bf6009e Revert "git.sh: minor cleanup" +* a2898771f6e lib.sh: perform root check even earlier +* 779f6003421 lib.sh: tidy up opening logic (put it together) +* bac4be99c20 lib.sh: do root check before python check +* e63d8dd20d9 git.sh: minor cleanup +* 11078508a25 lib.sh: simplify mktarball() +* 087bbedc5f8 vendor.sh: tidy up vendor_download() +* e11fd52d958 mk: tidy up check_gnu_path() +* 3442f4278ed mk: simplify check_project_hashes() +* 6b6a0fa607c lib.sh: fix missing s/TMPDIR/xbmktmp +* e07a2adb130 lbmk: don't handle TMPDIR directly +* 9d3b52cd1d2 rom.sh: minor cleanup +* b4402c54258 vendor.sh: yet even more code cleanup +* fe5bdc7633d vendor.sh: even more cleanup +* fcedb17a9a1 vendor.sh: more cleanup +* 4e2b59ed3ff vendor.sh: minor cleanup +* a3acf4c3f95 vendor.sh: simplify process_release_roms +* 30213a96883 vendor.sh: remove unnecessary check +* 38df7275f12 git.sh: remove unnecessary comment +* f5891fb6991 git.sh: remove link_crossgcc() +* a685654b90f git.sh: remove move_repo() +* e4aa62f79a8 git.sh: remove prep_submodule() +* 2839feb9e43 git.sh: make git_prep command clearer +* 410fa702c9c mrc.sh: Make proper use of variable inside printf +* 075902c3ea7 simplify a few file checks +* b2255425eba rom.sh: remove unnecessary check +* 39640d76a75 lbmk: minor cleanup +* c8dc701f3eb lib.sh mktarball: stricter tar error handling +* 58a53d7046f vendor.sh: don't err on bruteforce me extract +* 958fa34832a mk check_project_hashes: handle error on sha512sum +* 8b4b069e3f6 vendor.sh: remove unnecessary xchanged="y" +* 166dbb04c92 vendor.sh: set need_files="n" if skipping patch +* e90657cc734 vendor.sh: Don't handle vendor files if not needed +* 2e10a45fa36 Revert "lib.sh: use eval for the command in x_" +* 738d4bb6b6d lib.sh: fix bad eval writing resized file +* eb9e5d2d5d4 lib.sh: fix bad eval writing version/versiondate +* 3bfdecdc75b lib.sh: use eval for the command in x_ +* 4fa3bb9e5b1 mk: use eval to run mkhelp commands +* 9b3635718a8 mk: tidy up the switch/case block in main() +* 0c381028abc mk: tidier error handling +* 023f9cf0498 lib.sh: tidy up the error handling +* cb3253befb9 rom.sh: tidy up error handling +* 7af46721bcb vendor.sh: tidy up error handling +* 04ebb3b91a0 vendor.sh: tidy up decat_fspfd() +* 0c87fdf96ad git.sh: clean up fetch_project() +* 9eb8856b3c5 mk: Remove unnecessary argument checks on trees() +* 52f3d54116f vendor.sh: properly call err_ in fail_inject +* c4c6692b761 remove xbmk_parent, handle forking in lib.sh +* fd5431db05d lib.sh: define x_ right after err_ +* 972681a127b mk: minor cleanup +* b41cd39b686 lib.sh: minor cleanup +* 49939502648 mrc.sh: minor cleanup +* c158d82298b rom.sh: minor cleanup +* cb36248c8c0 vendor.sh: tidy up check_release() +* 409cab39c56 vendor.sh: tidy up vendor_inject() +* 12b1623e473 vendor.sh: tidy up readcfg() +* 0d85f061e2e vendor.sh: tidy up patch_release_roms() +* 61f20141028 vendor.sh: tidy up process_release_roms() +* 5901f36e49d vendor.sh: tidy up patch_rom() +* 082930ce0e7 vendor.sh: tidy up inject() +* e1f91f30372 vendor.sh: tidy up modify_mac_addresses() +* 3181ac50126 script/trees: merge with mk and delete script/ +* 3d03dd1a507 mk: remove the legacy "roms" command +* f0c629dcc6c lib.sh: write version/versiondate to dotfiles +* 23b942c83e9 lib.sh: hardcode projectname/projectsite +* a03bb793aea remove update/vendor symlinks +* d7f80ebe71e move build to mk +* 57d58527fd0 trees: unify the execution of mkhelper commands +* e5262da4be7 trees: tidy up configure_project() +* 51798278397 build: make coreboot building an else in "roms" +* c189257888a trees: don't build dependencies if dry=":" +* 115a66fddd3 trees: unified handling of flags +* 3ea633cc791 trees: simplified handling of badhash/do_make +* 9be40e94a2b trees: don't set mode on ./mk -b +* 67ad7c2635c trees: don't set mod on ./mk -d +* 24448948419 trees: don't initialise mode to "all" +* 97c50a39a60 trees: clean up some comments +* cfb14fd8dd8 vendor.sh: simplified readkconfig() +* 5b697b93a2d lib.sh: double-quote pwd to prevent globbing +* 5a0a24f5559 lbmk: unified PWD handling (work directory) +* a25a29cfbb7 lib.sh: initialise PATH if it's unset +* 1022abf6991 move XBMKPATH to include/lib.sh +* 0764c969a29 lbmk: use pwd util, not PWD environmental variable +* f98b9b01107 clean up a few semicolons in the build system +* 8ccb61cc718 trees: err if first argument is not a flag +* 947c3e1a176 trees: err if no argument given +* edbbde0b12d trees: set dry=":" on ./mk -f +* 33bb0ecf764 trees: clean up initialisation of the dry variable +* c7636ff1dfc trees: initialise mode to "all", not "" +* d0bd12631a6 trees: don't abuse the mode variable on -f +* c4cd876c609 trees: Add missing flag to error output +* 5ebcae5235f lbmk: minor code formatting cleanup +* 70cef71dbab grub/xhci: Remove unused patch +* 3f14a470a2e remove _fsp targets (keep _vfsp) +* d7312260e7e util/nvmutil: remove excessive comments +* e348ea0381a Bump GRUB revision to add 73 security patches +* 4b228c11f9f Merge pull request 'Update pico-serprog revision' (#271) from Riku_V/lbmk:master into master +|\ +| * a8359e30b27 Update pico-serprog revision +|/ +* d2cb954933b util/nvmutil: Fix bad error messages on R/W +* e1e515bd22a util/nvmutil: hardened pledge on help output +* ada057a865c Merge pull request 'Simplify the README' (#269) from runxiyu/lbmk:readme-simplification into master +|\ +| * 9ced146b47c README.md: Use newlines instead of bulleted list for docs/support links +| * 266122592cd README.md: Use the EFF's page on Right to Repair +| * e36aa8c5a5c README.md: Vastly simplify it +| * c17f4381ce5 README.md: Mention SeaBIOS and U-Boot instead of Tianocore as payloads +|/ +* 47eb049cb47 Merge pull request 'deps/arch: genisoimage belongs to cdrtools' (#267) from runxiyu/lbmk:master into master +|\ +| * fa9a0df2458 deps/arch: genisoimage belongs to cdrtools +|/ +* a98490573be util/nvmutil: only set mac_updated at the end +* 6b9cf09ca21 restore old x230 gbe file +* 8a435355135 util/nvmutil: Fix bad comparison +* a65a0c2f963 util/nvmutil: allow ./nvm gbe MAC +* 96356ce94f6 util/nvmutil: move "e" to swap() +* b1d8975959d util/nvmutil: Only read up to 4KB on larger gbe +* 6821659bcb2 util/nvmutil: fix minor mistake (line break) +* 3bb7520f6d9 util/nvmutil: do setmac if only filename given +* d94b274fd9f vendor.sh: don't error if grep -v fails +* 6ebdd3c72ba vendor.sh: Don't show gbe filename on inject +* a08748a9eda util/nvmutil: don't say write not needed if errno +* 6841a351ebc util/nvmutil: print dump *after* modification +* da0a6c216cf util/nvmutil: verbosely print the written MAC +* db5879c6b5a util/nvmutil: minor cleanup in cmd_dump +* bd7215d1eb7 util/nvmutil: show nvm words written on writeGbe +* c70117c79c4 util/nvmutil: clean up readonly check on writeGbe +* cf5a63e65ca util/nvmutil: Remove useless gbeFileChanged var +* 83601aa524b util/nvmutil: reset errno if any MAC updated +* 3e86bf5ce25 util/nvmutil: reset errno when writing a MAC +* bcf53cc2cc0 util/nvmutil: show total number of bytes read +* c91cc329cf8 util/nvmutil: rename tbw/bw to tnw/nw +* 90607108330 util/nvmutil: err if bytes read lower than nf +* c72f699d368 util/nvmutil: err if fewer bytes written +* d666f67ebe5 util/nvmutil: Show bytes written in writeGbe +* b2d6393ed5f util/nvmutil swap(): ensure that no overflow occurs +* 063fef14d34 util/nvmutil: make swap() a bit clearer +* fd1bbdc96cb util/nvmutil: make 0x3f checksum position a define +* 5ddf7f251d6 util/nvmutil: make 128 (nvm area) a define +* 8850acc7da6 util/nvmutil swap(): Only handle the nvm area +* 49506a88328 util/nvmutil: move write checks to writeGbe +* 948377b0e7e util/nvmutil: make cmd_swap its own function again +* 6e134c9f4bf util/nvmutil: minor cleanup +* 98e105ac4f1 util/nvmutil: allocate less memory for setchecksum +* 52e8ea57f7b util/nvmutil: Further reduce memory usage +* 7a7d356824e util/nvmutil: Remove unnecessary buf16 variable +* cdf23975bc1 util/nvmutil: Only allocate needed memory for file +* ed45da9cae5 util/nvmutil: Remove unnecessary buffer +* ec3148dc3b5 util/nvmutil: Show specific error for bad cmd argc +* 073420d3056 util/nvmutil: cleaner argument handling +* a6c18734e70 util/nvmutil: extreme pledge/unveil hardening +* deb307eaf63 util/nvmutil: more minor cleanup +* c14eccaf153 util/nvmutil: more granular MAC parsing errors +* 88fb9cc90ea util/nvmutil: more cleanup +* 5aaf27f80c3 remove errant comment in nvmutil +* c829b45c17c util/nvmutil: support 16kb and 128kb gbe files +* a98ca5bf65c util/nvmutil: Prevent unveil allowing dir access +* 68c32034a00 typo: nvme should say nvm in nvmutil.c +* c944c2bbac7 util/nvmutil: General code cleanup +* 8c65e64e398 snip +* f666652fe15 snip +* 64d3c7b5150 grub/xhci: Add xHCI non-root-hub fixes from Nitrokey +* 7bf0d4c2ed5 add gnults-devel to fedora 41 dependencies +* 66d084e7f7c grub.cfg: scan luks *inside lvm* +* 5a3b0dab966 grub.cfg: Scan *every* LVM device +* 3c9f4be76f6 Libreboot 20241206, 8th revision +* d4cc94d6b44 rom.sh: don't run mkpicotool on dry builds +* de6d2f556f1 pico-sdk: Import picotool as a dependency +* 4210ee68ea2 lib.sh: Much safer python version check +* 8c7ba6131cc coreboot/next uprev: Fix T480 backlight keys +* 411fb697dfc set up python in PATH, ensuring that it is python3 +* e8336bcc3ca vendor.sh: Proper semantics on prefix file names +* 63f45782638 vendor.sh: Confirm if need_files=n +* 13b06ae130f vendor.sh: Allow restoring the default GbE file +* ab8feff92e0 vendor.sh: set random MAC address *by default* +* 0ceaa01d45d vendor.sh: add clarification to nogbe warning +* 4d5caf1dcfc vendor.sh: check that the vcfg file exists +* fc4ee88e167 vendor.sh: error out if nuking failed +* 8819a93d89b add line break, part 3 +* 8ce1a00f517 add line break, part 2 +* bc2c14e76a8 add line break +* c762850311a vendor.sh: prevent double-nuke +* 68299ad05ca vendor.sh: much more verbose errors/confirmation +* b8e6d12f3d9 add libx86 to arch dependencies +* cf8ad497b4e vendor.sh: Remove unnecessary return +* c858099b359 vendor.sh: Download utils even if vcfg unset +* ce16856a242 vendor.sh: Allow setmac if vendorfiles not needed +* 4b51787d078 add less to arch dependencies +* 8bd028ec153 lib.sh: Set python after dependencies +* 44b6df7c24c update my copyright years on modified scripts +* 818f3d630c2 vendor.sh: Don't error if vcfg is unset +* 432a1a5bca7 lib.sh: Fix unescaped quotes in chkvars() +* a73b0fd910a Revert "fix more unescaped quotes in eval" +* ec6bcc1fba5 fix more unescaped quotes in eval +* 5284f20b981 fix ./mk dependencies build issue +* d825f9a9683 rom.sh: Remove errant GRUB modules check +* 4149f3dc81a submodule/grub: use codeberg for 1st gnulib mirror +* 0305975e705 util/nvmutil: Update AUTHORS and COPYING files +* 20b192e13bd util/nvmutil: Describe nvmutil in help output +* d1ca21628cb util/nvmutil: Remove the correct binary on uninstall +* e63fe256dfc util/spkmodem-recv: More correct Makefile +* efd50ee548b util/nvmutil: Honour the INSTALL variable +* 8008838abbc util/nvmutil: Don't clean when doing uninstall +* 982f257f58a util/nvmutil: Proper DESTDIR/PREFIX handling +* 3f85ae5f853 util/nvmutil: Set CC and CFLAGS only if unset +* 2c7b9fb9412 util/nvmutil: Capitalise BABA +* 57f9906f6d1 util/nvmutil: Add uninstall to Makefile +* 4defe2c6085 util/nvmutil: Add distclean to Makefile +* 033e4cd9d50 util/nvmutil: Make the GbE checksum a define +* 874317c4e59 util/nvmutil: nicer hexdump display +* a338e585eed util/nvmutil: show the correct hexdump order +* b032e483ef1 lib.sh mktarball: cleaner if statement +* 0cf58c22734 fix lbmk shellcheck errors +* 8276560cc99 lib.sh and rom.sh: update my header +* 08e86d2218c vendor.sh inject: reset err upon return +* 41275d699ca vendor.sh: MUCH, MUCH, MUCH safer ./mk inject +* ed7293494e3 util/nvmutil: Obey the 79-character per line limit +* 637b5e36fd2 util/nvmutil: Tidy up copyright header +* cd28db883e2 vendor.sh: fix comment +* 57971ceb227 util/nvmutil: Fix another straggler +* 15b37b2a1ab util/nvmutil: Tidy up pledge calls +* e8799310db2 hp820g2: fix vendorfile inject and set release=y +* f9ab082ec19 fedora41/dependencies: add libuuid-devel +* 661591f9f0b add uuid-devel to fedora41 dependencies +* 1a46c047386 support ./mk dependencies fedora reinstall +* d58d63569f1 fix missing semicolon in grub nvme patch +* 95ea3293df5 bump seabios to rev 1602647f1 (7 November 2024) +* 6d7e6c361b3 Bump GRUB revision to 6811f6f09 (26 November 2024) +* 09a01477df6 t480/3050micro: force power off post power failure +* d344cd95eac flashprog: Disable -Werror +* dc95e912bfe bump flashprog to revision eb2c041 (14 Nov 2024) +* 27c8c1c16ba replace liblz4-tool with lz4 and liblz4-dev +* d3a732a64db lib.sh dependencies: support --reinstall argument +* 466ada423dd move xbmkpath to XBMK_CACHE/ +* b0a23840327 Revert "Remove legacy update/vendor commands" +* 3d7dd4aa9fe Fix U-Boot build issue with Swig 4.3.0 +* 0c810747469 use command -v instead of which +* 6c7e3ce2d6e trees: remove unnecessary subshell +* ad137eae89d trees: only symlink host gcc/gnat to build xgcc +* cfb6de94c33 trees: correction on check_gnu_path +* ec2f0716662 trees: match gcc/gnat versions both ways +* f64b5996279 Merge path.sh into script/trees +* 295463d281e path.sh: Further cleanup +* 5b24e0a5a96 path.sh: More thorough gcc/gnat version check +* 7849a075886 path.sh: minor cleanup +* 17168a87dbf path.sh: remove unnecessary shebang +* e565df94fd7 Fix globbing issue in lbmk +* c80cc0a00b6 remove auto-confirm on distro dependencies +* 01fc65a0a9d Mitigate Debian Trixie/Sid GCC/GNAT version mismatch +* 424b0c7103b t480/3050micro: disable hyperthreading +* 603105f3b4e t480/t480s: Disable TPM2 to mitigate SeaBIOS lag +* 754bd1e6ca3 rom.sh: Name pico directory serprog_pico +* db22308eba5 add 2024 to Riku's copyright header on rom.sh +* 4fa5f696db8 Merge pull request 'rp2530' (#258) from Riku_V/lbmk:rp2530 into master +|\ +| * a5e0360992d pico-sdk: update to 2.1.0 +| * e2f8cc7f3ee pico-serprog: enable building for multiple pico chips +|/ +* ccc2b4d589f add spdx headers to dependencies configs +* a3969701e6b dependencies/debian: fix debian sid +* 8f370cb60d9 add spdx headers to various config files +* d591ea4c5dc git.sh: don't initialise livepull globally +* b5da9feba3b vendor.sh: Print useful message on ./mk inject +* 12c6259cb2f vendor.sh: Handle FSP insertion post-release +* 78132051462 Remove legacy update/vendor commands +* 07037561bd6 lbmk: remove use of deprecated ./vendor command +* 5d1f1823067 vendor.sh: Safer exit when vendorfiles not needed +* a18175a5df9 data/deguard: Remove unused patch +* ee8f53b96ff lib.sh: Safer exit from ./mk dependencies +* a8b35c88cf1 remove geteltorito and mtools from lbmk +* 1dd32ea5487 rom.sh: support grub-first setups +* f7801ef4770 vendor.sh: delete old tb.bin first, just in case +* 02cbf8a729d vendor.sh: make TBFW pad size configurable +* 9884e5ed1b0 T480/T480S: Support fetching ThunderBolt firmware +* 36b42dd1c11 also de-rainbow the u-boot menu +* eafc82028a4 Revert "use rainbow deer on the grub background" +* 44969c73bd2 rom.sh: insert grub background in cbfs not memdisk +* 401efb24b22 use rainbow deer on the grub background +* dc27cb91784 add some scripts to .gitignore +* 3b6b283eabe disable 3050micro nvme hotplug +* c2023921893 fix t480 spd size (512, not 256) +* da527459b68 add tarballs and signatures to gitignore +* b910424b5df fix another very stupid mistake +* e3b77b132e6 fix the stupidest bug ever +``` + +This is nearly *400* changes! diff --git a/site/news/libreboot2504.md.description b/site/news/libreboot2504.md.description new file mode 100644 index 0000000..f79fcdf --- /dev/null +++ b/site/news/libreboot2504.md.description @@ -0,0 +1 @@ +Libreboot 25.04 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution with coreboot payloads such as GNU boot loader GRUB. From 261d19edbf382e6162dff167eebd69b323777706 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Wed, 30 Apr 2025 12:48:58 +0100 Subject: [PATCH 253/279] that's modularised, not "moralised" Signed-off-by: Leah Rowe --- site/news/libreboot2504.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/news/libreboot2504.md b/site/news/libreboot2504.md index e7ae0de..ca64244 100644 --- a/site/news/libreboot2504.md +++ b/site/news/libreboot2504.md @@ -324,7 +324,7 @@ that lbmk imports, or otherwise depends on. lbmk is *[tiny](../docs/maintain/)*. In descending order from the latest changes to the earliest changes: -* `init.sh`: Generally moralised it, moving separate tasks into separate +* `init.sh`: Generally modularised it, moving separate tasks into separate functions, rathher than having it be one big monolith. * `vendor.sh` was renamed to `inject.sh`, so that future changes can be in better sync between lbmk and cbmk on this file, because the cbmk version From 6286e69902c881b98d7a4d8b509a2458b956e7e5 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Wed, 30 Apr 2025 12:50:43 +0100 Subject: [PATCH 254/279] remove u-boot pic in the announcement it shows an old version number, which is confusing just the t480 photo is sufficient Signed-off-by: Leah Rowe --- site/news/libreboot2504.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/site/news/libreboot2504.md b/site/news/libreboot2504.md index ca64244..b08bb38 100644 --- a/site/news/libreboot2504.md +++ b/site/news/libreboot2504.md @@ -49,8 +49,6 @@ or [GRUB](https://www.gnu.org/software/grub/) to boot your operating system; on ARM(chromebooks) and certain x86 mainboards, we provide *U-Boot* (as a coreboot payload), which provides a lightweight UEFI implementation.. - - Summarised list of changes ------------------------- From 9eacd92e116edc589218b15535d560ddb32b77e6 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Wed, 30 Apr 2025 18:12:59 +0100 Subject: [PATCH 255/279] release build test notes Signed-off-by: Leah Rowe --- site/news/libreboot2504.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/site/news/libreboot2504.md b/site/news/libreboot2504.md index b08bb38..e3c34f4 100644 --- a/site/news/libreboot2504.md +++ b/site/news/libreboot2504.md @@ -8,6 +8,13 @@ is *Corny Calamity*. This is the first release to have a codename, and it is using YY.MM format for the version number for the first time. Older releases used YYYYMMDD as release dates. +This release was built on the latest Debian 12.10 Bookworm release, as of +this day. It was also build-tested successfully on Debian Sid as of this +day, *with the experimental repository enabled and lbmk dependencies installed +from the experimental repository, including the recent GCC 15 toolchain*. +It was also tested on Fedora 42. Many fixes were made, so that it builds on the +most bleeding edge distros, and all the popular stable distros. + **[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../docs/install/ivy_has_common.md), OR YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions there, before flashing. For posterity, From 87894a422097d26ba1d62c4dd5487e560f32314a Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Wed, 30 Apr 2025 19:00:28 +0100 Subject: [PATCH 256/279] fix lack of boldness on the homepage version notice Signed-off-by: Leah Rowe --- site/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/index.md b/site/index.md index 0f102e9..e2f7f9c 100644 --- a/site/index.md +++ b/site/index.md @@ -27,7 +27,7 @@ of these payloads in a single image, and you choose one at boot time. **NEW RELEASE: The latest release is Libreboot 25.04, released on 30 April 2025. -See: [Libreboot 25.04 release announcement](news/libreboot2504.md). +See: [Libreboot 25.04 release announcement](news/libreboot2504.md).** You can also [buy Libreboot preinstalled](https://minifree.org/) from Minifree Ltd, on select hardware, as well as send your compatible hardware From f1471fdb064fb94a008a2022cf92a28f6ab7a850 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Wed, 30 Apr 2025 23:10:10 +0100 Subject: [PATCH 257/279] add more pictures to the release page Signed-off-by: Leah Rowe --- site/news/libreboot2504.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/site/news/libreboot2504.md b/site/news/libreboot2504.md index e3c34f4..8790527 100644 --- a/site/news/libreboot2504.md +++ b/site/news/libreboot2504.md @@ -8,6 +8,8 @@ is *Corny Calamity*. This is the first release to have a codename, and it is using YY.MM format for the version number for the first time. Older releases used YYYYMMDD as release dates. + + This release was built on the latest Debian 12.10 Bookworm release, as of this day. It was also build-tested successfully on Debian Sid as of this day, *with the experimental repository enabled and lbmk dependencies installed @@ -38,7 +40,7 @@ of these changes were also included in 20241206 revision releases. Open source BIOS/UEFI firmware ---------------------------- - + Libreboot is a free/open source BIOS/UEFI replacement on x86 and ARM, providing boot firmware that initialises the hardware in your computer, to then load an From f994c7ac226223c197c019b843de77d8c4db729c Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Wed, 30 Apr 2025 23:20:11 +0100 Subject: [PATCH 258/279] add even more pics to the release page Signed-off-by: Leah Rowe --- site/news/libreboot2504.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/site/news/libreboot2504.md b/site/news/libreboot2504.md index 8790527..213f274 100644 --- a/site/news/libreboot2504.md +++ b/site/news/libreboot2504.md @@ -73,6 +73,8 @@ work fine now. ### Revision updates + + In descending order from latest changes to earliest changes: * Bump SeaBIOS to to rev 9029a010, 4 March 2025 @@ -109,6 +111,8 @@ packages enabled). ### Licensing + + * Added SPDX license headers to almost every configuration file in lbmk. ### Security @@ -140,6 +144,8 @@ massive concern to users. ### Feature changes + + In descending order from latest changes to earliest changes: * `init.sh`: More verbose error info, on non-zero exits. @@ -193,6 +199,8 @@ In descending order from latest changes to earliest changes: ### Configuration changes + + In descending order from the latest changes to the earliest changes: * T480/3050micro: Removed the `fsp` targets, because we only need @@ -209,6 +217,8 @@ In descending order from the latest changes to the earliest changes: ### Bug fixes + + The following bug fixes have been merged (in descending order from the latest changes to the earliest changes): @@ -314,6 +324,8 @@ changes to the earliest changes): ### General code cleanup + + A large audit has been conducted, removing a lot of dead code in the build system and improving the code quality considerably. Not all of such cleanup changes are listed, because otherwise it'd overwhelm the changelog, and many From b88487ab6ce010bda62383aa42d6389795d9b19b Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Thu, 1 May 2025 11:32:43 +0100 Subject: [PATCH 259/279] css: limit images to 80 percent on 1337box display otherwise it looks a bit crap on large images Signed-off-by: Leah Rowe --- site/global.css | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/site/global.css b/site/global.css index 9c0cd35..3688ae5 100644 --- a/site/global.css +++ b/site/global.css @@ -155,6 +155,11 @@ h4 background: rgba(0, 0, 0, 0.8); } +.f img { + max-width: 80%; + max-height: 80%; +} + *:focus + .f { display: block; From 6f6c27c936fed18bd9b0048ffd343f7d9e02c743 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Fri, 2 May 2025 02:02:47 +0100 Subject: [PATCH 260/279] 25.04rev1 notes Signed-off-by: Leah Rowe --- site/news/libreboot2504.md | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/site/news/libreboot2504.md b/site/news/libreboot2504.md index 213f274..55c9e4b 100644 --- a/site/news/libreboot2504.md +++ b/site/news/libreboot2504.md @@ -808,3 +808,36 @@ This log is relative to Libreboot 20241206: ``` This is nearly *400* changes! + +Revision releases +----------------- + +When certain bugs are found, releases may be re-built and re-uploaded. When +this happens, the original release is replaced with a *revision release*. + +### 25.04rev1 (1 May 2025) + +A minor issue was found with AHCI initialisation on the ThinkPad T420, caused +by one of the seven new SeaBIOS patches merged in the release. The seven patches +are largely optional and inconsequential changes, for Libreboot users anyway, +so they have been reverted. + +The AHCI bug was was caused on ThinkPad T420 by a patch that *resets* the +state of the AHCI controller, before enabling it, in SeaBIOS. This patch was +written by the author, to make SeaBIOS's AHCI driver work in CSM mode. + +For this revision release, that patch is removed, but in Libreboot's master +branch, the SeaBIOS revision is once again up to date, including the seven +recently imported commits, but that version patches SeaBIOS to only apply +the change to AHCI behaviour if SeaBIOS is running as a CSM. + +This `25.04rev1` release also contains a missing config for text-mode startup +on the ThinkPad T420. + +It is possible that this AHCI issue may have been caused on other mainboards, +but we currently do not know. It is better to assume that all mainboards were +affected, so you should update to the rev1 release if you had the +original 25.04 release. + +This revision release was committed to the `25.04_branch` branch, and any +further revision releases will be in the same branch. From 888fbb03046fde216ac160e9dbc9d53bd86b0e8a Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 3 May 2025 07:30:18 +0100 Subject: [PATCH 261/279] nvmutil docs: say x instead of ?, for randomness nvmutil still supports ?, but x is now preferred, due to a bug that was found when using it with zsh x doesn't cause errors in zsh. support for x was added to nvmutil recently, when specifying a random character. Signed-off-by: Leah Rowe --- site/docs/install/ivy_has_common.md | 6 +++--- site/docs/install/nvmutil.md | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/site/docs/install/ivy_has_common.md b/site/docs/install/ivy_has_common.md index 04a61d1..b0ffe40 100644 --- a/site/docs/install/ivy_has_common.md +++ b/site/docs/install/ivy_has_common.md @@ -121,14 +121,14 @@ running `nvmutil`; it also skips building nvmutil. Essentially, this will restore the default MAC address from standard release images. The above MAC address is a random example; please make sure to use one that matches -your board, if you wish. You can also use randomisation this way; the `?` character +your board, if you wish. You can also use randomisation this way; the `x` character will be randomised, e.g.: - ./mk inject libreboot-RELEASE_targetname.tar.xz setmac ??:??:??:??:??:?? + ./mk inject libreboot-RELEASE_targetname.tar.xz setmac xx:xx:xx:xx:xx:xx You can mix and match arbitrary characters with random ones, e.g.: - ./mk inject libreboot-RELEASE_targetname.tar.xz setmac 0?:??:12:?a:6?:69 + ./mk inject libreboot-RELEASE_targetname.tar.xz setmac 0x:xx:12:xa:6x:69 The script can automatically detect the board as long as you do not change the file name. diff --git a/site/docs/install/nvmutil.md b/site/docs/install/nvmutil.md index 92fffc7..db81675 100644 --- a/site/docs/install/nvmutil.md +++ b/site/docs/install/nvmutil.md @@ -48,7 +48,7 @@ also use the inject command, like so (examples): ./mk inject libreboot-RELEASE_targetname.tar.xz ./mk inject libreboot-RELEASE_targetname.tar.xz setmac ./mk inject libreboot-RELEASE_targetname.tar.xz setmac 00:1f:16:00:11:22 - ./mk inject libreboot-RELEASE_targetname.tar.xz setmac 00:??:16:0?:1?:22 + ./mk inject libreboot-RELEASE_targetname.tar.xz setmac 00:xx:16:0x:1x:22 ./mk inject libreboot-RELEASE_targetname.tar.xz setmac restore This writes the MAC address on the GbE region of the image. You must do this @@ -62,7 +62,7 @@ Without argument after the tarball, it behaves the same as `setmac`. If `setmac` is provided without argument, or no argument is given, the MAC address is randomised. Otherwise, you can specify an arbitrary address. -The `?` character is random, and you can specify that any of them be random, +The `x` character is random, and you can specify that any of them be random, while setting others (or all of them) arbitrarily. On the corresponding nibble, the bit for unicast/multicast and global/local are set accordingly, so that randomly generated addresses are *always* unicast and *local*, unless the @@ -410,7 +410,7 @@ The following rules are enforced in code: * User cannot specify multicast addresses * User cannot specify `00:00:00:00:00:00` * When generating random addresses, if the right - most nibble of the left-most byte is `?` (random), + most nibble of the left-most byte is `x` (random), nvmutil will (in code) force the generated MAC address to be local (not global), and will prevent a multicast address from being generated. @@ -433,20 +433,20 @@ How to use (the MAC address in just an example): You can also set random MAC addresses: - nvm gbe.bin setmac ??:??:??:??:??:?? + nvm gbe.bin setmac xx:xx:xx:xx:xx:xx In this example, every character is random. However, you can mix and match random characters with static ones. For example: - nvm gbe.bin setmac 00:1f:16:??:??:?? + nvm gbe.bin setmac 00:1f:16:xx:xx:xx You can also pass it without a MAC address: nvm gbe.bin setmac If you only type `setmac` without specifying a MAC address, -it will do the same thing as `setmac ??:??:??:??:??:??`. +it will do the same thing as `setmac xx:xx:xx:xx:xx:xx`. This will set the last three bytes randomly, while the MAC address would begin with `00:1f:16`. From 4ecef4611a3e21ef8867c0c2afe6b0ec4dc96ce7 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 4 May 2025 18:26:24 +0100 Subject: [PATCH 262/279] note nvmutil compatibility regarding randomness Signed-off-by: Leah Rowe --- site/docs/install/ivy_has_common.md | 4 ++++ site/docs/install/nvmutil.md | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/site/docs/install/ivy_has_common.md b/site/docs/install/ivy_has_common.md index b0ffe40..fc7dfdd 100644 --- a/site/docs/install/ivy_has_common.md +++ b/site/docs/install/ivy_has_common.md @@ -77,6 +77,10 @@ have the mac address changed; please continue reading! ### Injecting vendor files into tarballs +**WARNING: Older versions of nvmutil used `?` for random characters. Newer +versions use `x` instead. If you have an older version, use `?` instead, +when generating random characters in MAC addresses.** + In order to inject the necessary files into a rom image, run the script from the root of lbmk and point to the rom image. If you only wish to flash a release rom then the process of injecting the necessary files is quite simple. diff --git a/site/docs/install/nvmutil.md b/site/docs/install/nvmutil.md index db81675..ac26aef 100644 --- a/site/docs/install/nvmutil.md +++ b/site/docs/install/nvmutil.md @@ -42,6 +42,10 @@ Automatic MAC address changer **Please [install build dependencies](../build/) before you do this.** +**WARNING: Older versions of nvmutil used `?` for random characters. Newer +versions use `x` instead. If you have an older version, use `?` instead, +when generating random characters in MAC addresses.** + Instead of running nvmutil manually, like below, you can also use the inject command, like so (examples): From ea0daee30e880a7652dd837f12c858ac2a86dd96 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Fri, 9 May 2025 15:42:57 +0100 Subject: [PATCH 263/279] NEW 2025 release schedule Signed-off-by: Leah Rowe --- site/news/MANIFEST | 1 + site/news/revisions.md | 157 +++++++++++++++++++++++++++++++++++++++++ site/news/schedule.md | 15 ++++ 3 files changed, 173 insertions(+) create mode 100644 site/news/revisions.md diff --git a/site/news/MANIFEST b/site/news/MANIFEST index 9879344..5e0baff 100644 --- a/site/news/MANIFEST +++ b/site/news/MANIFEST @@ -1,3 +1,4 @@ +revisions.md libreboot2504.md libreboot20241206rev11.md libreboot20241206rev10.md diff --git a/site/news/revisions.md b/site/news/revisions.md new file mode 100644 index 0000000..f30c2eb --- /dev/null +++ b/site/news/revisions.md @@ -0,0 +1,157 @@ +% NEW Libreboot 2025 release schedule +% Leah Rowe +% 9 May 2025 + +**THIS REPLACES THE [original 2025 release schedule](schedule.md).** + +This policy change was enacted on 9 May 2025. The original plan was to +have April/June and October/December releases each for, for testing and +stable releases respectively, but this is pointless. + +Instead, we will have stable releases in June and December each year, and +any releases in-between will either be a revision to the current stable +release, or an RC to the next release. + +RC (release candidate) releases, when they are made, will later be deleted +when a new RC comes out, or the next main stable release comes out. This is +more logical, and essentially the same as the original plan, except that +we will then no longer have old testing releases lingering on the rsync +server, moving forward. + +To make everything clear, the next sections will clarify this in detail +anyway, as the original release schedule article did: + +RC/Stable release cycle +---------------------------- + +These rules shall govern Libreboot release cycles, in the year 2025 and in +years beyond 2025. + +### June and December + +In other words, the following Libreboot releases will come out in 2025: + +* Libreboot 25.06 (stable release) +* Libreboot 25.12 (stable release) + +A [Libreboot 25.04](libreboot2504.md) release was also made, under the +previous plan. It won't actually be renamed, but you might now therefore +regard that as an RC to the 25.06 release. + +A general rule of thumb is that an RC should be made no later than about two +to three months before the stable release, with many RC revisions made +throughout, until it is replaced by the real stable release. + +For example, an RC release might come out in March of a given year, and that +would continue to be refined until it got replaced by the June release. The +same logic applies for September to December. + +Aggressive development periods can continue throughout. + +Each release series will get its own branch; the 25.06 release will have +the `25.06_branch` branch on the Git repository of lbmk. We currently, at +the time of this article, have a `25.04_branch` branch; this will later branch +off to `25.06_branch`, as soon as the next commits go into it. + +Releases will have codenames too; please read further down this article, for +information about that. The April 2025 release, Libreboot 25.04, was: +Libreboot 25.04 "Corny Calamity". + +Corny Calamity won't be the codename for Libreboot 25.06; the June 2025 +release will be named *Luminous Lemon*. + +### Rules for revisions + +RC releases come out two to three months before stable; any number of +non-breaking or otherwise relatively safe changes can be made. In practise, +the master branch of lbmk mostly uses a branchless development model anyway. + +In practise, what this means is that there will be a feature freeze a little +while before a given stable release, but only in that release's own branch; +the master branch can continue to receive aggressive development. + +For example, if a major new feature is being done in the master branch that +won't be ready for the next release, that's OK, it can continue in master, +because the release will have its own branch anyway. + +### Post-stable revisions + +Revision releases can be made *after* a stable release comes out. A pre-release +RC (release candidate) shall have `rc` in it, for example `25.06rc1` commit +tag. If `25.06` then came out, a stable release, and later a new update to it +would be made, the first update release would be tagged as `25.06rev1`. + +Stable release revisions must not fundamentally alter the substance of a given +stable release, relative to first release. Essentially, any revisions to stable +releases post-release will be critical bug fixes; in a few cases, special +additions will be made when desirable and safe (e.g. Pico 2 support was added +to Libreboot 20241206 post-release, in the revision 8 update from 2025-01-06). + +Revisions made to a stable release, after the RC phase, must basically only +be critical bug fixes and especially security fixes. Any change of substance +should go into the master branch and/or the branch for the next release. + +### Why? + +In the past, a problem Libreboot has had was that we'd do testing releases, +but not do revisions on them; then by the time a stable release came around, +some upstream revisions would be about 4-6 months out of date (typically). + +With this new formalised structure, we can be as close to upstream as possible +by the time of each stable release, for each given upstream e.g. coreboot. + +This release schedule will also provide greater opportunity for coverage of +Libreboot releases, since people know then what to expect and what dates to +put in their calendars. + +This decision is part of a much larger initiative to boost Libreboot's +popularity and therefore use within the free software world. + +Release version numbers +----------------------- + +### Libreboot YY.MM releases + +Libreboot YYYYMMDD was the previous version number scheme. + +The new scheme is: Libreboot YY.MM + +For example, the April 2025 release was Libreboot 25.04. This was a one-off +release, under the [previous 2025 schedule](schedule.md). + +The new release scheme is better, because we presently need to start release +builds early in the morning to ensure (given build time and possible errors +to be fixed) that they are released on the day. For example, a 20250404 release +would have to come out on April 4th, so if it finished compiling on April 5th, +it would become Libreboot 20250405 under the previous scheme. + +With this new scheme, and given Libreboot's expansion plans, it won't matter +even if a release build takes 2 days to complete, because the day of the month +will no longer be included in a given release number. + +### Y2.1k compliance + +If Libreboot still exists in the year 2100, then those releases will be +e.g. Libreboot 100.04 for April 2100 release. + +It could happen. Even if I'm no longer around by then, Libreboot might still be. + +### Release codenames + +The release codename for Libreboot 25.04 will be "Corny Calamity", which is a +nod of respect to an equally gutsy release codename that *Fedora* used in +one of their releases (Beefy Miracle!). + +The rules for Libreboot release codenames are: two words, each starting with +the same letter. + +### TL DR + +This is basically the same as the original 2025 release schedule, except +that we won't have testing releases anymore; we will have RC releases, and RC +releases will not stay on rsync forever. Therefore, each year, Libreboot +will only have two new sets of release tarballs uploaded to its servers, +instead of four. This is more efficient. + +So in substance, this is the same but re-fashioned to make the project cheaper +to run. diff --git a/site/news/schedule.md b/site/news/schedule.md index 83ddf0b..7f8d24f 100644 --- a/site/news/schedule.md +++ b/site/news/schedule.md @@ -2,6 +2,21 @@ % Leah Rowe % 17 January 2025 +**THIS RELEASE SCHEDULE IS OBSOLETE. PLEASE READ +THE [NEW SCHEDULE](revisions.md) instead - there will instead be just TWO +releases annually, and a Release Candidate stage will be used. Therefore, +the Libreboot 25.04 release, which did come out, might instead be +considered Libreboot 25.06 RC1 - except an actual RC1 is planned, so just +think of it as RC0 instead!.** + +TL DR, the new schedule is basically the same as below, but only a June and +December release will be done; releases in-between will be either a revision +release to the previous release, or an RC to the next release. + +This policy change was enacted on 9 May 2025. + +And now, the original article: + Libreboot releases will now be on a much stricter timeline than in the past. Testing/Stable release cycle From a8355f83390639b8bc1cee799dc3137cf9e2f85c Mon Sep 17 00:00:00 2001 From: Ronanand0 Date: Fri, 16 May 2025 11:39:53 +0000 Subject: [PATCH 264/279] Update tasks list with hp 840 g2 (id 2216) boards Those mentioned boards are equivalent to the 840 g2 (exlcuding the gpus), so anyone who any of these models could test it too. --- site/tasks/index.md | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/site/tasks/index.md b/site/tasks/index.md index 27d6f08..9ec629b 100644 --- a/site/tasks/index.md +++ b/site/tasks/index.md @@ -83,7 +83,7 @@ is not exhaustive, it just lists boards that are interesting to us at this time: * HP Revolve 810 G1 * HP EliteBook Folio 9480m * HP EliteBook 8770w -* HP EliteBook 840 G2 (not in coreboot yet, but should be similar to 820 G2) +* HP EliteBook 840 G2 (not in coreboot yet, but almost identical to 820 G2) * HP Z220 CMI and SFF motherboards * MSI PRO Z690-A motherboard (supported by Dasharo, not sure about coreboot) - also, Dasharo supports several more motherboards that aren't in coreboot @@ -106,16 +106,13 @@ machine). Both are supported by coreboot. -### 840 G2 (possible 820 G2) +### Zbook 14/15u G2 / Elitebook 840/850 G2 (indistinguishably same boards (id 2216) with different gpu if included) (a bit bigger board, but almost everything is equal to the 820 G2) -These notes are based on a chat on Libreboot IRC. +The 840/850 G2 may have an AMD® Radeon™ R7 M260X gpu and 14/15u would have an AMD® FirePro™ M4170 gpu added, which would became useless using libreboot. -The TPM is Infineon SLB9660 and does TPM 1.2. We could maybe upgrade -firmware to that of SLB9665. It would no longer work with the HP BIOS but -maybe coreboot could be used, and then we could have -newer TPM version - SLB9665 firmware can meet TPM 2.0 specification. +Works the same way as the 820 G2 (including flashing libreboot on it too.), but the battery indicator usually shows wrong values (for example; a quick power drain down to 25%, then rebooting the machine shows ~50%, etc..) -(we do not yet use the TPM in any meaningful way on Libreboot machines) +Everything else (except the battery status and extra gpus) shall work as it is on the elitebook 820 g2. ### Blobless boards From 9128788bd70296dd515f7ba147c39ad8a2484d2f Mon Sep 17 00:00:00 2001 From: Ronanand0 Date: Fri, 16 May 2025 11:46:30 +0000 Subject: [PATCH 265/279] Update site/tasks/index.md --- site/tasks/index.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/site/tasks/index.md b/site/tasks/index.md index 9ec629b..81a2e71 100644 --- a/site/tasks/index.md +++ b/site/tasks/index.md @@ -83,7 +83,7 @@ is not exhaustive, it just lists boards that are interesting to us at this time: * HP Revolve 810 G1 * HP EliteBook Folio 9480m * HP EliteBook 8770w -* HP EliteBook 840 G2 (not in coreboot yet, but almost identical to 820 G2) +* HP EliteBook 840 G2* (not in coreboot yet, but almost identical to 820 G2) * HP Z220 CMI and SFF motherboards * MSI PRO Z690-A motherboard (supported by Dasharo, not sure about coreboot) - also, Dasharo supports several more motherboards that aren't in coreboot @@ -106,7 +106,9 @@ machine). Both are supported by coreboot. -### Zbook 14/15u G2 / Elitebook 840/850 G2 (indistinguishably same boards (id 2216) with different gpu if included) (a bit bigger board, but almost everything is equal to the 820 G2) +### Zbook 14/15u G2 / Elitebook 840/850 G2 (~820 G2) + +Indistinguishably same boards (id 2216) with different gpu if included.(a bit bigger board, but almost everything is equal to the 820 G2) The 840/850 G2 may have an AMD® Radeon™ R7 M260X gpu and 14/15u would have an AMD® FirePro™ M4170 gpu added, which would became useless using libreboot. From fc83a7156a1f5e307b76790fd8346832d0c775f9 Mon Sep 17 00:00:00 2001 From: Ronanand0 Date: Fri, 16 May 2025 11:53:14 +0000 Subject: [PATCH 266/279] Mentioning others boards working with this firmware --- site/docs/install/hp820g2.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/site/docs/install/hp820g2.md b/site/docs/install/hp820g2.md index 41a2c21..b29baee 100644 --- a/site/docs/install/hp820g2.md +++ b/site/docs/install/hp820g2.md @@ -220,6 +220,13 @@ TPMFactoryUpd -update config-file -config TPM12_latest.cfg Not yet used meaningfully by Libreboot itself, but the TPM can be used to implement things like measured boot. +Similar models working with this firmware +---------- + +More testing is needed, but works almost flawlessly; + + + References ---------- From c443c76ee41ea982d90f3cb8ae101cb6ff757a70 Mon Sep 17 00:00:00 2001 From: Ronanand0 Date: Fri, 16 May 2025 12:07:11 +0000 Subject: [PATCH 267/279] Include the T1700 boards when building from sources. --- site/docs/install/dell9020.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/site/docs/install/dell9020.md b/site/docs/install/dell9020.md index 7d4c219..f512150 100644 --- a/site/docs/install/dell9020.md +++ b/site/docs/install/dell9020.md @@ -217,14 +217,22 @@ separate targets for MT and SFF. ### Build ROM image from source -For the MT variant (7020 MT and 9020 MT): +For the **20 MT variant (7020 MT and 9020 MT): ./mk -b coreboot dell9020mt_nri_12mb -For the SFF variant (7020 SFF and 9020 SFF): +For the **20 SFF variant (7020 SFF and 9020 SFF): ./mk -b coreboot dell9020sff_nri_12mb +For the T1700 MT variant: + + ./mk -b coreboot t1700mt_bmrc_12mb + +For the T1700 SFF variant: + + ./mk -b coreboot t1700sff_bmrc_12mb + It is important that you choose the right one. The MT variant is the full MTX tower. From 675a6d2efdb6acd9e222531d49137c835f80e750 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Fri, 23 May 2025 12:31:33 +0100 Subject: [PATCH 268/279] documentation cleanup Signed-off-by: Leah Rowe --- site/docs/install/chromebooks.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/site/docs/install/chromebooks.md b/site/docs/install/chromebooks.md index 8d43bf4..7692307 100644 --- a/site/docs/install/chromebooks.md +++ b/site/docs/install/chromebooks.md @@ -185,10 +185,6 @@ TODO: Instructions to preserve vital data when FMAPs are compatible. Flash the ROM image ------------------- -WARNING: Although none are supported yet, make sure not to flash ROM -images on x86 Chromebooks without injecting non-redistributable code -first (like Intel ME firmware). This is not yet documented here. - You can flash the ROM image both internally and externally. For the latter, see the [external flashing guide](spi.md) and the ChromiumOS [Closed Case Debugging](https://chromium.googlesource.com/chromiumos/platform/ec/+/cr50_stab/docs/case_closed_debugging_gsc.md) From 939b0e741ce6052bd5d179867e2bd4e76e912186 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Fri, 23 May 2025 16:41:50 +0100 Subject: [PATCH 269/279] unaligned non-compliance based on the recent counter part in cbwww.git, made on this same day, and with the same premise, one of utter disassociation with the GNU Advisory Committee. the cbwww commit was called "unaligned compliance". Signed-off-by: Leah Rowe --- site/docs/install/ga-g41m-es2l.md | 2 +- site/docs/install/hp2170p.md | 6 +----- site/docs/install/spi.md | 6 +----- site/docs/install/spi.zh-cn.md | 2 +- site/docs/linux/grub_hardening.md | 6 +++--- site/docs/linux/index.md | 2 +- site/docs/maintain/index.md | 14 ++++++-------- site/docs/maintain/style.md | 5 +++-- site/docs/sitegen/index.md | 4 ++-- site/faq.tr.md | 2 +- site/git.de.md | 7 +------ site/index.de.md | 2 +- site/index.fr.md | 2 +- site/index.it.md | 2 +- site/index.uk.md | 2 +- site/index.zh-cn.md | 2 +- site/license.md | 25 +++++++++++++------------ site/news/audit.md | 2 +- site/news/fam15h.md | 4 ++-- site/news/libreboot20230625.md | 2 +- site/news/libreboot20240504.md | 2 +- site/news/libreboot20240612.md | 2 +- site/news/libreboot20241008.md | 2 +- site/news/libreboot20241206.md | 2 +- site/news/libreboot20241206rev10.md | 4 ++-- site/news/libreboot20241206rev11.md | 2 +- site/news/libreboot20241206rev8.md | 2 +- site/news/libreboot2504.md | 2 +- site/tasks/index.md | 2 +- 29 files changed, 53 insertions(+), 66 deletions(-) diff --git a/site/docs/install/ga-g41m-es2l.md b/site/docs/install/ga-g41m-es2l.md index b5995f6..55091d3 100644 --- a/site/docs/install/ga-g41m-es2l.md +++ b/site/docs/install/ga-g41m-es2l.md @@ -116,7 +116,7 @@ NOTE: due to a bug in the hardware, the MAC address is hardcoded in coreboot. Therefore, you must set your own MAC address in your operating system. -Use [macchanger](http://www.gnu.org/software/macchanger) in your +Use macchanger in your distro, to set a valid MAC address. By doing this, your NIC should work nicely. diff --git a/site/docs/install/hp2170p.md b/site/docs/install/hp2170p.md index 0b8fbe3..247f329 100644 --- a/site/docs/install/hp2170p.md +++ b/site/docs/install/hp2170p.md @@ -66,11 +66,7 @@ that replaces proprietary BIOS/UEFI firmware. This is a portable, 11.6" Ivy Bridge platform from HP. More information is available on the [coreboot -documentation](https://doc.coreboot.org/mainboard/hp/2170p.html) - that page -said (on 16 August 2023) that GRUB hangs due to the `at_keyboard` module, but -this is no longer true; it's -[fixed](https://git.savannah.gnu.org/cgit/grub.git/commit/?id=830456a6e3b6ac92d10f9261177722a308652a1a) -in the latest GRUB revisions, and Libreboot's version of GRUB contains this fix. +documentation](https://doc.coreboot.org/mainboard/hp/2170p.html). **Unavailable in Libreboot 20230625 or earlier. You must [compile from source](../build/), or use at least Libreboot 20231021.** diff --git a/site/docs/install/spi.md b/site/docs/install/spi.md index 5303dea..668e97b 100644 --- a/site/docs/install/spi.md +++ b/site/docs/install/spi.md @@ -1203,11 +1203,7 @@ This page and the photos on it are available under [CC BY SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/legalcode.txt) Check the Git repository for history of who owns what part of the document. -Some of these resources originate from the *old* Libreboot git repository, -before Libreboot split into separate repositories that include its `lbmk` -repository. - -Photos showing a BeagleBone Black are under the normal GNU Free Documentation +Photos showing a BeagleBone Black are under the normal GFDL license like other pages and images on this website, or you can use them under the CC-BY-SA 4.0 license if you wish (I, Leah Rowe, own all BBB photos shown on this page, except for the one on the beaglebone website, and that one is diff --git a/site/docs/install/spi.zh-cn.md b/site/docs/install/spi.zh-cn.md index eba229a..789dfbd 100644 --- a/site/docs/install/spi.zh-cn.md +++ b/site/docs/install/spi.zh-cn.md @@ -733,6 +733,6 @@ WSON8 IC:\ 部分这些资源源自于*旧的* Libreboot git 仓库,Libreboot 随后分离成了单独的仓库,包括 `lbmk` 仓库。 -展示了 BeagleBone Black 的照片,以 GNU Free Documentation License 许可,如同本网站的其他页面和图像。如果你想的话,你也可以在 CC-BY-SA 4.0 下使用它们(我,Leah Rowe,拥有本页展示的全部 BBB 照片的所有权,除了 beaglebone 网站上的那一张以外;而那一张只是在这里链接的,而不是托管在 av.libreboot.org 服务器的)。 +展示了 BeagleBone Black 的照片,以 GFDL 许可,如同本网站的其他页面和图像。如果你想的话,你也可以在 CC-BY-SA 4.0 下使用它们(我,Leah Rowe,拥有本页展示的全部 BBB 照片的所有权,除了 beaglebone 网站上的那一张以外;而那一张只是在这里链接的,而不是托管在 av.libreboot.org 服务器的)。 本页面的该版本托管在 `lbwww` git 仓库,其图像托管在 `lbwww-img` 仓库(来自用户 libreboot)。 diff --git a/site/docs/linux/grub_hardening.md b/site/docs/linux/grub_hardening.md index c104934..b390235 100644 --- a/site/docs/linux/grub_hardening.md +++ b/site/docs/linux/grub_hardening.md @@ -368,6 +368,6 @@ at some point, and this page will definitely be updated when that happens) References ---------- -* [GRUB manual](https://www.gnu.org/software/grub/manual/html_node/Security.html#Security) -* [GRUB info pages](http://git.savannah.gnu.org/cgit/grub.git/tree/docs/grub.texi) -* [Coreboot GRUB security howto](https://www.coreboot.org/GRUB2#Security) +* GRUB manual: *https://www.gnu.org/software/grub/manual/html_node/Security.html#Security* +* GRUB info pages: *http://git.savannah.gnu.org/cgit/grub.git/tree/docs/grub.texi* +* Coreboot GRUB security howto: *https://www.coreboot.org/GRUB2#Security* diff --git a/site/docs/linux/index.md b/site/docs/linux/index.md index ec6c6ef..884be14 100644 --- a/site/docs/linux/index.md +++ b/site/docs/linux/index.md @@ -6,7 +6,7 @@ x-toc-enable: true GNU boot loader "GRUB" -------- -This page is useful for those who wish to use the GNU boot loader called GRUB. +This page is useful for those who wish to use the boot loader called GRUB. If you're using SeaBIOS, the boot process will work similarly to traditional BIOS systems; refer to the SeaBIOS documentation on diff --git a/site/docs/maintain/index.md b/site/docs/maintain/index.md index 229b7c6..a4f9bb4 100644 --- a/site/docs/maintain/index.md +++ b/site/docs/maintain/index.md @@ -110,8 +110,7 @@ but BSD systems are currently not well-tested with lbmk. **Make sure you have dependencies installed!** -**The [main build guide](../build) will tell you how to install dependencies, -such as GNU toolchains and various libraries.** +**The [main build guide](../build) will tell you how to install dependencies.** ### Host CPU @@ -428,8 +427,6 @@ purpose, on much newer Intel systems (from around Skylake era or later). ### src/grub/TREE -Please also visit: - The GRUB bootloader, a reference multiboot implementation with its own small kernel/OS and drivers (e.g. file systems, cryptography). This is the default recommended [coreboot payload](https://doc.coreboot.org/payloads.html) @@ -639,10 +636,11 @@ or coreboot source code and you'll find it). However, the original code from GRUB was of quite poor quality and this code is often used. For fun, it was decided that this utility would be imported -directly into `lbmk.git`, and thoroughly cleaned. The lbmk version has been -more or less re-written, using the original logic as a base; variables are -more clearly named. A top-down, OpenBSD-inspired coding style is used, -replacing the GNU coding style implemented in the original code. The [OpenBSD +directly into `lbmk.git`, and thoroughly cleaned. The lbmk version has +been re-written. + +A top-down, OpenBSD-inspired coding style is used, +replacing the coding style implemented in the original code. The [OpenBSD coding style](https://man.openbsd.org/style.9) is much easier to read. This code has been modified to make use of the `pledge()` system call, when used diff --git a/site/docs/maintain/style.md b/site/docs/maintain/style.md index 74e5ddd..9733a8a 100644 --- a/site/docs/maintain/style.md +++ b/site/docs/maintain/style.md @@ -298,9 +298,10 @@ In addition to not using bashisms, commands that lbmk uses must also be portable; where possible, third party projects should be tweaked. This is actually something that is currently lacking or otherwise untested -in Libreboot; it's currently assumed that only common Linux distributions +in Libreboot; it's currently assumed that only GNU/Linux (specifically GNU/Linux) will work, because many of the projects that Libreboot makes use of will use -bashisms, and/or rely on idiosyncrasies of glibc. +bashisms, or other GNUisms (e.g. GNU-specific C extensions or GMake specific +behaviour in Makefiles). Work+testing is sorely needed, in this area. It would be nice if Libreboot could be built on BSD systems, for example. diff --git a/site/docs/sitegen/index.md b/site/docs/sitegen/index.md index 1d25132..fbce19b 100644 --- a/site/docs/sitegen/index.md +++ b/site/docs/sitegen/index.md @@ -50,8 +50,8 @@ use JavaScript and more. lbssg is *Free Software*, released under the terms of the GNU General Public License, version 3 of the license or, at your option, any later version as published by the Free Software Foundation. You can find a copy of this license -in the `COPYING` file, when you download lbssg, or you can read it here:\ - +in the `COPYING` file, when you download lbssg, or you can read it +here: https://www.gnu.org/licenses/gpl-3.0.en.html (some parts of it are under the MIT license) diff --git a/site/faq.tr.md b/site/faq.tr.md index 0700117..7d3b9da 100644 --- a/site/faq.tr.md +++ b/site/faq.tr.md @@ -231,4 +231,4 @@ Libreboot, özgür yazılım topluluğunun bir parçası olarak gelişmeye devam ### Libreboot'u Ticari Olarak Kullanabilir miyim? -Evet, Libreboot [GNU Genel Kamu Lisansı](https://www.gnu.org/licenses/gpl-3.0.html) altında lisanslanmıştır. Bu, yazılımı özgürce kullanabileceğiniz, değiştirebileceğiniz ve dağıtabileceğiniz anlamına gelir. Ancak, değişikliklerinizi de aynı lisans altında paylaşmanız gerekir. \ No newline at end of file +Evet, Libreboot GNU Genel Kamu Lisansı altında lisanslanmıştır. Bu, yazılımı özgürce kullanabileceğiniz, değiştirebileceğiniz ve dağıtabileceğiniz anlamına gelir. Ancak, değişikliklerinizi de aynı lisans altında paylaşmanız gerekir. diff --git a/site/git.de.md b/site/git.de.md index 0baee40..7d75b7d 100644 --- a/site/git.de.md +++ b/site/git.de.md @@ -201,12 +201,7 @@ das deine Arbeit unter die Standard Urheberrechte fällt, was deine Arbeit proprietär macht und somit von denselben Einschränkungen betroffen ist. Die MIT Lizenz ist ein guter Start, und sie ist die bevorzugte Lizenz -für sämtliche Arbeit an Libreboot, aber wir sind nicht pingelig. Libreboot -hat in der Vergangenheit GNU Lizenzen so wie GPL verwendet; vieles davon -besteht nach wie vor und wird auch weiterhin bestehen. -Es ist deine Arbeit; sofern deine Arbeit auf der Arbeit eines anderen basiert, -ist es aufgrund der Lizenz-Kompatibilität ggfs. naheliegend diesselbe Lizenz zu -verwenden. +für sämtliche Arbeit an Libreboot, aber wir sind nicht pingelig. [Hier](https://opensource.org/licenses) findest Du übliche Beispiele für Lizenzen. diff --git a/site/index.de.md b/site/index.de.md index 6919c53..a9a7a63 100644 --- a/site/index.de.md +++ b/site/index.de.md @@ -63,7 +63,7 @@ Das Libreboot Projekt verwendet [Coreboot](https://www.coreboot.org/) für Die Coreboot Installation ist für unerfahrene Benutzer überaus schwierig; sie übernimmt lediglich die Basis Initialisierung und springt dann zu einem separaten [payload](https://doc.coreboot.org/payloads.html) Programm (z.B. -[GRUB](https://www.gnu.org/software/grub/), +GRUB, [Tianocore](https://www.tianocore.org/)), welche zusätzlich konfiguriert werden muss. *Libreboot löst dieses Problem*; es ist eine *Coreboot Distribution* mit einem [automatisierten Build System](docs/build/) welches vollständige *ROM images* diff --git a/site/index.fr.md b/site/index.fr.md index 3f59410..a78af73 100644 --- a/site/index.fr.md +++ b/site/index.fr.md @@ -41,7 +41,7 @@ Vous avez des droits : droit à la vie privée, liberté de pensée, liberté d Libreboot, fondé en décembre 2013, a pour objectif de rendre le micrologiciel libre accessible même aux utilisateurs non techniques. Libreboot s’appuie sur [Coreboot](https://www.Coreboot.org) pour -[l'initialisation matérielle](https://doc.Coreboot.org/getting_started/architecture.html). Coreboot est réputé complexe à installer, en particulier pour les utilisateurs non techniques ; il se limite à l’initialisation matérielle de base avant de transmettre le contrôle à une [charge utile](https://doc.Coreboot.org/payloads.html) (comme [GRUB](https://www.gnu.org/software/grub/) ou [Tianocore](https://www.tianocore.org/)), qui nécessite également une configuration. Libreboot simplifie ce processus : il s’agit d’une distribution de Coreboot dotée d’un [système de compilation automatisé](docs/builds/), capable de créer des images ROM complètes pour une installation plus simple et fiable. +[l'initialisation matérielle](https://doc.Coreboot.org/getting_started/architecture.html). Coreboot est réputé complexe à installer, en particulier pour les utilisateurs non techniques ; il se limite à l’initialisation matérielle de base avant de transmettre le contrôle à une [charge utile](https://doc.Coreboot.org/payloads.html) (comme GRUB ou [Tianocore](https://www.tianocore.org/)), qui nécessite également une configuration. Libreboot simplifie ce processus : il s’agit d’une distribution de Coreboot dotée d’un [système de compilation automatisé](docs/builds/), capable de créer des images ROM complètes pour une installation plus simple et fiable. Une documentation détaillée est disponible. diff --git a/site/index.it.md b/site/index.it.md index d693e93..05ebc01 100644 --- a/site/index.it.md +++ b/site/index.it.md @@ -62,7 +62,7 @@ Il progetto Libreboot fa uso di [coreboot](https://www.coreboot.org/) per Coreboot e' notoriamente difficile da installare per utenti che hanno una scarsa formazione tecnica; gestisce solo l'inizializzazione di base e successivamente carica un programma come [payload](https://doc.coreboot.org/payloads.html) (ad esempio. -[GRUB](https://www.gnu.org/software/grub/), +GRUB, [Tianocore](https://www.tianocore.org/)), i quali possono essere configurati a piacere. *Libreboot risolve questo problema*; e' una *distribuzione di coreboot* con un [sistema di compilazione automatizzato](docs/build/) che produce *immagini ROM* complete, per una diff --git a/site/index.uk.md b/site/index.uk.md index dbe4d47..55f53ec 100644 --- a/site/index.uk.md +++ b/site/index.uk.md @@ -60,7 +60,7 @@ Libreboot надає вам [свободи](https://writefreesoftware.org/), я Coreboot помітно складний для встановлення для більшості нетехнічних користувачів; він виконує тільки базову ініціалізацію та перестрибує до окремої програми [корисного навантаження](https://doc.coreboot.org/payloads.html) (наприклад, -[GRUB](https://www.gnu.org/software/grub/), +GRUB, [Tianocore](https://www.tianocore.org/)), які також мають бути налаштованими. *Програмне забезпечення Libreboot вирішує цю проблему*; це *дистрибутив coreboot* з [автоматизованою системою побудови](docs/build/index.uk.md), яка збирає завершені *образи ROM*, для diff --git a/site/index.zh-cn.md b/site/index.zh-cn.md index 08e790e..effcae7 100644 --- a/site/index.zh-cn.md +++ b/site/index.zh-cn.md @@ -33,7 +33,7 @@ Libreboot 赋予了你从其他大多数引导固件得不到的[自由](https:/ *我们*相信,不受限制地[研究、分享、修改及使用软件](https://writefreesoftware.org/)的自由,是每个人都必须享有的基本人权的一部分。这时,*软件自由*至关重要。你的自由至关重要。教育至关重要。[修理权](https://en.wikipedia.org/wiki/Right_to_repair)至关重要。尽管许多人在用[自由的操作系统](https://www.openbsd.org/),但他们用的引导固件却是专有(非自由)的。专有固件常常[包含](faq.html#intel)了[后门](faq.html#amd),而且可能有很多缺陷。为了让不懂技术的用户也能使用 coreboot 固件,我们于 2013 年 12 月成立了 Libreboot 项目, -Libreboot 项目使用 [coreboot](https://www.coreboot.org/) 来[初始化硬件](https://doc.coreboot.org/getting_started/architecture.html)。对大部分不懂技术的用户来说,coreboot 是出了名地难安装;它只处理了基础的初始化,然后跳转进入单独的 [payload](https://doc.coreboot.org/payloads.html) 程序(例如 [GRUB](https://www.gnu.org/software/grub/)、[Tianocore](https://www.tianocore.org/)),而后者也需要进行配置。*Libreboot 解决了上述问题*;作为 *coreboot 发行版*,配有[自动构建系统](docs/build/),能构建完整的 *ROM 映像*,从而让安装更加稳定。另有文档可参考。 +Libreboot 项目使用 [coreboot](https://www.coreboot.org/) 来[初始化硬件](https://doc.coreboot.org/getting_started/architecture.html)。对大部分不懂技术的用户来说,coreboot 是出了名地难安装;它只处理了基础的初始化,然后跳转进入单独的 [payload](https://doc.coreboot.org/payloads.html) 程序(例如 GRUB、[Tianocore](https://www.tianocore.org/)),而后者也需要进行配置。*Libreboot 解决了上述问题*;作为 *coreboot 发行版*,配有[自动构建系统](docs/build/),能构建完整的 *ROM 映像*,从而让安装更加稳定。另有文档可参考。 Libreboot 不是 coreboot 的分支 ----------------------------------- diff --git a/site/license.md b/site/license.md index 258233c..6dd5422 100644 --- a/site/license.md +++ b/site/license.md @@ -23,16 +23,9 @@ You can download the logo files from `lbwww-img.git`. See: These pages are static HTML, generated from Markdown files, which you can find a link to at the bottom of each HTML page, for the corresponding Markdown file. -The terms of this license are written below, unmodified, except to change the -formatting so that the text would integrate nicely on this website. - -You can also find the license here: - - -The markdown version, hosted by the GNU project, can be found here: - - -The *unmodified* license text is as follows: +The terms of this license are written below, unmodified from the original +reference, except to change the formatting so that the text would integrate +nicely on this website: GNU Free Documentation License ============================== @@ -40,7 +33,7 @@ GNU Free Documentation License Version 1.3, 3 November 2008 Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, -Inc. +Inc. *https://fsf.org/* Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. @@ -421,7 +414,7 @@ The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See -. +*https://www.gnu.org/licenses/* Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this @@ -499,3 +492,11 @@ permit their use in free software. The license text ended in the previous paragraph. Now you see the generic footer generated for every page on this website: +Please also see [logo license](logo-license.md) + +The GFDL license copied above, was copied from the documented hosted +here: *https://www.gnu.org/licenses/fdl-1.3.en.html* + +The markdown version can be found here: *https://www.gnu.org/licenses/fdl-1.3.md* + +The *markdown* version was adapted, to display on this page. diff --git a/site/news/audit.md b/site/news/audit.md index 68629f4..06bd871 100644 --- a/site/news/audit.md +++ b/site/news/audit.md @@ -110,7 +110,7 @@ style and replacing it with a BSD coding style (the licensing is unchanged). For reference, here is the original version from GRUB: - +https://git.savannah.gnu.org/cgit/grub.git/plain/util/spkmodem-recv.c?id=822b726b33b8dc07dd01b257a2dfcc7b07d12e2f And here is the version coreboot had, which Libreboot forked: diff --git a/site/news/fam15h.md b/site/news/fam15h.md index 3be961e..4dad591 100644 --- a/site/news/fam15h.md +++ b/site/news/fam15h.md @@ -42,8 +42,8 @@ The following changes have been made, relative to Libreboot 20211122: implements video initialisation in *Ada* on many platforms, but these AMD boards use AST (Aspeed) framebuffer chips, where coreboot video initialisation is written in normal C. This avoids having to deal with build issues, when - [building older Gnat with newer host - Gnat](https://gcc.gnu.org/install/prerequisites.html) + building older Gnat with newer host + Gnat: https://gcc.gnu.org/install/prerequisites.html The PIKE2008 fix from Libreboot 20211122 was retained, and it is included in today's change. This inserts an empty option ROM in CBFS, without which SeaBIOS diff --git a/site/news/libreboot20230625.md b/site/news/libreboot20230625.md index 347cfa3..614f460 100644 --- a/site/news/libreboot20230625.md +++ b/site/news/libreboot20230625.md @@ -187,7 +187,7 @@ Newest changes first, oldest changes last: coding style, to replace the (very horrible, very messy) GNU coding style. It is also [pledged](https://man.openbsd.org/pledge.2) in Libreboot's version. For reference, - [here](https://git.savannah.gnu.org/cgit/grub.git/plain/util/spkmodem-recv.c?id=822b726b33b8dc07dd01b257a2dfcc7b07d12e2f) + https://git.savannah.gnu.org/cgit/grub.git/plain/util/spkmodem-recv.c?id=822b726b33b8dc07dd01b257a2dfcc7b07d12e2f is the GRUB version, and [here](https://raw.githubusercontent.com/coreboot/coreboot/8febc91b3041a1d027bf0d36d30ccb119496524f/util/spkmodem_recv/spkmodem-recv.c) is coreboot's version of it. And now to blow your mind, [here](https://browse.libreboot.org/lbmk.git/tree/util/spkmodem_recv/spkmodem-recv.c?id=b508245451b71b3443fa3202f3863a6de731e9c8) diff --git a/site/news/libreboot20240504.md b/site/news/libreboot20240504.md index 712c0dc..a69e27b 100644 --- a/site/news/libreboot20240504.md +++ b/site/news/libreboot20240504.md @@ -21,7 +21,7 @@ this works in *exactly* the same way as a Linux distro, providing the same type of infrastructure, but for your boot firmware instead of your operating system. It makes use of [coreboot](https://www.coreboot.org/) for hardware initialisation, and then a payload such as [SeaBIOS](https://www.seabios.org/SeaBIOS) -or [GRUB](https://www.gnu.org/software/grub/) to boot your operating +or GRUB to boot your operating system; on ARM(chromebooks), we provide *U-Boot* (as a coreboot payload). Libreboot provides many additional benefits such as fast boot speeds, greater diff --git a/site/news/libreboot20240612.md b/site/news/libreboot20240612.md index 26b9614..33518c1 100644 --- a/site/news/libreboot20240612.md +++ b/site/news/libreboot20240612.md @@ -22,7 +22,7 @@ this works in *exactly* the same way as a Linux distro, providing the same type of infrastructure, but for your boot firmware instead of your operating system. It makes use of [coreboot](https://www.coreboot.org/) for hardware initialisation, and then a payload such as [SeaBIOS](https://www.seabios.org/SeaBIOS) -or [GNU GRUB](https://www.gnu.org/software/grub/) to boot your operating +or GRUB to boot your operating system; on ARM(chromebooks), we provide *U-Boot* (as a coreboot payload). This is a *bugfix* release, and is considered stable. It fixes a series of bugs diff --git a/site/news/libreboot20241008.md b/site/news/libreboot20241008.md index 46ef246..972cbd4 100644 --- a/site/news/libreboot20241008.md +++ b/site/news/libreboot20241008.md @@ -25,7 +25,7 @@ this works in *exactly* the same way as a Linux distro, providing a source-based package manager (called lbmk) which patches sources and compiles coreboot images. It makes use of [coreboot](https://www.coreboot.org/) for hardware initialisation, and then a payload such as [SeaBIOS](https://www.seabios.org/SeaBIOS) -or [GRUB](https://www.gnu.org/software/grub/) to boot your operating +or GRUB to boot your operating system; on ARM(chromebooks), we provide *U-Boot* (as a coreboot payload). The changes of the recent [6th build system audit](audit6.md) are included, in diff --git a/site/news/libreboot20241206.md b/site/news/libreboot20241206.md index 56b32f9..39a56d5 100644 --- a/site/news/libreboot20241206.md +++ b/site/news/libreboot20241206.md @@ -36,7 +36,7 @@ this works in *exactly* the same way as a Linux distro, providing a source-based package manager (called lbmk) which patches sources and compiles coreboot images. It makes use of [coreboot](https://www.coreboot.org/) for hardware initialisation, and then a payload such as [SeaBIOS](https://www.seabios.org/SeaBIOS) -or [GRUB](https://www.gnu.org/software/grub/) to boot your operating +or GRUB to boot your operating system; on ARM(chromebooks), we provide *U-Boot* (as a coreboot payload). ### U-Boot UEFI payload on x86\_64 diff --git a/site/news/libreboot20241206rev10.md b/site/news/libreboot20241206rev10.md index d37f268..087469c 100644 --- a/site/news/libreboot20241206rev10.md +++ b/site/news/libreboot20241206rev10.md @@ -26,7 +26,7 @@ this works in *exactly* the same way as a Linux distro, providing a source-based package manager (called lbmk) which patches sources and compiles coreboot images. It makes use of [coreboot](https://www.coreboot.org/) for hardware initialisation, and then a payload such as [SeaBIOS](https://www.seabios.org/SeaBIOS) -or [GRUB](https://www.gnu.org/software/grub/) to boot your operating +or GRUB to boot your operating system; on ARM(chromebooks), we provide *U-Boot* (as a coreboot payload). We also provide an experimental U-Boot setup on x86, as a coreboot payload for @@ -47,7 +47,7 @@ Summarised list of changes GRUB released *73 patches* to its main branch, fixing a large number of security issues. You can read about them here: - +https://lists.gnu.org/archive/html/grub-devel/2025-02/msg00024.html This updates GRUB to revision `4dc6166571645780c459dde2cdc1b001a5ec844c` from 18 February 2025. Several OOB heap writes, buffer overflows, use after diff --git a/site/news/libreboot20241206rev11.md b/site/news/libreboot20241206rev11.md index 4f37968..d21e303 100644 --- a/site/news/libreboot20241206rev11.md +++ b/site/news/libreboot20241206rev11.md @@ -25,7 +25,7 @@ this works in *exactly* the same way as a Linux distro, providing a source-based package manager (called lbmk) which patches sources and compiles coreboot images. It makes use of [coreboot](https://www.coreboot.org/) for hardware initialisation, and then a payload such as [SeaBIOS](https://www.seabios.org/SeaBIOS) -or [GRUB](https://www.gnu.org/software/grub/) to boot your operating +or GRUB to boot your operating system; on ARM(chromebooks), we provide *U-Boot* (as a coreboot payload). We also provide an experimental U-Boot setup on x86, as a coreboot payload for diff --git a/site/news/libreboot20241206rev8.md b/site/news/libreboot20241206rev8.md index e86d8c0..947da69 100644 --- a/site/news/libreboot20241206rev8.md +++ b/site/news/libreboot20241206rev8.md @@ -24,7 +24,7 @@ this works in *exactly* the same way as a Linux distro, providing a source-based package manager (called lbmk) which patches sources and compiles coreboot images. It makes use of [coreboot](https://www.coreboot.org/) for hardware initialisation, and then a payload such as [SeaBIOS](https://www.seabios.org/SeaBIOS) -or [GRUB](https://www.gnu.org/software/grub/) to boot your operating +or GRUB to boot your operating system; on ARM(chromebooks), we provide *U-Boot* (as a coreboot payload). We also provide an experimental U-Boot setup on x86, as a coreboot payload for diff --git a/site/news/libreboot2504.md b/site/news/libreboot2504.md index 55c9e4b..dc10fac 100644 --- a/site/news/libreboot2504.md +++ b/site/news/libreboot2504.md @@ -54,7 +54,7 @@ this works in *exactly* the same way as a Linux distro, providing a source-based package manager (called lbmk) which patches sources and compiles coreboot images. It makes use of [coreboot](https://www.coreboot.org/) for hardware initialisation, and then a payload such as [SeaBIOS](https://www.seabios.org/SeaBIOS) -or [GRUB](https://www.gnu.org/software/grub/) to boot your operating +or GRUB to boot your operating system; on ARM(chromebooks) and certain x86 mainboards, we provide *U-Boot* (as a coreboot payload), which provides a lightweight UEFI implementation.. diff --git a/site/tasks/index.md b/site/tasks/index.md index 81a2e71..8b2df59 100644 --- a/site/tasks/index.md +++ b/site/tasks/index.md @@ -520,7 +520,7 @@ try to use VGA modes, or some syslinux configs (that GRUB can parse) will, causing weird behaviour on many Libreboot systems. TODO: modify GRUB to only have behaviour matching `GRUB_TERMINAL=console`. -See: +See: `https://www.gnu.org/software/grub/manual/grub/html_node/Simple-configuration.html` This will prevent the need for modification. In some cases, it is necessary to modify `GRUB_TERMINAL` in distro grub configs. The way Libreboot's GRUB From c1a7cb4f7febb1e6cfacbbf9b2435c382a5e6299 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Fri, 23 May 2025 18:15:32 +0100 Subject: [PATCH 270/279] delete other.md, just link canoeboot instead i originally envisioned a federation of sorts, between the other coreboot distros, but almost all of them simply told me that they would rather coordinate everything centrally. fair enough. i will still tell people about those other projects though, when appropriate. for example, there are many cases where i recommend chultrabook/mrchromebox and heads, for their respective use cases that libreboot does not currently cater to. however, i maintain canoeboot and would like to see that much more aggressively promoted from now on, so i've done precisely that; this same change will be adapted, so that Canoeboot releases each state which libreboot version they are based on, linking to each corresponding Libreboot release announcement. Signed-off-by: Leah Rowe --- site/index.de.md | 3 + site/index.fr.md | 3 + site/index.it.md | 3 + site/index.md | 3 + site/index.ru.md | 3 + site/index.tr.md | 3 + site/index.uk.md | 3 + site/index.zh-cn.md | 3 + site/news/libreboot20231021.md | 3 + site/news/libreboot20231101.md | 3 + site/news/libreboot20231106.md | 3 + site/news/libreboot20240504.md | 3 + site/news/libreboot20240612.md | 3 + site/news/libreboot20241008.md | 3 + site/news/libreboot20241206.md | 3 + site/news/libreboot20241206rev10.md | 3 + site/news/libreboot2504.md | 3 + site/other.md | 429 ---------------------------- site/other.md.description | 1 - site/template.de.include | 1 - site/template.include | 1 - site/template.it.include | 1 - site/template.uk.include | 1 - site/template.zh-cn.include | 1 - 24 files changed, 51 insertions(+), 435 deletions(-) delete mode 100644 site/other.md delete mode 100644 site/other.md.description diff --git a/site/index.de.md b/site/index.de.md index a9a7a63..a407eda 100644 --- a/site/index.de.md +++ b/site/index.de.md @@ -37,6 +37,9 @@ for [Libreboot preinstallation](https://minifree.org/product/installation-servic The founder and lead developer of Libreboot, Leah Rowe, also owns and operates Minifree; sales provide funding for Libreboot. +A parallel [Libreboot fork, Canoeboot](https://canoeboot.org), also exists. +Both Canoeboot and Libreboot are maintained by the same developed (Leah Rowe). + Warum solltest Du *Libreboot* verwenden? ---------------------------- diff --git a/site/index.fr.md b/site/index.fr.md index a78af73..9b5e4e9 100644 --- a/site/index.fr.md +++ b/site/index.fr.md @@ -28,6 +28,9 @@ ou envoyer votre propre ordinateur [pour y installer Libreboot](https://minifree Leah Rowe, fondateur et principal développeur du projet Libreboot, est également propriétaire de Minifree Ltd. Les ventes contribuent à financer le développement du projet Libreboot. +A parallel [Libreboot fork, Canoeboot](https://canoeboot.org), also exists. +Both Canoeboot and Libreboot are maintained by the same developed (Leah Rowe). + Pourquoi devriez-vous utiliser *Libreboot*? ----------------------------------- diff --git a/site/index.it.md b/site/index.it.md index 05ebc01..2527989 100644 --- a/site/index.it.md +++ b/site/index.it.md @@ -35,6 +35,9 @@ for [Libreboot preinstallation](https://minifree.org/product/installation-servic The founder and lead developer of Libreboot, Leah Rowe, also owns and operates Minifree; sales provide funding for Libreboot. +A parallel [Libreboot fork, Canoeboot](https://canoeboot.org), also exists. +Both Canoeboot and Libreboot are maintained by the same developed (Leah Rowe). + Per quale ragione utilizzare *Libreboot*? ----------------------------------------- diff --git a/site/index.md b/site/index.md index e2f7f9c..85d62e9 100644 --- a/site/index.md +++ b/site/index.md @@ -44,6 +44,9 @@ matters. you continue to use your hardware, with continued firmware updates. All of this is *why* Libreboot exists. +A parallel [Libreboot fork, Canoeboot](https://canoeboot.org), also exists. +Both Canoeboot and Libreboot are maintained by the same developed (Leah Rowe). + Overview of Libreboot design ---------------------------- diff --git a/site/index.ru.md b/site/index.ru.md index 64a1bd0..53370d6 100644 --- a/site/index.ru.md +++ b/site/index.ru.md @@ -25,6 +25,9 @@ and more payloads (e.g. Linux kexec payload) are planned for future releases. *Мы* верим, что свобода [изучать, делиться, модифицировать и использовать программное обеспечение](https://writefreesoftware.org/) без каких-либо ограничений, является одним из основных человеческих прав, который должен иметь каждый. В этом контексте, *свобода программного обеспечения* важна. Ваша свобода важна. Образование важно. [Право на ремонт](https://en.wikipedia.org/wiki/Right_to_repair) важно; Libreboot позволяет вам продолжить использовать ваше оборудование. Вот *почему* Libreboot существует. +A parallel [Libreboot fork, Canoeboot](https://canoeboot.org), also exists. +Both Canoeboot and Libreboot are maintained by the same developed (Leah Rowe). + Обзор устройства Libreboot -------------------------- diff --git a/site/index.tr.md b/site/index.tr.md index 4098655..470fbb0 100644 --- a/site/index.tr.md +++ b/site/index.tr.md @@ -17,6 +17,9 @@ Ayrıca Minifree Ltd'den seçili donanımlarda [Libreboot önyüklenmiş cihazla *Biz*, yazılımı [inceleme, paylaşma, değiştirme ve kullanma özgürlüğünün](https://writefreesoftware.org/), herhangi bir kısıtlama olmaksızın, herkesin sahip olması gereken temel insan haklarından biri olduğuna inanıyoruz. Bu bağlamda, *yazılım özgürlüğü* önemlidir. Özgürlüğünüz önemlidir. Eğitim önemlidir. [Onarım hakkı](https://en.wikipedia.org/wiki/Right_to_repair) önemlidir; Libreboot, donanımınızı sürekli yazılım güncellemeleriyle kullanmaya devam etmenizi sağlar. Tüm bunlar Libreboot'un *var olma nedenidir*. +A parallel [Libreboot fork, Canoeboot](https://canoeboot.org), also exists. +Both Canoeboot and Libreboot are maintained by the same developed (Leah Rowe). + Libreboot Tasarımına Genel Bakış -------------------------------- diff --git a/site/index.uk.md b/site/index.uk.md index 55f53ec..30293b9 100644 --- a/site/index.uk.md +++ b/site/index.uk.md @@ -36,6 +36,9 @@ for [Libreboot preinstallation](https://minifree.org/product/installation-servic The founder and lead developer of Libreboot, Leah Rowe, also owns and operates Minifree; sales provide funding for Libreboot. +A parallel [Libreboot fork, Canoeboot](https://canoeboot.org), also exists. +Both Canoeboot and Libreboot are maintained by the same developed (Leah Rowe). + Чому вам варто використовувати *Libreboot*? ---------------------------- diff --git a/site/index.zh-cn.md b/site/index.zh-cn.md index effcae7..d89dd9c 100644 --- a/site/index.zh-cn.md +++ b/site/index.zh-cn.md @@ -26,6 +26,9 @@ and more payloads (e.g. Linux kexec payload) are planned for future releases. Libreboot 的创始人和主要开发者,Leah Rowe,也是 Minifree 的所有者和经营者; 销售电脑为 Libreboot 提供资金。 +A parallel [Libreboot fork, Canoeboot](https://canoeboot.org), also exists. +Both Canoeboot and Libreboot are maintained by the same developed (Leah Rowe). + 为什么要使用 *Libreboot*? ---------------------------- diff --git a/site/news/libreboot20231021.md b/site/news/libreboot20231021.md index 21daf40..8235e4c 100644 --- a/site/news/libreboot20231021.md +++ b/site/news/libreboot20231021.md @@ -2,6 +2,9 @@ % Leah Rowe % 21 October 2023 +A corresponding [Canoeboot 20231026](https://canoeboot.org/news/canoeboot20231026.html) +release is also available. + **[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../docs/install/ivy_has_common.md), OR YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions there, before flashing. For posterity, diff --git a/site/news/libreboot20231101.md b/site/news/libreboot20231101.md index a81cd24..2f8bb17 100644 --- a/site/news/libreboot20231101.md +++ b/site/news/libreboot20231101.md @@ -2,6 +2,9 @@ % Leah Rowe % 1 November 2023 +A corresponding [Canoeboot 20231101](https://canoeboot.org/news/canoeboot20231101.html) +release is also available. + **[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../docs/install/ivy_has_common.md), OR YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions there, before flashing. For posterity, diff --git a/site/news/libreboot20231106.md b/site/news/libreboot20231106.md index f9e9095..7fe98ed 100644 --- a/site/news/libreboot20231106.md +++ b/site/news/libreboot20231106.md @@ -2,6 +2,9 @@ % Leah Rowe % 6 November 2023 +A corresponding [Canoeboot 20231107](https://canoeboot.org/news/canoeboot20231107.html) +release is also available. + **[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../docs/install/ivy_has_common.md), OR YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions there, before flashing. For posterity, diff --git a/site/news/libreboot20240504.md b/site/news/libreboot20240504.md index a69e27b..4b2c3ee 100644 --- a/site/news/libreboot20240504.md +++ b/site/news/libreboot20240504.md @@ -2,6 +2,9 @@ % Leah Rowe % 4 May 2024 +A corresponding [Canoeboot 20240504](https://canoeboot.org/news/canoeboot20240504.html) +release is also available. + **Do not use the 20240504 release. This changelog is still provided as reference, but there were problems with this release. Please instead use the [Libreboot 20240612 release](libreboot20240612.md).** diff --git a/site/news/libreboot20240612.md b/site/news/libreboot20240612.md index 33518c1..fa97928 100644 --- a/site/news/libreboot20240612.md +++ b/site/news/libreboot20240612.md @@ -2,6 +2,9 @@ % Leah Rowe % 12 June 2024 +A corresponding [Libreboot 20240612](https://canoeboot.org/news/canoeboot20240612.html) +release is also available. + **[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../docs/install/ivy_has_common.md), OR YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions there, before flashing. For posterity, diff --git a/site/news/libreboot20241008.md b/site/news/libreboot20241008.md index 972cbd4..0b30c88 100644 --- a/site/news/libreboot20241008.md +++ b/site/news/libreboot20241008.md @@ -2,6 +2,9 @@ % Leah Rowe % 8 October 2024 +A corresponding [Canoeboot 20241102](https://canoeboot.org/news/canoeboot20241102.html) +release is also available. + This is a *testing* release, whereas the current stable release on this day is *Libreboot 20240612*. diff --git a/site/news/libreboot20241206.md b/site/news/libreboot20241206.md index 39a56d5..2f9744d 100644 --- a/site/news/libreboot20241206.md +++ b/site/news/libreboot20241206.md @@ -2,6 +2,9 @@ % Leah Rowe % 6 December 2024 +A corresponding [Canoeboot 20241207](https://canoeboot.org/news/canoeboot20241207.html) +release is also available. + Today's Libreboot 20241206 revision is a *stable release*, whereas the previous testing release was Libreboot 20241008, and the previous stable release was Libreboot 20240612. A new *revision* release became available on 5 January 2025, diff --git a/site/news/libreboot20241206rev10.md b/site/news/libreboot20241206rev10.md index 087469c..3bd0a23 100644 --- a/site/news/libreboot20241206rev10.md +++ b/site/news/libreboot20241206rev10.md @@ -2,6 +2,9 @@ % Leah Rowe % 18 February 2025 +A corresponding [Canoeboot 20250107rev1](https://canoeboot.org/news/canoeboot20250107rev1.html) +release is also available. + Today's Libreboot 20241206 revision is the 10th revision in the Libreboot 20241206 stable release series. The changelog on this page is written, relative to Libreboot 20241206 revision 9 which was released on 12 February 2025. diff --git a/site/news/libreboot2504.md b/site/news/libreboot2504.md index dc10fac..7d9cfef 100644 --- a/site/news/libreboot2504.md +++ b/site/news/libreboot2504.md @@ -2,6 +2,9 @@ % Leah Rowe % 30 April 2025 +A corresponding [Canoeboot 25.04](https://canoeboot.org/news/canoeboot2504.html) +release is also available. + Today's Libreboot 25.04 revision is a *testing release*, whereas the previous stable release was Libreboot 20241206. The codename for this release is *Corny Calamity*. This is the first release to have a codename, and it is diff --git a/site/other.md b/site/other.md deleted file mode 100644 index 5a0a898..0000000 --- a/site/other.md +++ /dev/null @@ -1,429 +0,0 @@ ---- -title: Other coreboot distributions providing Open Source BIOS/UEFI firmware -x-toc-enable: true -... - -What is a coreboot distro? --------------------------- - -Libreboot is a *coreboot distribution* or *coreboot distro*, in the same way -that Debian is a *Linux distro*. Its purpose is to provide free/opensource boot -firmware, replacing proprietary BIOS/UEFI firmware, and it -supports [many machines](docs/install/#which-systems-are-supported-by-libreboot). - -It is a coreboot distro precisely because of its [design](docs/maintain/). -Libreboot's build system automatically downloads, patches and builds all the -various upstream sources such as coreboot, GRUB, SeaBIOS, U-Boot and so on. -This automation is used to provide [binary releases](download.md), which the -user can [easily install](docs/install/). Coreboot is notoriously difficult -to configure and install, for most people, and you need a high degree of -technical skill to use it; distros like Libreboot bridge this gap, making -coreboot accessible to non-technical users. - -Libreboot was the *first* coreboot distro, -existing [since December 2013](news/10.md). Many Libreboot users exist today, -who would otherwise not use coreboot at all. - -Coreboot is highly flexible for many configurations. It is quite possible build -to [your own coreboot image](https://doc.coreboot.org/getting_started/index.html) -but most non-technical users should probably use a coreboot distro. - -It's thanks to the various coreboot distros that many people use coreboot today; -without them, many otherwise non-technical users might not use coreboot at all. - -List of coreboot distros ------------------------- - -Not all distros are listed; only those of high quality or otherwise of interest; -quality, not quantity. In alphabetical order: - -### Canoeboot - -Website: - -Git repositories: - -Canoeboot is a *special fork* of Libreboot; both Canoeboot and Libreboot are -maintained in parallel by the same developer, Leah Rowe. Canoeboot supports -far less hardware than Libreboot, but provides a *pure* free software coreboot -distribution, due to its [policy](https://canoeboot.org/news/policy.html). As -a result of Canoeboot's policy, it currently only supports very old hardware. - -It otherwise has the exact same design as Libreboot, and is kept in relative -sync [at all times](https://canoeboot.org/about.html), often doing releases side -by side on the same days as Libreboot. - -*Libreboot* supports more hardware than Canoeboot, due to its more -pragmatic [Binary Blob Reduction Policy](news/policy.md) adopted on 17 -November 2022; Canoeboot is a continuation of Libreboot from prior to this, -since Libreboot initially used the same dogmatic policy as Canoeboot. A small -minority of users demanded it post-November 2022, so Canoeboot was born. - -If you're an absolute Free Software fanatic, Canoeboot is for you. Otherwise, -if you want to use much newer hardware, Libreboot is a worthy choice. Since -Canoeboot only supports much older hardware, and uses Libreboot's *old* policy, -you could consider Canoeboot to be *legacy Libreboot*. Libreboot adopted the -Binary Blob Reduction Policy in November 2022, as part of a general desire to -support more - and newer - hardware. - -### Dasharo - -Website: - -Git repositories: - -Supports many machines, with a choice of EDK2(UEFI) or Heads(Linuxboot) -payload in the flash. Some older machines may provide a SeaBIOS payload -instead. A lot of work that goes into the upstream coreboot project came -from the Dasharo developers. - -Dasharo provides their own fork of coreboot, with a specific tree *per board*. -Several coreboot ports (e.g. MSI Z690-A PRO) were implemented directly by -the Dasharo project, and later upstreamed into the regular coreboot project. - -Dasharo has a special emphasis on commercial application, providing tailored -coreboot images for each supported motherboard, with an emphasis on stability. -It's a very different approach than Libreboot's approach; Libreboot provides -a more generalised design in its build system and infrastructure. - -### Firmware-action - -Website: - -Documentation: - -**TODO: Link their FOSDEM 2025 talk when it becomes available on archives.** - -Launched at the start of 2023, this project by 9elements provides -a source-based package manager similar conceptually to lbmk; it downloads, -patches and compiles various upstream sources, specifically coreboot, -Linux, Tianocore/edk2, u-root and others. - -It currently does not provide specific build targets pre-configured, nor -binary releases, but it could theoretically be fashioned that way, and this -was asked of them at their FOSDEM 2025 talk, during questions and answers - and -much of what it's trying to do could inspire aspects of Libreboot's design in -the future. - -Their build system design is interesting, and has many of the same sort of -features lbmk has, such as tracking of build artifacts / re-use of build -artifacts to speed up re-builds. I (Leah Rowe, Libreboot maintainer) learned -of Firmware-action because I attended their FOSDEM 2025 talk. It is listed on -this page, because their build system design *can* be used to provide a fully -fledged coreboot distribution, with binary releases. - -The goal of the firmware-action project is to provide a fully reproducible -build environment, for integration with a CI/CD setup during coreboot -development. This build system has great potential to provide a useful -competitor versus, say, Heads or LinuxBoot projects. The design of this build -system could also be adapted to provide many different coreboot payloads, -even ones that it currently doesn't support, such as GNU GRUB. - -### Heads - -Website: - -Git repositories: - -Heads provides a LinuxBoot payload using U-Root, and has many advanced features -such as TPM-based MeasuredBoot. With combined use of a FIDO key, you can easily -and more reliably determine whether you boot firmware has been tampered with. - -The Linux-based payload in flash uses kexec to boot another Linux kernel. It -provides an easy to use boot menu, highly configurable and supports many -Linux distros easily. - -If you're the sort of person who needs full disk encryption and you have a -focus on security, Heads is for you. Perfect for use with something like Qubes. - -Libreboot provides its own [security mechanisms](docs/linux/grub_hardening.html), -but Heads is much more flexible and complete, in this regard. The only downside -to Heads's Linux-based flash setup, is that it's basically a Linux-only -coreboot distro (whereas Libreboot can boot BSD and even *Windows*, in some -cases). - -Another focus of the heads project is on *reproducible builds*. Its build -system bootstraps a toolchain that then compiles everything else, including -the coreboot crossgcc toolchain. The purpose of this is to provide matching -ROM hashes on every build; for this purpose, it also auto-downloads vendor -files such as Intel ME at build time, instead of requiring you to dump from -the original boot firmware. - -Heads's vendorcode auto-download logic inspired Libreboot's -own [vendorcode inject](docs/install/ivy_has_common.md) design; Libreboot -greatly expanded on it, on more machines. - -We in Libreboot have an affinity for the Heads project, and have worked with -them in the past, and they with us, helping each other back and forth. Many of -the machines supported in Libreboot are also supported in Heads, and vice versa, -but they target different kinds of users and use-case scenarios, with Libreboot -targeting a more general audience (while providing security hardening options), -whereas Heads specifically targets security-conscious users. - -### MrChromeBox - -Website: - -Git repositories: - -Provides a tailored EDK2(UEFI) payload on supported *Chromebooks*. You can use -this to replace ChromeOS with a regular Linux distro or BSD system - even -Windows - if you wish. - -The benefit of using *MrChromebox* is that it provides up to date EDK2, unlike -proprietary vendors who often provide old, CVE-ridden versions of EDK2 forks -such as InsydeH2O. - -With MrChromebox's guidance, you can have a completely up to date UEFI firmware -on your machine, and get good use out of your Chromebook for many more years, -with regular security updates. - -You can also use the [Chrultrabook Docs](https://docs.chrultrabook.com/) which -make use of MrChromebox and might prove useful. - -One of Chultrabook's maintainers, Elly, did this talk at 37C3 conference, -demonstrating Chultrabook: - - and also did this more general -talk about coreboot at 38C3: . It's -very good reference material if you want to know more about coreboot, and -coreboot distros more generally. - -Elly also did this interview with Brodie Robertson, about coreboot, and -explains the concept of a coreboot distro in more detail in one part of -the interview: - - -Libreboot largely avoids supporting Chromebooks, precisely because -MrChromebox is a perfectly viable option on these machines. - -### Skulls - -Git repositories: - -Skulls provides simple coreboot images with SeaBIOS payload, on a handful of -Thinkpads. Libreboot *also* provides similar SeaBIOS configurations, on all -of the same machines, but Libreboot's design does mean that there are a few -additional steps for installation. -If you just want the simplest, most barebones setup, Skulls is a great choice. - -Libreboot *also* provides U-Boot and GRUB, and has other ambitions. Libreboot -aims to provide ease of use while also providing great power and flexibility. -So Libreboot is aimed specifically at power users, while also trying to -accomodate non-technical users; Skulls largely targets the latter. - -### System76 Open Firmware - -Git repository: - -Other repositories e.g. EC firmware: - -System76 provides their own special coreboot fork, that they tailor for -specific machines that they sell; they also provide free EC firmware. Jeremy -Soller of System76 maintains this firmware, and the work is regularly -upstreamed into the regular coreboot project. - -System76 provides the coreboot firmware, along with EDK2 UEFI payload. It can -boot Linux distros, BSD systems and even Windows perfectly. - -Is your distro unlisted? ------------------------- - -Please get in touch! We'd love to link your project here. - -The coreboot project also maintains its own list of coreboot distros: - - - -Libreboot maintains its own list, because it is felt that distros should also -link to each other, since many people who find coreboot for the first time may -find it through a distro (such as Libreboot) and not check coreboot's own -website. We in the Libreboot project wish to see everyone using free boot -firmware, which was the primary motivation behind this page, in promoting the -various projects. - -Organisations -------------- - -This list will be populated over time. Several organisations exist out there -that pertain to *Free and Open Source firmware* development, supporting its -existence in general. Here are just a few of them: - -### Open Source Firmware Foundation (OSFF) - -Website: - -The OSFF is a non-profit organisation of Oregon, USA, whose mission it is to -coordinate communication between the various free boot projects (projects like -coreboot). Several coreboot developers are a part of -its [governance](https://opensourcefirmware.foundation/team/). - -The OSFF also hosts an annual [Open Source Firmware -Conference](https://www.osfc.io/), where various projects, companies and -peoples can talk about their work in this field. - -The OSFF exists precisely because nothing like it has existed before; the -world of boot firmware is largely dominated by proprietary IBVs (independent -BIOS vendors), the likes of e.g. AMI, Phoenix. - -Organisations like OSFF are critical, if we ever wish to see *libre* boot -firmware become the default firmware, on computers that normal people actually -purchase. All the separate projects out there do great work, but it is critical -that we have a central *sorting ground*, a *point of contact* if you will, -to represent us, and the OSFF's mission is to be exactly that. - -OSFF also has their own list of projects, similar to the list on *this* page -that you are reading now. See: - - - -Libreboot is currently not affiliated with the OSFF in any official capacity, -but it has our *full* support, and we will do what we can to help it, when we -can. - -### Software Freedom Conservancy (SFC) - -Although not strictly related to free/opensource firmware, the coreboot project -is an SFC member, which you can see here: - - - -The SFC is a non-profit organisation of New York, USA, dedicated to the -cause of [software freedom](https://writefreesoftware.org/learn), with a view -towards Copyleft advocacy, especially [copyleft -compliance enforcement](https://sfconservancy.org/copyleft-compliance/). - -SFC provides services to *member projects*, such as coreboot, which you -can read about here: - -* -* - -Services such as donations infrastructure, legal services (including things -like copyright assignements and enforcement), advice/assistance about project -governance, help with fundraising and outreach, etc. - -SFC also hosts an annual conference, called *FOSSY*, which projects, companies -and peoples can go to to promote their work on free/opensource projects. See: - - - -Although Libreboot is not affiliated with SFC in any official capacity, it is -otherwise an excellent organisation, it is listed here in honour of the -excellent work it does, including its support of the coreboot project. - -### Software in the Public Interest (SPI) - -Website: - -The SPI is a non-profit organisation of New York, USA, dedicated to the -cause of [software freedom](https://writefreesoftware.org/learn). It provides -fiscal sponsorship and promotion of numerous Free and Open Source projects, -which you can read about here: - - - -It provides services to member projects such as donations infrastructure, -legal services, advice/assistance and oversight of project governance and -general help with fundraising. - -SFC most notably provides services to Debian, which is a member: - - - -Although SPI does not currently (at this time) sponsor any coreboot or -firmware-related projects, several of the projects that it *does* support -are critical for Libreboot development. For example, it also supports the -Arch Linux project: - - - -Libreboot development, especially build testing, happens largely on computers -running Debian Linux and Arch Linux, because these cover a large number of -users; we also test many other distros such as Fedora or Ubuntu. - -Organisations like SPI (and indeed SFC, OSFF) are critical to the general -health of the Free Software movement. Without them, we would not be able to -as effectively coordinate projects, especially in terms of funding. - -Libreboot is not currently affiliated with the SPI in any official capacity, -but they have our respect and they are listed here. - -Non-coreboot firmware projects --------------------------- - -Several other projects besides coreboot provide free hardware initialisation, -such as [U-Boot](https://www.u-boot.org/) (as own firmware, distinct from U-Boot -as a coreboot payload), [Trusted Firmware](https://www.trustedfirmware.org/) and -so on. - -Here are a few such projects: - -### fwupd - -fwupd is essentially a centralised repository of firmware images, that -can be used to provide updates for your mainboard. Although not officially -supported nor endorsed by the Libreboot project, many Linux distros make -use of this to provide UEFI firmware updates for example. - -Libreboot doesn't use this, due to the many idiosyncrasies of Libreboot on -various motherboards; however, we may use it in a limited capacity, in the -future. - -### LinuxBoot - -Website: - -LinuxBoot can be provided as a UEFI DXE, or as a U-Boot SPL, coreboot payload -or Slim Bootloader Stage 1B, to provide a Linux kernel at boot time, which -kexecs into another Linux kernel. - -The benefit of using *Linux* to *boot Linux* is that then the bootloader part -of your firmware doesn't need to rewrite every driver, because Linux already -provides excellent drivers, and it also affords you many advanced -configuration possibility such as hardened encryption setups with things -like Measured Boot, and it could also be used to boot over a network. - -### OpenBMC - -Website: - -Linux distro for management controllers (BMCs) used on servers, -rack switches and RAID appliances. This provides a remote management -feature, most useful (for example) on colocated server hosting. - -### Oreboot - -Website: - -Oreboot is a special fork of coreboot, re-written in the Rust programming -language, focusing specifically on the *LinuxBoot* payload configuration. - -### Trusted Firmware - -Website: - -Trusted Firmware provides boot firmware for ARMv8-A, ARMv9-A -and ARMv8-M. Specifically tailored for use on embedded systems, and parts of -it are also used by the coreboot project on some boards. - -### U-Boot - -Website: - -U-Boot runs on a large number of embedded systems, with support for a variety -of architectures such as ARM, x86, RISC-V and others. U-Boot provides its own -small kernel and operating system, with drivers and applications designed to -boot your operating system using various methods. It has an advanced *shell*, -with excellent networking and file system support - most notably, we use it -in Libreboot as a UEFI payload for *coreboot*, but U-Boot can also provide its -own boot initialisation independently of coreboot. - -One of the nice features of U-Boot is its *licensing* (GPLv2 for the most part) -and similar coding style to Linux; the licensing and technical design means -that it's much easier to port existing Linux drivers, when something needs to -be done in the U-boot project. - ------------------------------------------ - -We would like to list various distros of these too. If you know of a cool -project, please get in touch with the Libreboot project! diff --git a/site/other.md.description b/site/other.md.description deleted file mode 100644 index c402f9d..0000000 --- a/site/other.md.description +++ /dev/null @@ -1 +0,0 @@ -Libreboot is a free/opensource BIOS/UEFI boot firmware distribution. Several other projects exist that are very different to Libreboot, also based on coreboot. diff --git a/site/template.de.include b/site/template.de.include index 4dbbddb..22ebe5e 100644 --- a/site/template.de.include +++ b/site/template.de.include @@ -83,7 +83,6 @@ $endif$
  • Bugs
  • Kontakt
  • Spenden
  • -
  • Andere Coreboot-Distributionen

  • diff --git a/site/template.include b/site/template.include index a875399..ccdb4f1 100644 --- a/site/template.include +++ b/site/template.include @@ -83,7 +83,6 @@ $endif$
  • Bugs
  • Contact
  • Donate
  • -
  • Other coreboot distros

  • diff --git a/site/template.it.include b/site/template.it.include index 189acd7..73b9fcc 100644 --- a/site/template.it.include +++ b/site/template.it.include @@ -83,7 +83,6 @@ $endif$
  • Difetti (bugs)
  • Contatti
  • Donazioni
  • -
  • Altre distribuzioni coreboot

  • diff --git a/site/template.uk.include b/site/template.uk.include index 8529add..6ed8413 100644 --- a/site/template.uk.include +++ b/site/template.uk.include @@ -83,7 +83,6 @@ $endif$
  • Помилки
  • Зв'язок
  • Пожертвувати
  • -
  • Інші дистрибутиви coreboot

  • diff --git a/site/template.zh-cn.include b/site/template.zh-cn.include index c155a2c..096cc99 100644 --- a/site/template.zh-cn.include +++ b/site/template.zh-cn.include @@ -83,7 +83,6 @@ $endif$
  • 缺陷
  • 联系
  • 捐赠
  • -
  • 其他 coreboot 发行版

  • From 9e1697ed8c478932bbad245323f05903bb6b1054 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Fri, 23 May 2025 19:05:37 +0100 Subject: [PATCH 271/279] i'm a developer, not a developed i'm quite undeveloped Signed-off-by: Leah Rowe --- site/index.de.md | 2 +- site/index.fr.md | 2 +- site/index.it.md | 2 +- site/index.md | 2 +- site/index.ru.md | 2 +- site/index.tr.md | 2 +- site/index.uk.md | 2 +- site/index.zh-cn.md | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/site/index.de.md b/site/index.de.md index a407eda..7f960fc 100644 --- a/site/index.de.md +++ b/site/index.de.md @@ -38,7 +38,7 @@ The founder and lead developer of Libreboot, Leah Rowe, also owns and operates Minifree; sales provide funding for Libreboot. A parallel [Libreboot fork, Canoeboot](https://canoeboot.org), also exists. -Both Canoeboot and Libreboot are maintained by the same developed (Leah Rowe). +Both Canoeboot and Libreboot are maintained by the same developer (Leah Rowe). Warum solltest Du *Libreboot* verwenden? ---------------------------- diff --git a/site/index.fr.md b/site/index.fr.md index 9b5e4e9..9d0f366 100644 --- a/site/index.fr.md +++ b/site/index.fr.md @@ -29,7 +29,7 @@ ou envoyer votre propre ordinateur [pour y installer Libreboot](https://minifree Leah Rowe, fondateur et principal développeur du projet Libreboot, est également propriétaire de Minifree Ltd. Les ventes contribuent à financer le développement du projet Libreboot. A parallel [Libreboot fork, Canoeboot](https://canoeboot.org), also exists. -Both Canoeboot and Libreboot are maintained by the same developed (Leah Rowe). +Both Canoeboot and Libreboot are maintained by the same developer (Leah Rowe). Pourquoi devriez-vous utiliser *Libreboot*? ----------------------------------- diff --git a/site/index.it.md b/site/index.it.md index 2527989..867dac0 100644 --- a/site/index.it.md +++ b/site/index.it.md @@ -36,7 +36,7 @@ The founder and lead developer of Libreboot, Leah Rowe, also owns and operates Minifree; sales provide funding for Libreboot. A parallel [Libreboot fork, Canoeboot](https://canoeboot.org), also exists. -Both Canoeboot and Libreboot are maintained by the same developed (Leah Rowe). +Both Canoeboot and Libreboot are maintained by the same developer (Leah Rowe). Per quale ragione utilizzare *Libreboot*? ----------------------------------------- diff --git a/site/index.md b/site/index.md index 85d62e9..55736ea 100644 --- a/site/index.md +++ b/site/index.md @@ -45,7 +45,7 @@ you continue to use your hardware, with continued firmware updates. All of this is *why* Libreboot exists. A parallel [Libreboot fork, Canoeboot](https://canoeboot.org), also exists. -Both Canoeboot and Libreboot are maintained by the same developed (Leah Rowe). +Both Canoeboot and Libreboot are maintained by the same developer (Leah Rowe). Overview of Libreboot design ---------------------------- diff --git a/site/index.ru.md b/site/index.ru.md index 53370d6..1b44277 100644 --- a/site/index.ru.md +++ b/site/index.ru.md @@ -26,7 +26,7 @@ and more payloads (e.g. Linux kexec payload) are planned for future releases. *Мы* верим, что свобода [изучать, делиться, модифицировать и использовать программное обеспечение](https://writefreesoftware.org/) без каких-либо ограничений, является одним из основных человеческих прав, который должен иметь каждый. В этом контексте, *свобода программного обеспечения* важна. Ваша свобода важна. Образование важно. [Право на ремонт](https://en.wikipedia.org/wiki/Right_to_repair) важно; Libreboot позволяет вам продолжить использовать ваше оборудование. Вот *почему* Libreboot существует. A parallel [Libreboot fork, Canoeboot](https://canoeboot.org), also exists. -Both Canoeboot and Libreboot are maintained by the same developed (Leah Rowe). +Both Canoeboot and Libreboot are maintained by the same developer (Leah Rowe). Обзор устройства Libreboot -------------------------- diff --git a/site/index.tr.md b/site/index.tr.md index 470fbb0..97f232a 100644 --- a/site/index.tr.md +++ b/site/index.tr.md @@ -18,7 +18,7 @@ Ayrıca Minifree Ltd'den seçili donanımlarda [Libreboot önyüklenmiş cihazla *Biz*, yazılımı [inceleme, paylaşma, değiştirme ve kullanma özgürlüğünün](https://writefreesoftware.org/), herhangi bir kısıtlama olmaksızın, herkesin sahip olması gereken temel insan haklarından biri olduğuna inanıyoruz. Bu bağlamda, *yazılım özgürlüğü* önemlidir. Özgürlüğünüz önemlidir. Eğitim önemlidir. [Onarım hakkı](https://en.wikipedia.org/wiki/Right_to_repair) önemlidir; Libreboot, donanımınızı sürekli yazılım güncellemeleriyle kullanmaya devam etmenizi sağlar. Tüm bunlar Libreboot'un *var olma nedenidir*. A parallel [Libreboot fork, Canoeboot](https://canoeboot.org), also exists. -Both Canoeboot and Libreboot are maintained by the same developed (Leah Rowe). +Both Canoeboot and Libreboot are maintained by the same developer (Leah Rowe). Libreboot Tasarımına Genel Bakış -------------------------------- diff --git a/site/index.uk.md b/site/index.uk.md index 30293b9..c4a95d5 100644 --- a/site/index.uk.md +++ b/site/index.uk.md @@ -37,7 +37,7 @@ The founder and lead developer of Libreboot, Leah Rowe, also owns and operates Minifree; sales provide funding for Libreboot. A parallel [Libreboot fork, Canoeboot](https://canoeboot.org), also exists. -Both Canoeboot and Libreboot are maintained by the same developed (Leah Rowe). +Both Canoeboot and Libreboot are maintained by the same developer (Leah Rowe). Чому вам варто використовувати *Libreboot*? ---------------------------- diff --git a/site/index.zh-cn.md b/site/index.zh-cn.md index d89dd9c..90af7dc 100644 --- a/site/index.zh-cn.md +++ b/site/index.zh-cn.md @@ -27,7 +27,7 @@ Libreboot 的创始人和主要开发者,Leah Rowe,也是 Minifree 的所有 销售电脑为 Libreboot 提供资金。 A parallel [Libreboot fork, Canoeboot](https://canoeboot.org), also exists. -Both Canoeboot and Libreboot are maintained by the same developed (Leah Rowe). +Both Canoeboot and Libreboot are maintained by the same developer (Leah Rowe). 为什么要使用 *Libreboot*? ---------------------------- From 56120eb2fbfa432eb6b465d93503f1da8b6ac5c5 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 25 May 2025 12:18:05 +0100 Subject: [PATCH 272/279] further clarification about pico2 support Signed-off-by: Leah Rowe --- site/contrib.md | 2 +- site/docs/install/spi.md | 20 +++++++++----------- site/docs/install/spi.zh-cn.md | 3 +-- 3 files changed, 11 insertions(+), 14 deletions(-) diff --git a/site/contrib.md b/site/contrib.md index dc42608..5d38b99 100644 --- a/site/contrib.md +++ b/site/contrib.md @@ -547,7 +547,7 @@ in Libreboot. Riku also added the HP Folio 9470m to Libreboot. Riku is also in charge of Libreboot's fork of `pico-serprog`, which is used -to provide serprog firmware on RP2040 and RP2530 devices. These devices can +to provide serprog firmware on Raspberry Pi Pico devices. These devices can be used to set up a cheap but reliable NOR flasher, which is now the default recommended one for flashing Libreboot externally. Riku's fork contains several enhancements, such as a higher default drive level of 12mA and the ability to diff --git a/site/docs/install/spi.md b/site/docs/install/spi.md index 668e97b..043a416 100644 --- a/site/docs/install/spi.md +++ b/site/docs/install/spi.md @@ -100,17 +100,16 @@ is called *external* because it's not the *internal* one on your motherboard. Raspberry Pi Pico ----------------- -### RP2040/RP2530 both supported +### Pico 1 (RP2040) supported -NOTE: RP2530 dongles removed in the Libreboot 25.04 testing release, but will +Pico 2 support was removed, due to stability issues. These are the RP2530 +devices. Pico 1 dongles work just fine (RP2040). + +**NOTE: RP2530 dongles removed in the Libreboot 25.04 testing release, but will be re-added in future revisions. It was removed due to bugs, so Libreboot only -supports Pico1 for now, and the Pico2 images were also removed from the December -release of 2024, retroactively. Subsequent revisions will once again re-add -Pico 2 support, after it has been better tested. - -**Pico 2 and other RP2530 dongles also supported, on Libreboot 20241206 rev8, -but experimental. Releases before this only supported the original Pico, and other -RP2040 dongles; newer Libreboot releases now support both RP2040 and RP2530.** +supports Pico1 (RP2040) for now, and the Pico2 images were also removed from the +December release of 2024, retroactively. Subsequent revisions will once again +re-add Pico 2 support, after it has been better tested.** The pinout on Raspberry Pi Pico and Raspberry Pi Pico 2 are identical, but you must take care to flash the correct image on either device. @@ -154,8 +153,7 @@ do: This will automatically build the rpi-pico firmware, and the file will be at `bin/serprog_pico/serprog_pico.uf2` -and `bin/serprog_pico/serprog_pico_w.uf2` - images with `pico2` in the -file name are for the Pico 2, and they can also be used. +and `bin/serprog_pico/serprog_pico_w.uf2`. ### Install the serprog firmware diff --git a/site/docs/install/spi.zh-cn.md b/site/docs/install/spi.zh-cn.md index 789dfbd..3b2220a 100644 --- a/site/docs/install/spi.zh-cn.md +++ b/site/docs/install/spi.zh-cn.md @@ -89,8 +89,7 @@ do: This will automatically build the rpi-pico firmware, and the file will be at `bin/serprog_pico/serprog_pico.uf2` -and `bin/serprog_pico/serprog_pico_w.uf2` - images with `pico2` in the -file name are for the Pico 2, and they can also be used. +and `bin/serprog_pico/serprog_pico_w.uf2`. ### Install the serprog firmware From df73de2bcd051ee16d8061b1c61befc3a3a47169 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 1 Jun 2025 04:20:54 +0100 Subject: [PATCH 273/279] do not promote a now-tainted project i no longer wish to associate libreboot in any way with said project, whose name i will no longer mention, not even in this commit message. i can't do anything about previous mentions, in the git history, nor in lbmk.git. i *could* replace all mentions of said project, with the name of the project it's based on, namely 86box, since 86box does have support for those pentium 2 boards as well, and i could re-add those boards at a later date with 86box as a test setup. however, this would not be worthwhile, since those boards aren't very useful anyway. not for libreboot purposes, anyway. Signed-off-by: Leah Rowe --- site/news/audit5.md | 1 - site/news/libreboot20221214.md | 3 --- site/news/libreboot20230319.md | 5 ----- site/news/libreboot20240612.md | 1 - 4 files changed, 10 deletions(-) diff --git a/site/news/audit5.md b/site/news/audit5.md index b0f04ae..f25ccee 100644 --- a/site/news/audit5.md +++ b/site/news/audit5.md @@ -673,7 +673,6 @@ The latest changes are listed first, going all the way down to earlier changes: * 9cdf4192 git.sh: further simplify nuke() * 1cede024 git.sh: simplify link_crossgcc() * 77e482aa git.sh: simplify nuke() -* 42e97950 Merge pull request 'Add dependency scripts for Fedora 40 and Ubuntu 24.04' (#220) from fuel-pcbox/lbmk:master into master |\ | * 046007b4 Add dependency scripts for Fedora 40 and Ubuntu 24.04 * | a0eb79df add crossgcc tarballs to config/submodules/ diff --git a/site/news/libreboot20221214.md b/site/news/libreboot20221214.md index cf3b716..5305c16 100644 --- a/site/news/libreboot20221214.md +++ b/site/news/libreboot20221214.md @@ -32,9 +32,6 @@ a summary of changes. This list *may not be complete*, but it is as follows: -* ASUS p2b\_ls/p3b\_f added, for testing with [PCBox](https://pcbox-emu.xyz) - - these ROM images achieve perfect raminit and jump to payload in the emulator, - but VGA ROM initialisation does not yet work. * QEMU (arm64 and x86\_64) images added, for testing payloads and so on. * lenovo/t430 (thinkpad) * lenovo/x230 (thinkpad) diff --git a/site/news/libreboot20230319.md b/site/news/libreboot20230319.md index 2f73031..1df682a 100644 --- a/site/news/libreboot20230319.md +++ b/site/news/libreboot20230319.md @@ -150,11 +150,6 @@ add for the next release: ^ I would have put these in today's release, but didn't have time, and wanted to get this release done today. -### Removed boards - -* asus p2b\_ls/p3b\_f - they didn't boot properly in pcbox, and the real - hardware is basically useless / impossible to find - lbmk Git changes ------------ diff --git a/site/news/libreboot20240612.md b/site/news/libreboot20240612.md index fa97928..a76d6c6 100644 --- a/site/news/libreboot20240612.md +++ b/site/news/libreboot20240612.md @@ -724,7 +724,6 @@ The latest changes are listed first, going all the way down to earlier changes: * 9cdf4192 git.sh: further simplify nuke() * 1cede024 git.sh: simplify link_crossgcc() * 77e482aa git.sh: simplify nuke() -* 42e97950 Merge pull request 'Add dependency scripts for Fedora 40 and Ubuntu 24.04' (#220) from fuel-pcbox/lbmk:master into master |\ | * 046007b4 Add dependency scripts for Fedora 40 and Ubuntu 24.04 * | a0eb79df add crossgcc tarballs to config/submodules/ From 6742a9fc954182e9699b9b5bf844f0d42e5dcd82 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 1 Jun 2025 04:26:19 +0100 Subject: [PATCH 274/279] cleanup Signed-off-by: Leah Rowe --- site/news/libreboot20221214.md | 345 --------------------------------- 1 file changed, 345 deletions(-) diff --git a/site/news/libreboot20221214.md b/site/news/libreboot20221214.md index 5305c16..49984b5 100644 --- a/site/news/libreboot20221214.md +++ b/site/news/libreboot20221214.md @@ -86,351 +86,6 @@ never worked reliably on these boards to begin with and they were barely maintained anymore. Use an older release of Libreboot, if you still want to use these boards. -lbmk Git changes ------------- - -These are takes from the git log of `lbmk.git`: - -``` -* c6bb4d25 (HEAD -> master, tag: 20221214, srht/master, origin/master, notabug/master) build/release/src: don't delete .gitcheck -* 0fbf3325 correct a faulty if statement in build/release/src -* ab2cfb86 util/nvmutil: only mask random unicast/local macs -* fea3e51c update the readme -* 664cdcfb fix ./build boot roms all -* 48c73186 p2b_ls/p3b_f boards: Disable memtest payload -* 31111c64 build/boot roms: add exits for failing commands -* 4eba525b p2b_ls/p3b_f boards: no payload and no vga init -* c931b40e Merge branch 'master' of qeeg/lbmk into master -|\ -| * 6351a4a4 Add P2B-LS and P3B-F configs -* | 34a56281 Merge branch 'cros-postmerge-fixes' of alpernebbi/lbmk into master -|\ \ -| * | f079b83d build/release/src: Include U-Boot sources in source archive -| * | 70435784 build/clean: Add helper script to clean U-Boot builds -| * | 0bd4fdbe dependencies/debian: Install dependencies for U-Boot -| * | 3d5bd034 coreboot: Add qemu_arm64_12mb board -| * | d14731be u-boot: Add qemu_arm64_12mb board -| * | b5a5801f coreboot: qemu_x86_12mb: Enable DRIVERS_UART_8250IO -| * | 737573ce u-boot: Add qemu_x86_12mb build -| * | 1c62b003 build/roms: Support using "u-boot" ELF file as U-Boot payload -| * | 6cabcec5 u-boot: Add video damage tracking patch series -| * | 38328b93 u-boot: Set default revision to v2022.10 -| * | c798975d u-boot: Use a common tree -| * | 5b6bf2a8 build/roms: Don't rebuild crossgcc if it was already built -| * | bee50540 build/roms: Make coreboot crossgcc usable for payloads and modules -| * | a5863561 build/roms: Build 32-bit crossgcc for AArch64 as well -| * | 9fb4ecec build/roms: Don't build Memtest86+ when not specified by cmdline -| * | 4e3097b5 build/roms: Disable U-Boot when not in payloads specified by cmdline -| * | 584210bd download/u-boot: Change to download target before running extra.sh -| * | 2b761f2f download/u-boot: Re-add usage text for no-argument form -| * | 71cf7f9d download/u-boot: Remove support for deleting git folders -| |/ -* | b495aa09 util/nvmutil: consistent parentheses on comparison -* | 17fa25e5 util/nvmutil file reads: skip reading if errno!=0 -* | 27876c64 util/nvmutil: return error when fstat() is -1 -|/ -* 960af2d6 util/nvmutil: rhex(): fail if errno not zero -* 3d01cf28 util/nvmutil: minor code formatting cleanup -* a7ea70c7 build/release/roms: delete ME/MRC firmware in ROMs -* 0c334380 build/boot/roms: remove errant code -* 33bbb36d remove errant detail from comment -* 55869474 delete build/release/u-boot-libre -* 137b5434 remove logic for avoiding nonredistributable blobs -* 7679c8e0 coreboot/default: add --nuke flag to ifdtool -* a5e4416a util/nvmutil: remove errant line break -* c100dd1f util/nvmutil: missing paretheses on if statement -* 036d7107 util/nvmutil: don't initialise rbuf unless needed -* 851892b4 util/nvmutil: rename variable in hextonum -* 0bf3f1ed util/nvmutil: don't reallocate memory in hextonum -* e5a46b46 util/nvmutil: dont report bad size if /dev/urandom -* ededa5dd util/nvmutil: rename variables in hextonum -* e2e321fc util/nvmutil: use BUFSIZ for rmac size in hextonum -* a6d0112d util/nvtutil: fix out of bounds error -* 04ced693 update the README -* 85937f3f util/nvmutil: reset errno on cmd_swap -* ec082429 scripts: avoid relying on spaces from sha1sum output -* 7c5334ca Merge branch 'hide-mei' of XRevan86/lbmk into master -|\ -| * 69eaca2c coreboot: hide MEI on neutered-ME targets -|/ -* cf052220 Merge branch 'master' of Arsen/lbmk into master -|\ -| * a40ba4ad t430_12mb: Add, based on x230_12mb -* | 0c5dfddd Merge branch 'x230edp' of XRevan86/lbmk into master -|\ \ -| |/ -|/| -| * a33e8429 coreboot: add x230edp_12mb, remove x230fhd_12mb -|/ -* e8eee6dd util/nvmutil: mild refactoring -* 342e5abe util/nvmutil: improved errno handling in main -* d7465efb util/nvmutil: put hextonum in its own function -* 9e5ff5e4 util/nvmutil: move ENOTDIR check to function -* ff88cb1a util/nvmutil: further improved errno handling -* b81b51f9 util/nvmutil: remove errant code -* a94bac81 util/nvmutil: improved error handling -* 55a951a7 util/nvmutil: fix off by one bug -* 0108615f nvmutil copy/swap: actually set nvmPartModified -* 82300f4f util/nvmutil: move cmd copy to own function -* ddf3b76c util/nvmutil: move cmd swap to own function -* c2ed251c util/nvmutil: move cmd brick to own function -* eaad16ed util/nvmutil: cmd setchecksum in own function -* cea1beea util/nvmutil: split "dump" into smaller functions -* 59e4f560 Merge branch 'dev' of shmalebx9/lbmk into master -|\ -| * 99652baa fix injection script -| * 175b48a4 added more checks and optimised extraction script -| * b2c71747 make gitcheck verify coreboot subdir -| * 1246c3ad add smort failures to blob download script -* | 0ae00e88 util/nvmutil: re-factor to reduce code indentation -* | 0bbd4f1f util/nvmutil: write gbe files in a function -* | b0f9f47e util/nvmutil: human-friendly exit messages, part 2 -* | e35a33d5 Merge branch 'qemu' of shmalebx9/lbmk into master -|\ \ -| * | da155b3d added x86 qemu board based on x230 coreboot config -* | | e1bbdadc build/roms: remove seabios_grubfirst logic -| |/ -|/| -* | 7629dfb8 remove duplicate patch causing build error -|/ -* ca45a60f bump grub revision to latest upstream -* c1c76a05 dependencies/arch: notice about unifont dependency -* 43196abc also fix crossgcc on cros/fhd coreboot trees -* f0631908 cros devices: use a common coreboot tree -* 24a866ba remove kfsn4-dre, kcma-d8 and kgpe-d16 -* f5b4eb3f update gitignore -* 60793c55 fix gnat build issue on coreboot repositories -* 6114c349 add innoextract to federa dependency script -* 5ec5d0ea ditto others -* 551e845e ditto debian script -* f896bb84 remove stupid flags from arch dependency script -* 5a01e98d build/dependencies/*: remove python2 -* 6c12afa9 util/nvmutil: more human-friendly exit messages -* 50174563 fix part 1 checksum in t440p gbe.bin -* a7b8d0cf update .gitignore -* b3b3642f assimilate nvmutil -* 8740404e make background splash screen purple -* 3f12ef85 bonerfix -* cf945dda blobs/inject: use nvmutil, not nvmutils -* 2589d367 update the README -* 7af99534 (tag: psdg) pragmatic system distribution guideline compliance -* b5c25efe Merge branch 'u-boot-chromebooks' of alpernebbi/lbmk into master -|\ -| * 61ac6c3f u-boot: Add peach pi chromebook configs -| * f848eb81 coreboot: Add peach pit chromebook configs -| * e08e3da2 u-boot: Add peach pit chromebook configs -| * 8584fcc1 coreboot: Add spring chromebook configs -| * f9f5d5fc u-boot: Add spring chromebook configs -| * 2dcb7cab coreboot: Add snow chromebook configs -| * be8bebaa u-boot: Add snow chromebook configs -| * c97f8e5c coreboot: Add nyan blaze chromebook configs -| * 330f985d u-boot: Add nyan blaze chromebook configs -| * ddc695a2 coreboot: Add nyan big chromebook configs -| * 0d696ee3 u-boot: Add nyan big chromebook configs -| * 2e0f13d9 coreboot: Add veyron mickey chromebit configs -| * 330c62ae u-boot: Add veyron mickey chromebit configs -| * f84209ce coreboot: Add veyron jerry chromebook configs -| * fc7794a1 u-boot: Add veyron jerry chromebook configs -| * bbba94ed coreboot: Add veyron minnie chromebook configs -| * bc47f8cc u-boot: Add veyron minnie chromebook configs -| * 2ed1111d coreboot: Add veyron speedy chromebook configs -| * fa553566 u-boot: Add veyron speedy chromebook configs -| * 0ae23980 coreboot: Add bob chromebook configs -| * ff39bba2 u-boot: Add bob chromebook configs -| * af46cbff coreboot: Add kevin chromebook configs -| * 38655635 u-boot: Add kevin chromebook configs -| * 6d6bd5ee build/roms: Rebuild cbutils module before starting coreboot build -| * 61ede998 build/roms: Support using U-Boot as a coreboot payload -| * a69855f7 build/roms: Build 32-bit crossgcc for AArch64 as well -| * 769f18f2 build/roms: Fix building for ARMv7 and AArch64 boards -| * 9bfbdb59 scripts: Add helpers to modify and update U-Boot configs -| * 1dc05e40 build/payload: Add helper script to build U-Boot as payload -| * cf295741 download: Use shallow clones for big projects -| * ef39e05b download: Allow keeping .git dirs with NODELETE=git -| * 764a439a u-boot-libre: Add support for deblobbing U-Boot v2022.07 -| * 270272eb download/u-boot: Remove .git folders as well -| * 820b8e70 download/u-boot: Support running extra commands from board dirs -| * eae6b35d download/u-boot: Support applying patches from board dirs -| * 454364cc download/u-boot: Try to update submodules as in coreboot script -| * 0aeb69b5 download/u-boot: Use GitHub mirror as fallback -| * 7b552bd2 download/u-boot: Support reading tree and revision from board.cfg -| * 8dd1a245 download/u-boot: Prepare files per board instead of per revision -| * d8da9b51 .gitignore: Ignore u-boot directory -| * 22b1db69 u-boot-libre: Set tar mtime to SOURCE_DATE_EPOCH or @0 -| * 01f61263 u-boot-libre: Fix releasing blob list as deblob script -| * 89a4c2c6 u-boot-libre: remove nonfree firmware in drivers/dma/MCD_tasks.c -| * f679fbd3 u-boot-libre: Fix reproducability issue due to timezone -``` - -osbmk Git changes -------------- - -It's important to show the osboot changes as well. Osboot only became part of -Libreboot last month, but the "reboot" of the osboot project happened around -the start of 2022, when it was put back in sync with Libreboot at the time, -so changes from then to now will be showed. The *last* change in osboot as -shown below is the revision that got merged with lbmk: - -To be more clear: on 19 December 2021, osboot got nuked and re-forked from -scratch, relative to Libreboot, so the earliest revisions in the log below -are Libreboot from that time (forked from lbmk -revision `c3a66c32750fa4a9a90ddb6383b09fdfb6ff77f5`), so this is actually -a full list of all osboot-related changes that became part of Libreboot -in the osboot/libreboot merge last month: - -(some of them are identical changes to lbmk, because efforts *were* made at -the time to keep osboot/libreboot in sync, before it was decided that they -would simply merge) - -``` -* c8c030b (HEAD -> master, origin/master, origin/HEAD) fork lbmk 61ac6c3f0b26deadc2fb8355a8dd0d25b29baacd -* eef6b71 clean up the download script -* 1d2f9e8 Merge branch 'finetune' of shmalebx9/osbmk into master -|\ -| * bd4f1b4 added fine-tuned control for building roms -* | 55e5d92 Merge branch 'gitframework' of shmalebx9/osbmk into master -|\ \ -| * | a6e5c87 added internal git package management -* | | 4b424a8 Merge branch 'master' of anjan/osbmk into master -|\ \ \ -| * | | 7a444dc debian dependencies: add python-is-python3 -| |/ / -* | | 7728a98 lenovo/w541: new board added -* | | d05ab33 re-do x220 configs -* | | ad68c8c add lenovo/t520 -* | | 7979263 add lenovo/t420s -* | | 3e20a41 build/roms: remove unnecessary bloat -* | | a18e962 build/roms: fix missing cbfstool bug -* | | 74ef993 re-do x230 fhd configs -* | | b1b481d fix build issues with x230 fhd -* | | 3472940 actually add the x230 fhd patch -* | | 3106501 script/blobs: check to download *default* coreboot -* | | 81b4ff7 Re-add X230 FHD patches -| |/ -|/| -* | 83c230b add t440p config with 4mb cbfs -|/ -* 31fbee4 make only the logo darker, in grub backgrounds -* 5e2da8f update build/release/src based on osbmk changes -* 00707ea say the name osboot, in the grub menu -* 56bb8a8 add bootsplash with new logo -* 675db3d Merge branch 'dev' of shmalebx9/osbmk into master -|\ -| * 2098cfa initialize git if it isn't already -| * d4690d0 updated gitignore for new dependencies and blobs -* | e43a28c Merge branch 'dev' of shmalebx9/osbmk into master -|\| -| * 5139ad4 added myself as a license holder to changes in last commit -| * 327a39e added workaround for git credentials -|/ -* b079a19 patch me_cleaner to specifically use python3 -* 5cc10a7 specifically call python3, in scripts -* 91b6542 fixed b0rked descriptor -* ca8d824 added myself as a license holder to various scripts -* aaeba81 removed obselete entries from blob sources -* 2a11133 hardcoded paths to redistributable blobs -* 4e2bd46 updated blobutil scripts to deal with hardcoded paths -* 4ca4801 Perform the silentoldconfig step of seabios before full make -* 1c921b5 new board: lenovo/x230t_16mb -* 335f95c add missing board.cfg for x230_16mb -* c4a705e set regions read-write on xx30/ifd.bin -* cafb408 Merge branch 'dev' of shmalebx9/osbmk into master -|\ -| * 7c7d96e Download script can tell whether to pull 16mb ifd -| * 999331d added x230_16mb -* | c437778 x230/x220: don't set CONFIG_HAVE_EM100_SUPPORT=y -* | dfeb26c fix txtmode configs: me/ifd/gbe insertion not enabled -|/ -* 6390a90 nuke boards/x230_truncated_16mb for now -* 174f6c2 disable CONFIG_HAVE_EM100_SUPPORT on boards -* 8b698a4 new board: lenovo/x230t -* ac790ee update nvmutils -* 79e94d7 Merge branch 'dev' of shmalebx9/osbmk into master -|\ -| * 55d44bc added licenses just in case -|/ -* 3171b91 Merge branch 'dev' of shmalebx9/osbmk into master -|\ -| * cba24e8 fix txtmode config for t440p -| * 55d6503 changed build system for new blobutil -| * 1462a3c move all blobs scripts to one directory -* | 84a9d53 update flashprog -* | cda2d70 reset nvmutils to known good revision -* | 65b62c0 exit if can't download nvmutils -* | 12c9fd2 coreboot: set me_state=Disabled on all boards -* | 7ef3b88 Merge branch 'dev' of shmalebx9/osbmk into master -|\| -| * d78c65e added t440p blobs -* | 8e7b3c3 Merge branch 'dev' of shmalebx9/osbmk into master -|\| -| * bc91ff2 fixed breaking bug in blobs downloader -|/ -* 95ae701 enable CONFIG_PCIEXP_HOTPLUG on all boards that support it -* 75a9f00 Merge branch 'dev' of shmalebx9/osbmk into master -|\ -| * ae0b95a added t420 -* | 8971e0d Merge branch 'dev' of shmalebx9/osbmk into master -|\| -| * b3081fc better error handling -| * e59a546 updated blob injector to give option to change mac -| * 563d0de made blob downloader save blobs under board_short no matter what -|/ -* 5d5746f Merge branch 'dev' of shmalebx9/osbmk into master -|\ -| * 68533c6 removed hardcoded tmp files -| * 7fc071b added blob injector for binary releases -| * 3457579 added release infrastructure -|/ -* 71f6936 Merge branch 'master' of shmalebx9/osbmk into master -|\ -| * 938bd04 switch x230 config back to 12mb cbfs size -| * b69d4fa Added dependencies for automatic blob extraction -| * 0829f5b added x220 support -| * 1f4e6d7 added ifd and gbe for xx20 and xx30 boards -| * b933bff Added the scripts for automatically downloading blobs -|/ -* 489f2ee memtest86+: fix build error (patch from Félicien Pillot) -* 240779a lenovo/x230: fix build -* f6cffa0 Merge branch 'master' of shmalebx9/osbmk into master -|\ -| * fa8e5fa switched back to the old way of downloading the mrc -| * 831d8f3 added t440p rom as an example of a rom needing the mrc -| * cf479fd added a simpler version of the old mrc download script. This one just uses the default coreboot way of extracting it using the included script, so it will always be up to date -| * 7fdfb07 added ability to detect if the board needs the mrc and download it -| * b8bd895 added mrc download script from old osbmk but changed to agnostic shebang -| * d80bcfb added x230 coreboot config as an example of a config using the blobs extracted with the extraction script -| * d40b01c add script to extract blobs from the vendor rom image for ivy bridge lenovo boards. Could possible work/be extended for other motherboards -| * c3dfcf4 re-add me_cleaner and change to agnostic shebang -* | f70c5cc lenovo/x230: set me_state=Disabled in cmos.default -* | 9b4afd1 x230_12mb: set cbfs back to 7mb. i will add special truncated configs instead -* | d39da96 rename x230_16 to x230_truncate_16mb -|/ -* baf4fd4 Revert "lenovo/x230: set me_state=Disable in cmos.default" -* 4828eb0 new cfg: lenovo/x230_16mb: 16MB-128KB CBFS size for truncated ME -* 1334dd5 lenovo/x230: set config 12MB-128KB cbfs size for truncated ME -* ecb98cc lenovo/x230: set me_state=Disable in cmos.default -* 3a5d399 1MB coreboot config: don't enable grub_withseabios -* 19d2cda optimize grub modules: pre-load ones that will likely be used -* d7e5a08 build/boot/roms: fix wrong variable name -* 81330c6 coreboot/*: set grub_scan_disk to ahci on most boards -* 99f58d8 apple/macbook21: set grub_scan_disk to ahci -* 17830a4 build/boot/roms: substitute grub_scan_disk according to board.cfg -* f222519 grub.cfg: skip ata/ahci according to grub_scan_disk -* defe338 grub.cfg: clean up messages, be less verbose -* 1fa0e53 grub.cfg: add isolinux menuentry for ata* (replace broken cd/dvd menuentry) -* e33645a grub.cfg: delete option to boot from CD/DVD -* b370cd1 grub.cfg: clean up comments -* 81f3755 grub.cfg: don't use */? wildcards. they slow down the boot -* 6a315b6 grub.cfg: optimize search_isolinux -* ccc7aed remove entry in .gitignore from the last commit -* f84d09b Fix grub's slow boot -* 6ffbcee rename README to README.md -* 47155b3 lenovo/x230: re-add support from coreboot -* 82f381b do full coreboot checkout. enable microcode updates. don't delete blobs -* 6afa56e rename project back to osboot and delete grub background -* 8614ee7 assimilate lbmk c3a66c32750fa4a9a90ddb6383b09fdfb6ff77f5 -``` - Known issues ------------ From 514bda8049526b2074ab72083359411aefda5a27 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Mon, 9 Jun 2025 20:30:06 +0100 Subject: [PATCH 275/279] remove orwellian language there is no such thing as community Signed-off-by: Leah Rowe --- site/docs/maintain/testing.md | 2 +- site/git.de.md.description | 2 +- site/git.md.description | 2 +- site/git.uk.md.description | 2 +- site/index.md | 4 ++-- site/news/10.md | 4 ++-- site/news/freedom.md | 4 ++-- site/news/policy.de.md | 4 ++-- site/news/policy.md | 4 ++-- site/news/policy.uk.md | 4 ++-- site/news/usa-libre.md | 13 ------------- 11 files changed, 16 insertions(+), 29 deletions(-) diff --git a/site/docs/maintain/testing.md b/site/docs/maintain/testing.md index 3264170..81980e1 100644 --- a/site/docs/maintain/testing.md +++ b/site/docs/maintain/testing.md @@ -12,7 +12,7 @@ Libreboot strives to make Coreboot accessible for as many users as possible. To accomplish this goal, we must add as many boards as possible. As the total number of supported boards increases it becomes more and more difficult for our main contributors to test every single release for every single supported board. -We therefore need the help of the community in testing releases before they are +We therefore need the help of users in testing releases before they are distributed to users. You do *not* need to be a developer in order to be a board maintainer. diff --git a/site/git.de.md.description b/site/git.de.md.description index f68f31e..ac07f2d 100644 --- a/site/git.de.md.description +++ b/site/git.de.md.description @@ -1 +1 @@ -Send patches to the Libreboot project via Git. Libreboot is a community-led free/opensource BIOS/UEFI boot firmware project, with payloads like GNU GRUB. +Send patches to the Libreboot project via Git. Libreboot is a free/opensource BIOS/UEFI boot firmware project, with payloads like GNU GRUB. diff --git a/site/git.md.description b/site/git.md.description index f68f31e..ac07f2d 100644 --- a/site/git.md.description +++ b/site/git.md.description @@ -1 +1 @@ -Send patches to the Libreboot project via Git. Libreboot is a community-led free/opensource BIOS/UEFI boot firmware project, with payloads like GNU GRUB. +Send patches to the Libreboot project via Git. Libreboot is a free/opensource BIOS/UEFI boot firmware project, with payloads like GNU GRUB. diff --git a/site/git.uk.md.description b/site/git.uk.md.description index f68f31e..ac07f2d 100644 --- a/site/git.uk.md.description +++ b/site/git.uk.md.description @@ -1 +1 @@ -Send patches to the Libreboot project via Git. Libreboot is a community-led free/opensource BIOS/UEFI boot firmware project, with payloads like GNU GRUB. +Send patches to the Libreboot project via Git. Libreboot is a free/opensource BIOS/UEFI boot firmware project, with payloads like GNU GRUB. diff --git a/site/index.md b/site/index.md index 55736ea..1e27659 100644 --- a/site/index.md +++ b/site/index.md @@ -10,7 +10,7 @@ firmware based on coreboot, replacing proprietary BIOS/UEFI firmware on [specific Intel/AMD x86 and ARM based motherboards](docs/install/#which-systems-are-supported-by-libreboot), including laptop and desktop computers. It initialises the hardware (e.g. memory controller, CPU, peripherals) and starts a bootloader for your operating -system. [Linux](docs/linux/) and [BSD](docs/bsd/) are well-supported. Help is +system (OS). [Linux](docs/linux/) and [BSD](docs/bsd/) are well-supported. Help is available via [\#libreboot](https://web.libera.chat/#libreboot) on [Libera](https://libera.chat/) IRC. @@ -98,7 +98,7 @@ Proprietary firmware often [contains](faq.html#intel) [backdoors](faq.html#amd), and can be buggy. The Libreboot project was founded in December 2013, with the express purpose of making coreboot firmware accessible for non-technical users. -Libreboot is a community-oriented project, with a focus on helping users escape +Libreboot is a *free software* project, with a focus on helping users escape proprietary boot firmware; we ourselves want to live in a world where all software is [free](https://writefreesoftware.org/), and so, Libreboot is an effort to help get closer to that world. Unlike the big vendors, we don't try to stifle diff --git a/site/news/10.md b/site/news/10.md index 82914f8..3d704da 100644 --- a/site/news/10.md +++ b/site/news/10.md @@ -274,7 +274,7 @@ does not provide. Especially for more modern systems, there are *many* moving parts that the user otherwise has to deal with, whereas Libreboot automates all of it. Such automation *did not exist* anywhere, prior to Libreboot. The only noteworthy exception would have been the Chromebook products, where Google -did(does) provide updates, but without so much community focus as Libreboot and +did(does) provide updates, but without so much great focus as Libreboot and without quite the same user-accessible build system automation; their infrastructure is designed so that vendors can sell more Chromebooks. @@ -1161,7 +1161,7 @@ and opened up a lot more machines for me. But to do that, I had to abandon Libreboot policy. Hence, osboot was born. Libreboot policy was a liability to the free software movement, because it limited the amount of free software that people could easily use. Remember, nothing else as easy to use as Libreboot -existed, within the coreboot community. I saw that many people have machines +existed, among coreboot-based projects. I saw that many people have machines which *can* have most of the proprietary firmware replaced with free software, namely coreboot, but Libreboot set very arbitrary limits on what boards I could add. These restrictions *became* a liability to the project. diff --git a/site/news/freedom.md b/site/news/freedom.md index 8894876..8b1a549 100644 --- a/site/news/freedom.md +++ b/site/news/freedom.md @@ -14,8 +14,8 @@ Now, *ideology* is all well and good, but it must be translated into something concrete that exists in the real world. You can't get there with thought! Today, I published a follow-up article that defines how the policy -is *implemented* in practise. There has been some confusion among some members -of the community, about what the policy means in practise. +is *implemented* in practise. There has been some confusion among some fans of +the Libreboot project, about what the policy means in practise. Refer here to the new article, thus: diff --git a/site/news/policy.de.md b/site/news/policy.de.md index da0acd8..8fb3b0f 100644 --- a/site/news/policy.de.md +++ b/site/news/policy.de.md @@ -308,7 +308,7 @@ that stores it, and it makes research/development more expensive; having an easy software update mechanism allows bugs to be fixed more quickly, during development and post-release, thus reducing costs. This saves the industry *billions*, and it is actually of benefit to the free software -community, because it makes reverse engineering easier, and it makes +movement, because it makes reverse engineering easier, and it makes actually updating the firmware easier, so more proprietary software can actually be *replaced with free software*. If some standard interface exists, for the firmware, then that makes reverse engineering easier *across many @@ -404,7 +404,7 @@ accept blobs, and *not* talk about them. In Libreboot, it's the exact opposite: we make sure you know about them, and tell you that they are bad, and we say that they should be fully replaced. -Unlike some in the community, we even advocate for free software in cases +Unlike certain types of people, we even advocate for free software in cases where the software can't actually be replaced. For example: the RP2040 Boot ROM is free software, with public source code: diff --git a/site/news/policy.md b/site/news/policy.md index 45d6aca..d268b76 100644 --- a/site/news/policy.md +++ b/site/news/policy.md @@ -370,7 +370,7 @@ that stores it, and it makes research/development more expensive; having an easy software update mechanism allows bugs to be fixed more quickly, during development and post-release, thus reducing costs. This saves the industry *billions*, and it is actually of benefit to the free software -community, because it makes reverse engineering easier, and it makes +movement, because it makes reverse engineering easier, and it makes actually updating the firmware easier, so more proprietary software can actually be *replaced with free software*. If some standard interface exists, for the firmware, then that makes reverse engineering easier *across many @@ -466,7 +466,7 @@ accept blobs, and *not* talk about them. In Libreboot, it's the exact opposite: we make sure you know about them, and tell you that they are bad, and we say that they should be fully replaced. -Unlike some in the community, we even advocate for free software in cases +Unlike certain types of people, we even advocate for free software in cases where the software can't actually be replaced. For example: the RP2040 Boot ROM is free software, with public source code: diff --git a/site/news/policy.uk.md b/site/news/policy.uk.md index 1ce0d15..7e1d7a4 100644 --- a/site/news/policy.uk.md +++ b/site/news/policy.uk.md @@ -299,7 +299,7 @@ that stores it, and it makes research/development more expensive; having an easy software update mechanism allows bugs to be fixed more quickly, during development and post-release, thus reducing costs. This saves the industry *billions*, and it is actually of benefit to the free software -community, because it makes reverse engineering easier, and it makes +movement, because it makes reverse engineering easier, and it makes actually updating the firmware easier, so more proprietary software can actually be *replaced with free software*. If some standard interface exists, for the firmware, then that makes reverse engineering easier *across many @@ -395,7 +395,7 @@ accept blobs, and *not* talk about them. In Libreboot, it's the exact opposite: we make sure you know about them, and tell you that they are bad, and we say that they should be fully replaced. -Unlike some in the community, we even advocate for free software in cases +Unlike certain types of people, we even advocate for free software in cases where the software can't actually be replaced. For example: the RP2040 Boot ROM is free software, with public source code: diff --git a/site/news/usa-libre.md b/site/news/usa-libre.md index 3473036..0f9bc9e 100644 --- a/site/news/usa-libre.md +++ b/site/news/usa-libre.md @@ -247,16 +247,3 @@ Defend freedom! Don't listen to any of the arguments against it by proprietary software companies; they don't care about you, and instead only care about profit. They fundamentally do not want you to have any sort of freedom over your own computer, and they actively pursue tactics (such as DRM) to thwart you. - -Microsoft and Apple are not your friends. There is no such thing as the -Windows community. When you use proprietary systems, you are isolated from -everyone around you, and so are they. *You* are the product, for the proprietary -software to exploit at the behest of their developers who only care -about *money*. - -However, there *is* such a thing as the Libre Software community. It is a -vibrant community, consisting of millions of people collectively all over the -world, and they are all free to work with each other infinitely. It gave us -most of the technology that we take for granted today, including *the modern -internet, where ISPs run libre software almost exclusively!* - From 2fc8efd375aef58d6c5d6b8e4ffe87b3bd2ff3d4 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Mon, 30 Jun 2025 13:49:26 +0100 Subject: [PATCH 276/279] Libreboot 25.06 release announcement Signed-off-by: Leah Rowe --- site/download.md | 8 +- site/download.tr.md | 8 +- site/download.uk.md | 15 +- site/index.de.md | 6 +- site/index.fr.md | 4 +- site/index.it.md | 4 +- site/index.md | 6 +- site/index.ru.md | 2 +- site/index.tr.md | 5 +- site/index.uk.md | 4 +- site/index.zh-cn.md | 2 +- site/news/MANIFEST | 1 + site/news/libreboot2506.md | 884 +++++++++++++++++++++++++ site/news/libreboot2506.md.description | 1 + 14 files changed, 917 insertions(+), 33 deletions(-) create mode 100644 site/news/libreboot2506.md create mode 100644 site/news/libreboot2506.md.description diff --git a/site/download.md b/site/download.md index 635b527..d9f18b6 100644 --- a/site/download.md +++ b/site/download.md @@ -33,7 +33,7 @@ there, before flashing. For posterity, GPG signing key --------------- -**The latest release is Libreboot 25.04, under the `testing` directory.** +**The latest release is Libreboot 25.06, under the `stable` directory.** ### NEW KEY @@ -85,7 +85,7 @@ there is a Git repository that you can download from. Go here: HTTPS mirrors {#https} ------------- -**The latest release is Libreboot 25.04, under the `testing` directory.** +**The latest release is Libreboot 25.06, under the `stable` directory.** These mirrors are recommended, since they use TLS (https://) encryption. @@ -176,7 +176,7 @@ crontab. This page tells you how to use crontab: HTTP mirrors {#http} ------------ -**The latest release is Libreboot 25.04, under the `testing` directory.** +**The latest release is Libreboot 25.06, under the `stable` directory.** WARNING: these mirrors are non-HTTPS which means that they are unencrypted. Your traffic could be subject to interference by @@ -190,7 +190,7 @@ if using HTTPS. FTP mirrors {#ftp} ----------- -**The latest release is Libreboot 25.04, under the `testing` directory.** +**The latest release is Libreboot 25.06, under the `stable` directory.** WARNING: FTP is also unencrypted, like HTTP. The same risks are present. diff --git a/site/download.tr.md b/site/download.tr.md index 3cad1dc..3d0c926 100644 --- a/site/download.tr.md +++ b/site/download.tr.md @@ -24,7 +24,7 @@ takip edin. Hatırlatma olarak, [işte bağlantı tekrar burada](docs/install/iv GPG İmza Anahtarı ---------------- -**En son sürüm, `testing` dizini altındaki Libreboot 25.04'dır.** +**En son sürüm, `stable` dizini altındaki Libreboot 25.06'dır.** ### YENİ ANAHTAR @@ -69,7 +69,7 @@ Ancak, Libreboot'un en güncel sürümü için indirebileceğiniz bir Git deposu HTTPS Yansıları {#https} -------------- -**En son sürüm, `testing` dizini altındaki Libreboot 25.04'dır.** +**En son sürüm, `stable` dizini altındaki Libreboot 25.06'dır.** Bu yansılar TLS (https://) şifrelemesi kullandığı için önerilir. @@ -146,7 +146,7 @@ Rsync yansınızı düzenli olarak güncel tutmak istiyorsanız, bir crontab'a e HTTP Yansıları {#http} ------------- -**En son sürüm, `testing` dizini altındaki Libreboot 25.04'dır.** +**En son sürüm, `stable` dizini altındaki Libreboot 25.06'dır.** UYARI: bu yansılar HTTPS olmadığı için şifrelenmemiştir. Trafiğiniz kötü niyetli kişiler tarafından müdahaleye uğrayabilir. Doğru anahtara sahip olduğunuzu @@ -159,7 +159,7 @@ HTTPS kullansanız bile bunu yapmalısınız. FTP Yansıları {#ftp} ------------ -**En son sürüm, `testing` dizini altındaki Libreboot 25.04'dır.** +**En son sürüm, `stable` dizini altındaki Libreboot 25.06'dır.** UYARI: FTP de HTTP gibi şifrelenmemiştir. Aynı riskler mevcuttur. diff --git a/site/download.uk.md b/site/download.uk.md index 9352e4f..fda54af 100644 --- a/site/download.uk.md +++ b/site/download.uk.md @@ -33,7 +33,7 @@ there, before flashing. For posterity, Код підпису GPG --------------- -**Останнім випуском є Libreboot 25.04, в директорії `testing`.** +**Останнім випуском є Libreboot 25.06, в директорії `stable`.** ### НОВИЙ КЛЮЧ @@ -51,10 +51,9 @@ will expire on 26 December 2028. Повний відбиток ключа: `98CC DDF8 E560 47F4 75C0 44BD D0C6 2464 FA8B 4856` -This key is for Libreboot releases *after* the 20160907 release, and up -to the Libreboot 25.04 release. This key *expired* during December 2023, -so you should use the *newer* key (see above) for the releases after -Libreboot 20240126. +This key is for Libreboot releases *after* the 20160907 release. +This key *expired* during December 2023, so you should use the *newer* +key (see above) for the releases after Libreboot 20240126. Завантажте ключ тут: [lbkey.asc](lbkeyold.asc) @@ -85,7 +84,7 @@ Libreboot 20240126. Дзеркала HTTPS {#https} ------------- -**Останнім випуском є Libreboot 25.04, в директорії `testing`.** +**Останнім випуском є Libreboot 25.06, в директорії `stable`.** Дані дзеркала є рекомендованими, оскільки використовують TLS (https://) шифрування. @@ -176,7 +175,7 @@ crontab. Ця сторінка розповідає вам, як викорис Дзеркала HTTP {#http} ------------ -**Останнім випуском є Libreboot 25.04, під директорією `testing`.** +**Останнім випуском є Libreboot 25.06, під директорією `stable`.** УВАГА: ці дзеркала є не-HTTPS, що означає, що вони незашифровані. Ваш трафік може бути об'єктом втручання @@ -190,7 +189,7 @@ crontab. Ця сторінка розповідає вам, як викорис Дзеркала FTP {#ftp} ----------- -**Останнім випуском є Libreboot 25.04, під директорією `testing`.** +**Останнім випуском є Libreboot 25.06, під директорією `stable`.** УВАГА: FTP є також незашифрованим, подібно HTTP. Ті ж самі ризики присутні. diff --git a/site/index.de.md b/site/index.de.md index 7f960fc..3378e8a 100644 --- a/site/index.de.md +++ b/site/index.de.md @@ -27,9 +27,9 @@ depends on your preferences. Libreboot's design incorporates all of these boot methods in a single image, so you can choose which one you use at boot time, and more payloads (e.g. Linux kexec payload) are planned for future releases. -**NEUESTE VERSION: Die neueste Version von Libreboot ist 25.04, veröffentlicht -am 30 April 2025. -Siehe auch: [Libreboot 25.04 release announcement](news/libreboot2504.md).** +**NEUESTE VERSION: Die neueste Version von Libreboot ist 25.06, veröffentlicht +am 30 June 2025. +Siehe auch: [Libreboot 25.06 release announcement](news/libreboot2506.md).** You can also [buy Libreboot preinstalled](https://minifree.org/) from Minifree Ltd, on select hardware, as well as send your compatible hardware diff --git a/site/index.fr.md b/site/index.fr.md index 9d0f366..06d40ea 100644 --- a/site/index.fr.md +++ b/site/index.fr.md @@ -20,8 +20,8 @@ depends on your preferences. Libreboot's design incorporates all of these boot methods in a single image, so you can choose which one you use at boot time, and more payloads (e.g. Linux kexec payload) are planned for future releases. -**NOUVELLE VERSION: La dernière version est [Libreboot 25.04](news/libreboot2504.md), sortie -le 30 April 2025.** +**NOUVELLE VERSION: La dernière version est [Libreboot 25.06](news/libreboot2506.md), sortie +le 30 June 2025.** Vous pouvez également acheter du matériel avec [Libreboot pré-installé](https://minifree.org/) via l'entreprise Minifree Ltd, ou envoyer votre propre ordinateur [pour y installer Libreboot](https://minifree.org/product/installation-service/). diff --git a/site/index.it.md b/site/index.it.md index 867dac0..8354bf6 100644 --- a/site/index.it.md +++ b/site/index.it.md @@ -26,8 +26,8 @@ depends on your preferences. Libreboot's design incorporates all of these boot methods in a single image, so you can choose which one you use at boot time, and more payloads (e.g. Linux kexec payload) are planned for future releases. -**ULTIMO RILASCIO: L'ultimo rilascio e' Libreboot 25.04, rilasciato il 30 April 2025. -Vedi: [Libreboot 25.04 annuncio di rilascio](news/libreboot2504.md).** +**ULTIMO RILASCIO: L'ultimo rilascio e' Libreboot 25.06, rilasciato il 30 June 2025. +Vedi: [Libreboot 25.06 annuncio di rilascio](news/libreboot2506.md).** You can also [buy Libreboot preinstalled](https://minifree.org/) from Minifree Ltd, on select hardware, as well as send your compatible hardware diff --git a/site/index.md b/site/index.md index 1e27659..a8b2d39 100644 --- a/site/index.md +++ b/site/index.md @@ -25,9 +25,9 @@ on some boards. The x86, x86\_64 and arm64 U-Boot payloads provide a lightweight UEFI boot implementation. Libreboot's [design](docs/maintain/) incorporates all of these payloads in a single image, and you choose one at boot time. -**NEW RELEASE: The latest release is Libreboot 25.04, released on -30 April 2025. -See: [Libreboot 25.04 release announcement](news/libreboot2504.md).** +**NEW RELEASE: The latest release is Libreboot 25.06, released on +30 June 2025. +See: [Libreboot 25.06 release announcement](news/libreboot2506.md).** You can also [buy Libreboot preinstalled](https://minifree.org/) from Minifree Ltd, on select hardware, as well as send your compatible hardware diff --git a/site/index.ru.md b/site/index.ru.md index 1b44277..c8b4c22 100644 --- a/site/index.ru.md +++ b/site/index.ru.md @@ -19,7 +19,7 @@ depends on your preferences. Libreboot's design incorporates all of these boot methods in a single image, so you can choose which one you use at boot time, and more payloads (e.g. Linux kexec payload) are planned for future releases. -**НОВЫЙ РЕЛИЗ: Последний релиз Libreboot - 25.04, опубликован 30 April 2025 года. Смотрите: [Libreboot 25.04 release announcment](news/libreboot2504.md).** +**НОВЫЙ РЕЛИЗ: Последний релиз Libreboot - 25.06, опубликован 30 June 2025 года. Смотрите: [Libreboot 25.06 release announcment](news/libreboot2506.md).** Вы также можете купить [Libreboot предустановленным](https://minifree.org) от Minifree Ltd, а также присылать нам свои совместимые устройства для [установки Libreboot](https://minifree.org/product/installation-service/). Основатель и ведущий разработчик Libreboot, Лия Роу, также владеет и управляет Minifree; продажи обеспечивают финансирование для Libreboot. diff --git a/site/index.tr.md b/site/index.tr.md index 97f232a..301f4f9 100644 --- a/site/index.tr.md +++ b/site/index.tr.md @@ -9,9 +9,8 @@ x-toc-enable: true Libreboot, x86/x86_64 Intel/AMD anakartlarda GNU önyükleyici "[GRUB](docs/linux/)" ve SeaBIOS yüklerini, ARM64(Aarch64) anakartlarda ise *coreboot için* [U-Boot UEFI yükünü](docs/uboot/) sağlar. Bazı kartlarda [x86/x86_64 U-Boot UEFI yükü](docs/uboot/uboot-x86.md) de mevcuttur. x86, x86_64 ve arm64 U-Boot yükleri hafif bir UEFI önyükleme uygulaması sağlar. Libreboot'un [tasarımı](docs/maintain/) tüm bu yükleri tek bir imajda birleştirir ve önyükleme sırasında birini seçersiniz. -**YENİ SÜRÜM: En son sürüm 4 April 2025'te yayınlanan Libreboot 25.04'dır. -Bakınız: [Libreboot 25.04 sürüm duyurusu](news/libreboot2504.md) - en -yeni revizyon sürümü olan Libreboot 25.04 revizyon 10, 18 Şubat 2025 tarihlidir.** +**YENİ SÜRÜM: En son sürüm 30 June 2025'te yayınlanan Libreboot 25.06'dır. +Bakınız: [Libreboot 25.06 sürüm duyurusu](news/libreboot2506.md) Ayrıca Minifree Ltd'den seçili donanımlarda [Libreboot önyüklenmiş cihazlar satın alabilir](https://minifree.org/) veya uyumlu donanımınızı [Libreboot önyükleme hizmeti](https://minifree.org/product/installation-service/) için gönderebilirsiniz. Libreboot'un kurucusu ve baş geliştiricisi Leah Rowe aynı zamanda Minifree'yi de işletmektedir; satışlar Libreboot için finansman sağlamaktadır. diff --git a/site/index.uk.md b/site/index.uk.md index c4a95d5..ac2d055 100644 --- a/site/index.uk.md +++ b/site/index.uk.md @@ -27,8 +27,8 @@ depends on your preferences. Libreboot's design incorporates all of these boot methods in a single image, so you can choose which one you use at boot time, and more payloads (e.g. Linux kexec payload) are planned for future releases. -**НОВИЙ ВИПУСК: Останній випуск Libreboot 25.04, випущено 30 April 2024. -Дивіться: [Оголошення про випуск Libreboot 25.04](news/libreboot2504.md).** +**НОВИЙ ВИПУСК: Останній випуск Libreboot 25.06, випущено 30 June 2024. +Дивіться: [Оголошення про випуск Libreboot 25.06](news/libreboot2506.md).** You can also [buy Libreboot preinstalled](https://minifree.org/) from Minifree Ltd, on select hardware, as well as send your compatible hardware diff --git a/site/index.zh-cn.md b/site/index.zh-cn.md index 90af7dc..706f3d3 100644 --- a/site/index.zh-cn.md +++ b/site/index.zh-cn.md @@ -19,7 +19,7 @@ depends on your preferences. Libreboot's design incorporates all of these boot methods in a single image, so you can choose which one you use at boot time, and more payloads (e.g. Linux kexec payload) are planned for future releases. -**新版发布: 最新版本 Libreboot 25.04 已在 2025 年 04 月 30 日发布。详见: [Libreboot 25.04 发布公告](news/libreboot2504.md).** +**新版发布: 最新版本 Libreboot 25.06 已在 2025 年 06 月 30 日发布。详见: [Libreboot 25.06 发布公告](news/libreboot2506.md).** 你也可以从 Minifree Ltd [购买特定硬件的 Libreboot 电脑](https://minifree.org/), 或者将兼容硬件寄来预装 Libreboot。 diff --git a/site/news/MANIFEST b/site/news/MANIFEST index 5e0baff..441e34e 100644 --- a/site/news/MANIFEST +++ b/site/news/MANIFEST @@ -1,3 +1,4 @@ +libreboot2506.md revisions.md libreboot2504.md libreboot20241206rev11.md diff --git a/site/news/libreboot2506.md b/site/news/libreboot2506.md new file mode 100644 index 0000000..8347be8 --- /dev/null +++ b/site/news/libreboot2506.md @@ -0,0 +1,884 @@ +% Libreboot 25.06 "Luminous Lemon" released! +% Leah Rowe +% 30 June 2025 + +A corresponding [Canoeboot 25.06](https://canoeboot.org/news/canoeboot2506.html) +release is also available. + +Today's Libreboot 25.06 revision is a *stable release*, whereas the previous +stable release was Libreboot 20241206; the previous *testing* release was +Libreboot 25.04, and this releases fixes a few bugs. The codename for this release +is *Luminous Lemon*. + + + +This release was built on the latest Debian 12.10 Bookworm release, as of +this day. It was also build-tested successfully on the latest Arch Linux updates +as of 26 June 2025. + +**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../docs/install/ivy_has_common.md), OR +YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions +there, before flashing. For posterity, +[here is the link again](../docs/install/ivy_has_common.md).** + +New schedule and version numbers +------------------------------- + +This change in version release scheme was previously reported in the news +post announcing Libreboot's new [formal release schedule](schedule.md). As per +that article, the next stable release will be Libreboot 25.06, in June 2025. + +Regarding the changelog +-------------------- + +The Libreboot 25.04 releases were essentially RCs (release candidates) of +the Libreboot 25.06 release, given the [revised release schedule](revisions.md). + +The focus since Libreboot 25.04 has been on fixing bugs, while making as few +breaking changes as possible, ideally none; this also means that fewer boards +were added, and fewer features were added. This is because major works are +done right up until RCs, about two months before official release, and then +bugs are fixed between then and the release; this changelog reflects that. + +The [original schedule](schedule.md) created *four* annual releases: YY.04, YY.06, +YY.10 and YY.12. 04 and 10 being testing releases, leading up to 06 and 12. These +numbers refer to the month of the year, and YY represents the year. + +The revised schedule changed this to *two* releases, with RCs that get deleted +after the stable release comes out; 25.04 shall be retained on rsync, but it +is retroactively (and informally) referred to as "Libreboot 25.06 RC0". This +explanation has been provided, for context. + +Open source BIOS/UEFI firmware +---------------------------- + + + +Libreboot is a free/open source BIOS/UEFI replacement on x86 and ARM, providing +boot firmware that initialises the hardware in your computer, to then load an +operating system (e.g. Linux/BSD). It is specifically +a *[coreboot distribution](../docs/maintain/)*, +in the same way that Debian is a Linux distribution. It provides an automated +build system to produce coreboot ROM images with a variety of payloads such as +GRUB or SeaBIOS, with regular well-tested releases to make coreboot as easy +to use as possible for non-technical users. From a project management perspective, +this works in *exactly* the same way as a Linux distro, providing a source-based +package manager (called lbmk) which patches sources and compiles coreboot images. +It makes use of [coreboot](https://www.coreboot.org/) for hardware initialisation, +and then a payload such as [SeaBIOS](https://www.seabios.org/SeaBIOS) +or GRUB to boot your operating +system; on ARM(chromebooks) and certain x86 mainboards, we provide *U-Boot* (as +a coreboot payload), which provides a lightweight UEFI implementation.. + +Summarised list of changes +------------------------- + +### Board support + +The following boards have been added since the Libreboot 20241206 release: + +* Dell Precision T1700 SFF and MT + +Board ports were low priority for this release; now it shall be the focus, +between June 2025 and October 2025, ready for the 25.12 release cycle leading +into December 2025. + +Dell Precision T1700 is essentially the OptiPlex 9020 but with a slightly +different, code-compatible PCH that also supports ECC memory features when an +Intel Xeon processor is installed. + +### Revision updates + +In descending order from latest changes to earliest changes: + +* GRUB: Update to revision 73d1c959e (14 March 2025) + +The GRUB update brings in several changes from upstream: + +``` +* 73d1c959e cryptocheck: Add --quiet option +* dbc0eb5bd disk/cryptodisk: Wipe the passphrase from memory +* 301b4ef25 disk/cryptodisk: Add the "erase secrets" function +* 23ec4535f docs: Document available crypto disks checks +* 10d778c4b commands/search: Add the diskfilter support +* 7a584fbde disk/diskfilter: Introduce the "cryptocheck" command +* ed691c0e0 commands/search: Introduce the --cryptodisk-only argument +* c448f511e kern/rescue_reader: Block the rescue mode until the CLI authentication +* 4abac0ad5 fs/xfs: Fix large extent counters incompat feature support +``` + +### Licensing + +* no changes (relative to Libreboot 25.04) + +### Security + +These can be considered bug fixes, but these are special fixes that are of +massive concern to users. + +* This GRUB change was merged, in the aforementioned revision + update: `dbc0eb5bd disk/cryptodisk: Wipe the passphrase from memory` - this + wipes the LUKS key from memory, after GRUB exits, where one was created + by GRUB while unlocking a given volume. + +### Feature changes + + + +In descending order from latest changes to earliest changes: + +* `init.sh`: looser `XBMK_THREADS` validation; correct it on child instances, + if it's not set, or set incorrectly. +* `get.sh`: use subshells on `try_` functions, wrapped in an error handler + so as to provide more verbose output under fault conditions. This makes it + easier to debug when a download fails. +* `git.sh`: Re-implement redundant git downloads, more reliably than before; all + repositories are now cached, reliably, including submodules, even when upstream + repo links differ wildly. This reduces the amount of internet bandwidth used, + when handling multiple builds. +* `release.sh`: build in tmp directory first, leaving old files behind under + fault conditions, for further analysis +* `inject.sh`: re-add mac address confirmation, for user-friendliness, when + running the inject commands. +* `init.sh`: Resolve `XBMK_CACHE` via readlink +* `init.sh`: Use `readlink` in `pybin()`, with realpath only as fallback. This + makes the function more redundant, working on more systems by default. +* `lib.sh`: support any command on `find_exec()` (later renamed); this is a + generic function, that implements a while loop for a given set of files, + based on the output a command that generates those paths. This is operated + on by a function, defined when calling find\_exec. This unifies all use of + while loops on lists of files and directories, throughout xbmk, rather + than re-implementing the for/while loops each time. +* `inject.sh`: simplify kconfig scanning by using the `fe_` with a new + function, `scankconfig()`. This new function checks *all* coreboot configs + for a given target, whereas the old behaviour only resulted in the *first* + config being checked. In practise, this causes no real behaviour changes. +* `rom.sh`: Print the rom image path being generated +* `lib.sh`: Add warning if x_ is called without args + +### Configuration changes + + + +In descending order from the latest changes to the earliest changes: + +* ifd/hp8300usdt: set the HAP bit by default; it was previously not set, but + the `me_cleaner` config was nonetheless used, and ME Soft Temporary Disable + was also used. As a result, this change is basically redundant, but otherwise + technically correct (more so than the previous behaviour). +* coreboot: Remove unused vboot tests (futility tests), to shrink the size of + release tarballs. +* coreboot/default: Remove unneeded FSP modules when downloading, because + only the Kabylake version is needed at this time. This is done, using + the `nuke()` function via `nuke.list` files. This shrinks the size of + release tarballs. +* `dependencies/debian`: add `libx86` +* HP 820 G2: Use fam15h cbfstool tree for refcode; this avoids the need to + clutter the source code with an entire additional coreboot tree, thus reducing + the size of releases. +* A GRUB configuration change was made, fixing auto-scanning of LVMs when + doing cryptomount. + +### Bug fixes + + + +Most of these are build system fixes, but for example there is also a fix +applied to the GRUB source code. + +The following bug fixes have been merged (in descending order from the latest +changes to the earliest changes): + +* `tree.sh`: add sha512 error for `check_project_hashes()`. Handle errors + in `sha512sum` and `awk`; also check that `project.hash` exists and error + out if it doesn't, when checking a given project hash. We know that the + project hash file should always exist, and always be read; technically, + find might not yield results, but then an empty file would be produced. + the empty file edge-case scenario would already have resulted in an error + exit inside `configure_project()`, so that's already covered. +* `tree.sh`: add error checking in `check_project_hashes()`, when reading + the `old_pkhash` variable; we need to error out where a read error occurs. + such an error is extremely unlikely, so this fix is largely theoretical and + preventative. +* `tree.sh`: more reliable clean in `run_make_command()`; don't do a no-op if + it fails, instead fall back to the `clean` method, and throw an error + if *that* fails. The no-op existed because not all projects have distclean, + but we always intend for them to be cleaned. This therefore prevents + further unhandled error conditions, in such edge cases. +* put coreboot utils in `elf/coreboot/TREE`, to prevent old binaries from + still being used when a code change is made. +* `release.sh`: use printf to create version files, instead of copying the + version files, because they don't exist in some cases, so this prevents + an error condition. +* `init.sh`: error out if .git/ is a symlink; this is a preventative bug fix, + to prevent future unknown bugs in such a scenario. +* `get.sh`: Properly error out if `tmpclone()` fails, where it previously + failed to throw an error under certain fault conditions. +* `tree.sh`: Don't auto-run make-oldconfig; it now must be applied permanently, + via e.g. `./mk -u` commands. Otherwise, undesirable changes can sometimes + be made during build time, especially on projects that don't use scons + quite as reliably, as in the U-Boot build system. +* `get.sh`: re-generate remotes every time, on cached Git repositories, so + that configuration changes in `config/git/` are automatically applied when + dealing with multiple versions of a given upstream project. +* `release.sh`: copy version files to `rsrc` (release source directory), + otherwise an `unknown` version number is erroneously created. This fixes + a regression caused by previous optimisation to `init.sh` +* xbmk: add fake config makefile args to `flashprog`, and `pcsx-redux`, to + prevent `./mk -u` (without additional arguments) from erroneously exiting + with error status. otherwise, an error can occur in such conditions if + a Makefile has not yet been created. +* `rom.sh`: skip running `copyps1bios()` on dry builds, otherwise + running `./mk -d` without argument will cause an error. +* `tree.sh`: Don't run make-clean on dry runs (`./mk -d`), to prevent error + conditions while building GRUB, if `./mk -d` is passed without additional + argument, since the latter requiires running autoconf to get a Makefile in + the GRUB build system. +* `get.sh`: add missing check in `fetch_project()`; we were checking the + main URL on a download, but not the backup URL. +* `get.sh`: stricter URL check in `xbmkget()`; throw an error if a URL is + empty, rather than skipping to the next. If a URL is set but fails, then + falling back to the next is OK (or throw an error if the backup is set, + and also failed). +* `get.sh`: Make `xbmkget` always throw an error upon exiting the loop check; + it was previously throwing an error if the for loop returned with zero status. + Depending on the sh implementation, or changes made in the future, this could + cause unpredictable buggy behaviour. Therefore, the error exit is much + stricter now, and less ambiguous, to prevent future bugs, because it is + imperative that execution must never continue under fault conditions. If a + file or repository is successfully handled, a return (zero) occurs, otherwise + the loop exits and a non-zero exit occurs. +* `tree.sh`: fix up `copy_elf()`, or specifically fix a bad `for` loop, + because shorthand conditionals are used and the way they were used can be + buggy on some sh implementations, so they are terminated more explicitly. +* xbmk: stricter handling of files on while loops, to prevent instances where + execution continues under fault conditions. This prevents other, less + predictable bugs in the future. +* `init.sh`: Hardcode `XBMK_CACHE` for integrity; this is a bug fix, because + there's too much that can be wrong with this being configurable, so now it + is hardcoded at runtime. It was never intended to be configurable anyway. +* `init.sh`: check/validate version/versiondate once read, in child instances + of xbmk, to further verify that they were previously set, and set correctly. + This is theoretically a preventative bug fix. +* `init.sh`: force an error condition if the xbmk version was not read. This + prevents further erroneous state within xbmk. +* `init.sh`: check the `lock` file BEFORE `git init`, to prevent erroneous + initialisation while another xbmk parent instance is running. +* `init.sh`: return from xbmk child instances in `set_env()` instead. This is + easier than the previous check, preventing the initialisation of a git repo + and/or recreation of xbmktmp and xbmklocal by erroneoues parent executions + of xbmk while another parent is running - the latter of which could have + caused a massively unpredictable build failure, so this is also a + preemptive bug fix, fixing and preventing all kinds of weird unknown bugs. +* `vendor.sh`: Remove `_dest` if it's bad; this complements a bug fix, in the + bug fix section above, that caches the extracted files and hashes them. On a + subsequent run where the given file is needed, it is *re-checked* if the + final file exists. This mitigates the possibility that corruption may have + occured, under unhandled fault conditions. Therefore, this is a preventative + bug fix. +* `release.sh`: don't move `src/docs/` to `docs/` inside release archives, + because otherwise `./mk -b` will fail, inside release archives. +* `vendor.sh`: Properly verify SHA512SUM on extraction. This is performed on + the actual extracted files, alongside the existing check on downloaded files. + This mitigates against future fault conditions in the extraction process, + thus fixing a major design flaw. *This change also caches those files, thus + speeding up extractions when they're done multiple times.* +* `get.sh` submodules: Don't delete files recursively. Use `rm -R` instead + of `rm -Rf`, on files. +* `git.sh`: Only create destination repo on success; don't leave a broken cache + laying around, which would otherwise break the build system under certain + conditions. +* `release.sh`: removed an unnecessary `src_dirname` variable +* `release.sh`: delete tmp/cache from release tarballs +* `inject.sh`: Remove confusing path on tar creation; that is, don't print said + path, because temporary paths are printed during this, when creating tarballs. + In this file, the correct path is printed at the end of the process, when + handling an images tarball. +* `tree.sh`: only create elfdir in `copy_elf()`, to prevent empty directories + being created where a project provides `build.list`, but where no actual + configs are being built on a given target name. +* `mrc.sh`: operate on refcode in tmp area first, to prevent bad files from + being saved to the final destination under fault conditions. This pertains + to the change made at build time that enables GbE devices from the refcode. +* `inject.sh`: use subshell to speed up `find_me()` (this is a bug fix, because + slowness is a bug) +* `mk`: add missing error handli for `mk -f` (when doing releases) +* `git.sh`: hard fail if git am fails (regression fix) +* `git.sh`: Hard fail if reset fails; allowing re-try when cloning fails, but + the reset-fail scenario didn't cause any exit at all. This is fixed now. +* `init.sh`: Only check `XBMK_CACHE` if it exists +* `grub.cfg`: fix trying to boot all logical volumes after unlocking an encrypted + volume; this makes booting LVMs more reliable, on encrypted boot setups. +* `init.sh`: also allow `XBMK_RELEASE=Y` or `=N`, not just `n` and `y`, + because some people use uppercase here. This is considered a bug fix, but + could just as easily have been in the features section. +* `init.sh`: check `XBMK_CACHE` is a directory instead of a file. +* `init.sh`: run `set_version` *before* `set_env`, to prevent a future situation + where the version is not set correctly. In general, the version should always + be set as early as poessible when running xbmk. +* `inject.sh`: clean up tmp me file before extract; this is a preventative fix, + to ensure that cross-flashing does not occur. +* `lib.sh`: re-add missing break in fe/fx\_, that caused improper exits (or non + exits) in some cases. +* `singletree/elfcheck`: use `fx_`, not `fe_`; this is a less strict test, to + prevent certain errors under specific edge-case conditions. +* `rom.sh`: Safer `cprom()`; don't insert special files like GRUB keymaps AFTER + copying the system ROM to the final destination; do it BEFORE, instead, to + ensure that bad images aren't left in place under fault conditions. +* `rom.sh`: specifically check keymaps in `cprom()`; it previously checked + whether a setup is *not* seauboot, which was valid, but future conditionals + would break this check. the code has been changed in advance, to prevent bugs + in a future revision of xbmk. +* `mk`: Fix bad error handling for `gnu_setver`; I accidentally mixed and/or in + a shorthand conditional statement, which leads to buggy behaviour in various + implementations of sh. +* GRUB: Mark E820 reserved on coreboot memory, to fix cbmem when running + with strict `/dev/mem` access; otherwise, restrictions on access to memory + below 1MB will cause an error when trying to access the cbmem console. +* `lib.sh`: set `-u -e` in `err()` in case they were set `+u +e` in other parts + of xbmk. +* `init.sh`: Silence the output of git config --global +* `init.sh`: Run git name/email check before init; otherwise, it returns if + init is already done, which could lead to an error later when building + coreboot. +* `lib.sh`: stricter `xbmk_err` check in `err()` +* `lib.sh`: simplify err-not-set handling +* `lib.sh` err: add missing redirect to stderr +* xbmk: MUCH safer `err` function; make it an actual function, instead of + a variable. Initially, this function was made to then check a variable, + that refers to a function, and a fallback was provided for non-zero exit + in case the pointed function didn't, but it was later made to be just a + simple function that exits with a message. Code equals bugs, so fewer lines + of code will yield fewer bugs. +* `lib.sh`: Make x_ err if first arg is empty; this is a preventative bug fix, + to make the build system still exit under such conditions, but it would + result in an empty error message. +* `lib.sh`: Make err_ always exit no matter what; this is a preventative bug + fix, just making the exit stricter in all cases. +* `mk`: re-make gnupath/ after handling crossgcc, rather than deleting files + within. This makes the creation of it more reliable. +* `mk`: re-make gnupath/ for each cross compiler, to ensure that no stagnant + build artifacts are re-used +* `inject.sh`: Stricter TBFW handling; don't copy it until it has been + properly padded to the correct size. +* `init.sh`: *Re-create* tmpdirs on parent instance, to ensure that they are + not cluttered with old files that might cause weird bugs in the future; this + is a preventative bug fix. +* `init.sh`: Always create xbmklocal, to prevent errors in the case when it + isn't created automatically in certain child instances, like when running + a *release* copy of the build system, during release builds. +* `lib.sh`: Fix bad touch command +* `inject.sh`: always re-build nvmutil, so that changes to it are automatically + re-applied when running the build system again. (and only build it once, + for a given instance of xbmk) +* `util/nvmutil`: use `x`, not `?`, for random characters, while still + supporting `?` for backwards compatibility. This is because ZSH errors out + when providing the old characters, in some setups. Use of `x` is more + reliable, across several implementations of sh, e.g. `xx:xx:xx:xx:xx:xx` + would be a full random MAC address. +* `lib.sh` find\_ex: explicitly create the tmp file, to prevent errors, which + were nonetheless unlikely to begin with. +* `init.sh`: Explicitly create the xbmktmp directory (make sure to do this + when creating this which is a temporary directory). +* `lib.sh`: add fe_ which is fx_ but err on find +* xbmk: unified execution on `find` commands. Handle it with a new special + function that is common across the build system. +* `mk`: Download vendorfiles before building release, to mitigate intermittent + internet connectivity during release builds, otherwise a release build could + fail. This way, all downloads are done simultaneously, since downloads are + the fastest part, even on a crap internet connection. +* Revert AHCI reset patch for SeaBIOS, which caused AHCI not to work in SeaBIOS + on the 25.04 release; the latter was also revised, to fix this. SeaBIOS has + since added a new release, which includes a fix that delays AHCI reset, to + mitigate in cases where the controller isn't ready sooner. However, this + release simply reverts the AHCI reset patch for now. The AHCI reset plus delay + will be present in Libreboot's next release, after 25.06. +* lenovo/t420: Add missing text-mode configuration + +### General code cleanup + + + +Another bug focus in this release was to clean up the logic of Libreboot's +build system, and fix several bugs, especially those relating to error handling. + +A lot of cleanup was done on the init functions used by the build system, to +initialise common variables, such as environmental variables, and temporary +files and/or directories; such logic was moved to a new script called `init.sh`. + +In descending order from the latest changes to the earliest changes: + +* `lib.sh`: simplify `setvars()` +* `lib.sh`: simplify `chkvars()` +* `mk`: simplify `main()` +* `get.sh`: simplify `fetch_project()` +* `get.sh`: simplify `try_copy()` +* `get.sh`: tidy up `bad_checksum()` +* `get.sh`: simplify `fetch_targets()` +* general cleanup in `get.sh` and `vendor.sh` +* xbmk: rename `xbmklocal`/`xbmktmp` variables (shorten them) +* `get.sh`: consolidate printf statements +* `get.sh`: remove redundant printf in `fetch_project()` +* `get.sh`: remove superfluous command in `try_git()` +* `vendor.sh`: simplify `fetch()` +* `rom.sh`: simplify `mkcoreboottar()` +* `rom.sh`: rename `mkvendorfiles()`, which actually handles general init + tasks, including the processing of vendor files where appropriate. +* `rom.sh`: simplify ccache handling for coreboot; make-oldconfig wasn't + needed at all, when cooking configs to enable ccache, so the *cook* function + became much smaller and was then merged with `mkvendorfiles()` +* `rom.sh`: simplify u-boot payload handling, by using a single variable name + that defines the type of U-Boot tree. This allows several other U-Boot-related + checks to be greatly simplified, as they were. +* `vendor.sh`: add a colon at the end of a `for` loop +* `get.sh`: make `xbmkget()` easier to understand, by not using shorthand + conditional statements in the for loop handling a repository or file + download. +* `init.sh`: merge `xbmk_lock()` with `xbmk_set_env()` +* `init.sh`: set pyver from `set_env()` instead of the main function. +* `init.sh`: merge `xbmk_mkdirs()` with `set_env()` +* `init.sh`: only update version files on parent, to speed up xbmk +* `init.sh`: simplify unknown version creation, where none was created and + no Git metadata exists. +* `init.sh`: only set xbmk version on parent instance; we only need to read + what was set, on child instances. In other words, apply the principle of + least privelege. +* `init.sh`: initialise variables AFTER path, to avoid unnecessary work inside + child instances of xbmk. +* `init.sh`: merge `create_pathdirs()` with `set_pyver()` +* `init.sh`: Set python version only on parent instances of xbmk, to speed + up operation of the xbmk build system. +* `init.sh`: `xbmk_create_tmpdir()` to `xbmk_mkdirs()` +* `init.sh`: move `gnupath` creation to `create_tmpdir()` +* `init.sh`: move PATH init to `set_env()` +* `inject.sh`: shorten the `nukemode` variable name +* `vendor.sh`: simplify `mksha512sum()` +* `get.sh`: simplify `bad_checksum()` +* `release.sh`: use `x_()` on find command for `nuke()`, so as to remove the + need for a more complicated while loop inside said function. +* `get.sh`: move `nuke()` to `release.sh` and only run it on releases; don't + do it on normal xbmk Git. It's only needed in the former context, because + that has to do with distribution by the project, and this makes + development easier. Therefore, files are only purged within the release + archives, but not during development. +* `release.sh`: simplify `prep_release_bin()` +* `mrc.sh`: merge `extract_mrc()` with `extract_shellball()` +* `get.sh`: simplify `tmpclone()` +* `get.sh`: simplify `nuke()` by using `fx_` for the file loop +* `get.sh`: simplify `try_copy()` +* `get.sh`: simplify `fetch_submodules()` config check +* `get.sh`: simplify `fetch_submodules()` by using `xbmkget()` for everything, + instead of implementing redundant logic in the build system. +* `git.sh`: rename to `get.sh` +* `rom.sh`: reduce indendation in `check_coreboot_utils`; simplify the for + loop by replacing it with a call to `fx_` instead. +* `release.sh`: simplify `release()` +* `release.sh`: clean up the `vdir` after release +* `release.sh`: removed an unnecessary `mkdir` command +* `release.sh`: split up `build_release()` into smaller functions +* `lib.sh`: remove `rmgit()` +* `lib.sh`: remove the unnecessary `mk()` function +* `lib.sh`: move `xbmkget()` to `git.sh` +* `lib.sh`: move `mksha512sum()` to `vendor.sh` +* `lib.sh`: split up `try_file()` into smaller functions +* `lib.sh`: move `_ua` to `try_file()` +* `mrc.sh`: minor cleanup +* `inject.sh`: remove the `hashfiles` variable +* `inject.sh`: define `xchanged` here instead +* `vendor.sh`: remove `check_vcfg()` +* `vendor.sh`: simplify `getvfile()` +* `vendor.sh`: simplify `setvfile()` +* `lib.sh`: use `fx_` in `rmgit()` +* `lib.sh`: split up `xbmkget()` into smaller functions +* `inject.sh`: only compile nvmutil if needed +* `inject.sh`: simplified serprog check +* `vendor.sh`: tidy up variables +* `vendor.sh`: split up `setvfile()` into smaller functions +* `inject.sh`: further cleanup for `vendor.sh`, such that all vendor-download + functions are only defined in `vendor.sh`; this means that the Canoeboot + version of the file can remain in much closer sync, with fewer differences. +* `tree.sh`: simplified srcdir check on make-clean +* `inject.sh`: split download functions to a new file, `vendor.sh` +* `inject.sh`: split up the inject functions into smaller functions for + each specific task. +* xbmk: use `x_` instead of `err`, where appropriate, because it handles + globbing perfectly these days, and `x_` is cleaner in most cases. +* `mrc.sh`: fix outdated info in a comment +* `inject.sh`: use direct comparison for metmp, to speed up checking so many + files. +* `mk`: remove unnecessary line break +* `mk`: re-split tree logic to new file, `include/tree.sh` +* `mk`: move release functions to `include/release.sh` +* `git.sh`: use `setvars()` for fail variables +* `init.sh`: remove useless export; variables that are y/n can just be reset + to `n` if not set to `y`, for simplicity. +* `init.sh`: export `LOCALVERSION` in `set_env` instead of `set_version`. +* `inject.sh`: simplify `extract_kbc1126ec()` +* `inject.sh`: simplified MAC address handling +* `inject.sh`: Simplify `patch_release_roms()` +* `lib.sh`: Remove useless command in `err()` +* `inject.sh`: rename `copytb` and `preprom` functions (make the names shorter). +* `lib.sh`: Simplified `fx_()` and removed `fe_()`; fe didn't prefix `x_` to + a given command, but fx did. Now, it is prefix manually, for greater control, + on commands that need stricter error handling, while it can be avoided on + commands where strict error handling is unfeasible. +* `mk`: Create serprog tarballs here instead; `rom.sh` was simplified to use + mkhelp when building actual images. +* build serprog images using `fx_` *defined inside mkhelper*, to tidy up xbmk +* `rom.sh`: build serprog images with `fx_`, rather than implementing a + specific for loop. +* `inject.sh`: insanely optimise the me bruteforce, by operating on files + recursively via the `fx_` function, instead of manually implementing a + recursive file search, when bruteforce-extracting `me.bin` images. +* `git.sh`: Simplify git am handling by using the new `fe_` or `fx_` function, + instead of making a specific while loop. +* `inject.sh`: remove an unused function +* `init.sh`: New function `dx_` to execute path files; this is used instead + of for loops all around xbmk, to simplify operations where the output of + a file search is used as argument to a function. +* `inject.sh`: Further simplified FSP extraction +* `lib.sh` `find_ex`: Write sort errors to `/dev/null` +* `lib.sh` `x_()`: Remove warning of empty args; it's really not required, + since it's obvious anyway in the resulting final error message. +* xbmk: Replace `err()` with much simpler implementation, for reliability + and bug prevention. +* `rom.sh`: simplify `mkseagrub()` +* `mk`: simplify `elfcheck()` +* `lib.sh`: simplify `singletree()` +* `git.sh`: move `singletree()` to `lib.sh` +* `inject.sh`: simplify `extract_intel_me_bruteforce()` +* `inject.sh`: Remove unnecessary check +* `inject.sh` `extract_intel_me()`: reduce indentation +* `inject.sh`: Move FSP extraction only to `extract_fsp`, since that's the + only place where it's needed. +* `inject.sh`: tidy up intel me handling +* `inject.sh`: tidy up the deguard command +* `lib.sh`: simplify `err()` +* `init.sh`: single-quote xbmklock in `xbmk_lock()` +* `init.sh`: define lock file in a variable instead; this makes it more + flexible, because the path can be checked and then re-used nicely. +* `init.sh`: tidy up `xbmk_child_exec()`; make the command style more consistent +* `lib.sh`: rename errx to xmsg +* `inject.sh`: tidy up TBFW handling +* `inject.sh`: remove useless comment block +* `init.sh`: tidy up the python version check +* `init.sh`: move non-init functions to `lib.sh` +* `init.sh`: simplify dependencies handling +* `rom.sh`: tidy up `copyps1bios()` +* `mk`: tidy up xgccargs handling +* `mk`: generally removed dead code +* `init.sh`: tidy up pathdir creation +* `mk`: tidy up `check_cross_compiler()` +* `mk`: reduce indentation in `check_cross_compiler()` +* `mk`: Allow use of x_ on prefix functions +* `mk`: tidy up `check_project_hashes()` sha512sum check +* `mk`: simplify `check_gnu_path()` +* `inject.sh`: general code cleanup +* `inject.sh`: simplify `extract_archive()` +* `inject.sh`: simplified fsp extraction +* `inject.sh`: Remove redundant code in copy_tbfw +* xbmk: Unified local ./tmp handling +* `lib.sh`: redirect find errors to `/dev/null` to prevent clutter on + the user's terminal +* `init.sh`: unified handling of ./tmp +* `mk`: include rom.sh directly +* `lib.sh`: Simplify rmgit() +* `lib.sh`: support multiple arguments in remkdir() +* `lib.sh`: simplify remkdir() +* xbmk: move x_() to `lib.sh` +* `init.sh`: move setvars/err_ to lib.sh + +Git log +------- + +This log is relative to Libreboot 25.04: + +``` +* b1ef562b767 tree.sh: add sha512 error for check_project_hashes +* 04bee3834d0 tree.sh: add error check in check_project_hashes() +* 677dfc4d103 tree.sh: more reliable clean in run_make_command +* 267d4c90341 inject.sh: add missing semicolons +* 974bdbb3815 vendor.sh: fix bad cbfstool path +* dc6996252a0 put coreboot utils in elf/coreboot/TREE +* b77154640de release.sh: use printf to create version files +* dee6997d0cc lib.sh: simplify setvars() +* 79ded40f3d0 lib.sh: simplify chkvars() +* 5036a0bc501 mk: simplify main() +* 41308ee9244 get.sh: simplify fetch_project() +* b5867be214d get.sh: simplify try_copy() +* 495098d6a71 get.sh: tidy up bad_checksum() +* 671e3aa27b4 get.sh: simplify fetch_targets() +* 09b6e91803d general cleanup in get.sh and vendor.sh +* 18dacd4c22b xbmk: rename xbmklocal/xbmktmp variables +* e981132c829 get.sh: consolidate printf statements +* afc36754b13 get.sh: remove redundant printf in fetch_project +* ffe387ac6b9 get.sh: remove superfluous command in try_git() +* ba7c49c090b vendor.sh: simplify fetch() +* 30bc3732c39 init.sh: error out if .git/ is a symlink +* 2493203ee53 get.sh: Properly error out if tmpclone fails +* ad333ae2481 tree.sh: Don't auto-run make-oldconfig +* 97ce531c341 rom.sh: simplify mkcoreboottar() +* a47e9811723 rom.sh: rename mkvendorfiles +* d2e148fdd9d rom.sh: simplify ccache handling for coreboot +* 8c3f10ba402 rom.sh: simplify u-boot payload handling +* 3e28873532b ifd/hp8300usdt: set the HAP bit by default +* 452aeb6001a coreboot: Remove unused vboot tests +* 64cc91bca33 coreboot/default: Remove unneeded FSP modules +* 0216a3104a5 get.sh: Always update git remotes +* 419733d3073 get.sh: re-generate remotes every time +* 231b320e63b release.sh: copy version files to rsrc +* fc0720184d9 xbmk: add fake config makefile args to flashprog +* f9266601b8c vendor.sh: add colon at the end of a for loop +* 8e0c6059d15 rom.sh: skip copyps1bios on dry builds +* a3250d14474 tree.sh: Don't run make-clean on dry runs +* 24b8e633e03 GRUB: Update to revision 73d1c959e (14 March 2025) +* f6b77822835 Revert "vendor.sh: optimise find_me()" +* fb7aaa78bb0 vendor.sh: optimise find_me() +* 903f78bf080 get.sh: add missing check in fetch_project() +* f15bb8153a3 get.sh: stricter URL check in xbmkget() +* cdc0fb49e1c get.sh: make xbmkget() easier to understand +* 620c1dd6fae get.sh: Make xbmkget err on exiting the loop check +* 900da04efa9 tree.sh: fix up copy_elf(), bad for loop +* 8aaf404ddea lib.sh: Use while, not for, to process arguments +* d9c64b26754 xbmk: stricter handling of files on while loops +* b25a4876434 init.sh: looser XBMK_THREADS validation +* 769a97aed5a init.sh: Hardcode XBMK_CACHE for integrity +* 265ec0b7673 dependencies/debian: add libx86 +* 2702a43a86d init.sh: merge xbmk_lock() with xbmk_set_env() +* fc4006ce877 init.sh: move xbmk_set_version +* 962902a1c4a init.sh: set pyver from set_env +* 158c56072c0 init.sh: merge xbmk_mkdirs with set_env +* 5f022acbf47 init.sh: check version/versiondate once read +* 485a60e2f6a init.sh: error if version not read +* 99f09f25ef3 init.sh: only update version files on parent +* 94437278dc7 init.sh: simplify unknown version creation +* 6b603b9fbf4 init.sh: only set xbmk version on parent instance +* ac36ea7f950 init.sh: initialise variables AFTER path +* 484afcb9196 init.sh: merge create_pathdirs with set_pyver +* d0bee6b4ebb init.sh: Set python version only on parent +* 4aa69a7d1f0 init.sh: remove useless command +* 36ffe6ef501 init.sh: remove useless comment +* 0343081d905 init.sh: xbmk_create_tmpdir to xbmk_mkdirs +* c75bc0449d0 init.sh: move gnupath creation to create_tmpdir +* 253aa81a3f9 init.sh: move PATH init to set_env +* e05a18d3513 init.sh: check the lock file BEFORE git init +* cde3b7051e4 init.sh: return from child in set_env instead +* 7ec9ee42283 inject.sh: shorten the nukemode variable name +* b48eb161e49 vendor.sh: simplify mksha512sum() +* ac609d5aae4 vendor.sh: Remove _dest if it's bad +* a3e1ed9823d release.sh: rename relsrc to rsrc +* 44df3b2bff8 release.sh: tidy up nuke() +* 3c58181f69e get.sh: remove useless message +* 01a0217c1e3 get.sh: simplify bad_checksum() +* 4ca57943d70 release.sh: simplify nuke() EVEN MORE, yet again +* 47a3982bbea release.sh: use x_ on find command for nuke() +* 6dc71cc0246 release.sh: simplify nuke() EVEN MORE +* 05c07f7401b get.sh: move nuke() to release.sh +* 587d245cafa release.sh: simplify prep_release_bin() +* 136bd66c280 mrc.sh: merge extract_mrc with extract_shellball +* dbe109d7b54 release.sh: don't move src/docs/ +* 840d6a1d277 get.sh: FURTHER simplify nuke() +* d2564fd9457 get.sh: simplify tmpclone() +* 6dea381614d get.sh: fix bad mkdir command +* 6a2ed9428b7 vendor.sh: Fix broken KBC1126 insertion +* 4313b474a59 vendor.sh: additional safety check +* d668f3a3529 vendor.sh: Properly verify SHA512SUM on extraction +* a191d22bd6d get.sh: add missing eval to dx_ in nuke() +* c8813c9a144 properly exit 1 when calling fx_ +* 208dfc89bd5 get.sh: simplify nuke() +* 46f42291d3c get.sh: fix broken printf statement +* f29aa9c8d59 get.sh: use subshells on try_ functions +* e62886dedae get.sh: simplify try_copy() +* d9ed03f9ea5 get.sh submodules: Don't delete files recursively +* 8d5475ed5b5 get.sh: simplify fetch_submodules() config check +* 21867b7d805 get.sh: simplify fetch_submodules() +* e9fe5a74a2e get.sh: fix caching of crossgcc tarballs +* 6089716f07c release.sh: Don't run prep_release with fx_ +* b04c86e5740 git.sh: rename to get.sh +* 3c23ff4fa18 git.sh: Only create destination repo on success +* ed8a33d6fb1 git.sh: cleanup +* 1ca26c5d238 git.sh: Re-implement redundant git downloads +* e38805a9448 rom.sh: reduce indendation in check_coreboot_utils +* 6bf24221e60 release.sh: simplify release() +* 66f7ecdb2d7 release.sh: clean up the vdir after release +* d4c0479093a release.sh: remove src_dirname variable +* 6d3a6347c3e release.sh: build in tmp directory first +* a0105e1ab44 release.sh: remove unnecessary mkdir command +* f4871da9bca release.sh: split up build_release() +* c85aff5c54e release.sh: delete tmp/cache from the tarball +* 92954eeb38f lib.sh: remove rmgit() +* 05b5914b354 lib.sh: remove mk() +* c9696e23338 lib.sh: move xbmkget() to git.sh +* 23913bb8d2a lib.sh: move mksha512sum() to vendor.sh +* 80f0562e8d1 lib.sh: split up try_file() +* 89cd828e87c lib.sh: move _ua to try_file() +* 308a9ab1e17 mrc.sh: minor cleanup +* 40163dcfa4e mrc.sh: update copyright year to include 2025 +* ef800b652c8 inject.sh: remove the hashfiles variable +* 311ae2f8df2 inject.sh: define xchanged here instead +* 76f81697e6e vendor.sh: remove check_vcfg() +* 97d4d020d97 vendor.sh: simplify getvfile() +* 57f896ac016 vendor.sh: simplify setvfile() +* 3879f6c4d8f lib.sh: use fx_ in rmgit() +* 0911a5a5aed lib.sh: split up xbmkget() +* a449afb287f inject.sh: only compile nvmutil if needed +* 2bbf2ae80b7 inject.sh: simplified serprog check +* 9c27b7437cf vendor.sh: tidy up variables +* 0cc816167bb vendor.sh: split up setvfile() +* 7d90d434252 remove another confusing message +* a0c436ad4ba inject.sh: Remove confusing path on tar creation +* dcfd3e632e2 inject.sh: re-add mac address confirmation +* e5af201060e inject.sh: further cleanup for vendor.sh +* 0aa99f4bf8b tree.sh: only create elfdir in copy_elf() +* a8e374020c0 tree.sh: simplified srcdir check on make-clean +* 0f931b508a8 inject.sh: split to vendor.sh the download parts +* 3554b5aad9c inject.sh: split up the inject functions +* 81dbde7e09f lbmk: use x_ instead of err, where appropriate +* 14d46abceda mrc.sh: operate on refcode in tmp area first +* 6e521c2e1ea mrc.sh: fix outdated info in the comment +* 23486abef3a inject.sh: use direct comparison for metmp +* 91220ce1833 inject.sh: use subshell to speed up find_me() +* ff33ec3352b mk: use zero exit instead, to run trees +* c2b627dc6d0 remove useless comment +* 066402b7e7a mk: remove unnecessary line break +* 7012c00ed11 mk: re-split tree logic to include/tree.sh +* 50ce1ac9b22 mk: move release functions to idnclude/release.sh +* 1ce3e7a3d39 mk: add missing error handli for mk -f +* 0d876622fcb git.sh: re-write tmpclone without caching +* 454f11bdd7b git.sh: use setvars for fail variables +* 6bdb15fd329 git.sh: hard fail if git am fails +* 93d4eca04ae git.sh: Hard fail if reset fails +* a3ba8acface init.sh: Only check XBMK_CACHE if it exists +* 021e7615c84 HP 820 G2: Use fam15h cbfstool tree for refcode +* fe926052441 also fix the other grub trees +* a8594762d27 Merge pull request 'fix trying to boot all logical volumes after unlocking an encrypted volume' (#330) from cqst/lbmk:master into master +|\ +| * e084b06dc76 fix trying to boot all logical volumes after unlocking an encrypted volume +|/ +* 2cea8517f3b init.sh: remove useless export +* 1b0afdcea22 init.sh: also allow XBMK_RELEASE=Y or N +* 570f1417a80 init.sh: Resolve XBMK_CACHE via readlink +* e1af1055ed1 init.sh: check XBMK_CACHE is a directory instead +* e1628ad8f3e init.sh: export LOCALVERSION in set_env +* 40a944118f2 init.sh: run set_version before set_env +* cba04aa74b8 init.sh: Use readlink in pybin() +* a94bd3c0939 inject.sh: simplify extract_kbc1126ec() +* e3098c61f43 inject.sh: simplified MAC address handling +* d530e68594d inject.sh: Simplify patch_release_roms() +* 7f71328f0e2 lib.sh: Remove useless command in err() +* 394b4ea7a59 inject.sh: rename copytb and preprom functions +* ec5c954337b lib.sh: Simplified fx_() and removed fe_() +* 1390f7f8007 mk: Create serprog tarballs here instead +* 0ef77e65832 build serprog using fe_ *defined inside mkhelper* +* d2e6f989d7e rom.sh: build serprog images with fe_ +* 0faef899469 lib.sh: support any command on find_exec() +* 2b7f6b7d7ce inject.sh: Simplify extract_intel_me_bruteforce() +* 485d785d331 inject.sh: clean up tmp me file before extract +* fac99aa2d44 lib.sh: re-add missing break in fe/fx_ +* 03300766d14 inject.sh: tidy up extract_intel_me_bruteforce +* 4781dbd2a05 inject.sh: fix oversight in me bruteforce +* cf78583a6d8 inject.sh: remove unnecessary check +* 5657cc1afb3 inject.sh: don't use subshell for me bruteforce +* 5686f35e0f1 inject.sh: insanely optimise the me bruteforce +* e8be3fd1d41 git.sh: Simplify git am handling +* 4c1de1ad126 inject.sh: remove unused function +* 282b939d9da init.sh: New function dx_ to execute path files +* 73074dedee3 inject.sh: Further simplified FSP extraction +* 7585336b914 inject.sh: simplify kconfig scanning +* ef38333f8b0 lib.sh find_ex: Write sort errors to /dev/null +* c275f35e7e2 lib.sh x_(): Remove warning of empty args +* 17d826d3a96 lbmk: Replace err with much simpler implementation +* f98e34a24dd singletree/elfcheck: use fx_, not fe_ +* 8ca06463ebc rom.sh: Print the rom image path being generated +* dc9fe517cb0 rom.sh: Safer cprom() +* 2be8d1c7982 rom.sh: specifically check keymaps in cprom() +* 89a8cd4936a rom.sh: simplify mkseagrub() +* c2182d82193 mk: simplify elfcheck() +* 437ac2454c1 lib.sh: simplify singletree() +* 62ec3dac075 git.sh: move singletree() to lib.sh +* 6b247c93e25 mk: Fix bad error handling for gnu_setver +* ee8bb28ba21 GRUB: Mark E820 reserved on coreboot memory +* 61ec396ef6d inject.sh: simplify extract_intel_me_bruteforce() +* e4edc2194d3 inject.sh: Remove unnecessary check +* f4057d7daab inject.sh extract_intel_me(): reduce indentation +* b7ca59debe6 inject.sh: Move FSP extraction only to extract_fsp +* eb882de94cb inject.sh: tidy up intel me handling +* 153dd76a82e inject.sh: tidy up the deguard command +* 428c46ca2b1 lib.sh: set -u -e in err() +* 20c87308587 lib.sh: Provide error message where none is given +* 35265731c5b init.sh: Silence the output of git config --global +* 5e3aaa1eb8b init.sh: Run git name/email check before init +* a3b5626f53d lib.sh: stricter xbmk_err check in err() +* 51b2a1159d0 lib.sh: simplify err-not-set handling +* 61e5fd1a0b2 lib.sh: Add warning if x_ is called without args +* 4020fb43280 lib.sh: simplify err() +* b51846da6de init.sh: single-quote xbmklock in xbmk_lock() +* 8b7bd992f66 init.sh: define lock file in a variable instead +* 9611c19e7ed init.sh: tidy up xbmk_child_exec() +* 37ca0c90e1c lib.sh err: add missing redirect to stderr +* 54291ebb720 lbmk: MUCH safer err function +* 3f7dc2a55f5 lib.sh: rename errx to xmsg +* 59c94664e3e lib.sh: Make x_ err if first arg is empty +* 91bb6cbede0 lib.sh: Make err_ always exit no matter what +* b19c4f8f674 inject.sh: tidy up TBFW handling +* 439020fbda5 inject.sh: remove useless comment block +* 6e447876cca init.sh: tidy up the python version check +* 7392f6fc8ec init.sh: move non-init functions to lib.sh +* 7acec7a3a1d init.sh: simplify dependencies handling +* 93ba36ae456 rom.sh: tidy up copyps1bios() +* fc71e52fdfc mk: tidy up xgccargs handling +* 184871bc17c mk: remove useless code +* b6a2dc4ea3c init.sh: tidy up pathdir creation +* f5b2bdb8868 mk: re-make gnupath/ after handling crossgcc +* 1b7a9fd637d mk: tidy up check_cross_compiler +* 488d52e784f mk: re-make gnupath/ for each cross compiler +* c33467df1e6 mk: reduce indentation in check_cross_compiler() +* aa4083443b1 mk: Allow use of x_ on prefix functions +* 8f828e6cd35 mk: tidy up check_project_hashes() sha512sum check +* 7a2f33264d7 mk: simplify check_gnu_path() +* 46b968a6e85 inject.sh: minor code cleanup +* 5499ae66bd8 inject.sh: simplify extract_archive() +* 72f4412a52d inject.sh: simplified fsp extraction +* bf569d2b4dc inject.sh: Remove redundant code in copy_tbfw +* 8de0ed811fb inject.sh: Stricter TBFW handling +* 530e4109a2b init.sh: *Re-create* tmpdirs on parent instance +* 498f5a26cc8 init.sh: Always create xbmklocal +* 00d22f20829 lbmk: Unified local ./tmp handling +* 0f7b3691aba lib.sh: redirect find errors to /dev/null +* 7fadb17fd9e lib.sh: Fix bad touch command +* 0b09d970732 inject.sh: Only build nvmutil once +* 308df9ca406 inject.sh: always re-build nvmutil +* 44a1cc9ef85 util/nvmutil: use x, not ?, for random characters +* a17875c3459 lib.sh find_ex: explicitly create the tmp file +* 0ffaf5c7331 init.sh: Explicitly create the xbmktmp directory +* fcc52b986e7 init.sh: unified handling of ./tmp +* 47762c84ad0 lib.sh: add fe_ which is fx_ but err on find +* d18d1c2cae2 lbmk: unified execution on find commands +* 773d2deaca0 NEW MAINBOARD: Dell Precision T1700 SFF and MT +* 9b11e93686c mk: include rom.sh directly +* 1f7e4b35cb2 mk: Download vendorfiles before building release +* acb0ea202f2 lib.sh: Simplify rmgit() +* 15b76bc202f lib.sh: support multiple arguments in remkdir() +* f3ae3dbbbe4 lib.sh: simplify remkdir() +* 6c4d88f2686 move x_() to lib.sh +* 2ae565ba93a init.sh: move setvars/err_ to lib.sh +* c073ee9d4fc Restore SeaBIOS 9029a010 update, but with AHCI fix +* 8245f0b3211 Revert "seabios: bump to rev 9029a010, 4 March 2025" +* 4c50157234d coreboot/t420_8mb: add missing txtmode config +``` + +Revision releases +----------------- + +When certain bugs are found, releases may be re-built and re-uploaded. When +this happens, the original release is replaced with a *revision release*. + +Revisions are numbered; for example, the first post-release revision +is *rev1*. + +### 25.06 (30 June 2025) + +No revisions, thus far. The original 25.06 release is the current revision, so +it could be considered *rev0* (revision zero). + + diff --git a/site/news/libreboot2506.md.description b/site/news/libreboot2506.md.description new file mode 100644 index 0000000..f8ae0af --- /dev/null +++ b/site/news/libreboot2506.md.description @@ -0,0 +1 @@ +Libreboot 25.06 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution with coreboot payloads such as GNU boot loader GRUB. From 8cfc7486bdce0d8a37437648a519dac095149ee6 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Tue, 1 Jul 2025 00:24:18 +0100 Subject: [PATCH 277/279] made the announcement show changes since december 2024 not april 2025 Signed-off-by: Leah Rowe --- site/news/libreboot2506.md | 748 ++++++++++++++++++++++++++++++++++--- 1 file changed, 697 insertions(+), 51 deletions(-) diff --git a/site/news/libreboot2506.md b/site/news/libreboot2506.md index 8347be8..69a9edf 100644 --- a/site/news/libreboot2506.md +++ b/site/news/libreboot2506.md @@ -5,50 +5,25 @@ A corresponding [Canoeboot 25.06](https://canoeboot.org/news/canoeboot2506.html) release is also available. +There *was* a Libreboot 25.04 release in April 2025, but that is retroactively +regarded as an RC of 25.06. The original 25.06 release announcement showed +changes since 25.04, but the changelog is now relative to December 2024. +This reflects the [revised release schedule](revisions.md). It means that the +changelog is much bigger, and also includes the changes that went in +Libreboot 25.04. + Today's Libreboot 25.06 revision is a *stable release*, whereas the previous -stable release was Libreboot 20241206; the previous *testing* release was -Libreboot 25.04, and this releases fixes a few bugs. The codename for this release -is *Luminous Lemon*. +stable release was Libreboot 20241206. This revised release log lists all +changes as of today, 30 June 2025, since the Libreboot 20241206 release of +December 2024. -This release was built on the latest Debian 12.10 Bookworm release, as of -this day. It was also build-tested successfully on the latest Arch Linux updates -as of 26 June 2025. - **[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../docs/install/ivy_has_common.md), OR YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions there, before flashing. For posterity, [here is the link again](../docs/install/ivy_has_common.md).** -New schedule and version numbers -------------------------------- - -This change in version release scheme was previously reported in the news -post announcing Libreboot's new [formal release schedule](schedule.md). As per -that article, the next stable release will be Libreboot 25.06, in June 2025. - -Regarding the changelog --------------------- - -The Libreboot 25.04 releases were essentially RCs (release candidates) of -the Libreboot 25.06 release, given the [revised release schedule](revisions.md). - -The focus since Libreboot 25.04 has been on fixing bugs, while making as few -breaking changes as possible, ideally none; this also means that fewer boards -were added, and fewer features were added. This is because major works are -done right up until RCs, about two months before official release, and then -bugs are fixed between then and the release; this changelog reflects that. - -The [original schedule](schedule.md) created *four* annual releases: YY.04, YY.06, -YY.10 and YY.12. 04 and 10 being testing releases, leading up to 06 and 12. These -numbers refer to the month of the year, and YY represents the year. - -The revised schedule changed this to *two* releases, with RCs that get deleted -after the stable release comes out; 25.04 shall be retained on rsync, but it -is retroactively (and informally) referred to as "Libreboot 25.06 RC0". This -explanation has been provided, for context. - Open source BIOS/UEFI firmware ---------------------------- @@ -75,8 +50,13 @@ Summarised list of changes ### Board support +The priority for the first half of 2025 has been on further auditing the +Libreboot build system, so fewer board ports were added. More board ports +will be added instead in the December 2025 release (a lot more). + The following boards have been added since the Libreboot 20241206 release: +* Acer Q45T-AM support added (similar to G43T-AM3 mainboard) * Dell Precision T1700 SFF and MT Board ports were low priority for this release; now it shall be the focus, @@ -92,24 +72,44 @@ Intel Xeon processor is installed. In descending order from latest changes to earliest changes: * GRUB: Update to revision 73d1c959e (14 March 2025) +* Bump SeaBIOS to to rev 9029a010, 4 March 2025 +* Updated Untitled to newer LBSSG repository. +* Bump flashprog to rev e060018 (1 March 2025) +* Bump U-Boot on ARM64 boards to U-Boot v2025.04. Patching courtesy of + Alper Nebi Yasak. +* Bump uefitool to rev a072527, 26 Apr 2025 to fix CMake compatibility issue + since CMake 4 no longer supports version 3.5, whereas the old uefitool had + an earlier version as the minimum supported. This fixed a minor build error. +* Merged coreboot/next with coreboot/default +* Bump coreboot/next to rev c247f62749b as of 20 April 2025 +* Bump coreboot/default to rev c247f62749b as of 20 April 2025 +* Bump flashprog to revision eb2c041 (14 Nov 2024). -The GRUB update brings in several changes from upstream: +The GRUB revision includes a number of critical CVE fixes, and regression +fixes, that were also included in Libreboot 20241206 rev11. Some later fixes +are also present, such as wiping LUKS keys from memory after successfully +booting Linux (Linux handles LUKS itself, and starts the process again). -``` -* 73d1c959e cryptocheck: Add --quiet option -* dbc0eb5bd disk/cryptodisk: Wipe the passphrase from memory -* 301b4ef25 disk/cryptodisk: Add the "erase secrets" function -* 23ec4535f docs: Document available crypto disks checks -* 10d778c4b commands/search: Add the diskfilter support -* 7a584fbde disk/diskfilter: Introduce the "cryptocheck" command -* ed691c0e0 commands/search: Introduce the --cryptodisk-only argument -* c448f511e kern/rescue_reader: Block the rescue mode until the CLI authentication -* 4abac0ad5 fs/xfs: Fix large extent counters incompat feature support -``` +The NASM version was updated to version 2.16.03 on coreboot/fam15h, to prevent +build errors, instead of fixing the old NASM 2.14.02. Tested on Debian Sid +Experimental, with GCC15-based toolchain, and on Fedora 42. + +PICO support: Reverted to the old pico serprog/sdk repositories used +in Libreboot 20240612. This is temporary, because pico2 support is currently +broken, so this release only has pico1 support, when dealing with Rpi Pico +devices. Upstream pico-serprog works fine on pico2, so this will be fixed +in and re-updated again in a future revision release. The pico2 update images +were retroactively removed from the 20241206 release on rsync. + +A patch from upstream was backported to the old pico-sdk version, so that it +builds correctly on newer GCC15 (tested on Debian Sid with "Experimental" +packages enabled). ### Licensing -* no changes (relative to Libreboot 25.04) + + +* Added SPDX license headers to almost every configuration file in lbmk. ### Security @@ -120,6 +120,27 @@ massive concern to users. update: `dbc0eb5bd disk/cryptodisk: Wipe the passphrase from memory` - this wipes the LUKS key from memory, after GRUB exits, where one was created by GRUB while unlocking a given volume. +* Merged *73* critical CVE fixes into the GNU GRUB source code, from upstream. +* Stricter use of pledge and unveil in the nvmutil source code. +* *Much* safer `./mk inject`. It used to be that the tarballs were extracted + and files inserted into the extracted images, but the tarballs were left + unmodified; many users thought then that they should extract the tarball + and flash that, which lead to bricks. And it was easy to flash uninjected + images, where files (e.g. Intel ME) are needed, so now ROM images are padded + by one byte, to prevent flashing, and the user is strongly reminded to + inject files first; upon running the `./mk inject` commands, these images + are then safe to flash. +* Fix globbing issues in lbmk by double-quoting variables everywhere, and + generally making sure that certain characters are escaped properly when + necessary. To reduce the chance of bad commands being run by mistake or + intentionally. +* Removed auto-confirm on `./mk dependencies` commands, to mitigate the risk + of a buggy package manager on the user's distro possibly removing many + packages. Now the user must confirm their choice, e.g. when a conflict + occurs, instead of the package manager already deciding for the user. +* ThinkPad T480 / OptiPlex 3050: Disable HyperThreading/SMT by default, for + security, to reduce the attack vector of certain speculative execution-based + exploits. ### Feature changes @@ -155,6 +176,54 @@ In descending order from latest changes to earliest changes: config being checked. In practise, this causes no real behaviour changes. * `rom.sh`: Print the rom image path being generated * `lib.sh`: Add warning if x_ is called without args +* `init.sh`: More verbose error info, on non-zero exits. +* `util/nvmutil`: Within each 4KB part, only handle 4KB, even if the block + size is bigger. This means using less memory, and modification of anything + past 4KB is not required. +* `util/nvmutil`: Support 16KB and 128KB GbE files, in addition to the + usual 8KB files. The size is based on the block size of the flash you use. +* Added non-root USB3 hub support to GRUB on the xHCI implementation, courtesy + of a patch from Nitrokey. +* GRUB: Scan LUKS inside *every* LVM, to support the uncommon use case where + LUKS is inside LVM, instead of LVM inside LUKS. It is theoretically possible, + even if ill advised. +* GRUB: Scan *every* LVM device, where available, as a fallback at boot time + when all else fails. +* Release ROMs prefixed with a "DO NOT FLASH" warning and padded by one byte, + where vendor files are required. The `./mk inject` commands remove this + prefix/padding, after vendor files are inserted and checksums verified. +* Better detecting of whether vendor files are needed, and confirmation to + the user while running `./mk inject` commands. +* Allow restoring the default MAC address on `./mk inject` commands, by using + the `setmac restore` arguments. +* Randomise the MAC address by default, where applicable, when running + the `./mk inject` commands, because lots of users previously flashed without + changing it, so lots of users had generic MAC addresses. + The `setmac keep` argument prevents this from happening, where desired. +* `include/vendor.sh`: More user-friendly debug messages, for the user to + know what's going on. +* `util/nvmutil`: Add uninstall command to the Makefile +* `util/nvmutil`: Add distclean command to the Makefile +* `util/nvmutil`: Nicer hexdump display, similar to `hexdump -C`. +* Support a `re` argument in `./mk dependencies` Fedora commands, for + re-installation of packages as desired. +* Support `--reinstall` in the `./mk dependencies debian` command, when the + user wants to re-install dependencies. +* Put temporary `PATH` directory in the normal `XBMK_CACHE` directory, and + clear it whenever a new parent instance of the build system is executed. + This is used for the GCC/GNAT matched symlinks, for example, or the python + symlink created at startup. +* Pico 2 support briefly added, but was a bit buggy for now, so it's removed + in this release, and was retroactively removed in rsync for the + Libreboot 20241206 release; this will be re-added in a future release. +* Added GRUB-first payload setups as an option, but not enabled by default. + The user can add `payload_grubsea="y"` in the `target.cfg` file for a given + mainboard. +* Support automatically downloading Lenovo ThunderBolt firmware for the + ThinkPad T480, automatically padding it for installation. This update fixes + a charging bug that affected some earlier launch models. +* Insert GRUB backgrounds in CBFS instead of GRUB memdisk, which makes + GRUB background images easier to replace. ### Configuration changes @@ -178,13 +247,25 @@ In descending order from the latest changes to the earliest changes: the size of releases. * A GRUB configuration change was made, fixing auto-scanning of LVMs when doing cryptomount. +* T480/3050micro: Removed the `fsp` targets, because we only need + the `vfsp` targets. +* Added `gnutls-devel` to Fedora 41 dependencies. +* Added `libx86` to Arch dependencies, needed for the `int` utility. +* Added `less` to Arch dependencies, because it's needed for certain commands + e.g. git commands. +* GRUB: Use the codeberg mirror first, to mitigate GNU mirrors often being + slow or rate limited, e.g. for gnulib downloads. +* fedora41/dependencies: add libuuid-devel +* Added `uuid-devel` to fedora41 dependencies +* flashprog: Disable `-Werror` to prevent minor warnings being treated as errors. ### Bug fixes -Most of these are build system fixes, but for example there is also a fix -applied to the GRUB source code. +This combines both build system fixes, and changes to upstream sources (e.g. +coreboot and various payloads like SeaBIOS/GRUB, utilities like flashprog, and +so on). The following bug fixes have been merged (in descending order from the latest changes to the earliest changes): @@ -394,6 +475,105 @@ changes to the earliest changes): release simply reverts the AHCI reset patch for now. The AHCI reset plus delay will be present in Libreboot's next release, after 25.06. * lenovo/t420: Add missing text-mode configuration +* coreboot (all trees): Added patch fixing GMP build errors on modern + GCC15 hostcc. +* coreboot (all trees): Fixed building of crossgcc with newer GCC15. Patches + courtesy of Alper Nebi Yasak. +* coreboot (all trees): Added a patch to fix building coreboot utils with + newer GCC15. +* dependencies/debian: Fixed the libusb package name for newer Debian releases, + courtesy of Alper Nebi Yasak. +* SeaBIOS: Fixed `malloc_fn` function pointers in the `romfile` patch, courtesy + of Alper Nebi Yasak. Fix build errors on GCC 15. +* `include/lib.sh`: Force use of System Python e.g. `/usr/bin/python`, when + a python venv is detected. This prevents the build system from hanging. +* coreboot `g43t_am3`: Fixed the `data.vbt` path. +* Alper Nebi Yasak fixed the Python 2/3 detection in some edge cases when + the `python` command is python2. +* `include/lib.sh` (later `init.sh`): Do root check *first*, right after + the dependencies check, whereas it previously did the python check before + checking for root user. +* lbmk: Don't use TMPDIR directly, use another variable containing its value, + and make sure it doesn't get changed wrongly. This reduces the possibility + of accidentally leaving old tmp files laying around. +* `include/lib.sh`: `tar` commands now return an exit with error, if a fault + occurs, whereas it didn't before, due to piped output. This is done + using the `x_` wrapper on tar commands, to provide error exits. +* `mk`: function `check_project_hashes` now returns an error, if the sha512sum + command fails. It previously didn't, due to piped outputs. It's now mitigated + by using `x_` on piped commands, for error exits. +* Forking of lbmk parent instance to child instance isno longer handled by + variables. It's been simplified, to only be based on whether TMPDIR is set, + and it's generally more robust now in this release. The old code sometimes + broke under certain edge cases. +* `include/vendor.sh` (later renaming to `inject.sh`): General code cleanup, + about 100 sloc removed without reducing features. +* lbmk: Initialise `PATH` to a standard string if not set, on the parent + instance of lbmk. +* lbmk: Use `pwd` instead of the `PWD` variable, resetting the latter safely + as lbmk runs. This prevents lbmk from changing directory to an erroneous + system path, if `PWD` wasn't properly set for some reason. This is a + preventative bug fix, because no actual issue ever occured in practise. +* Much safer Python version check at lbmk startup, using data structures that + are provided universally by all Python implementations, instead of + relying on the output of `--version`. +* Fixed T480 backlight controls, courtesy of a patch from Mate Kukri. +* Set up Python in `PATH` when lbmk starts, to ensure that it is always + version 3. This is checked at startup. +* `include/vendor.sh`: Prevent double-nuke, where a given tarball already had + vendor files removed prior to release. +* `include/vendor.sh`: Allow setting a MAC address even if vendor files aren't + needed. +* `include/vendor.sh`: Download utils even if `vcfg` is not set, in case the + user is also setting a MAC address. +* `util/nvmutil`: Honour the `INSTALL` variable, if set by the user, otherwise + it is set to `install` by default. +* `util/nvmutil`: Don't do `clean` when running `uninstall`. +* `util/nvmutil`: Proper DESTDIR/PREFIX handling, whereas it was not handled + properly at all before. +* `util/nvmutil`: Only set CC/CFLAGS if unset, and use sensible defaults. +* Fixed various shellcheck errors in lbmk. +* HP EliteBook 820 G2: Fixed vendor file insertion and set `release=y`. The + insertion of Intel MRC and refcode previously didn't pass checksum validation. +* ThinkPad T480 / OptiPlex 3050: Force power-off state upon recovery from + power loss, otherwise the system always turns on as soon as a charger is + plugged in. This is configured by hardcoding, due to a current lack of any + option table on the T480. +* Debian dependencies: replace liblz4-tool with lz4 and liblz4-dev. The latter + is also available in Debian Trixie and Sid, at this time, in addition to + Debian Bookworm, so it works on all of them. +* U-Boot (x86): Fixed a bug since Swig 4.3.0 changed the syntax for its + language-specific AppendOut functions. A patch from upstream was backported, + and the patch is also compatible with older versions of Swig. +* In lbmk scripts, use `command -v` instead of `which`, to find the locations + of certain binaries. This is a bug fix, since `which` is non-standard and + so could break on some setups. +* Crossgcc: when building it for coreboot, fix mismatching GCC/GNAT versions + so that they match, if multiple versions are present. This was done because + Debain Trixie initially had GCC 14 and GNAT 13, whereas we need GNAT to build + the Intel video init code on many mainboards. +* T480/T480: Disable TPM2 to mitigate a hang in SeaBIOS due to buggy drivers. +* `dependencies/debian`: Fix the `python3-distutils` package, renamed it + to `python3-distutils-extra`, which works on bookworm *and* newer, but the + former did not. +* `git.sh`: don't initialise the `livepull` variable globally, reset it per + target instead, to prevent some repositories from being wrongly re-cloned. +* Thinkpad T480 / Dell OptiPlex 3050: Handle FSP insertion post-release, rather + than providing FSP images directly in release images. It is now handled by + the `./mk inject` command, copying the reference image from coreboot and + splitting it upp and rebasing it, to mitigate certain technicalities of + Intel's FSP license, which otherwise permits free redistribution. +* Safer, more reliable exit when handling vendor files, because in some cases + lbmk was leaving the `lock` file in place (erroneously). +* Safer exit when running the `./mk dependencies` commands, so that lbmk is + more likely to exit, because it was theoretically possible that it might + not under certain edge cases. +* Disable nvme hotplug on Dell OptiPlex 3050 Micro, to prevent replugging in + Linux, which would otherwise lead to possible data corruption. +* T480: Fix coreboot SPD size to 512 instead of 256 (it was already + auto-corrected to 512 at build time, but the original configs were 256 which + is wrong). +* Add tarballs and gpg signatures to `.gitignore` ### General code cleanup @@ -587,13 +767,86 @@ In descending order from the latest changes to the earliest changes: * `lib.sh`: simplify remkdir() * xbmk: move x_() to `lib.sh` * `init.sh`: move setvars/err_ to lib.sh +* `init.sh`: Generally modularised it, moving separate tasks into separate + functions, rathher than having it be one big monolith. +* `vendor.sh` was renamed to `inject.sh`, so that future changes can be + in better sync between lbmk and cbmk on this file, because the cbmk version + has the MAC address changer (but no vendorfile handling). In the future, + this will be split so that `vendor.sh` exists again, containing only the + vendorfile handling, and `inject.sh` will only handle MAC addresses. +* `init.sh`: Several variables were moved out of this file and elsewwhere in + lbmk. +* Moved the `singletree` function to `git.sh` instead of `lib.sh` +* Moved the `cbfs` function from `lib.sh` to `rom.sh`. +* `include/lib.sh`: Use a more top-down function order, more clear, and it was + split into an extra file `init.sh` that does the most basic lbmk initialisation + at startup, whereas what remains in `lib.sh` really are generic library + functions used throughout lbmk. +* `include/git.sh`: Removed unused crossgcc linking feature, because we don't + use it anymore (coreboot trees have their own crossgcc and never link to + another these days). Libreboot used to have many more coreboot trees, some + of which re-used crossgcc from another tree. Similarly, the accompanying + variable `tree_depend` is no longer handled. The `xtree` variable is still + handled, because projects like U-Boot use that to configure crossgcc. +* include/vendor.sh: Removed unnecessary check against the ROM image size. + Generally simplified the processing of release images. +* include/git.sh`: Removed many redundant functions, merging several of them. +* `include/mrc.sh`: Fixed a bad print, making proper use of a string inside + a printf statement. +* Simplified many file checks in lbmk, by using the `e` function. +* Removed a bunch of useless `eval` commands in general, throughout lbmk, + making the code much cleaner. +* lbmk: the `x_` function is now used much more aggressively, for error + handling, simplifying error handling in lbmk overall. +* `mk` main script: Merged the `trees` script with it, so now it's all one + script. The `mk` script is now the only executable script in lbmk. +* `mk` (main script): The `roms` command is removed (legacy / obsolete). +* The version/versiondate files are now dotfiles, to hide during operation. +* `include/lib.sh`: Hardcoded projectname/projectsite variables, instead + of storing them in a file. +* `trees` script: Unified handling of flags (same string used in error output), + to ensure that error(usage) messages always match. +* `trees` script (later merged into `mk`): Removed a lot of old bloat. +* `util/nvmutil`: Make the checksum word position a define. Generally cleaned + up a lot of code to make it clearer for the reader. Added more verbose + messages to the user, confirming things such as how much was read or written + on the user's file system. Various miscallaneous bug fixes (edge cases that + were unlikely to ever be triggered). +* `util/nvmutil`: More efficient use of memory when handling files. +* `util/nvmutil`: Much cleaner handling of user input. +* `util/nvmutil: More granular MAC address parsing errors, easy for debugging. +* `util/nvmutil`: Make the Gbe Checksum a define, for readibility. +* `util/nvmutil`: Obey the 79-character-per-line limit, as per lbmk coding + style. +* `util/nvmutil`: Tidied up several pledge calls +* Removed use of several unnecessary subshells and `eval` statements in lbmk. +* `trees`: Later, the GCC/GNAT matching feature was rewritten to work both ways, + where an older GCC was matched to GNAT and vice versa, whereas it previously + only went one way. `gcc` and `gnat` are manipulated in `PATH` to ensure that + the user has a consistent version of both. +* `path.sh` later merged into the `trees` script (which later merged + into the main `mk` script). This `path.sh` is what contained the first + implementation of the GNAT/GCC version matching feature. +* `path.sh`: Remove unnecessary shebang, and the same on other `include/` + scripts. NOTE: `path.sh` was later merged into `lib.sh`, which then became + split into `init.sh` in later changes (see above). +* Removed legacy build system commands e.g. `./build` and `./update`; now + only the newer `./mk` commands are supported. This and the change below was + briefly reverted, for the 20241206 revisions, but then re-introduced. +* Removed the deprecated `./vendor` command; now only `./mk` commands are + used. The `./mk -d coreboot target` commands are used, for downloading + vendor files. +* Removed unused patch that was for the original deguard implementation, + prior to Mate Kukri's re-write of it. Git log ------- -This log is relative to Libreboot 25.04: +This log shows all changes in today's release, from 30 June 2025, ever +since the Libreboot 20241206 release of 6 December 2025: ``` +* c46a71138c7 Libreboot 25.06 release * b1ef562b767 tree.sh: add sha512 error for check_project_hashes * 04bee3834d0 tree.sh: add error check in check_project_hashes() * 677dfc4d103 tree.sh: more reliable clean in run_make_command @@ -865,8 +1118,395 @@ This log is relative to Libreboot 25.04: * c073ee9d4fc Restore SeaBIOS 9029a010 update, but with AHCI fix * 8245f0b3211 Revert "seabios: bump to rev 9029a010, 4 March 2025" * 4c50157234d coreboot/t420_8mb: add missing txtmode config +* f21749da8b1 Libreboot 25.04 Corny Calamity +* bb5f5cd5763 add pico-sdk backport patch fixing gcc 14.x +* 4f77125066d coreboot/fam15h: update submodule for nasm +* 0f2202554ab coreboot/fam15h: update nasm to 2.16.03 +* 2009c26f0aa serprog: Remove pico2 support for the time being +* a08b8d94fc5 seabios: bump to rev 9029a010, 4 March 2025 +* 342eca6f3d1 update untitled +* b0a6d4711a3 coreboot413: add alper's fix to cbfstool for gcc15 +* 628ae867c9a flashprog: bump to rev e060018 (1 March 2025) +* 5e96db5a2b4 further gcc-15 fix for gmp on -std=23 +* 9a9cd26b2d5 coreboot/default and fam15h: gmp fix, gcc15 hostcc +* 80007223c85 lib.sh: Provide printf for mktarball +* a16c483e5fd Merge pull request 'coreboot: fam15h: Add patches to fix build with GCC 15 as host compiler' (#318) from alpernebbi/lbmk:coreboot-fam15h-gcc15 into master +|\ +| * 685685ab0e4 coreboot: fam15h: Add patches to fix build with GCC 15 as host compiler +|/ +* 02110f2bc1d Merge pull request 'coreboot: Add patch to fix build with GCC 15 as host compiler' (#317) from alpernebbi/lbmk:coreboot-gcc15-nonstring into master +|\ +| * 5ad1de3931a coreboot: Add patch to fix build with GCC 15 as host compiler +|/ +* 9e7bceb7fa9 Merge pull request 'seabios: Fix malloc_fn function pointer in romfile patch' (#313) from alpernebbi/lbmk:seabios-romfile-malloc-fptr into master +|\ +| * 35c853f8b33 seabios: Fix malloc_fn function pointer in romfile patch +* | 686e136f150 Merge pull request 'dependencies/debian: Fix libusb package name' (#315) from alpernebbi/lbmk:debian-libusb-dependency into master +|\ \ +| * | 6f120f01588 dependencies/debian: Fix libusb package name +| |/ +* / d8b0e749983 init.sh: fix yet another double quote for dotfiles +|/ +* 780844112ae Merge pull request 'Update U-Boot to v2025.10' (#305) from alpernebbi/lbmk:uboot-v2025.04 into master +|\ +| * 1265927ca38 u-boot: gru: Disable INIT_SP_RELATIVE +| * 5bea1fade9a u-boot: arm64: Expand our modified defconfigs to full configs +| * fd56d8ada13 u-boot: arm64: Merge our modifications into new defconfigs +| * ed9ddd7415f u-boot: arm64: Add new upstream defconfigs +| * b1fa44858cb u-boot: arm64: Rebase to v2025.04 +| * 976fc6890ae u-boot: arm64: Save our modifications to the upstream defconfigs +| * 418570a6172 u-boot: arm64: Turn configs into defconfigs +|/ +* 093a86d9c09 init.sh: don't use eval to read version files +* 3045079947b init.sh: use backslash for dotfiles in eval +* da108d1c045 mk: Don't run mkhelpers if mode is set +* 71a58a38ab4 mk: condense main() again +* f3882b9bf21 init.sh: make git name/email error more useful +* 9cebda333d5 init.sh: move git name/mail check to xbmk_git_init +* ea081adc4ca init.sh: tidy up the git name/email check +* 3292bded692 mk: make main() more readable +* 97a5e3d15ed mk: move git check to init.sh xbmk_set_version +* 11cd952060d init.sh: tidy up xbmk_init() +* f6c5c8d396d mk: move git_init to init.sh +* ec1c92238cc init.sh: minor cleanup +* e009f09e7fa init.sh: clean up setvars +* 9ec72153408 init.sh setvars: make err a printf for eval +* 18ad654a1f7 init.sh: merge xbmk_child_init with xbmk_init +* 15268202478 init.sh: split xbmk_child_init into functions +* 0280cd4c0e7 init.sh: move parent fork to new function +* a0e1d42ff74 init.sh: Provide more complete error info +* a8f0623efbb update uefitool to rev a072527, 26 Apr 2025 +* c698972130f rename include/vendor.sh to inject.sh +* 24e488aae56 lib.sh: move _ua to the xbmkget function +* 6779d3f9915 move variables out of init.sh to others +* 848159fa0eb lib.sh: rename vendor_checksum +* 1de77c6558c lib.sh: move singletree() to git.sh +* 703fe444312 lib.sh: move cbfs() to rom.sh +* b57952e90d2 re-split include/init.sh to lib.sh +* 8ecb62c6628 rename include/lib.sh to init.sh +* ce4381169fa lib.sh: introduce more top-down function order +* 15b64cfebe8 mk/git.sh: remove tree_depend variable +* 9b8179c0e5d git.sh: remove unused xgcc linking feature +* 4624c6e536c mk: remove unused variables (ser/xp) +* aba5b3a3532 mk: simplify main() +* 0ab7c6ff9cf lib.sh: use realpath to get sys python on venv +* 8edea026c58 lib.sh: Force use of System Python to prevent hang +* b1b964fa5c3 lib.sh: further condense the python check +* 9543a325acb lib.sh: further simplify the python check +* 9baabed7186 lib.sh: condense the python check +* 0c5c5ffc873 lib.sh: simplify mk() +* 83022b6ba83 lib.sh: simplify cbfs() +* 13ad839691d lib.sh: simplify the python check +* b1ea4165754 mk: remove mkhelp() and use x_() instead +* 4cf64e59ed0 mk: simplify handling of trees() +* d0581914c74 coreboot/hp8300cmt: purge xhci_overcurrent_mapping +* cb52fc4ba82 Fix VBT path on HP Elite desktops +* 2bee87cfc26 lib.sh: add missing copyright year +* 4b7ab403c65 ifd/q45t_am: unlock regions by default +* 564155277ea coreboot/g43t_am3: use ifd-based setup +* 0ddd1963751 coreboot/q45t_am3: use ifd-based setup +* 3b2d933842a coreboot/default: add missing submodules +* a10d81399c7 NEW MAINBOARD: Acer Q45T-AM (G43T-AM3 variant) +* d114e0a765c mk: don't print confirmation of git pkg.cfg +* f59c24f12aa coreboot/g43t_am3: fix data.vbt path +* 21020fa319a add missing config/data/coreboot/0 +* 2b4629d790b Merge pull request 'lib.sh: Fix python3 detection when 'python' is python2' (#290) from alpernebbi/lbmk:python3-detection-fix into master +|\ +| * a18d287a81e lib.sh: Fix python3 detection when 'python' is python2 +|/ +* c7569a67145 coreboot/next: merge with coreboot/default +* 762c7ff43eb coreboot/default: Update, c247f62749b (8 Feb 2025) +* 86e7aa80c51 Update the GRUB revisions +* 8d57bf6009e Revert "git.sh: minor cleanup" +* a2898771f6e lib.sh: perform root check even earlier +* 779f6003421 lib.sh: tidy up opening logic (put it together) +* bac4be99c20 lib.sh: do root check before python check +* e63d8dd20d9 git.sh: minor cleanup +* 11078508a25 lib.sh: simplify mktarball() +* 087bbedc5f8 vendor.sh: tidy up vendor_download() +* e11fd52d958 mk: tidy up check_gnu_path() +* 3442f4278ed mk: simplify check_project_hashes() +* 6b6a0fa607c lib.sh: fix missing s/TMPDIR/xbmktmp +* e07a2adb130 lbmk: don't handle TMPDIR directly +* 9d3b52cd1d2 rom.sh: minor cleanup +* b4402c54258 vendor.sh: yet even more code cleanup +* fe5bdc7633d vendor.sh: even more cleanup +* fcedb17a9a1 vendor.sh: more cleanup +* 4e2b59ed3ff vendor.sh: minor cleanup +* a3acf4c3f95 vendor.sh: simplify process_release_roms +* 30213a96883 vendor.sh: remove unnecessary check +* 38df7275f12 git.sh: remove unnecessary comment +* f5891fb6991 git.sh: remove link_crossgcc() +* a685654b90f git.sh: remove move_repo() +* e4aa62f79a8 git.sh: remove prep_submodule() +* 2839feb9e43 git.sh: make git_prep command clearer +* 410fa702c9c mrc.sh: Make proper use of variable inside printf +* 075902c3ea7 simplify a few file checks +* b2255425eba rom.sh: remove unnecessary check +* 39640d76a75 lbmk: minor cleanup +* c8dc701f3eb lib.sh mktarball: stricter tar error handling +* 58a53d7046f vendor.sh: don't err on bruteforce me extract +* 958fa34832a mk check_project_hashes: handle error on sha512sum +* 8b4b069e3f6 vendor.sh: remove unnecessary xchanged="y" +* 166dbb04c92 vendor.sh: set need_files="n" if skipping patch +* e90657cc734 vendor.sh: Don't handle vendor files if not needed +* 2e10a45fa36 Revert "lib.sh: use eval for the command in x_" +* 738d4bb6b6d lib.sh: fix bad eval writing resized file +* eb9e5d2d5d4 lib.sh: fix bad eval writing version/versiondate +* 3bfdecdc75b lib.sh: use eval for the command in x_ +* 4fa3bb9e5b1 mk: use eval to run mkhelp commands +* 9b3635718a8 mk: tidy up the switch/case block in main() +* 0c381028abc mk: tidier error handling +* 023f9cf0498 lib.sh: tidy up the error handling +* cb3253befb9 rom.sh: tidy up error handling +* 7af46721bcb vendor.sh: tidy up error handling +* 04ebb3b91a0 vendor.sh: tidy up decat_fspfd() +* 0c87fdf96ad git.sh: clean up fetch_project() +* 9eb8856b3c5 mk: Remove unnecessary argument checks on trees() +* 52f3d54116f vendor.sh: properly call err_ in fail_inject +* c4c6692b761 remove xbmk_parent, handle forking in lib.sh +* fd5431db05d lib.sh: define x_ right after err_ +* 972681a127b mk: minor cleanup +* b41cd39b686 lib.sh: minor cleanup +* 49939502648 mrc.sh: minor cleanup +* c158d82298b rom.sh: minor cleanup +* cb36248c8c0 vendor.sh: tidy up check_release() +* 409cab39c56 vendor.sh: tidy up vendor_inject() +* 12b1623e473 vendor.sh: tidy up readcfg() +* 0d85f061e2e vendor.sh: tidy up patch_release_roms() +* 61f20141028 vendor.sh: tidy up process_release_roms() +* 5901f36e49d vendor.sh: tidy up patch_rom() +* 082930ce0e7 vendor.sh: tidy up inject() +* e1f91f30372 vendor.sh: tidy up modify_mac_addresses() +* 3181ac50126 script/trees: merge with mk and delete script/ +* 3d03dd1a507 mk: remove the legacy "roms" command +* f0c629dcc6c lib.sh: write version/versiondate to dotfiles +* 23b942c83e9 lib.sh: hardcode projectname/projectsite +* a03bb793aea remove update/vendor symlinks +* d7f80ebe71e move build to mk +* 57d58527fd0 trees: unify the execution of mkhelper commands +* e5262da4be7 trees: tidy up configure_project() +* 51798278397 build: make coreboot building an else in "roms" +* c189257888a trees: don't build dependencies if dry=":" +* 115a66fddd3 trees: unified handling of flags +* 3ea633cc791 trees: simplified handling of badhash/do_make +* 9be40e94a2b trees: don't set mode on ./mk -b +* 67ad7c2635c trees: don't set mod on ./mk -d +* 24448948419 trees: don't initialise mode to "all" +* 97c50a39a60 trees: clean up some comments +* cfb14fd8dd8 vendor.sh: simplified readkconfig() +* 5b697b93a2d lib.sh: double-quote pwd to prevent globbing +* 5a0a24f5559 lbmk: unified PWD handling (work directory) +* a25a29cfbb7 lib.sh: initialise PATH if it's unset +* 1022abf6991 move XBMKPATH to include/lib.sh +* 0764c969a29 lbmk: use pwd util, not PWD environmental variable +* f98b9b01107 clean up a few semicolons in the build system +* 8ccb61cc718 trees: err if first argument is not a flag +* 947c3e1a176 trees: err if no argument given +* edbbde0b12d trees: set dry=":" on ./mk -f +* 33bb0ecf764 trees: clean up initialisation of the dry variable +* c7636ff1dfc trees: initialise mode to "all", not "" +* d0bd12631a6 trees: don't abuse the mode variable on -f +* c4cd876c609 trees: Add missing flag to error output +* 5ebcae5235f lbmk: minor code formatting cleanup +* 70cef71dbab grub/xhci: Remove unused patch +* 3f14a470a2e remove _fsp targets (keep _vfsp) +* d7312260e7e util/nvmutil: remove excessive comments +* e348ea0381a Bump GRUB revision to add 73 security patches +* 4b228c11f9f Merge pull request 'Update pico-serprog revision' (#271) from Riku_V/lbmk:master into master +|\ +| * a8359e30b27 Update pico-serprog revision +|/ +* d2cb954933b util/nvmutil: Fix bad error messages on R/W +* e1e515bd22a util/nvmutil: hardened pledge on help output +* ada057a865c Merge pull request 'Simplify the README' (#269) from runxiyu/lbmk:readme-simplification into master +|\ +| * 9ced146b47c README.md: Use newlines instead of bulleted list for docs/support links +| * 266122592cd README.md: Use the EFF's page on Right to Repair +| * e36aa8c5a5c README.md: Vastly simplify it +| * c17f4381ce5 README.md: Mention SeaBIOS and U-Boot instead of Tianocore as payloads +|/ +* 47eb049cb47 Merge pull request 'deps/arch: genisoimage belongs to cdrtools' (#267) from runxiyu/lbmk:master into master +|\ +| * fa9a0df2458 deps/arch: genisoimage belongs to cdrtools +|/ +* a98490573be util/nvmutil: only set mac_updated at the end +* 6b9cf09ca21 restore old x230 gbe file +* 8a435355135 util/nvmutil: Fix bad comparison +* a65a0c2f963 util/nvmutil: allow ./nvm gbe MAC +* 96356ce94f6 util/nvmutil: move "e" to swap() +* b1d8975959d util/nvmutil: Only read up to 4KB on larger gbe +* 6821659bcb2 util/nvmutil: fix minor mistake (line break) +* 3bb7520f6d9 util/nvmutil: do setmac if only filename given +* d94b274fd9f vendor.sh: don't error if grep -v fails +* 6ebdd3c72ba vendor.sh: Don't show gbe filename on inject +* a08748a9eda util/nvmutil: don't say write not needed if errno +* 6841a351ebc util/nvmutil: print dump *after* modification +* da0a6c216cf util/nvmutil: verbosely print the written MAC +* db5879c6b5a util/nvmutil: minor cleanup in cmd_dump +* bd7215d1eb7 util/nvmutil: show nvm words written on writeGbe +* c70117c79c4 util/nvmutil: clean up readonly check on writeGbe +* cf5a63e65ca util/nvmutil: Remove useless gbeFileChanged var +* 83601aa524b util/nvmutil: reset errno if any MAC updated +* 3e86bf5ce25 util/nvmutil: reset errno when writing a MAC +* bcf53cc2cc0 util/nvmutil: show total number of bytes read +* c91cc329cf8 util/nvmutil: rename tbw/bw to tnw/nw +* 90607108330 util/nvmutil: err if bytes read lower than nf +* c72f699d368 util/nvmutil: err if fewer bytes written +* d666f67ebe5 util/nvmutil: Show bytes written in writeGbe +* b2d6393ed5f util/nvmutil swap(): ensure that no overflow occurs +* 063fef14d34 util/nvmutil: make swap() a bit clearer +* fd1bbdc96cb util/nvmutil: make 0x3f checksum position a define +* 5ddf7f251d6 util/nvmutil: make 128 (nvm area) a define +* 8850acc7da6 util/nvmutil swap(): Only handle the nvm area +* 49506a88328 util/nvmutil: move write checks to writeGbe +* 948377b0e7e util/nvmutil: make cmd_swap its own function again +* 6e134c9f4bf util/nvmutil: minor cleanup +* 98e105ac4f1 util/nvmutil: allocate less memory for setchecksum +* 52e8ea57f7b util/nvmutil: Further reduce memory usage +* 7a7d356824e util/nvmutil: Remove unnecessary buf16 variable +* cdf23975bc1 util/nvmutil: Only allocate needed memory for file +* ed45da9cae5 util/nvmutil: Remove unnecessary buffer +* ec3148dc3b5 util/nvmutil: Show specific error for bad cmd argc +* 073420d3056 util/nvmutil: cleaner argument handling +* a6c18734e70 util/nvmutil: extreme pledge/unveil hardening +* deb307eaf63 util/nvmutil: more minor cleanup +* c14eccaf153 util/nvmutil: more granular MAC parsing errors +* 88fb9cc90ea util/nvmutil: more cleanup +* 5aaf27f80c3 remove errant comment in nvmutil +* c829b45c17c util/nvmutil: support 16kb and 128kb gbe files +* a98ca5bf65c util/nvmutil: Prevent unveil allowing dir access +* 68c32034a00 typo: nvme should say nvm in nvmutil.c +* c944c2bbac7 util/nvmutil: General code cleanup +* 8c65e64e398 snip +* f666652fe15 snip +* 64d3c7b5150 grub/xhci: Add xHCI non-root-hub fixes from Nitrokey +* 7bf0d4c2ed5 add gnults-devel to fedora 41 dependencies +* 66d084e7f7c grub.cfg: scan luks *inside lvm* +* 5a3b0dab966 grub.cfg: Scan *every* LVM device +* 3c9f4be76f6 Libreboot 20241206, 8th revision +* d4cc94d6b44 rom.sh: don't run mkpicotool on dry builds +* de6d2f556f1 pico-sdk: Import picotool as a dependency +* 4210ee68ea2 lib.sh: Much safer python version check +* 8c7ba6131cc coreboot/next uprev: Fix T480 backlight keys +* 411fb697dfc set up python in PATH, ensuring that it is python3 +* e8336bcc3ca vendor.sh: Proper semantics on prefix file names +* 63f45782638 vendor.sh: Confirm if need_files=n +* 13b06ae130f vendor.sh: Allow restoring the default GbE file +* ab8feff92e0 vendor.sh: set random MAC address *by default* +* 0ceaa01d45d vendor.sh: add clarification to nogbe warning +* 4d5caf1dcfc vendor.sh: check that the vcfg file exists +* fc4ee88e167 vendor.sh: error out if nuking failed +* 8819a93d89b add line break, part 3 +* 8ce1a00f517 add line break, part 2 +* bc2c14e76a8 add line break +* c762850311a vendor.sh: prevent double-nuke +* 68299ad05ca vendor.sh: much more verbose errors/confirmation +* b8e6d12f3d9 add libx86 to arch dependencies +* cf8ad497b4e vendor.sh: Remove unnecessary return +* c858099b359 vendor.sh: Download utils even if vcfg unset +* ce16856a242 vendor.sh: Allow setmac if vendorfiles not needed +* 4b51787d078 add less to arch dependencies +* 8bd028ec153 lib.sh: Set python after dependencies +* 44b6df7c24c update my copyright years on modified scripts +* 818f3d630c2 vendor.sh: Don't error if vcfg is unset +* 432a1a5bca7 lib.sh: Fix unescaped quotes in chkvars() +* a73b0fd910a Revert "fix more unescaped quotes in eval" +* ec6bcc1fba5 fix more unescaped quotes in eval +* 5284f20b981 fix ./mk dependencies build issue +* d825f9a9683 rom.sh: Remove errant GRUB modules check +* 4149f3dc81a submodule/grub: use codeberg for 1st gnulib mirror +* 0305975e705 util/nvmutil: Update AUTHORS and COPYING files +* 20b192e13bd util/nvmutil: Describe nvmutil in help output +* d1ca21628cb util/nvmutil: Remove the correct binary on uninstall +* e63fe256dfc util/spkmodem-recv: More correct Makefile +* efd50ee548b util/nvmutil: Honour the INSTALL variable +* 8008838abbc util/nvmutil: Don't clean when doing uninstall +* 982f257f58a util/nvmutil: Proper DESTDIR/PREFIX handling +* 3f85ae5f853 util/nvmutil: Set CC and CFLAGS only if unset +* 2c7b9fb9412 util/nvmutil: Capitalise BABA +* 57f9906f6d1 util/nvmutil: Add uninstall to Makefile +* 4defe2c6085 util/nvmutil: Add distclean to Makefile +* 033e4cd9d50 util/nvmutil: Make the GbE checksum a define +* 874317c4e59 util/nvmutil: nicer hexdump display +* a338e585eed util/nvmutil: show the correct hexdump order +* b032e483ef1 lib.sh mktarball: cleaner if statement +* 0cf58c22734 fix lbmk shellcheck errors +* 8276560cc99 lib.sh and rom.sh: update my header +* 08e86d2218c vendor.sh inject: reset err upon return +* 41275d699ca vendor.sh: MUCH, MUCH, MUCH safer ./mk inject +* ed7293494e3 util/nvmutil: Obey the 79-character per line limit +* 637b5e36fd2 util/nvmutil: Tidy up copyright header +* cd28db883e2 vendor.sh: fix comment +* 57971ceb227 util/nvmutil: Fix another straggler +* 15b37b2a1ab util/nvmutil: Tidy up pledge calls +* e8799310db2 hp820g2: fix vendorfile inject and set release=y +* f9ab082ec19 fedora41/dependencies: add libuuid-devel +* 661591f9f0b add uuid-devel to fedora41 dependencies +* 1a46c047386 support ./mk dependencies fedora reinstall +* d58d63569f1 fix missing semicolon in grub nvme patch +* 95ea3293df5 bump seabios to rev 1602647f1 (7 November 2024) +* 6d7e6c361b3 Bump GRUB revision to 6811f6f09 (26 November 2024) +* 09a01477df6 t480/3050micro: force power off post power failure +* d344cd95eac flashprog: Disable -Werror +* dc95e912bfe bump flashprog to revision eb2c041 (14 Nov 2024) +* 27c8c1c16ba replace liblz4-tool with lz4 and liblz4-dev +* d3a732a64db lib.sh dependencies: support --reinstall argument +* 466ada423dd move xbmkpath to XBMK_CACHE/ +* b0a23840327 Revert "Remove legacy update/vendor commands" +* 3d7dd4aa9fe Fix U-Boot build issue with Swig 4.3.0 +* 0c810747469 use command -v instead of which +* 6c7e3ce2d6e trees: remove unnecessary subshell +* ad137eae89d trees: only symlink host gcc/gnat to build xgcc +* cfb6de94c33 trees: correction on check_gnu_path +* ec2f0716662 trees: match gcc/gnat versions both ways +* f64b5996279 Merge path.sh into script/trees +* 295463d281e path.sh: Further cleanup +* 5b24e0a5a96 path.sh: More thorough gcc/gnat version check +* 7849a075886 path.sh: minor cleanup +* 17168a87dbf path.sh: remove unnecessary shebang +* e565df94fd7 Fix globbing issue in lbmk +* c80cc0a00b6 remove auto-confirm on distro dependencies +* 01fc65a0a9d Mitigate Debian Trixie/Sid GCC/GNAT version mismatch +* 424b0c7103b t480/3050micro: disable hyperthreading +* 603105f3b4e t480/t480s: Disable TPM2 to mitigate SeaBIOS lag +* 754bd1e6ca3 rom.sh: Name pico directory serprog_pico +* db22308eba5 add 2024 to Riku's copyright header on rom.sh +* 4fa5f696db8 Merge pull request 'rp2530' (#258) from Riku_V/lbmk:rp2530 into master +|\ +| * a5e0360992d pico-sdk: update to 2.1.0 +| * e2f8cc7f3ee pico-serprog: enable building for multiple pico chips +|/ +* ccc2b4d589f add spdx headers to dependencies configs +* a3969701e6b dependencies/debian: fix debian sid +* 8f370cb60d9 add spdx headers to various config files +* d591ea4c5dc git.sh: don't initialise livepull globally +* b5da9feba3b vendor.sh: Print useful message on ./mk inject +* 12c6259cb2f vendor.sh: Handle FSP insertion post-release +* 78132051462 Remove legacy update/vendor commands +* 07037561bd6 lbmk: remove use of deprecated ./vendor command +* 5d1f1823067 vendor.sh: Safer exit when vendorfiles not needed +* a18175a5df9 data/deguard: Remove unused patch +* ee8f53b96ff lib.sh: Safer exit from ./mk dependencies +* a8b35c88cf1 remove geteltorito and mtools from lbmk +* 1dd32ea5487 rom.sh: support grub-first setups +* f7801ef4770 vendor.sh: delete old tb.bin first, just in case +* 02cbf8a729d vendor.sh: make TBFW pad size configurable +* 9884e5ed1b0 T480/T480S: Support fetching ThunderBolt firmware +* 36b42dd1c11 also de-rainbow the u-boot menu +* eafc82028a4 Revert "use rainbow deer on the grub background" +* 44969c73bd2 rom.sh: insert grub background in cbfs not memdisk +* 401efb24b22 use rainbow deer on the grub background +* dc27cb91784 add some scripts to .gitignore +* 3b6b283eabe disable 3050micro nvme hotplug +* c2023921893 fix t480 spd size (512, not 256) +* da527459b68 add tarballs and signatures to gitignore +* b910424b5df fix another very stupid mistake +* e3b77b132e6 fix the stupidest bug ever ``` +This is about 650 changes. + Revision releases ----------------- @@ -881,4 +1521,10 @@ is *rev1*. No revisions, thus far. The original 25.06 release is the current revision, so it could be considered *rev0* (revision zero). +Build testing +------------- + +This release was built on the latest Debian 12.10 Bookworm release, as of +this day. It was also build-tested successfully on the latest Arch Linux updates +as of 26 June 2025. From b0744ca0eaca241634af792b11d9e0e2a57dcf21 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Tue, 1 Jul 2025 09:35:02 +0100 Subject: [PATCH 278/279] remove redundant pic Signed-off-by: Leah Rowe --- site/news/libreboot2506.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/site/news/libreboot2506.md b/site/news/libreboot2506.md index 69a9edf..962dac5 100644 --- a/site/news/libreboot2506.md +++ b/site/news/libreboot2506.md @@ -27,8 +27,6 @@ there, before flashing. For posterity, Open source BIOS/UEFI firmware ---------------------------- - - Libreboot is a free/open source BIOS/UEFI replacement on x86 and ARM, providing boot firmware that initialises the hardware in your computer, to then load an operating system (e.g. Linux/BSD). It is specifically From e377afa37b5657f72aba04374924f6bd6c87b974 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Thu, 3 Jul 2025 08:11:18 +0100 Subject: [PATCH 279/279] summarised changelog provide this so that people looking at the release can more easily get a grasp of the overall change in this release. Signed-off-by: Leah Rowe --- site/news/libreboot2506.md | 77 +++++++++++++++++++++++++++++++++++++- 1 file changed, 76 insertions(+), 1 deletion(-) diff --git a/site/news/libreboot2506.md b/site/news/libreboot2506.md index 962dac5..f99252c 100644 --- a/site/news/libreboot2506.md +++ b/site/news/libreboot2506.md @@ -43,7 +43,82 @@ or GRUB to boot your operating system; on ARM(chromebooks) and certain x86 mainboards, we provide *U-Boot* (as a coreboot payload), which provides a lightweight UEFI implementation.. -Summarised list of changes +Sumarised list of changes +------------------------- + +This section provides a brief overview, summarising all of the changes. The +next sections (after this) show *all* changes in detail. + +The most important changes are, thus: + +New mainboards: + +* Acer Q45T-AM support added (similar to G43T-AM3 mainboard) +* Dell Precision T1700 SFF and MT + +Revision updates: + +* GRUB, SeaBIOS, Untitled, flashprog, U-Boot, uefitool have all been updated + to newer revisions, from ~April 2025. + +Security: + +* GRUB has has *a lot* of security fixes applied to it from upstream, including + a very large series of *73* major security fixes, and a few minor tweaks + after the fact. +* Globbing issues fixed in the Libreboot build system, lbmk. Better error + handling in general. +* ThinkPad T480/3050micro: Disable hyperthreading by default + +Feature changes: + +* Better, more reliable caching of Git repositories and files during download. + Re-builds of sources make better use of local caching, instead of downloading + from scratch every time (e.g. coreboot and GRUB sources). +* Handling of vendor files is more reliable, caching everything more aggressively + and even verifying checksums of *extracted* files, from inside update archives. +* Non-root USB hub support added to GRUB, for xHCI devices +* GRUB: better LVM scanning, for auto-boot especially with encrypted `/boot/`; + Linux distros are easier to handle, in general. +* Safer handling of vendor files; release images padded to prevent flashing, + where such files are needed, until they have been inserted. +* Better MAC address handling, on IFD-based systems. Insertion of MAC addresses + is done by default, randomised by default, unless overridden by the user. + +Config changes: + +* Removed unnecessary sources by default, to make source archives smaller. Only + the sources needed to build the binaries are included, in many cases. +* Updated various dependencies configs, for installing build dependencies in + various Linux distros (for the `./build dependencies` command which installs + them in your distro). + +Bug fixes: + +* Better checksum verification for project files, when deciding whether to + re-build a given upstream source. +* General build system fixes, making the build process more reliable, with + much stricter error handling (and some false error conditions have also been + removed). +* GRUB payload: Mark E820 reserved for cbmem, which means that you no longer + need `iomem=relaxed` (kernel option) at boot time, to access the cbmem console. +* Use `x` instead of `?` in nvmutil, as a character for randomness in MAC + addresses, to work around a design quirk in ZSH. +* Where files are operated on post-build, e.g. coreboot images, more strictly + operate on them first, erroring out more reliably when a fault occurs; prevent + bad files from being copied to final build destinations. This reduces the + chance of bad/corrupt build artifacts being present in release builds. +* HP EliteBook 820 G2 images now included in releases, because handling of + the refcode files was corrected so that checksum verification passes during + insertion. + +This, and more, has all been done. There was also a general focus on heavily +auditing the build system, lbmk, so as to clean up the code. The amount of +overall code in lbmk was *reduced*, without removing functionality. + +These next sections will repeat many of the above items, but in more detail. + +Detailed list of changes ------------------------- ### Board support