diff options
Diffstat (limited to 'docs/index.html')
-rw-r--r-- | docs/index.html | 648 |
1 files changed, 363 insertions, 285 deletions
diff --git a/docs/index.html b/docs/index.html index b4289722..666569f6 100644 --- a/docs/index.html +++ b/docs/index.html @@ -49,7 +49,8 @@ <h2>Working with source code</h2> <ul> - <li><a href="#build_meta">Building libreboot_src from libreboot_meta</a></li> + <li><a href="#build_dependencies">Install build dependencies</a></li> + <li><a href="#build_meta">Get the full source code from metadata (git clone)</a></li> <li><a href="#build_bucts">How to build "bucts" (for LenovoBIOS X60/X60S/X60T/T60)</a></li> <li><a href="#build_flashrom">How to build "flashrom"</a></li> <li> @@ -65,22 +66,15 @@ <li><a href="#build">How to build your ROM's</a></li> </ul> - <h2>Hardware maintenance</h2> + <h2>Supported hardware</h2> <ul> <li><a href="#supported_list">List of supported hardware</a></li> - <li><a href="#supported_x60_list">List of supported ThinkPad X60's</a></li> + <li><a href="#recommended_wifi">Recommended wifi chipsets</a></li> + <li><a href="#supported_x60_list">List of supported ThinkPad X60/X60s</a></li> <li><a href="#supported_x60t_list">List of supported ThinkPad X60 Tablets</a></li> <li><a href="#supported_t60_list">List of supported ThinkPad T60's</a></li> <li><a href="#t60_ati_intel">ThinkPad T60 (ATI GPU) and ThinkPad T60 (Intel GPU) differences.</a></li> - <li><a href="howtos/t60_lcd_15.html">ThinkPad T60 15.1" changing LCD panel</a></li> - <li><a href="howtos/x60_heatsink.html">ThinkPad X60/X60S: change the fan/heatsink</a></li> - <li><a href="howtos/t60_heatsink.html">ThinkPad T60: change the fan/heatsink</a></li> - <li><a href="howtos/x60_security.html">ThinkPad X60/X60S: security</a></li> - <li><a href="howtos/t60_security.html">ThinkPad T60: security</a></li> - </ul> - - <h2>Macbook2,1</h2> - <ul> + <li><a href="#macbook11">Information about the Macbook1,1</a></li></li> <li><a href="#macbook21">Information about the Macbook2,1</a></li></li> </ul> @@ -98,38 +92,37 @@ <li><a href="howtos/x60tablet_unbrick.html">ThinkPad X60 Tablet: How to unbrick</a></li> <li><a href="howtos/t60_unbrick.html">ThinkPad T60: How to unbrick</a></li> </ul> + + <h2>Security topics</h2> + <ul> + <li><a href="howtos/x60_security.html">ThinkPad X60/X60S: hardware security</a></li> + <li><a href="howtos/t60_security.html">ThinkPad T60: hardware security</a></li> + <li><a href="howtos/encrypted_trisquel.html">Installing Trisquel GNU/Linux with full disk encryption (including /boot)</a></li> + </ul> + + <h2>Hardware maintenance</h2> + <ul> + <li><a href="howtos/x60_heatsink.html">ThinkPad X60/X60S: change the fan/heatsink</a></li> + <li><a href="howtos/x60_lcd_change.html">ThinkPad X60/X60s: How to change the LCD panel</a> (incomplete. pics only for now)</li> + <li><a href="howtos/t60_lcd_15.html">ThinkPad T60 15.1" changing LCD panel</a></li> + <li><a href="howtos/t60_heatsink.html">ThinkPad T60: change the fan/heatsink</a></li> + </ul> <h2>GRUB2 payload</h2> <ul> <li><a href="#grub_font">Setting font in GRUB</a></li> <li><a href="#grub_keyboard">GRUB keyboard layouts</a> <ul> - <li> - <a href="#keyboards">Pictures of keyboard layouts</a> - <ul> - <li><a href="#keyboards_ukqwerty">QWERTY (United Kingdom)</a></li> - <li><a href="#keyboards_usqwerty">QWERTY (United States)</a></li> - <li><a href="#keyboards_ukdvorak">Dvorak (United Kingdom)</a></li> - <li><a href="#keyboards_usdvorak">Dvorak (United States)</a></li> - <li><a href="#keyboards_frazerty">Azerty (French)</a></li> - <li><a href="#keyboards_itqwerty">QWERTY (Italian)</a></li> - </ul> - </li> <li><a href="#grub_custom_keyboard">Custom keyboard layout in GRUB</a></li> - <li><a href="#grub_qwerty_keyboard">US Qwerty keyboard layout in GRUB</a></li> - <li><a href="#grub_ukqwerty_keyboard">UK Qwerty keyboard layout in GRUB</a></li> - <li><a href="#grub_dvorak_keyboard">US Dvorak keyboard layout in GRUB</a></li> <li><a href="#grub_ukdvorak_keyboard">UK Dvorak keyboard layout in GRUB</a></li> - <li><a href="#grub_frazerty_keyboard">French AZERTY keyboard layout in GRUB</a></li> - <li><a href="#grub_itqwerty_keyboard">Italian QWERTY keyboard layout in GRUB</a></li> </ul> </li> </ul> <h2>Miscallaneous</h2> <ul> - <li><a href="#tft_brightness">Brightness controls (ThinkPad X60) - how to prevent 'scrolling'</a></li> <li><a href="#x60_wifi">ThinkPad X60: Enable or disable wifi</a></li> + <li><a href="#x60_bluetooth">ThinkPad X60: Enable or disable bluetooth</a></li> <li><a href="#x60_trackpoint">ThinkPad X60: Enable or disable trackpoint</a></li> <li><a href="#high_pitch_trisquel">High Pitched Whining Noise on Idle (how to remove in Trisquel)</a> <ul> @@ -156,7 +149,7 @@ </li> <li> Coreboot is hacker-friendly and focusses on software developers, libreboot is user-focussed and attempts to - turn coreboot into a distribution, much in the same vein as a GNU/Linux distribution: for example, libreboot + turn coreboot into a distribution, sort of like a GNU/Linux distribution (same concept, different software): for example, libreboot distributes GRUB/memtest86+/bucts (and more) and comes with user-focussed documentation and build scripts; libreboot is therefore made more 'user-friendly'. </li> @@ -205,21 +198,39 @@ <hr/> - <h1 id="build_meta">How to build libreboot_src from libreboot_meta</h1> + <h1 id="build_dependencies">Install build dependencies</h1> <p> - If you downloaded libreboot_meta.tar.gz, then you can use the scripts included - which download all of the extra dependencies and (basically) generates libreboot_src. + Before doing anything, you need the dependencies first. + </p> + <ul> + <li><b>deps-trisquel</b> script installs dependencies for Trisquel 6 (also tested in Trisquel 7).</li> + <li><b>deps-parabola</b> script installs dependencies for Parabola</li> + </ul> + + <p> + For all other GNU/Linux distributions, you may have to adapt these scripts. By all means send patches! + </p> + + <p><a href="#pagetop">Back to top of page</a></p> + +<hr/> + + <h1 id="build_meta">Get the full source code from metadata (git clone)</h1> + + <p> + If you downloaded libreboot from git, then there are some steps to download and patch + the source code for all relevant dependencies. The archive in the git repository used to be + available as a tarball called 'libreboot_meta.tar.gz'. It contains 'metadata' (scripts) + which define how the source was created (where it came from). </p> <p> - You need to install the build dependencies first. + You can use the scripts included to dwnload everything. </p> <p> - The following scripts installs them for apt-get distros.<br/> - Adapt what's in this script if you don't use an apt-get distro:<br/> - <b>$ sudo ./builddeb</b> + First, <a href="#build_dependencies">install the build dependencies</a>. </p> <p> @@ -234,7 +245,6 @@ </p> <p> - After that, you will have the full source. Rename libreboot_meta to libreboot_src. To build the ROM's, see <a href="#build">#build</a>. </p> @@ -262,7 +272,7 @@ <p> BUC.TS utility is included in libreboot_src.tar.gz and libreboot_bin.tar.gz.<br/> - <b>If you downloaded libreboot_meta.tar.gz, follow <a href="#build_meta">#build_meta</a> before you proceed.</b> + <b>If you downloaded from git, follow <a href="#build_meta">#build_meta</a> before you proceed.</b> </p> <p> @@ -271,8 +281,7 @@ </p> <p> - You need to install GCC. The following will work on apt-get distros (adapt that script if your distro doesn't use apt-get):<br/> - <b>$ sudo ./builddeb-bucts</b> + First, <a href="#build_dependencies">install the build dependencies</a>. </p> <p> @@ -281,7 +290,7 @@ </p> <p> - The "builddeps" script in libreboot_src and libreboot_meta also makes use of builddeps-bucts. + The "builddeps" script in libreboot_src also makes use of builddeps-bucts. </p> <p><a href="#pagetop">Back to top of page.</a></p> @@ -296,13 +305,11 @@ <p> Flashrom source code is included in libreboot_src.tar.gz and libreboot_bin.tar.gz.<br/> - <b>If you downloaded libreboot_meta.tar.gz, follow <a href="#build_meta">#build_meta</a> before you proceed.</b> + <b>If you downloaded from git, follow <a href="#build_meta">#build_meta</a> before you proceed.</b> </p> <p> - You need the build dependencies for flashrom. - The following script works in apt-get distros (tested in Trisquel 6):<br/> - <b>$ sudo ./builddeb-flashrom</b> + First, <a href="#build_dependencies">install the build dependencies</a>. </p> <p> @@ -335,7 +342,7 @@ </ul> <p> - The "builddeps" script in libreboot_src and libreboot_meta also makes use of builddeps-flashrom. + The "builddeps" script in libreboot_src also makes use of builddeps-flashrom. </p> <p><a href="#pagetop">Back to top of page.</a></p> @@ -398,6 +405,13 @@ <li>Mainboard / SMBIOS Product name = <i>1702L8G</i></li> <li>Chipset / Include CPU microcode in CBFS = <i>Do not include microcode updates</i></li> <li>Devices / Use native graphics initialization = <i>enable</i></li> + <li> + Display / Keep VESA framebuffer = <i>disable</i> (disable for text-mode graphics, enable for coreboot vesa framebuffer) + <ul> + <li>Libreboot provides this with text-mode enabled by default, but it automatically patches a copy of the config at boot time + to enable coreboot framebuffer for a separate set of ROM images, in each machine.</li> + </ul> + </li> <li>Generic Drivers / Digitizer = <i>Autodetect</i></li> <li>Console / Send console output to a CBMEM buffer = <i>enable</i></li> <li>Payload / Add a payload = <i>An ELF executable payload</i></li> @@ -437,6 +451,13 @@ <li>Mainboard / SMBIOS Product name = <i>6364WJ1</i></li> <li>Chipset / Include CPU microcode in CBFS = <i>Do not include microcode updates</i></li> <li>Devices / Use native graphics initialization = <i>enable</i></li> + <li> + Display / Keep VESA framebuffer = <i>disable</i> (disable for text-mode graphics, enable for coreboot vesa framebuffer) + <ul> + <li>Libreboot provides this with text-mode enabled by default, but it automatically patches a copy of the config at boot time + to enable coreboot framebuffer for a separate set of ROM images, in each machine.</li> + </ul> + </li> <li>Generic Drivers / Digitizer = <i>Present</i></li> <li>Console / Send console output to a CBMEM buffer = <i>enable</i></li> <li>Payload / Add a payload = <i>An ELF executable payload</i></li> @@ -472,6 +493,13 @@ <li>Mainboard / SMBIOS Product name = <i>1951FEG</i></li> <li>Chipset / Include CPU microcode in CBFS = <i>Do not include microcode updates</i></li> <li>Devices / Use native graphics initialization = <i>enable</i></li> + <li> + Display / Keep VESA framebuffer = <i>disable</i> (disable for text-mode graphics, enable for coreboot vesa framebuffer) + <ul> + <li>Libreboot provides this with text-mode enabled by default, but it automatically patches a copy of the config at boot time + to enable coreboot framebuffer for a separate set of ROM images, in each machine.</li> + </ul> + </li> <li>Console / Send console output to a CBMEM buffer = <i>enable</i></li> <li>Payload / Add a payload = <i>An ELF executable payload</i></li> <li>Payload / Payload path and filename = <i>grub.elf</i></li> @@ -506,6 +534,13 @@ <li>Mainboard / SMBIOS Product Name = <i>MacBook2,1</i></li> <li>Chipset / Include CPU microcode in CBFS = <i>Do not include microcode updates</i></li> <li>Devices / Use native graphics initialization = <i>enable</i></li> + <li> + Display / Keep VESA framebuffer = <i>disable</i> (disable for text-mode graphics, enable for coreboot vesa framebuffer) + <ul> + <li>Libreboot provides this with text-mode enabled by default, but it automatically patches a copy of the config at boot time + to enable coreboot framebuffer for a separate set of ROM images, in each machine.</li> + </ul> + </li> <li>Console / Send console output to a CBMEM buffer = <i>enable</i></li> <li>Payload / Add a payload = <i>An ELF executable payload</i></li> <li>Payload / Payload path and filename = <i>grub.elf</i></li> @@ -519,7 +554,7 @@ </ul> <p> The resulting .config file was saved as resources/libreboot/config/<b>macbook21/config</b> and is used by the build - scripts for this machine. + scripts for this machine. <b>This config is also used for the MacBook1,1</b>. </p> <p><a href="#pagetop">Back to top of page.</a></p> @@ -528,18 +563,11 @@ <h1 id="build">How to build the ROM's!</h1> - <p>If you have anything special in a directory called libreboot_bin, just outside of libreboot_src, - then back it up first.</p> - <p>You don't need to do much: there are scripts already written for you that can build everything automatically.</p> - <p>Install <b>all</b> dependencies (works on apt-get distros, tested in Trisquel 6)<br/> - <b>$ sudo ./builddeb</b></p> - - <p>If your distro uses a different package manager or package names, then you'll need to adapt what you see in - 'builddeb' and install it yourself - maybe you could share the script for your distro!</p> - - <p>Also, make sure that you have the sha512sum utility installed.</p> + <p> + First, <a href="#build_dependencies">install the build dependencies</a>. + </p> <p>If running for the first time, run this:<br/> <b>$ ./buildall</b> (also performs the "./build" step below)<br/> @@ -551,17 +579,23 @@ <b>$ ./build</b></p> <p>To un-build (clean) the build dependencies that you built before, do that:<br/> + This also deletes the ROM images under ./bin/:<br/> <b>$ ./cleandeps</b></p> <p>Note: after running 'cleandeps', you will need to run 'builddeps' or 'buildall' again before you can use 'build'.</p> - <p>After 'build' or 'buildall' has finished, an ../libreboot_bin directory will exist outside of libreboot_src containing the ROM's and other files. In libreboot_src will also be - a directory called 'bin' which contains all of the ROM's that you compiled.</p> + <p>After 'build' or 'buildall' has finished, you'll find the ROM images for each machine under ./bin/</p> - <p>The script also generates a 'libreboot_meta' directory outside of libreboot_src, which contains everything in src except for grub, coreboot, memtest, - flashrom and bucts. There is a script called 'getall' from src included in meta, which downloads and patches everything needed to create src.</p> + <h2>Preparing release archives (optional)</h2> + + <p> + Run that script:<br/> + <b>$ ./build-release</b> + </p> - <p>Reading all of those scripts will teach you how everything is built. It should also be simple to modify it to your needs.</p> + <p> + You'll find that the files libreboot_bin.tar.xz and libreboot_src.tar.xz have been created. + </p> <p><a href="#pagetop">Back to top of page</a></p> @@ -575,7 +609,8 @@ <ul> <li><a href="#supported_x60_list">Lenovo ThinkPad X60/X60s</a></li> <li><a href="#supported_x60t_list">Lenovo ThinkPad X60 Tablet</a></li> - <li><a href="#supported_t60_list">Lenovo ThinkPad T60</a></li> + <li><a href="#supported_t60_list">Lenovo ThinkPad T60</a> (there are exceptions. see link)</li> + <li><a href="#macbook11">Apple MacBook1,1</a></li> <li><a href="#macbook21">Apple MacBook2,1</a></li> </ul> @@ -593,6 +628,20 @@ <hr/> + <h1 id="recommended_wifi">Recommended wifi chipsets</h1> + <p> + The following are known to work well: + </p> + <ul> + <li>Atheros AR5B95 (chipset: Atheros AR9285); mini PCI-E. Most of these are half-height, so you will need a half>full height mini PCI express adapter/bracket.</li> + <li>Unex DNUA-93F (chipset: Atheros AR9271); USB.</li> + <li>Any of the chipsets sold at <a href="https://fsf.org/ryf">https://fsf.org/ryf</a></li> + </ul> + + <p><a href="#pagetop">Back to top of page</a></p> + +<hr/> + <h1 id="supported_x60_list">List of supported ThinkPad X60's</h1> <p> @@ -617,6 +666,12 @@ and the motherboards are the same shape/size. </p> + <p> + The X60 typically comes with an Intel wifi chipset which does not work at all without proprietary firmware, and while Lenovo BIOS is running + the machine will refuse to boot if you replace the card. Fortunately it is very easily replaced; + just remove the card and install another one <b>after</b> libreboot is installed. See <a href="#recommended_wifi">#recommended_wifi</a> for replacements. + </p> + <p><a href="#pagetop">Back to top of page.</a></p> <hr/> @@ -661,6 +716,12 @@ and the motherboards are the same shape/size. <b>It is unknown if the same applies between the X60 Tablet and the X61 Tablet</b>. </p> + <p> + The X60 Tablet typically comes with an Intel wifi chipset which does not work at all without proprietary firmware, and while Lenovo BIOS is running + the machine will refuse to boot if you replace the card. Fortunately it is very easily replaced; + just remove the card and install another one <b>after</b> libreboot is installed. See <a href="#recommended_wifi">#recommended_wifi</a> for replacements. + </p> + <p><a href="#pagetop">Back to top of page.</a></p> <hr/> @@ -732,6 +793,12 @@ It is unknown whether the 1680x1050 (15.4") and 1920x1200 (15.4") panels use a different inverter board than the 1280x800 panels. </p> + <p> + The T60 typically comes with an Intel wifi chipset which does not work at all without proprietary firmware, and while Lenovo BIOS is running + the machine will refuse to boot if you replace the card. Fortunately it is very easily replaced; + just remove the card and install another one <b>after</b> libreboot is installed. See <a href="#recommended_wifi">#recommended_wifi</a> for replacements. + </p> + </div> <p><a href="#pagetop">Back to top of page.</a></p> @@ -760,13 +827,8 @@ </p> <p> - The following T60 motherboard shows an ATI GPU (<b>do not buy this</b>) (highlighted in red, or on the right next to the white CPU socket), which is unsupported by libreboot:<br/> - <img src="howtos/t60_mainboard/t60_ati_gpu.jpg" alt="" /> - </p> - - <p> - The following T60 motherboard shows an Intel GPU (<b>buy this!</b>) (highlighted in red or on the right next to the white CPU socket, you can see that the space for ATI GPU is empty):<br/> - <img src="howtos/t60_mainboard/t60_intel_gpu.jpg" alt="" /> + The following T60 motherboard (see area highlighted in white) shows an empty space where the ATI GPU would be (this particular motherboard has an Intel GPU): + <img src="howtos/t60_dev/t60_unbrick.jpg" alt="" /> </p> <p> @@ -795,6 +857,57 @@ <hr/> + <h1 id="macbook11">Information about the macbook1,1</h1> + + <p> + There is an Apple laptop called the macbook1,1 from 2006 which uses the same i945 chipset as the ThinkPad X60/T60. + A developer ported the <a href="#macbook21">MacBook2,1</a> to coreboot, the ROM images also work on the macbook1,1. + </p> + + <p> + You can refer to <a href="#macbook21">#macbook21</a> for most of this. Macbook2,1 laptops come with Core 2 Duo processors + which support 64-bit operating systems (and 32-bit). The MacBook1,1 uses Core Duo processors (supports 32-bit OS but not 64-bit), + and it is believed that this is the only difference. + </p> + + <p> + It is believed that all models are compatible, listed here: + </p> + <ul> + <li><a href="http://www.everymac.com/ultimate-mac-lookup/?search_keywords=MacBook1,1">http://www.everymac.com/ultimate-mac-lookup/?search_keywords=MacBook1,1</a></li> + </ul> + + <h2> + Compatible models + </h2> + <p> + Specifically (Order No. / Model No. / CPU): + </p> + <ul> + <li>MA255LL/A / A1181 (EMC 2092) / Core Duo T2500 <b>(tested - working)</b></i> + <li>MA254LL/A / A1181 (EMC 2092) / Core Duo T2400 (untested)</li> + <li>MA472LL/A / A1181 (EMC 2092) / Core Duo T2500 (untested)</li> + </ul> + + <p> + Also of interest: <a href="#config_macbook21">#config_macbook21</a>. + </p> + + <p> + Unbricking: <a href="https://www.ifixit.com/Device/MacBook_Core_2_Duo">this page shows disassembly guides</a> and mono's page (see <a href="#macbook21">#macbook21</a>) + shows the location of the SPI flash chip on the motherboard. <a href="https://www.ifixit.com/Guide/MacBook+Core+2+Duo+PRAM+Battery+Replacement/529">How to remove the motherboard</a>. + </p> + + <p> + No method is yet known for flashing in GNU/Linux while the Apple firmware is running. You will need to disassemble the machine and flash externally. + Reading from flash seems to work. Bus Pirate recommended for external flashing (there are others) and needed tools: clip (eg Pomona 5250), mini usb cable, + bus pirate cable (for connecting Pomona to the bus pirate). + </p> + + <p><a href="#pagetop">Back to top of page.</a></p> + +<hr/> + <h1 id="macbook21">Information about the macbook2,1</h1> <p> @@ -859,8 +972,8 @@ Specifically (Order No. / Model No. / CPU): </p> <ul> - <li>MA699LL/A / A1181 (EMC 2121) / Intel Core 2 Duo T5600 <b>(tested - working)</li> - <li>MA701LL/A / A1181 (EMC 2121) / Intel Core 2 Duo T7200 (untested)</li> + <li>MA699LL/A / A1181 (EMC 2121) / Intel Core 2 Duo T5600 <b>(tested - working)</b></li> + <li>MA701LL/A / A1181 (EMC 2121) / Intel Core 2 Duo T7200 <b>(tested - working)</b></li> <li>MB061LL/A / A1181 (EMC 2139) / Intel Core 2 Duo T7200 (untested)</li> <li>MA700LL/A / A1181 (EMC 2121) / Intel Core 2 Duo T7200 (untested)</li> <li>MB063LL/A / A1181 (EMC 2139) / Intel Core 2 Duo T7400 (untested)</li> @@ -872,6 +985,16 @@ </p> <p> + Unbricking: <a href="https://www.ifixit.com/Device/MacBook_Core_2_Duo">this page shows disassembly guides</a> and mono's page (see above) + shows the location of the SPI flash chip on the motherboard. <a href="https://www.ifixit.com/Guide/MacBook+Core+2+Duo+PRAM+Battery+Replacement/529">How to remove the motherboard</a>. + </p> + + <p> + Bus Pirate recommended for external flashing (there are others) and needed tools: clip (eg Pomona 5250), mini usb cable, + bus pirate cable (for connecting Pomona to the bus pirate). + </p> + + <p> You need to replace OS X with GNU/Linux before flashing libreboot. (OSX won't run at all in libreboot). </p> @@ -881,13 +1004,42 @@ <p> This is an apple laptop, so it comes with OS X: it has an Apple keyboard, which means that certain keys you expect are missing: - insert, del, home, end, pgup, pgdown. There is also one mouse button only. Battery life is poor compared to X60/T60. Cooling (ventilation) - is also poor. The speaker might aswell not be there, quality is really bad. Not only that, these machines are expensive and usually easier to find in North America, so if you live outside - of NA then you will most likely have to import it. It's the opinion of this libreboot developer that the MacBook2,1 is not a very good machine. + insert, del, home, end, pgup, pgdown. There is also one mouse button only. Battery life is poor compared to X60/T60 (for now). It also has other issues: for example, the Apple logo on the back is a hole, exposing the backlight, which means that it glows. You should cover it up. </p> <p> + The macbook21 gets extremely hot under GNU/Linux and libreboot; Macfanctld (mac fan control daemon) I'm told is a programme (GPLv3 license) that can help with this. + </p> + + <p> + Debugging the heating issues (initial work):<br/> + Distro: Trisquel 7. kernel(linux-libre): 3.13.0-32<br/> + <b>CPU temperatures:</b><br/> + 52C(idle)/81C(stress) on factory.bin<br/> + 70C(idle)/80C(stress) on coreboot(with microcode updates). libreboot results (without microcode updates) were the same.<br/> + (libreboot and coreboot rom's were both built from the same code, just with or without microcode included in the rom)<br/> + battery life was higher on original firmware, lower on coreboot/libreboot.<br/> + microcode patches included [y/n] makes no difference.<br/> + libreboot: 1hr18min left on idle (99% battery), 42mins left on stress (82% battery)<br/> + factory.bin: 2 hours left on idle (99% battery), 48mins left on stress (82% battery) + </p> + <p> + mtjm: see what Macbook's vendor boot firmware has in its ACPI tables?<br/> + fchmmr: if this works, I'll add the patch to libreboot proper, and udpate the build scripts to use it (also, I should submit the change upstream)<br/> + fchmmr: mtjm, how do I do that?<br/> + mtjm: (I don't know if these values are generic or specific to something)<br/> + mtjm: fchmmr: get them, decompile, read, use the spec to understand what _CST does; acpidump and iasl help<br/> + so, acpidump and then iasl -d ?<br/> + http://smackerelofopinion.blogspot.co.uk/2009/10/dumping-acpi-tables-using-acpidump-and.html + cstate entries should be is SSDT.dat. so use iasl -d on it + </p> + <p> + The following patch was made (copied from x60 mainboard.c): <a href="future/donotusethis_macbook_acpi.diff">do not use this</a><br/> + (resulted in bricked macbook21: grub booted, but kernel would get stuck while booting (flashing text). wasn't sure how to debug) + </p> + + <p> <b> The MacBook2,1 comes with a webcam, which does not work without proprietary software. Also, webcams are a security risk; cover it up! Or remove it. </b> @@ -899,81 +1051,49 @@ <h1 id="rom">Recommended ROM's to flash</h1> - <p>Recommended ROM's to flash:</p> - <ul> - <li> - ThinkPad X60, X60s (<b>bin/x60/</b>) - <ul> - <li>US Qwerty keyboard, no dock: <b>libreboot_usqwerty.rom</b></li> - <li>US Qwerty keyboard, with dock: <b>libreboot_serial_usqwerty.rom</b></li> - <li>UK Qwerty keyboard, no dock: <b>libreboot_ukqwerty.rom</b></li> - <li>UK Qwerty keyboard, with dock: <b>libreboot_serial_ukqwerty.rom</b></li> - <li>US Dvorak keyboard, no dock: <b>libreboot_usdvorak.rom</b></li> - <li>US Dvorak keyboard, with dock: <b>libreboot_serial_usdvorak.rom</b></li> - <li>UK Dvorak keyboard, no dock: <b>libreboot_ukdvorak.rom</b></li> - <li>UK Dvorak keyboard, with dock: <b>libreboot_serial_ukdvorak.rom</b></li> - <li>French Azerty keyboard, no dock: <b>libreboot_frazerty.rom</b></li> - <li>French Azerty keyboard, with dock: <b>libreboot_serial_frazerty.rom</b></li> - <li>Italian Qwerty keyboard, no dock: <b>libreboot_itqwerty.rom</b></li> - <li>Italian Qwerty keyboard, with dock: <b>libreboot_serial_itqwerty.rom</b></li> - </ul> - </li> - <li> - ThinkPad X60 Tablet (<b>bin/x60t/</b>) - <ul> - <li>US Qwerty keyboard, no dock: <b>libreboot_usqwerty.rom</b></li> - <li>US Qwerty keyboard, with dock: <b>libreboot_serial_usqwerty.rom</b></li> - <li>UK Qwerty keyboard, no dock: <b>libreboot_ukqwerty.rom</b></li> - <li>UK Qwerty keyboard, with dock: <b>libreboot_serial_ukqwerty.rom</b></li> - <li>US Dvorak keyboard, no dock: <b>libreboot_usdvorak.rom</b></li> - <li>US Dvorak keyboard, with dock: <b>libreboot_serial_usdvorak.rom</b></li> - <li>UK Dvorak keyboard, no dock: <b>libreboot_ukdvorak.rom</b></li> - <li>UK Dvorak keyboard, with dock: <b>libreboot_serial_ukdvorak.rom</b></li> - <li>French Azerty keyboard, no dock: <b>libreboot_frazerty.rom</b></li> - <li>French Azerty keyboard, with dock: <b>libreboot_serial_frazerty.rom</b></li> - <li>Italian Qwerty keyboard, no dock: <b>libreboot_itqwerty.rom</b></li> - <li>Italian Qwerty keyboard, with dock: <b>libreboot_serial_itqwerty.rom</b></li> - </ul> - </li> - <li> - ThinkPad T60 (<b>bin/t60/</b>) (note, see <a href="#supported_t60_list">#supported_t60_list</a>) - <ul> - <li>US Qwerty keyboard, no dock: <b>libreboot_usqwerty.rom</b></li> - <li>US Qwerty keyboard, with dock: <b>libreboot_serial_usqwerty.rom</b></li> - <li>UK Qwerty keyboard, no dock: <b>libreboot_ukqwerty.rom</b></li> - <li>UK Qwerty keyboard, with dock: <b>libreboot_serial_ukqwerty.rom</b></li> - <li>US Dvorak keyboard, no dock: <b>libreboot_usdvorak.rom</b></li> - <li>US Dvorak keyboard, with dock: <b>libreboot_serial_usdvorak.rom</b></li> - <li>UK Dvorak keyboard, no dock: <b>libreboot_ukdvorak.rom</b></li> - <li>UK Dvorak keyboard, with dock: <b>libreboot_serial_ukdvorak.rom</b></li> - <li>French Azerty keyboard, no dock: <b>libreboot_frazerty.rom</b></li> - <li>French Azerty keyboard, with dock: <b>libreboot_serial_frazerty.rom</b></li> - <li>Italian Qwerty keyboard, no dock: <b>libreboot_itqwerty.rom</b></li> - <li>Italian Qwerty keyboard, with dock: <b>libreboot_serial_itqwerty.rom</b></li> - </ul> - </li> - <li> - MacBook2,1 (<b>bin/macbook21/</b>) - <ul> - <li>US Qwerty keyboard: <b>libreboot_usqwerty.rom</b></li> - <li>UK Qwerty keyboard: <b>libreboot_ukqwerty.rom</b></li> - <li>US Dvorak keyboard: <b>libreboot_usdvorak.rom</b></li> - <li>UK Dvorak keyboard: <b>libreboot_ukdvorak.rom</b></li> - <li>French Azerty keyboard: <b>libreboot_frazerty.rom</b></li> - <li>Italian Qwerty keyboard: <b>libreboot_itqwerty.rom</b></li> - <li>The MacBook2,1 uses the same chipset, i945, as the X60/X60s X60T and T60 but there is no dock or serial port available for this machine.</li> - </ul> - </li> - </ul> + <p> + List of directories corresponding to each board: + </p> + <ul> + <li>ThinkPad X60, X60s: <b>bin/x60/</b></li> + <li>ThinkPad X60 Tablet: <b>bin/x60t/</b></li> + <li>ThinkPad T60: <b>bin/t60/</b> (note, see <a href="#supported_t60_list">#supported_t60_list</a>)</li> + <li>Apple MacBook2,1: <b>bin/macbook21/</b></li> + <li>Apple MacBook1,1: <b>bin/macbook21/</b> (it's not a typo; the same ROM's work)</li> + </ul> + + <p>These images use coreboot text-mode graphics:</p> + <ul> + <li>US Qwerty keyboard: <b>libreboot_usqwerty_txtmode.rom</b></li> + <li>UK Qwerty keyboard: <b>libreboot_ukqwerty_txtmode.rom</b></li> + <li>US Dvorak keyboard: <b>libreboot_usdvorak_txtmode.rom</b></li> + <li>UK Dvorak keyboard: <b>libreboot_ukdvorak.rom</b></li> + <li>French Azerty keyboard: <b>libreboot_frazerty_txtmode.rom</b></li> + <li>Italian Qwerty keyboard: <b>libreboot_itqwerty_txtmode.rom</b></li> + <li>Swedish Qwerty keyboard: <b>libreboot_svenska_txtmode.rom</b></li> + </ul> + <p>These images use coreboot framebuffer graphics:</p> + <ul> + <li>US Qwerty keyboard: <b>libreboot_usqwerty_vesafb.rom</b></li> + <li>UK Qwerty keyboard: <b>libreboot_ukqwerty_vesafb.rom</b></li> + <li>US Dvorak keyboard: <b>libreboot_usdvorak_vesafb.rom</b></li> + <li>UK Dvorak keyboard: <b>libreboot_ukdvorak_vesafb.rom</b></li> + <li>French Azerty keyboard: <b>libreboot_frazerty_vesafb.rom</b></li> + <li>Italian Qwerty keyboard: <b>libreboot_itqwerty_vesafb.rom</b></li> + <li>Swedish Qwerty keyboard: <b>libreboot_svenska_vesafb.rom</b></li> + </ul> + + <p> + _txtmode images come with a working MemTest86+ and GRUB Invaders, both of which require text-mode. + _vesafb images are recommended in most cases. + </p> + <p> This will give you your native keyboard layout inside GRUB. The preferences in your OS are not affected, it just makes using the GRUB command line easier (if you ever need to do that). <a href="#grub_keyboard">#grub_keyboard</a>shows you how this was done. If your native keyboard layout differs, you can adapt those notes and hack the 'build' script for your needs. </p> - <p> - For pictures of what these keyboard layouts look like (so you can compare with yours), see <a href="#keyboards">#keyboards</a>. - </p> <p><a href="#pagetop">Back to top of page.</a></p> @@ -998,6 +1118,9 @@ </p> <p> + The following is for the libreboot image and *not* the factory bios dump: + </p> + <p> Check the last two 64K regions in your ROM file (libreboot.rom in this example):<br/> <b>$ dd if=libreboot.rom of=top64k.bin bs=1 skip=$[$(stat -c %s libreboot.rom) - 0x10000] count=64k</b><br/> <b>$ dd if=libreboot.rom of=lower64k.bin bs=1 skip=$[$(stat -c %s libreboot.rom) - 0x20000] count=64k</b><br/> @@ -1016,15 +1139,23 @@ <p><b>If you are flashing a Lenovo ThinkPad T60, be sure to read <a href="#supported_t60_list">#supported_t60_list</a></b></p> <p> - If you are using Trisquel 6 (32-bit) then the bucts/flashrom binaries are tested. If not (or if you want), recompile them:<br/> - <b>See: <a href="#build_flashrom">#build_flashrom</a></b><br/> - <b>See: <a href="#build_bucts">#build_bucts</a></b><br/> - In any case, you will want the dependencies to run them aswell:<br/> - <b>$ sudo ./builddeb-flashrom</b><br/> - <b>$ sudo ./builddeb-bucts</b><br/> - (^ works on Trisquel 6, maybe other apt-get distros. Adapt for all other distros.) + First, <a href="#build_dependencies">install the build dependencies</a>. </p> + <div class="important"> + + <p> + <b> + Before you proceed, make *sure* to build flashrom and bucts from source. Both are provided. This is very important! + </b> + </p> + <ul> + <li><a href="#build_flashrom">How to build flashrom from source</a></li> + <li><a href="#build_bucts">How to build bucts from source</a></li> + </ul> + + </div> + <p>"YOURBOARD/YOURROM" should be replaced with what is correct as per <a href="#rom">#rom</a>. Alternatively you may be using your own custom ROM. Adapt.</p> @@ -1060,7 +1191,6 @@ <p> <b> If you boot and you see nothing, try turning up the backlight (Fn+Home). - If this is a ThinkPad X60 and backlight resets to zero when turning it up while at max, look at <a href="#tft_brightness">#tft_brightness</a>. </b> </p> @@ -1119,6 +1249,10 @@ (this theory is untested at the time of writing) </p> + <p> + Note: <b>If you have a MacBook1,1 then these instructions will not work. See <a href="#macbook11">#macbook11</a> for MacBook1,1 flashing instructions.</b> + </p> + </div> <p> @@ -1133,13 +1267,22 @@ </p> <p> - If you need to recompile flashrom:<br/> - <b>See: <a href="#build_flashrom">#build_flashrom</a></b> - </p> - <p> - You also need the run-time dependencies. This script works on apt-get distros:<br/> - <b>$ sudo ./builddeb-flashrom</b> + First, <a href="#build_dependencies">install the build dependencies</a>. </p> + + <div class="important"> + + <p> + <b> + Before you proceed, make *sure* to build flashrom from source. This is very important! + </b> + </p> + <ul> + <li><a href="#build_flashrom">How to build flashrom from source</a></li> + </ul> + + </div> + <p> Look at <a href="#rom">#rom</a> to see which ROM is suitable for your machine. Alternatively you may be using your own custom ROM. Adapt. @@ -1212,13 +1355,20 @@ </b> </p> <p> - If you need to recompile flashrom:<br/> - <b>See: <a href="#build_flashrom">#build_flashrom</a></b> - </p> - <p> - You also need the run-time dependencies. This script works on apt-get distros:<br/> - <b>$ sudo ./builddeb-flashrom</b> + First, <a href="#build_dependencies">install the build dependencies</a>. </p> + <div class="important"> + + <p> + <b> + Before you proceed, make *sure* to build flashrom from source. This is very important! + </b> + </p> + <ul> + <li><a href="#build_flashrom">How to build flashrom from source</a></li> + </ul> + + </div> <p> Look at <a href="#rom">#rom</a> to see which ROM is suitable for your machine. Alternative you may be using your own custom ROM. Adapt. @@ -1238,7 +1388,6 @@ <p> <b> If you boot and you see nothing, try turning up the backlight (Fn+Home for X60/X60S/X60T/T60, F2 for macbook21). - If this is a ThinkPad X60 and backlight resets to zero when turning it up while at max, look at <a href="#tft_brightness">#tft_brightness</a>. </b> </p> @@ -1288,50 +1437,10 @@ <h1 id="grub_keyboard">GRUB keyboard layouts (for reference)</h1> - <h2 id="keyboards">Pictures of keyboard layouts</h2> - - <p> - Taken from WikiPedia. - See <a href="https://en.wikipedia.org/wiki/Dvorak_Simplified_Keyboard">https://en.wikipedia.org/wiki/Dvorak_Simplified_Keyboard</a>, - <a href="https://en.wikipedia.org/wiki/QWERTY">https://en.wikipedia.org/wiki/QWERTY</a> - and <a href="https://en.wikipedia.org/wiki/AZERTY">https://en.wikipedia.org/wiki/AZERTY</a>. - </p> - - <h3 id="keyboards_ukqwerty">QWERTY (United Kingdom)</h3> - <p> - <a href="https://upload.wikimedia.org/wikipedia/commons/thumb/d/da/KB_United_Kingdom.svg/900px-KB_United_Kingdom.svg.png">https://upload.wikimedia.org/wikipedia/commons/thumb/d/da/KB_United_Kingdom.svg/900px-KB_United_Kingdom.svg.png</a> - </p> - - <h3 id="keyboards_usqwerty">QWERTY (United States)</h3> - <p> - <a href="https://upload.wikimedia.org/wikipedia/commons/thumb/5/51/KB_United_States-NoAltGr.svg/900px-KB_United_States-NoAltGr.svg.png">https://upload.wikimedia.org/wikipedia/commons/thumb/5/51/KB_United_States-NoAltGr.svg/900px-KB_United_States-NoAltGr.svg.png</a> - </p> - - <h3 id="keyboards_ukdvorak">Dvorak (United Kingdom)</h3> - <p> - <a href="https://upload.wikimedia.org/wikipedia/commons/thumb/c/cc/KB_United_Kingdom_Dvorak.svg/900px-KB_United_Kingdom_Dvorak.svg.png">https://upload.wikimedia.org/wikipedia/commons/thumb/c/cc/KB_United_Kingdom_Dvorak.svg/900px-KB_United_Kingdom_Dvorak.svg.png</a> - </p> - - <h3 id="keyboards_usdvorak">Dvorak (United States)</h3> - <p> - <a href="https://upload.wikimedia.org/wikipedia/commons/thumb/2/25/KB_United_States_Dvorak.svg/800px-KB_United_States_Dvorak.svg.png">https://upload.wikimedia.org/wikipedia/commons/thumb/2/25/KB_United_States_Dvorak.svg/800px-KB_United_States_Dvorak.svg.png</a> - </p> - - <h3 id="keyboards_frazerty">AZERTY (French)</h3> - <p> - <a href="https://upload.wikimedia.org/wikipedia/commons/thumb/b/b9/KB_France.svg/800px-KB_France.svg.png">https://upload.wikimedia.org/wikipedia/commons/thumb/b/b9/KB_France.svg/800px-KB_France.svg.png</a> - </p> - <h3 id="keyboards_itqwerty">QWERTY (Italian)</h3> - <p> - <a href="https://upload.wikimedia.org/wikipedia/commons/thumb/e/e5/Italian_Keyboard_layout.svg/799px-Italian_Keyboard_layout.svg.png">https://upload.wikimedia.org/wikipedia/commons/thumb/e/e5/Italian_Keyboard_layout.svg/799px-Italian_Keyboard_layout.svg.png</a> - </p> - - <p><a href="#pagetop">Back to top of page</a></p> - <h2 id="grub_custom_keyboard">Custom keyboard layout in GRUB (for reference)</h2> <p> - Keymaps are stored in resources/grub/keymap/original (original files) and resources/grub/keymap (.gkb files). + Keymaps are stored in resources/utilities/grub-assemble/keymap/. </p> <p> @@ -1346,8 +1455,8 @@ </p> <p> - Then from the above example, you would put <b>frazerty</b> in <b>resources/grub/keymap/original/</b> and - the <b>frazerty.gkb</b> file goes under <b>resources/grub/keymap/</b> + Then from the above example, you would put <b>frazerty</b> in <b>resources/utilities/grub-assemble/keymap/original/</b> and + the <b>frazerty.gkb</b> file goes under <b>resources/utilities/grub-assemble/keymap/</b> </p> <p> @@ -1357,90 +1466,23 @@ <p><a href="#pagetop">Back to top of page</a></p> - <h2 id="grub_qwerty_keyboard">US Qwerty keyboard layout in GRUB (for reference)</h2> - - <p>Generate the layout file:<br/> - <b>$ ckbcomp us > usqwerty</b><br/> - <b>$ cat usqwerty | ./grub/grub-mklayout -o usqwerty.gkb</b></p> - - <p><a href="#pagetop">Back to top of page</a></p> - - <h2 id="grub_ukqwerty_keyboard">UK Qwerty keyboard layout in GRUB (for reference)</h2> - - <p>Generate the layout file:<br/> - <b>$ ckbcomp gb > ukqwerty</b><br/> - <b>$ cat ukqwerty | ./grub/grub-mklayout -o ukqwerty.gkb</b></p> - - <p><a href="#pagetop">Back to top of page</a></p> - - <h2 id="grub_dvorak_keyboard">US Dvorak keyboard layout in GRUB (for reference)</h2> - - <p>Generate the layout file:<br/> - <b>$ ckbcomp dvorak > usdvorak</b><br/> - <b>$ cat usdvorak | ./grub/grub-mklayout -o usdvorak.gkb</b></p> - - <p><a href="#pagetop">Back to top of page</a></p> - <h2 id="grub_ukdvorak_keyboard">UK Dvorak keyboard layout in GRUB (for reference)</h2> <p> - ukdvorak had to be created manually, based on usdvorak. diff them (under resources/grub/keymap/original) + ukdvorak had to be created manually, based on usdvorak. diff them (under resources/utilities/grub-assemble/keymap/original) to see how ukdvorak file was created </p> <b>$ cat ukdvorak | ./grub/grub-mklayout -o ukdvorak.gkb</b></p> - <h2 id="grub_frazerty_keyboard">French AZERTY keyboard layout in GRUB (for reference)</h2> - - <p>Generate the layout file:<br/> - <b>$ ckbcomp fr > frazerty</b><br/> - <b>$ cat frazerty | ./grub/grub-mklayout -o frazerty.gkb</b></p> - - <h2 id="grub_itqwerty_keyboard">Italian QWERTY keyboard layout in GRUB (for reference)</h2> - - <p>Generate the layout file:<br/> - <b>$ ckbcomp it > itqwerty</b><br/> - <b>$ cat itqwerty | ./grub/grub-mklayout -o itqwerty.gkb</b></p> - <p><a href="#pagetop">Back to top of page</a></p> <hr/> - <h1 id="tft_brightness">Brightness controls (ThinkPad X60) - how to prevent 'scrolling'</h1> - <p> - Sometimes, on some setups, when turning up the brightness while at max, it will loop back to minimum. - Also, the minimum will turn the backlight off completely. - </p> - <p> - Install build dependencies (for Trisquel 6. Adapt if your distro is different):<br/> - <b>$ sudo apt-get install build-essential</b> - </p> - <p> - Go into the libreboot_src directory. Under coreboot/util/nvramtool/ do that to compile it:<br/> - <b>$ make</b><br/> - (nvramtool is also in libreboot_bin/nvramtool) - </p> - <p> - Now do that:<br/> - <b>$ sudo ./nvramtool -w tft_brightness=0xff</b><br/> - Alternatively if there are errors, try:<br/> - <b>$ sudo ./nvramtool -y ../../src/mainboard/lenovo/x60/cmos.layout -w tft_brightness=0xff</b><br/> - If you are using libreboot_bin, do that:<br/> - <b>$ sudo ../x60cmos.layout -w tft_brightness=0xff</b><br/> - </p> - <p> - The next time you boot, the looping issue should be gone. - </p> - - <p><a href="#pagetop">Back to top of page</a></p> - -<hr/> - <h1 id="x60_wifi">ThinkPad X60: Enable or disable wifi</h1> <p> - Install build dependencies in Trisquel 6 (adapt for other distro):<br/> - <b>$ sudo apt-get install build-essential</b><br/> - nvramtool is in coreboot or libreboot source tree until util/:<br/> + <a href="#build_dependencies">Install the build dependencies</a> and then build nvramtool.<br/> + nvramtool is in coreboot or libreboot source tree under util/:<br/> <b>$ cd libreboot_src/coreboot/util/nvramtool</b><br/> (nvramtool is also in libreboot_bin/nvramtool)<br/> <b>$ make</b><br/> @@ -1460,11 +1502,33 @@ <hr/> + <h1 id="x60_bluetooth">ThinkPad X60: Enable or disable bluetooth</h1> + <p> + <a href="#build_dependencies">Install the build dependencies</a> and then build nvramtool.<br/> + nvramtool is in coreboot or libreboot source tree under util/:<br/> + <b>$ cd libreboot_src/coreboot/util/nvramtool</b><br/> + (nvramtool is also in libreboot_bin/nvramtool)<br/> + <b>$ make</b><br/> + Enable wifi:<br/> + <b>$ sudo ./nvramtool -w bluetooth=Enable</b><br/> + Disable wifi:<br/> + <b>$ sudo ./nvramtool -w bluetooth=Disable</b><br/> + If that doesn't work, try one of these instead:<br/> + <b>$ sudo ./nvramtool -y ../../src/mainboard/lenovo/x60/cmos.layout -w bluetooth=Enable</b><br/> + <b>$ sudo ./nvramtool -y ../../src/mainboard/lenovo/x60/cmos.layout -w bluetooth=Disable</b><br/> + If you are using libreboot_bin, do that instead:<br/> + <b>$ sudo ./nvramtool -y ../x60cmos.layout -w bluetooth=Enable</b><br/> + <b>$ sudo ./nvramtool -y ../x60cmos.layout -w bluetooth=Disable</b> + </p> + <p>The next time you boot, wifi will be enabled.</p> + <p><a href="#pagetop">Back to top of page</a></p> + +<hr/> + <h1 id="x60_trackpoint">ThinkPad X60: Enable or disable trackpoint</h1> <p> - Install build dependencies in Trisquel 6 (adapt for other distro):<br/> - <b>$ sudo apt-get install build-essential</b><br/> - nvramtool is in coreboot or libreboot source tree until util/:<br/> + <a href="#build_dependencies">Install the build dependencies</a> and then build nvramtool.<br/> + nvramtool is in coreboot or libreboot source tree under util/:<br/> <b>$ cd libreboot_src/coreboot/util/nvramtool</b><br/> (nvramtool is also in libreboot_bin/nvramtool)<br/> <b>$ make</b><br/> @@ -1486,6 +1550,13 @@ <h1 id="high_pitch_trisquel">High Pitched Whining Noise on Idle (how to remove in Trisquel)</h1> + <p> + Tested in Trisquel 6. + </p> + <p> + Note: untested in Trisquel 7. Remove this note when it is. + </p> + <h2 id="howtouse_powertop">Powertop - how to use</h2> <p>Now you can use this command to kill that noise:<br/> @@ -1594,7 +1665,7 @@ WantedBy=multi-user.target <h1 id="get_edid_panelname">Get EDID: Find out the name (model) of your LCD panel</h1> <p> - Get the panel name with <b>sudo get-edit | strings</b><br/> + Get the panel name with <b>sudo get-edid | strings</b><br/> Or look in <b>/sys/class/drm/card0-LVDS-1/edid</b> </p> <p> @@ -1630,8 +1701,15 @@ WantedBy=multi-user.target <hr/> <p> - Copyright © 2014 Francis Rowe, All Rights Reserved.<br/> - See <a href="license.html">license.html</a> for license conditions. + Copyright © 2014 Francis Rowe <info@gluglug.org.uk><br/> + This document is released under the Creative Commons Attribution-ShareAlike 4.0 International Public License and all future versions. + A copy of the license can be found at <a href="license.txt">license.txt</a>. + </p> + + <p> + This document is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See <a href="license.txt">license.txt</a> for more information. </p> </body> |