index.php 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. <?php
  2. /*
  3. Download page
  4. Copyright (C) 2015 Leah Woods <info@minifree.org>
  5. This program is free software: you can redistribute it and/or modify
  6. it under the terms of the GNU Affero General Public License as
  7. published by the Free Software Foundation, either version 3 of the
  8. License, or (at your option) any later version.
  9. This program is distributed in the hope that it will be useful,
  10. but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. GNU Affero General Public License for more details.
  13. You should have received a copy of the GNU Affero General Public License
  14. along with this program. If not, see <http://www.gnu.org/licenses/>.
  15. */
  16. header('Content-type: text/html; charset=utf-8');
  17. ob_start();
  18. include_once "../common/variables.php";
  19. include_once "../common/functions.php";
  20. ?>
  21. <!DOCTYPE html>
  22. <html>
  23. <head>
  24. <link rel="stylesheet" type="text/css" href="../common/css/main.css" />
  25. <title><?php echo gettext("Download libreboot"); ?></title>
  26. </head>
  27. <body>
  28. <div>
  29. <h1><?php echo gettext("Download libreboot (stable releases)"); ?></h1>
  30. <p>
  31. <strong>
  32. <?php echo gettext("The latest stable release is"); ?> <?php echo $lbRelease[0][0][0]; ?>,
  33. <?php echo gettext("released on"); ?> <?php echo $lbRelease[0][0][1]; ?> and can be
  34. found at <a href="#https">#https</a>.
  35. </strong> <a href="../"><?php echo gettext("Back to home page"); ?></a>
  36. </p>
  37. <p>
  38. <strong>The current stable release is quite old at this point. We're working on a new release,
  39. and welcome everyone to get involved in testing for bugs in the <a href="#unstable">unstable releases</a>
  40. which are up to date and usually updated at least once every week.</strong>
  41. </p>
  42. <p>
  43. If you're more interested in libreboot development, go to the <a href="../git/">libreboot development page</a>, which
  44. also includes links to the Git repositories. <strong>For a list of tasks remaining for the next stable release
  45. of libreboot, see <a href="#tasks">#tasks</a>. Help is appreciated!</strong>
  46. </p>
  47. <h2>Do you have a mirror?</h2>
  48. <p>
  49. Let us know! We will add it here. Instructions for how to mirror libreboot
  50. releases can be found <a href="../rsync/">here</a>.
  51. </p>
  52. <h2 id="https">HTTPS mirrors</h2>
  53. <p>
  54. These mirrors are recommended, since they use TLS (https://) encryption.
  55. </p>
  56. <?php
  57. echo mirrorList($lbHttpsMirror, gettext("HTTPS mirrors not added yet."),0,count($lbHttpsMirror));
  58. ?>
  59. <h2 id="http">HTTP mirrors</h2>
  60. <p>
  61. WARNING: these mirrors are non-HTTPS which means that they are unencrypted. Your traffic could be subject
  62. to interference by adversaries. Make especially sure to check the GPG signatures, assuming
  63. that you have the right key. Of course, you should do this anyway, even if
  64. using HTTPS.
  65. </p>
  66. <?php
  67. /* show HTTP mirrors */
  68. echo mirrorList($lbHttpMirror, gettext("HTTP mirrors not added yet."),0,count($lbHttpMirror));
  69. ?>
  70. <h2 id="ftp">FTP mirrors</h2>
  71. <p>
  72. WARNING: FTP is also unencrypted, like HTTP. The same risks are present.
  73. </p>
  74. <?php
  75. /* show FTP mirrors */
  76. echo mirrorList($lbFtpMirror,gettext("FTP mirrors not added yet."),0,count($lbFtpMirror));
  77. ?>
  78. </div>
  79. <div>
  80. <h1 id="unstable">Download libreboot (unstable/beta releases)</h1>
  81. <p style="font-size:120%">
  82. <strong>WARNING: there is no guarantee that these releases will work. They may even render your system unusable (brick it).
  83. Proceed with caution.</strong>
  84. </p>
  85. <p>
  86. <a href="../beta/">Download the unstable releases here</a> (snapshot archives, with ROM images compiled).
  87. This is useful if you want to help with testing for bugs/regressions before release, or if you just
  88. want to run the latest version of libreboot compiled from the current git repository.
  89. </p>
  90. <p>
  91. Over time, stable libreboot release cycles have become much slower, due to more boards being supported
  92. and more work being done, which means a lot more testing/fixing needs to be done before each release.
  93. Therefore, we now offer unstable releases in between stable releases.
  94. These releases are updated fairly regularly, built from the latest version of libreboot
  95. from the <a href="../git/">git repository</a>.
  96. </p>
  97. <h2 id="tasks">Work to do for the next stable release of libreboot (<a href="#tasks">#tasks</a>):</h2>
  98. <p>
  99. Go to the <a href="../git/">libreboot development page</a>, which
  100. also includes links to the Git repositories. This shows how to submit patches.
  101. </p>
  102. <p>
  103. Fix uneven backlight levels when turning brightness down on all thinkpads.
  104. </p>
  105. <p>
  106. Fix broken suspend on GM45 thinkpads (regression in coreboot. Will require bisect. It works in libreboot 20150518).
  107. </p>
  108. <p>
  109. Make sure that the KCMA-D8 and KGPE-D16 ports are stable. Make sure generally that all boards work properly and are stable.
  110. </p>
  111. <h2>OPTIONAL (but very desirable) work to do before the next release of libreboot, if possible:</h2>
  112. <p>
  113. BARELY OPTIONAL (and extremely desirable): reproducible builds.
  114. </p>
  115. <p>
  116. OPTIONAL (but desirable): fix broken text-mode graphics initialization on GM45 laptops
  117. (framebuffer mode works. Lack of text-mode means that memtest86+ is not usable easily).
  118. </p>
  119. <p>
  120. OPTIONAL (but desirable): fix screen compatibility issues on some GM45 thinkpads
  121. (see <a href="http://libreboot.org/docs/hcl/gm45_lcd.html">this page</a>)
  122. and some T60 laptops (see <a href="../docs/future/index.html#lcd_i945_incompatibility,future/index.html#lcd_i945_incompatibility">this page</a>).
  123. For GM45 thinkpads, look at these pages (coreboot is doing something wrong companed to the linux kernel):
  124. <a href="https://lists.freedesktop.org/archives/intel-gfx/2012-March/015349.html">this</a>,
  125. <a href="https://lists.freedesktop.org/archives/intel-gfx/2012-March/015350.html">this</a>, and
  126. <a href="https://lists.freedesktop.org/archives/intel-gfx/2012-March/015351.html">this</a>
  127. - check whether coreboot is doing this
  128. </p>
  129. <p>
  130. OPTIONAL (but desirable): re-write ich9gen/ich9deblob to be portable. It currently assumes endiannesses, uses bitfields, etc.
  131. It's not portable at all, but works on x86 and little-endian ARM in most cases.
  132. </p>
  133. <p>
  134. DUBIOUSLY OPTIONAL (actually probably required, and very desirable): Get more RK3288 and Tegra chromebooks supported.
  135. PaulK is interested in this, and needs funding to get the hardware. PaulK's contact details can be
  136. found in the <a href="../contrib/">contrib</a> page.
  137. This could take months though, so probably won't be done before the next release.
  138. </p>
  139. <ul class="c">
  140. <li>
  141. The documentation is now fully converted to Texinfo. All we need now are
  142. build scripts, e.g.:<br/>
  143. <ul>
  144. <li>./build docs html</li>
  145. <li>./build docs html-onepage</li>
  146. <li>./build docs pdf</li>
  147. <li>etc</li>
  148. </ul>
  149. </li>
  150. <li>
  151. Modify the build system, to make use of standard GNU utilities: make, autoconf and so on. The current build system is
  152. non-standard (but well documented), written mostly in BASH.Read these documents:
  153. <ul>
  154. <li><a href="https://www.gnu.org/prep/standards/html_node/Standard-Targets.html">https://www.gnu.org/prep/standards/html_node/Standard-Targets.html</a></li>
  155. <li><a href="https://www.gnu.org/prep/maintain/maintain.html#Distributions">https://www.gnu.org/prep/maintain/maintain.html#Distributions</a></li>
  156. </ul>
  157. </li>
  158. <li>
  159. Modify the build system, to
  160. directly download the
  161. build dependencies
  162. that libreboot
  163. currently tells the
  164. user to install from
  165. their distribution
  166. package repository.
  167. (Only in Git. Release
  168. archives would have
  169. them already). Build
  170. these from source,
  171. with our own GCC
  172. (re-using coreboot's
  173. GCC, which libreboot
  174. already uses). This
  175. will make <em>complete
  176. corresponding
  177. source</em> provision
  178. easier, because it
  179. would be automated;
  180. this is in contrast to
  181. the present setup,
  182. where the person
  183. distributing binaries
  184. has to include the
  185. sources for build
  186. dependencies from the
  187. distribution that they
  188. happened to use for
  189. compiling those
  190. packages.
  191. <ul>
  192. <li>This will also make everything self-contained, and coreboot already has integration for cross-compiling. We can make cross compilation
  193. of utilities for non-x86 architectures much easier, without relying on quirks from the user's GNU/Linux distribution, where the
  194. only thing we need from their distribution is the necessary toolchain for building <em>libreboot's own version of GCC</em>, which would then take over</li>
  195. <li>
  196. However, do not install these dependencies, only self-host them in the libreboot source archive. Also provide an option for the user to ignore libreboot's
  197. GCC and dependencies, and use what their GNU/Linux distribution provides, when building from source.
  198. </li>
  199. </ul>
  200. </li>
  201. </ul>
  202. </div>
  203. <?php
  204. include "../common/ccs.php";
  205. include "../common/footer.php";
  206. ?>
  207. </body>
  208. </html>
  209. <?php
  210. $strHtml = ob_get_clean();
  211. echo miniHtml($strHtml);
  212. ?>