diff options
author | Francis Rowe <info@gluglug.org.uk> | 2014-11-05 20:52:36 (EST) |
---|---|---|
committer | Francis Rowe <info@gluglug.org.uk> | 2014-11-05 20:52:36 (EST) |
commit | 8b2219bfa2da36e7809588ef723a10483a6e137f (patch) | |
tree | 8c4d74b9efbdabc1a2604b8cbd508c006c225241 /docs/index.html | |
parent | 7429bdcdbb4fc51c61897115112468642afeecfc (diff) | |
download | libreboot-8b2219bfa2da36e7809588ef723a10483a6e137f.zip libreboot-8b2219bfa2da36e7809588ef723a10483a6e137f.tar.gz libreboot-8b2219bfa2da36e7809588ef723a10483a6e137f.tar.bz2 |
Documentation: *major* cleanup.
Cleanup was long overdue. Old structure was messy and inefficient.
Diffstat (limited to 'docs/index.html')
-rw-r--r-- | docs/index.html | 1743 |
1 files changed, 78 insertions, 1665 deletions
diff --git a/docs/index.html b/docs/index.html index e5fe5df..fe17fc4 100644 --- a/docs/index.html +++ b/docs/index.html @@ -5,1752 +5,165 @@ <meta name="viewport" content="width=device-width, initial-scale=1"> <style type="text/css"> - body { - background:#fff; - color:#000; - font-family:sans-serif; - font-size:1em; - } - p.lenovobios { - font-weight:bold; color:#f00; font-style:italic; font-size:1.2em; - } - p.lenovobios:hover { - color: #000; - } - div.important { - background-color:#ccc; - } + @import url('css/main.css'); </style> - <title>Libreboot documentation: Main</title> + <title>Documentation for libreboot project</title> </head> <body> - <header> - <h1 id="pagetop">Libreboot Documentation</h1> - <aside>This is for the release, as per <a href="release.html">release.html</a>.</aside> - <aside>The latest release (along with documentation) can be found at <a href="http://libreboot.org/">libreboot.org</a></aside> - </header> - - <p> - It is assumed that you are running GNU/Linux. No other operating system is known to be compatible (with libreboot) for this release. - </p> - - <p> - The information here is mainly user documentation. For development notes and TODO's, see <a href="release.html">release.html</a> and - <a href="future/index.html">future/index.html</a> - </p> - - <h2>GNU/Linux distributions</h2> - <ul> - <li><a href="howtos/grub_boot_installer.html">How to install a GNU/Linux distribution</a></li> - <li><a href="howtos/grub_cbfs.html">How to change your default GRUB menu</a></li> - <li> - <a href="howtos/encrypted_parabola.html">Installing Parabola GNU/Linux-libre with full disk encryption (including /boot)</a> - <ul> - <li>Follow-up tutorial: <a href="howtos/configuring_parabola.html">Configuring Parabola (post-install)</a></li> - </ul> - </li> - <li><a href="howtos/encrypted_trisquel.html">Installing Trisquel GNU/Linux-libre with full disk encryption (including /boot)</a></li> - </ul> - - <h2>Working with source code</h2> - <ul> - <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> - <a href="#config">Configuring libreboot</a> - <ul> - <li><a href="#config_dmidecode">dmidecode</a></li> - <li><a href="#config_x60">ThinkPad X60</a></li> - <li><a href="#config_x60t">ThinkPad X60 Tablet</a></li> - <li><a href="#config_t60">ThinkPad T60</a></li> - <li><a href="#config_macbook21">MacBook2,1</a></li> - </ul> - </li> - <li><a href="#build">How to build your ROM's</a></li> - <li><a href="#build_addseabios">Add SeaBIOS to your ROM's</a></li> - </ul> - - <h2>Supported hardware</h2> - <ul> - <li><a href="#supported_list">List of supported hardware</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="#macbook11">Information about the Macbook1,1</a></li></li> - <li><a href="#macbook21">Information about the Macbook2,1</a></li></li> - </ul> - - <h2>Installing libreboot (software: using internal programmer)</h2> - <ul> - <li><a href="#rom">Recommended ROM's to flash</a></li> - <li><a href="#flashrom_lenovobios">X60/X60S/X60T/T60: How to flash your ROM (if running Lenovo BIOS firmware)</a></li> - <li><a href="#flashrom_macbook21">macbook21: How to flash your ROM (if running Apple EFI firmware)</a></li> - <li><a href="#flashrom">X60/X60S/X60T/T60/macbook21: How to flash your ROM (if running libreboot or coreboot already)</a></li> - </ul> - - <h2>Installing libreboot (hardware: using external programmer)</h2> - <ul> - <li><a href="howtos/x60_unbrick.html">ThinkPad X60/X60S: How to unbrick</a></li> - <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> - </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="#grub_custom_keyboard">Custom keyboard layout in GRUB</a></li> - <li><a href="#grub_ukdvorak_keyboard">UK Dvorak keyboard layout in GRUB</a></li> - </ul> - </li> - </ul> - - <h2>Miscallaneous</h2> - <ul> - <li><a href="#high_pitch_trisquel">High Pitched Whining Noise on Idle (how to remove in Trisquel)</a> - <ul> - <li><a href="#howtouse_powertop">Powertop - how to use</a></li> - <li><a href="#powertop_autostart">Powertop - Start automatically at boot time</a></li> - </ul> - </li> - <li><a href="#high_pitch_parabola">High Pitched Whining Noise on Idle (how to remove in Parabola)</a></li> - <li><a href="#serial">X60/T60: Serial port - how to use (for dock owners)</a></li> - <li><a href="patch.html">Using diff and patch</a></li> - <li><a href="#get_edid_panelname">Get EDID: Find out the name (model) of your LCD panel</a></li> - </ul> - -<hr/> - - <h1 id="why">What is libreboot, really?</h1> - - <h2> - Project goals (and differences versus coreboot): - </h2> - <ul> - <li> - Coreboot contains blobs (proprietary data/code) and libreboot does not (it intentionally removes them). - </li> - <li> - Coreboot is hacker-friendly and focuses on software developers, libreboot is user-focused and attempts to - turn coreboot into a distribution, sort of like a GNU/Linux distribution (same concept, different software). For example, libreboot - distributes GRUB/memtest86+/bucts/flashrom (and more) and comes with user-focused documentation and build scripts; libreboot - is therefore made more 'user-friendly'. - </li> - </ul> - - <p> - Libreboot is <b>not</b> a fork of coreboot, despite misconceptions of this fact. Libreboot (downstream supplier) is a parallel effort - which works closely with and re-bases on the latest coreboot (upstream supplier) every so often. - </p> - - <p> - <b> - As such, all new coreboot development should be done in coreboot, not libreboot! - Libreboot is about deblobbing, and packaging coreboot in a user-friendly way, where most work is already done for the user! - If, for example you wanted to attempt porting a new motherboard then you should do that in coreboot. Libreboot will (as a downstream) - receive your change at some point in the future, in a future release. - </b> - </p> - - <h2> - A 'stable' coreboot: - </h2> - <ul> - <li> - Coreboot uses the <a href="https://en.wikipedia.org/wiki/Rolling_release">rolling release</a> model - (and it is therefore quite volatile; one day when you build coreboot, it may or may not work correctly on your machine). - </li> - <li> - Libreboot changes less often (as far as the release model is concerned), focusing instead on 'tested' releases for <i>specific machines</i>. - At any given time, it might also be possible to build ROM images for systems other than those officially supported. If you get your board to work - (without violating the <i>"coreboot development goes in coreboot"</i> rule, then others could benefit from your work). - </li> - </ul> - - <p> - On the other hand, coreboot is also strict about what it accepts (merges) into the main git repository: - most of the time, a lot of changes are under review at review.coreboot.org (as a way of encouraging as much further development - as possible before accepting the patch). - </p> - - <p> - Meanwhile, libreboot is a lot less strict in this area and freely merges specific patches that are desirable, sometimes before they are merged into coreboot's main repository. - </p> - - <p><a href="#pagetop">Back to top of page.</a></p> - -<hr/> - - <h1 id="build_dependencies">Install build dependencies</h1> - - <p> - 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 can use the scripts included to download everything. - </p> + <h1 id="pagetop">Documentation for libreboot project</h1> <p> - First, <a href="#build_dependencies">install the build dependencies</a>. + It is assumed that you are running <a href="https://www.gnu.org/distros/">GNU/Linux</a> + (no other operating system is known to work with this release). </p> - <p> - After that, run the get script:<br/> - <b>$ ./getall</b> + <a href="#why">What is libreboot?</a> </p> - <p> - What this did was download everything (grub, coreboot, memtest86+, bucts, flashrom) - at the versions last tested for this release, and patch them. Read the script - in a text editor to learn more. - </p> - - <p> - To build the ROM's, see <a href="#build">#build</a>. - </p> - - <p><a href="#pagetop">Back to top of page.</a></p> - -<hr/> - - <h1 id="build_bucts">How to build "bucts" (for LenovoBIOS X60/X60S/X60T/T60)</h1> - - <p> - <b>This is for Lenovo BIOS users on the ThinkPad X60/X60S, X60 Tablet and T60. If you have coreboot or libreboot running already, ignore this.</b> - </p> - - <p> - Bucts is needed when flashing in software the X60/X60S/X60T/T60 ROM while Lenovo BIOS is running; - external flashing will be safe regardless. - Each ROM contains identical data inside the two final 64K region in the file. - This corresponds to the final two 64K regions in the flash chip. Lenovo BIOS will prevent you from writing the - final one, so running "<b>bucts 1</b>" will set the machine to boot from the other block instead (which - is writeable along with everything beneath it when using a patched flashrom. see <a href="#build_flashrom">#build_flashrom</a>). - After shutting down and booting up after the first flash, - the final 64K block is writeable so you flash the ROM again with an unpatched flashrom and run "<b>bucts 0</b>" to - make the machine boot from the normal (highest) block again. - </p> - - <p> - BUC.TS utility is included in libreboot_src.tar.gz and libreboot_bin.tar.gz.<br/> - <b>If you downloaded from git, follow <a href="#build_meta">#build_meta</a> before you proceed.</b> - </p> - - <p> - "BUC" means "<b>B</b>ack<b>u</b>p <b>C</b>ontrol" (it's a register) and "TS" means "<b>T</b>op <b>S</b>wap" - (it's a status bit). Hence "bucts" (BUC.TS). TS 1 and TS 0 corresponds to bucts 1 and bucts 0. - </p> - - <p> - First, <a href="#build_dependencies">install the build dependencies</a>. - </p> - - <p> - To build bucts, do this in the main directory:<br/> - <b>$ ./builddeps-bucts</b> - </p> - - <p> - The "builddeps" script in libreboot_src also makes use of builddeps-bucts. - </p> - - <p><a href="#pagetop">Back to top of page.</a></p> - -<hr/> - - <h1 id="build_flashrom">How to build "flashrom"</h1> - - <p> - Flashrom is the utility for flashing/dumping ROM's. This is what you will use to install libreboot. - </p> - - <p> - Flashrom source code is included in libreboot_src.tar.gz and libreboot_bin.tar.gz.<br/> - <b>If you downloaded from git, follow <a href="#build_meta">#build_meta</a> before you proceed.</b> - </p> - - <p> - First, <a href="#build_dependencies">install the build dependencies</a>. - </p> - - <p> - To build it, do that in the main directory:<br/> - <b>$ ./builddeps-flashrom</b> - </p> - - <p> - After you've done that, under ./flashrom/ you will find the following executables: - </p> - <ul> - <li> - <b>flashrom</b> - <ul> - <li>For flashing while coreboot or libreboot is running.</li> - </ul> - </li> - <li> - <b>flashrom_lenovobios_sst</b> - <ul> - <li>This is patched for flashing while Lenovo BIOS is running on an X60 or T60 with the SST25VF016B (SST) flash chip.</li> - </ul> - </li> - <li> - <b>flashrom_lenovobios_macronix</b> - <ul> - <li>This is patched for flashing while Lenovo BIOS is running on an X60 or T60 with the MX25L1605D (Macronix) flash chip.</li> - </ul> - </li> - </ul> - - <p> - The "builddeps" script in libreboot_src also makes use of builddeps-flashrom. - </p> - - <p><a href="#pagetop">Back to top of page.</a></p> - -<hr/> - - <h1 id="config">Configuring libreboot</h1> - - <p> - Before building a ROM in libreboot (or coreboot, for that matter), you need to configure it. - This is done using the following inside the source tree:<br/> - <b>$ make menuconfig</b> - </p> - - <p> - If you've already built a kernel before, you know how to use this interface. - </p> - - <p> - Configurations are then saved as files called <b>".config"</b>. Copies of each configuration used - for each machine type by the libreboot build scripts are stored in resources/libreboot/config/ - </p> - - <h2 id="config_dmidecode"> - dmidecode - </h2> - <p> - There is certain information that can be useful to enter in particular: - </p> - <ul> - <li>Local version string</li> - <li>SMBIOS Serial Number</li> - <li>SMBIOS Manufacturer</li> - <li>SMBIOS Version</li> - <li>SMBIOS Product name</li> - </ul> + <h2>Release information</h2> <p> - This information can be obtained using:<br/> - <b>$ sudo dmidecode</b><br/> - <b># dmidecode</b> + Information about this release can be found at <a href="release.html">release.html</a>. + Always check <a href="http://libreboot.org">libreboot.org</a> for updates. </p> <p> - Specifically, it's good practise to enter the same information for libreboot that you found when running this - with the original BIOS or firmware. <b>libreboot has already done this for you. This information is for reference, - in the hope that it will be useful.</b> + The release page and <a href="future/index.html">future/index.html</a> contain details + about future work. </p> - <h2 id="config_x60"> - ThinkPad X60 configuration (file: resources/libreboot/config/x60/config) - </h2> - <ul> - <li>General setup / Expert mode = <i>enable</i></li> - <li>General setup / Local version string = <i>7BETC7WW (2.08 )</i></li> - <li>Mainboard / Mainboard vendor = <i>Lenovo</i></li> - <li>Mainboard / Mainboard model = <i>ThinkPad X60 / X60s / X60t</i></li> - <li>Mainboard / ROM chip size = <i>2048 KB (2 MB)</i></li> - <li>Mainboard / SMBIOS Serial Number = <i>L3BH242</i></li> - <li>Mainboard / SMBIOS Version Number = <i>ThinkPad X60s</i></li> - <li>Mainboard / SMBIOS Manufacturer = <i>LENOVO</i></li> - <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 build 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> - <li>Payload / Payload path and filename = <i>grub.elf</i></li> - </ul> + <h2>Hardware compatibility list</h2> <p> - Now go back into Devices: + Information about what systems libreboot supports. </p> - <ul> - <li>Devices / Run VGA Option ROMs = <i>disable</i></li> - <li>Devices / Run Option ROMs on PCI devices = <i>disable</i></li> - </ul> <p> - The resulting .config file was saved as resources/libreboot/config/<b>x60/config</b> and is used by the build - scripts for this machine. + Goto <a href="hcl/index.html">hcl/index.html</a>. </p> + + <h2>Installing libreboot</h2> <p> - This is based on an X60S with the Core 2 Duo L7400 processor. + Information about how to install libreboot on supported targets, + using software and/or dedicated hardware. </p> <p> - SMBIOS Version Number is ThinkPad X60 on the X60, but it is believed that the X60 and X60s both have identical - motherboards where the only difference is the CPU. This same configuration is used on the X60 and X60s. + Goto <a href="install/index.html">install/index.html</a>. </p> - <h2 id="config_x60t"> - ThinkPad X60 Tablet configuration (file: resources/libreboot/config/x60t/config) - </h2> - <ul> - <li>General setup / Expert mode = <i>enable</i></li> - <li>General setup / Local version string = <i>7JET23WW (1.08 )</i></li> - <li>Mainboard / Mainboard vendor = <i>Lenovo</i></li> - <li>Mainboard / Mainboard model = <i>ThinkPad X60 / X60s / X60t</i></li> - <li>Mainboard / ROM chip size = <i>2048 KB (2 MB)</i></li> - <li>Mainboard / SMBIOS Serial Number = <i>L3B8281</i></li> - <li>Mainboard / SMBIOS Version Number = <i>ThinkPad X60 Tablet</i></li> - <li>Mainboard / SMBIOS Manufacturer = <i>LENOVO</i></li> - <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 build 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> - <li>Payload / Payload path and filename = <i>grub.elf</i></li> - </ul> + <h2>GNU/Linux distributions</h2> <p> - Now go back into Devices: + Installing GNU/Linux distributions, preparing bootable USB drives, changing the default GRUB + menu and so on. </p> - <ul> - <li>Devices / Run VGA Option ROMs = <i>disable</i></li> - <li>Devices / Run Option ROMs on PCI devices = <i>disable</i></li> - </ul> <p> - The resulting .config file was saved as resources/libreboot/config/<b>x60t/config</b> and is used by the build - scripts for this machine. + This also contains guides for fully encrypted Trisquel and Parabola GNU/Linux-libre installations. </p> <p> - This is based on an X60T with the Core 2 Duo L7400 processor. + Goto <a href="gnulinux/index.html">gnulinux/index.html</a>. </p> - <h2 id="config_t60"> - ThinkPad T60 configuration (file: resources/libreboot/config/t60/config) - </h2> - <ul> - <li>General setup / Expert mode = <i>enable</i></li> - <li>General setup / Local version string = <i>79ETE7WW (2.27 )</i></li> - <li>Mainboard / Mainboard vendor = <i>Lenovo</i></li> - <li>Mainboard / Mainboard model = <i>ThinkPad T60 / T60p</i></li> - <li>Mainboard / ROM chip size = <i>2048 KB (2 MB)</i></li> - <li>Mainboard / SMBIOS Serial Number = <i>L3DKE06</i></li> - <li>Mainboard / SMBIOS Version Number = <i>ThinkPad T60</i></li> - <li>Mainboard / SMBIOS Manufacturer = <i>LENOVO</i></li> - <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 build 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> - </ul> - Go back into Devices: - </p> - <ul> - <li>Devices / Run VGA Option ROMs = <i>disable</i></li> - <li>Devices / Run Option ROMs on PCI devices = <i>disable</i></li> - </ul> - <p> - The resulting .config file was saved as resources/libreboot/config/<b>t60/config</b> and is used by the build - scripts for this machine. - </p> + <h2>Developing libreboot</h2> <p> - It is believed that the motherboards on 14.1" and 15.1" T60's are the same, so the same configuration is used - on both the 14.1" and 15.1" T60's. + Information about configuring libreboot, building from source, maintaining the project, + working in git and so on. </p> - - <h2 id="config_macbook21"> - MacBook2,1 configuration (file: resources/libreboot/config/macbook21/config) - </h2> - <ul> - <li>General / Expert mode = <i>enable</i></li> - <li>General / Local version string = <i>" MB21.88Z.00A5.B07.0706270922"</i> (without the quotes)</li> - <li>Mainboard / Mainboard vendor = <i>Apple</i></li> - <li>Mainboard / Mainboard model = <i>Macbook2,1 ICH7 TESTING</i></li> - <li>Mainboard / ROM chip size = <i>2048 KB (2 MB)</i></li> - <li>Mainboard / SMBIOS Serial Number = <i>W8724XXXXXX</i></li> - <li>Mainboard / SMBIOS Version Number = <i>1.0</i></li> - <li>Mainboard / SMBIOS Manufacturer = <i>Apple Inc.</i></li> - <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 build 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> - </ul> <p> - Go back and disable option ROM's: + Goto <a href="git/index.html">git/index.html</a>. </p> - <ul> - <li>Devices / Run VGA Option ROMs = <i>disable</i></li> - <li>Devices / Run Option ROMs on PCI devices = <i>disable</i></li> - </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. <b>This config is also used for the MacBook1,1</b>. - </p> - - <p><a href="#pagetop">Back to top of page.</a></p> - -<hr/> - - <h1 id="build">How to build the ROM's!</h1> - - <p>You don't need to do much, as there are scripts already written for you that can build everything automatically.</p> - - <p> - First, <a href="#build_dependencies">install the build dependencies</a>. - </p> - <p> - If you downloaded libreboot from git, refer to <a href="#build_meta">#build_meta</a>. - </p> - - <p>If running for the first time, run this:<br/> - <b>$ ./buildall</b> (also performs the "./build" step below)<br/> - Or if you only want to build dependencies (crossgcc, grub and so on):<br/> - <b>$ ./builddeps</b></p> - - <p>If you've already run ./builddeps and/or ./buildall before, you don't need to run them again. - Just run that from now on to build your ROM's:<br/> - <b>$ ./build</b></p> - - <p>To un-build (clean) the build dependencies that you built before, do the following:<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, you'll find the ROM images for each machine under ./bin/</p> - - <h2>Preparing release archives (optional)</h2> + <h2>Security topics</h2> <p> - Run that script:<br/> - <b>$ ./build-release</b> + Goto <a href="security/index.html">security/index.html</a>. </p> + <h2>Hardware maintenance</h2> <p> - You'll find that the files libreboot_bin.tar.xz and libreboot_src.tar.xz have been created. + Goto <a href="hardware/index.html">hardware/index.html</a>. </p> - - <p><a href="#pagetop">Back to top of page</a></p> - -<hr/> - - <h1 id="build_addseabios">How to add SeaBIOS to your ROM's</h1> - - <p> - SeaBIOS isn't really needed since libreboot uses the GRUB payload which - is much better (for several reasons), so it is no longer included in the ROM - images by default. Instead, you can add it afterwards. - </p> - - <p> - In the supplied binary archives, or in your own (if you did 'build-release') you can add SeaBIOS - to the ROM images, along with SeaVGABIOS which is a free/libre Video BIOS implementation that wraps - around the 'native graphics initializitation' code in coreboot, for boards that have support for it. - </p> - - <p> - First, <a href="#build_dependencies">install the build dependencies</a>. - </p> - - <p> - Build cbfstool:<br/> - $ <b>./builddeps-cbfstool</b> - </p> - - <p> - Now:<br/> - $ <b>./addseabios</b> - </p> - - <p> - SeaBIOS and SeaVGABIOS (which the build scripts created, and the build-release script put - compiled - - inside the binary archive) have now been added to all of the ROM images under ./bin/. A GRUB menuentry will show - up when you boot your machine, allowing you to use SeaBIOS. - </p> - - <p><a href="#pagetop">Back to top of page</a></p> - -<hr/> - - <h1 id="supported_list">List of supported hardware</h1> - - <p> - Libreboot supports the following machines in this release: - </p> - <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> (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> - - <p> - 'Supported' means that the build scripts know how to build ROM's for these machines, - and that the machines have been tested (confirmed working). There may be exceptions; - in other words, this is a list of 'officially' supported machines. - </p> - - <p> - It is also possible to build ROM images (from source) for other machines (and virtual machines, e.g. QEMU). - </p> - - <p><a href="#pagetop">Back to top of page</a></p> - -<hr/> - - <h1 id="recommended_wifi">Recommended wifi chipsets</h1> - <p> - The following are known to work well: - </p> - <ul> - <li><a href="http://h-node.org/search/results/en/1/search/wifi/ar9285">Atheros AR5B95</a> (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><a href="http://h-node.org/wifi/view/en/116/Atheros-Communications-Inc--AR928X-Wireless-Network-Adapter--PCI-Express---rev-01-">Atheros AR928X</a> chipset; 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: <a href="http://h-node.org/search/results/en/1/search/wifi/ar9271">Atheros AR9271</a>); USB.</li> - <li>Any of the chipsets listed at <a href="https://fsf.org/ryf">https://fsf.org/ryf</a></li> - <li>Any of the chipsets listed at <a href="http://h-node.org/wifi/catalogue/en/1/1/undef/undef/yes?">http://h-node.org/wifi/catalogue/en/1/1/undef/undef/yes?</a> - </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> - Native gpu initialization ('native graphics') which replaces the proprietary VGA Option ROM - ('<a href="https://en.wikipedia.org/wiki/Video_BIOS">Video BIOS</a>' or 'VBIOS'), - all known LCD panels are currently compatible: - </p> - - <p> - To find what LCD panel you have, see: <a href="#get_edid_panelname">#get_edid_panelname</a>. - </p> - - <ul> - <li>TMD-Toshiba LTD121ECHB: #</li> - <li>CMO N121X5-L06: #</li> - <li>Samsung LTN121XJ-L07: #</li> - <li>BOE-Hydis HT121X01-101: #</li> - </ul> - - <p> - You can remove an X61/X61s motherboard from the chassis and install an X60/X60s motherboard in it's place (for flashing libreboot). The chassis is mostly identical - 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/> - - <h1 id="supported_x60t_list">List of supported ThinkPad X60 Tablets</h1> - - <p> - Native gpu initialization ('native graphics') which replaces the proprietary VGA Option ROM - ('<a href="https://en.wikipedia.org/wiki/Video_BIOS">Video BIOS</a>' or 'VBIOS'). - </p> - - <p> - To find what LCD panel you have, see: <a href="#get_edid_panelname">#get_edid_panelname</a>. - </p> - - <p> - There are 5 known LCD panels for the X60 Tablet: - </p> - <ul> - <li> - <b>X60T XGA (1024x768):</b> - <ul> - <li>BOE-Hydis HV121X03-100 (works)</li> - <li>Samsung LTN121XP01 (does not work. blank screen)</li> - <li>BOE-Hydis HT12X21-351 (does not work. blank screen)</li> - </ul> - </li> - <li> - <b>X60T SXGA+ (1400x1050):</b> - <ul> - <li>BOE-Hydis HV121P01-100 (works)</li> - <li>BOE-Hydis HV121P01-101 (works)</li> - </ul> - </li> - </ul> - - <p> - Most X60T's only have digitizer (pen), but some have finger (touch) aswell as pen; finger/multitouch doesn't work, only digitizer (pen) does. - </p> - - <p> - You can remove an X61/X61s motherboard from the chassis and install an X60/X60s motherboard in it's place (for flashing libreboot). The chassis is mostly identical - 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 user with a X60T that has digitizer+finger support, reported that they could get finger input working. They - used linuxwacom at git tag 0.25.99.2 and had the following in their xorg.conf: - </p> - -<pre> -# This file be public domain. - -# Now, for some reason (probably a bug in linuxwacom), -# the 'Touch=on' directive gets reset to 'off'. -# So you'll need to do -# $ xsetwacom --set WTouch Touch on -# -# tested with linuxwacom git 42a42b2a8636abc9e105559e5dea467163499de7 - -Section "Monitor" - Identifier "<default monitor>" - DisplaySize 245 184 -EndSection - -Section "Screen" - Identifier "Default Screen Section" - Monitor "<default monitor>" -EndSection - -Section "InputDevice" - Identifier "WTouch" - Driver "wacom" - Option "Device" "/dev/ttyS0" -# Option "DebugLevel" "12" - Option "BaudRate" "38400" - Option "Type" "touch" - Option "Touch" "on" - Option "Gesture" "on" - Option "ForceDevice" "ISDV4" -# Option "KeepShape" "on" - Option "Mode" "Absolute" - Option "RawSample" "2" -# Option "TPCButton" "off" - Option "TopX" "17" - Option "TopY" "53" - Option "BottomX" "961" - Option "BottomY" "985" -EndSection - -Section "ServerLayout" - Identifier "Default Layout" - Screen "Default Screen Section" - InputDevice "WTouch" "SendCoreEvents" -EndSection - -</pre> - - <p><a href="#pagetop">Back to top of page.</a></p> - -<hr/> - - <h1 id="supported_t60_list">Supported T60 list</h1> - - <p> - Native gpu initialization ('native graphics') which replaces the proprietary VGA Option ROM - ('<a href="https://en.wikipedia.org/wiki/Video_BIOS">Video BIOS</a>' or 'VBIOS'). - </p> - - <p> - To find what LCD panel you have, see: <a href="#get_edid_panelname">#get_edid_panelname</a>. - </p> - - <p> - <b> - Some T60's have ATI GPU's, and all T60p's have ATI GPU's These are incompatible! See <a href="#t60_ati_intel">#t60_ati_intel</a> for how to remedy this. - </b> - </p> - - <p> - How to dump the EDID:<br/> - - </p> - - <p> - Tested LCD panels: <b>working(compatible)</b> - </p> - <ul> - <li>TMD-Toshiba LTD141EN9B (14.1" 1400x1050) (FRU P/N 41W1478 recommended for the inverter board)</li> - <li>Samsung LTN141P4-L02 (14.1" 1400x1050) (FRU P/N 41W1478 recommended for the inverter board)</li> - <li>LG-Philips LP150E05-A2K1 (15.1" 1400x1050) (P/N 42T0078 FRU 42T0079 or P/N 41W1338 recommended for the inverter board)</li> - <li>Samsung LTN150P4-L01 (15.1" 1400x1050) (P/N 42T0078 FRU 42T0079 or P/N 41W1338 recommended for the inverter board) (not a T60 screen afaik, but it works)</li> - <li>BOE-Hydis HV150UX1-100 (15.1" 1600x1200) (P/N 42T0078 FRU 42T0079 or P/N 41W1338 recommended for the inverter board)</li> - <li>IDtech IAQX10N (15.1" 2048x1536) (GRUB doesn't display at the moment, but GNU/Linux works) (P/N 42T0078 FRU 42T0079 or P/N 41W1338 recommended for the inverter board)</li> - </ul> - - <div class="important"> - + + <h2>GRUB payload</h2> <p> - Tested LCD panels: <b>not working yet (incompatible; see <a href="future/index.html#lcd_i945_incompatibility">future/index.html#lcd_i945_incompatibility</a>)</b> + Information about fonts and keyboard layouts used in GRUB. </p> - <ul> - <li>Samsung LTN141XA-L01 (14.1" 1024x768)</li> - <li>LG-Philips LP150X09 (15.1" 1024x768)</li> - <li>Samsung LTN150XG (15.1" 1024x768) - <a href="future/dumps/LTN150XG_edid">EDID dump</a> (taken using <b>sudo i2cdump -y 5 0x50</b>)</li> - <li>LG-Philips LP150E06-A5K4 (15.1" 1400x1050) (also, not an official T60 screen)</li> - <li>Samsung LTN154X3-L0A (15.4" 1280x800)</li> - </ul> - <p> - <u><i>The following LCD panels are <b>UNTESTED</b>. If you have one of these panels - then please submit a report!</i></u>: + Goto <a href="grub/index.html">grub/index.html</a> </p> - <ul> - <li>CMO(IDtech?) N141XC (14.1" 1024x768)</li> - <li>BOE-Hydis HT14X14 (14.1" 1024x768)</li> - <li>TMD-Toshiba LTD141ECMB (14.1" 1024x768)</li> - <li>Boe-Hydis HT14P12 (14.1" 1400x1050) (FRU P/N 41W1478 recommended for the inverter board)</li> - <li>CMO (IDtech?) 13N7068 (15.1" 1024x768)</li> - <li>CMO (IDtech?) 13N7069 (15.1" 1024x768)</li> - <li>BOE-Hydis HV150P01-100 (15.1" 1400x1050) (P/N 42T0078 FRU 42T0079 or P/N 41W1338 recommended for the inverter board)</li> - <li>IDtech N150U3-L01 (15.1" 1600x1200) (P/N 42T0078 FRU 42T0079 or P/N 41W1338 recommended for the inverter board)</li> - <li>BOE-Hydis HV150UX1-102 (15.1" 1600x1200) (P/N 42T0078 FRU 42T0079 or P/N 41W1338 recommended for the inverter board)</li> - <li>IDtech IAQX10S (15.1" 2048x1536) (P/N 42T0078 FRU 42T0079 or P/N 41W1338 recommended for the inverter board)</li> - <li>Samsung LTN154P2-L05 (42X4641 42T0329) (15.4" 1680x1050)</li> - <li>LG-Philips LP154W02-TL10 (13N7020 42T0423) (15.4" 1680x1050)</li> - <li>LG-Philips LP154WU1-TLB1 (42T0361) (15.4" 1920x1200) <b>(for T61p but it might work in T60. Unknown!)</b></li> - <li>Samsung LTN154U2-L05 (42T0408 42T0574) (15.4" 1920x1200) <b>(for T61p but it might work in T60. Unknown!)</b></li> - </ul> + <h2>Miscellaneous</h2> <p> - It is unknown whether the 1680x1050 (15.4") and 1920x1200 (15.4") panels use a different inverter board than the 1280x800 panels. + Random topics that don't belong anywhere else. </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> - -<hr/> - - <h1 id="t60_ati_intel">ThinkPad T60 (ATI GPU) and ThinkPad T60 (Intel GPU) differences.</h1> - - <p> - If your T60 is a 14.1" or 15.1" model with an ATI GPU, it won't work with libreboot by default but - you can replace the motherboard with another T60 motherboard that has an Intel GPU, and then libreboot should work. - </p> - - <p> - As far as I know, 14.1" (Intel GPU) and 15.1" (Intel GPU) T60 motherboards are the same, where - 'spacers' are used on the 15.1" T60. In any case, it makes sense to find one that is guaranteed to fit in your chassis. - </p> - - <p> - There is also a 15.4" T60 with Intel GPU. - </p> - - <p> - Note: the T60<b>p</b> laptops all have ATI graphics. - The T60p laptops cannot be used with libreboot under any circumstances. - </p> - - <p> - 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> - The reason that the ATI GPU on T60 is unsupported is due to the VBIOS (Video BIOS) which is non-free. - The VBIOS for the Intel GPU on X60/T60 has been reverse engineered, and replaced with Free Software and - so will work in libreboot. - </p> - - <p> - The 'Video BIOS' is what initializes graphics. - </p> - - <p> - See: <a href="https://en.wikipedia.org/wiki/Video_BIOS">https://en.wikipedia.org/wiki/Video_BIOS</a>.<br/> - In fact, lack of free VBIOS in general is a big problem in coreboot, and is one reason (among others) why many ports for coreboot are - unsuitable for libreboot's purpose. - </p> - - <p> - Theoretically, the ThinkPad T60 with ATI GPU can work with libreboot and have ROM's compiled for it, however - in practise it would not be usable as a laptop because there would be no visual display at all. That being said, - such a configuration is acceptable for use in a 'headless' server setup (with serial and/or ssh console as the display). - </p> - - <p><a href="#pagetop">Back to top of page.</a></p> - -<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): + Goto <a href="misc/index.html">misc/index.html</a>. </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> + <h1 id="why">What is libreboot, really?</h1> <p> - There is an Apple laptop called the macbook2,1 from late 2006 or early 2007 that uses the same i945 chipset - as the ThinkPad X60 and ThinkPad T60. A developer ported coreboot to his macbook2,1, and now libreboot can run on it. - </p> - <p> - Mono Moosbart is the person who wrote the port for macbook2,1. Referenced below are copies (up to date at the time of writing, 20140630) - of the pages he wrote when porting coreboot to the macbook2,1. They are included here in case the main site goes down for - whatever reason, since they include a lot of useful information. - </p> - <p> - Backups created using wget:<br/> - <b>$ wget -m -p -E -k -K -np http://macbook.donderklumpen.de/</b><br/> - <b>$ wget -m -p -E -k -K -np http://macbook.donderklumpen.de/coreboot/</b><br/> - Use <b>-e robots=off</b> if using this trick for other sites and the site restricts using robots.txt + Libreboot is a <a href="http://coreboot.org/">coreboot</a> distribution (distro) with proprietary software removed, + intended to be a <a href="https://www.fsf.org/about/what-is-free-software">free</a> + (libre) 'BIOS' replacement for your computer. </p> <p> - <b>Links to wget backups (and the backups themselves) of Mono's pages (see above) removed temporarily. Mono has given me permission to distribute them, but I need to ask - him to tell me what license these works fall under first. Otherwise, the above URL's should be fine. NOTE TO SELF: REMOVE THIS WHEN DONE</b> + Read the full <a href="https://www.gnu.org/philosophy/free-sw.html">Free Software definition</a>. </p> <h2> - Installing GNU/Linux distributions (on Apple EFI firmware) - </h2> - <ul> - <li><a href="#">Parabola GNU/Linux installation on a macbook2,1 with Apple EFI firmware</a> (this is a copy of Mono's page, see above)</li> - </ul> - <p> - How to boot an ISO: burn it to a CD (like you would normally) and hold down the Alt/Control key while booting. - The bootloader will detect the GNU/Linux CD as 'Windows' (because Apple doesn't think GNU/Linux exists). Install it like you normally would. - When you boot up again, hold Alt/Control once more. The installation (on the HDD) will once again be seen as 'Windows'. (it's not actually Windows, - but Apple likes to think that Apple and Microsoft are all that exist.) - Now to install libreboot, follow <a href="#flashrom_macbook21">#flashrom_macbook21</a>. - </p> - - <h2> - Information about coreboot - </h2> - <ul> - <li><a href="#">Coreboot on the macbook2,1</a> (this is a copy of Mono's page, see above)</li> - </ul> - - <h2> - coreboot wiki page - </h2> - <ul> - <li><a href="http://www.coreboot.org/Board:apple/macbook21">http://www.coreboot.org/Board:apple/macbook21</a></li> - </ul> - - <h2> - Compatible models + Project goals (and differences versus coreboot): </h2> - <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=MacBook2,1">http://www.everymac.com/ultimate-mac-lookup/?search_keywords=MacBook2,1</a></li> - </ul> - <p> - Specifically (Order No. / Model No. / CPU): - </p> - <ul> - <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 <b>(tested - working)</b></li> - <li>MB063LL/A / A1181 (EMC 2139) / Intel Core 2 Duo T7400 (untested)</li> - <li>MB062LL/A / A1181 (EMC 2139) / Intel Core 2 Duo T7400 <b>(tested - working)</b></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 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> - - <p> - There are some issues with this machine (compared to other computers that libreboot supports): - </p> - - <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 (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> - Todo: see what the non-free firmware has in it's ACPI tables using acpidump and iasl -d. Try to implement cstate support in coreboot - (this will allow for lower temperatures). - </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> - </p> - - <p> - A user reported that they could get better response from the touchpad with the following in their xorg.conf: - </p> - -<pre> -Section "InputClass" - Identifier "Synaptics Touchpad" - Driver "synaptics" - MatchIsTouchpad "on" - MatchDevicePath "/dev/input/event*" - Driver "synaptics" -# The next two values determine how much pressure one needs -# for tapping, moving the cursor and other events. - Option "FingerLow" "10" - Option "FingerHigh" "15" -# Do not emulate mouse buttons in the touchpad corners. - Option "RTCornerButton" "0" - Option "RBCornerButton" "0" - Option "LTCornerButton" "0" - Option "LBCornerButton" "0" -# One finger tap = left-click - Option "TapButton1" "1" -# Two fingers tap = right-click - Option "TapButton2" "3" -# Three fingers tap = middle-mouse - Option "TapButton3" "2" -# Try to not count the palm of the hand landing on the touchpad -# as a tap. Not sure if helps. - Option "PalmDetect" "1" -# The following modifies how long and how fast scrolling continues -# after lifting the finger when scrolling - Option "CoastingSpeed" "20" - Option "CoastingFriction" "200" -# Smaller number means that the finger has to travel less distance -# for it to count as cursor movement. Larger number prevents cursor -# shaking. - Option "HorizHysteresis" "10" - Option "VertHysteresis" "10" -# Prevent two-finger scrolling. Very jerky movement - Option "HorizTwoFingerScroll" "0" - Option "VertTwoFingerScroll" "0" -# Use edge scrolling - Option "HorizEdgeScroll" "1" - Option "VertEdgeScroll" "1" -EndSection -</pre> - - <p><a href="#pagetop">Back to top of page.</a></p> - -<hr/> - - <h1 id="rom">Recommended ROM's to flash</h1> - - <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_txtmode.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> + <li> + Coreboot contains blobs (proprietary data/code) and libreboot does not (it intentionally removes them). + </li> + <li> + Coreboot is hacker-friendly and focuses on software developers, libreboot is user-focused and attempts to + turn coreboot into a distribution, sort of like a GNU/Linux distribution (same concept, different software). For example, libreboot + distributes GRUB/memtest86+/bucts/flashrom (and more) and comes with user-focused documentation and build scripts; libreboot + is therefore made more 'user-friendly'. + </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><a href="#pagetop">Back to top of page.</a></p> - -<hr/> - - <h1 id="flashrom_lenovobios">X60/X60S/X60T/T60: How to flash the ROM's onto your machine (if running Lenovo BIOS firmware).</h1> - - <div class="important"> - - <p> - Hover over the next paragraph to make it black. - </p> - <p class="lenovobios"> - Following this guide means simply flashing a libreboot ROM. This guide will not (directly) teach you how to make a backup (dump) of the original Lenovo BIOS - because to do so would be to explicitly endorse proprietary software. However, for the purposes of reverse engineering it can be useful - to have a backup. Each copy of the original Lenovo BIOS is tied to the specific machine that it came from; it will not run - on any other machine, even if it's the same type of machine as yours. What this means is that, effectively, you can back it up now (so that you can - re-flash it later if you want to run the original Lenovo BIOS again) or lose it forever. The X60/T60 installation - guide on the coreboot wiki will show you how to do this: - <a href="http://www.coreboot.org/Board:lenovo/x60/Installation">http://www.coreboot.org/Board:lenovo/x60/Installation</a>.<br/> - Do not make this decision lightly! This is your last and only chance. - </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/> - <b>$ sha512sum lower64k.bin top64k.bin</b><br/> - Make *sure* that they match before you continue. The ROM's included pre-compiled in libreboot should already match. - If they don't match, then do this (based on those instructions from <a href="http://www.coreboot.org/Board:lenovo/x60/Installation">coreboot wiki</a>):<br/> - <b>$ dd if=top64k.bin of=libreboot.rom bs=1 seek=$[$(stat -c %s libreboot.rom) - 0x20000] count=64k conv=notrunc</b><br/> - After this, the ROM will be safe to flash. Explanation is provided in <a href="#build_bucts">#build_bucts</a>. - </p> - - </div> - - <p><b>This is for the ThinkPad X60 and T60 while running Lenovo BIOS. If you already have coreboot or libreboot running, - then go to <a href="#flashrom">#flashrom</a> instead!</b></p> - - <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> - 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> - - <p> - Run the script:<br/> - <b>$ sudo ./lenovobios_firstflash bin/<a href="#rom">YOURBOARD/YOURROM</a>.</b> - </p> - - <div class="important"> - - <p> - You should see within the output the following:<br/> - <b>"Updated BUC.TS=1 - 64kb address ranges at 0xFFFE0000 and 0xFFFF0000 are swapped"</b>. - </p> - - <p> - You should also see within the output the following:<br/> - <b>"Flash chip is in an unknown state"</b>, <b>"FAILED"</b> and <b>"DO NOT SHUTDOWN OR REBOOT"</b><br/> - Seeing this means that the operation was a <b>resounding</b> success! <b>DON'T PANIC</b>. - </p> - - <p> - See this link for more details: - <a href="http://thread.gmane.org/gmane.linux.bios.flashrom/575">http://thread.gmane.org/gmane.linux.bios.flashrom/575</a>. - </p> - - <p> - If the above is what you see, then <b>SHUT DOWN</b>. Wait a few seconds, and then boot; libreboot is running, but there is a 2nd procedure <b>*needed*</b> (see below). - </p> - - </div> - - <p> - <b> - If you boot and you see nothing, try turning up the backlight (Fn+Home). - </b> - </p> - - <p> - When you have booted up again:<br/> - <b>$ sudo ./lenovobios_secondflash bin/<a href="#rom">YOURBOARD/YOURROM</a></b> - </p> - - <div class="important"> - - <p> - You should see within the output the following:<br/> - <b>"Updated BUC.TS=0 - 128kb address range 0xFFFE0000-0xFFFFFFFF is untranslated"</b> - </p> - - <p> - You should also see within the output the following:<br/> - <b>"Verifying flash... VERIFIED."</b> - </p> - - <p>Shut down again, wait a few seconds, and then boot.</p> - - </div> - - <p> - Some thinkpads come with WWAN cards installed, along with sim cards. These use non-free firmware and should be removed. - You might also want to remove bluetooth. See <a href="howtos/x60_security.html">x60_security.html</a> and - <a href="howtos/t60_security.html">t60_security.html</a>. - </p> - - <p><a href="#pagetop">Back to top of page.</a></p> - -<hr/> - - <h1 id="flashrom_macbook21">macbook21: How to flash your ROM (if running Apple EFI firmware)</h1> - - <div class="important"> - - <p> - Hover over the next paragraph to make it black. - </p> - <p class="lenovobios"> - Following this guide means simply flashing a libreboot ROM. This guide will not (directly) teach you how to make a backup (dump) of the original Apple EFI firmware - because to do so would be to explicitly endorse proprietary software. However, for the purposes of reverse engineering it can be useful - to have a backup. Each copy of the original Apple EFI is (believed, but unproven to be) tied to the specific machine that it came from; it will not (as is believed) run - on any other machine, even if it's the same type of machine as yours. What this means is that, effectively, you can back it up now (so that you can - re-flash it later if you want to run the original Apple EFI firmware again) or lose it forever. The macbook21 installation - guide on the coreboot wiki will show you how to do this: - <a href="http://www.coreboot.org/Board:apple/macbook21">http://www.coreboot.org/Board:apple/macbook21</a>.<br/> - Do not make this decision lightly! This is (very likely) your last and only chance. - </p> - - <p> - (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> - <b> - This is for the MacBook2,1 while running Apple EFI firmware. If you already have - coreboot or libreboot running, then go to <a href="#flashrom">#flashrom</a> instead! - </b> - </p> - - <p> - Be sure to read the information in <a href="#macbook21">#macbook21</a>. - </p> - - <p> - 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. - </p> - - <p> - Flashing is actually easy (compared to X60/T60).<br/> - <b>$ sudo flashrom -p internal:laptop=force_I_want_a_brick -w bin/<a href="#rom">YOURBOARD/YOURROM</a></b> - </p> - - <p> - Alternatively, a script is provided which does the same thing:<br/> - <b>$ sudo ./macbook21_firstflash bin/<a href="#rom">YOURBOARD/YOURROM</a></b> - </p> - - <div class="important"> - - <p> - You should also see within the output the following:<br/> - <b>"Verifying flash... VERIFIED."</b> - </p> - - <p> - If you see that, great! Shut down now (power off). Wait a few seconds and then boot! - </p> - - <p> - <b> - If you boot and you see nothing, try turning up the backlight (F2 for macbook21). - </b> - </p> - - - </div> - - <p><a href="#pagetop">Back to top of page.</a></p> - -<hr/> - - <h1 id="flashrom">X60/X60S/X60T/T60/macbook21: How to flash the ROM's onto your machine (if running libreboot or coreboot already)</h1> - - <p> - <b> - These instructions work for the Lenovo ThinkPad X60/X60S/X60T/T60 and Apple MacBook2,1. - </b> - </p> - <p> - <b> - This assumes that you already have coreboot or libreboot running. - </b> - </p> - <p> - <b> - If you have Lenovo BIOS running (X60/X60S/X60T/T60), go to <a href="#flashrom_lenovobios">#flashrom_lenovobios</a> instead. - </b> - </p> - <p> - <b> - If you have Apple EFI firmware running (macbook21), go to <a href="#flashrom_macbook21">#flashrom_macbook21</a> instead. - </b> - </p> - <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> - <b> - If you are flashing an Apple MacBook2,1, be sure to read the information in <a href="#macbook21">#macbook21</a>. - </b> - </p> - <p> - 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. - </p> - <p> - Flash the ROM:<br/> - <b>$ sudo ./flash bin/<a href="#rom">YOURBOARD/YOURROM</a></b> - </p> - - <div class="important"> - - <p> - You should see <b>"Verifying flash... VERIFIED."</b> written at the end of the flashrom output. <b>SHUT DOWN</b> - after you see this, and then boot up again after a few seconds. + Libreboot is <b>not</b> a fork of coreboot, despite misconceptions of this fact. Libreboot (downstream supplier) is a parallel effort + which works closely with and re-bases on the latest coreboot (upstream supplier) every so often. </p> <p> <b> - If you boot and you see nothing, try turning up the backlight (Fn+Home for X60/X60S/X60T/T60, F2 for macbook21). + As such, all new coreboot development should be done in coreboot, not libreboot! + Libreboot is about deblobbing, and packaging coreboot in a user-friendly way, where most work is already done for the user! + If, for example you wanted to attempt porting a new motherboard then you should do that in coreboot. Libreboot will (as a downstream) + receive your change at some point in the future, in a future release. </b> </p> - </div> - - <p> - Some thinkpads come with WWAN cards installed, along with sim cards. These use non-free firmware and should be removed. - You might also want to remove bluetooth. See <a href="howtos/x60_security.html">x60_security.html</a> and - <a href="howtos/t60_security.html">t60_security.html</a>. - </p> - - <p><a href="#pagetop">Back to top of page</a></p> - -<hr/> - - <h1 id="grub_font">Setting font in GRUB (for reference)</h1> - - <p>You don't need to do this unless you would like to change the default font yourself. - (this is just for reference. It has already been done for you)</p> - - <p>The old font used was Unifont, and this had some missing characters: for instance, the border showed ??? characters instead of lines.</p> - - <p>I tried DeJavu Sans Mono from this website: - <a href="http://dejavu-fonts.org/wiki/Download">dejavu-fonts.org</a></p> - - <p>Specifically, the version that I chose was the latest at the time of writing (Saturday 21 June 2014): - <a href="http://sourceforge.net/projects/dejavu/files/dejavu/2.34/dejavu-fonts-ttf-2.34.tar.bz2">this one</a></p> - - <p>This is a free font that is also contained in GNU/Linux distributions like Trisquel or Parabola.</p> - - <p><b>$ cd libreboot_src/grub</b><br/> - compile grub ('build' script has the info on how to do this)<br/> - come back out into libreboot_src/resources/grub:<br/> - <b>$ cd ../libreboot_src/resources/grub/font</b></p> - - <p>I took Dejavu Sans Mono from dejavu (included in this version of libreboot) and did:<br/> - <b>$ ../../../grub/grub-mkfont -o dejavusansmono.pf2 ../../../dejavu-fonts-ttf-2.34/ttf/DejaVuSansMono.ttf</b></p> - - <p>I then added the instructions to 'build' script to include resources/grub/dejavusansmono.pf2 in all of the ROM's in root of cbfs.<br/> - I then added that instructions to the grub.cfg files (to load the font):<br/> - <b>loadfont (cbfsdisk)/dejavusansmono.pf2</b></p> - - <p><a href="#pagetop">Back to top of page</a></p> - -<hr/> - - <h1 id="grub_keyboard">GRUB keyboard layouts (for reference)</h1> - - <h2 id="grub_custom_keyboard">Custom keyboard layout in GRUB (for reference)</h2> - - <p> - Keymaps are stored in resources/utilities/grub-assemble/keymap/. - </p> - - <p> - Example (French Azerty):<br/> - <b>$ ckbcomp fr > frazerty</b><br/><br/> - Go in grub directory:<br/> - <b>cat frazerty | ./grub/grub-mklayout -o frazerty.gkb</b> - </p> - - <p> - You must make sure that the files are named keymap and keymap.gkb (where 'keymap' can be whatever you want). - </p> - - <p> - 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> + <h2> + A 'stable' coreboot: + </h2> + <ul> + <li> + Coreboot uses the <a href="https://en.wikipedia.org/wiki/Rolling_release">rolling release</a> model + (and it is therefore quite volatile; one day when you build coreboot, it may or may not work correctly on your machine). + </li> + <li> + Libreboot changes less often (as far as the release model is concerned), focusing instead on 'tested' releases for <i>specific machines</i>. + At any given time, it might also be possible to build ROM images for systems other than those officially supported. If you get your board to work + (without violating the <i>"coreboot development goes in coreboot"</i> rule, then others could benefit from your work). + </li> + </ul> <p> - The scripts <b>build</b> and <b>buildrom-withgrub</b> will automatically see this, and automatically build - ROM's with your custom layout (given the name) and include them under bin. Example: <b>libreboot_frazerty.rom</b>. + On the other hand, coreboot is also strict about what it accepts (merges) into the main git repository: + most of the time, a lot of changes are under review at review.coreboot.org (as a way of encouraging as much further development + as possible before accepting the patch). </p> - <p><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/utilities/grub-assemble/keymap/original) - to see how ukdvorak file was created + Meanwhile, libreboot is a lot less strict in this area and freely merges specific patches that are desirable, sometimes before they are merged into coreboot's main repository. </p> - <b>$ cat ukdvorak | ./grub/grub-mklayout -o ukdvorak.gkb</b></p> - - <p><a href="#pagetop">Back to top of page</a></p> - -<hr/> - - <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/> - <b>$ sudo powertop --auto-tune</b></p> - - <p>You can also run it without parameters and then go into 'Tunables' and set everything to 'Good'</p> - - <p>Note: On Trisquel 6, you will need to use a later powertop version from git. The one in the repositories is too old. See below:</p> - - <h2 id="powertop_autostart">Powertop - Start automatically at boot time (Trisquel 6)</h2> - - <p>Included with libreboot is a script called 'powertop.trisquel6'. Run this and it will setup powertop to run with --auto-tune - at boot time. Load the file in your text editor to see how it does that.</p> - - <p><b>$ ./powertop.trisquel6</b></p> - - <p>This has been tested on Trisquel 6.</p> - - <p><a href="#pagetop">Back to top of page</a></p> - -<hr/> - - <h1 id="high_pitch_parabola">High Pitched Whining Noise on Idle (how to remove in Parabola)</h1> - - <p>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 most people can't hear or doesn't bother most people).</p> - - <p>This is not perfect! The full solution is still not discovered but this is a step towards that. - Also, in some instances you will need to run 'sudo powertop --auto-tune' again. - This needs to be implemented properly in coreboot itself!</p> - - <p>On the X60 with coreboot or libreboot, there is a high pitched sound when idle. - So far we have use processor.max_cstate=2 or idle=halt in GRUB. - These consume power. Stop using them! </p> - - <p>Be root<br/> - <b>$ su -</b></p> - - <p>Installed powertop:<br/> - <b># pacman -S powertop</b></p> - - <p>and added the following to /etc/systemd/system/powertop.service :</p> - -<pre><i> -[Unit] -Description=Powertop tunings - -[Service] -Type=oneshot -RemainAfterExit=no -ExecStart=/usr/bin/powertop --auto-tune -# "powertop --auto-tune" still needs a terminal for some reason. Possibly a bug? -Environment="TERM=xterm" - -[Install] -WantedBy=multi-user.target -</i></pre> - - - <p>Finally, as root do that:<br/> - <b># systemctl enable powertop</b><br/> - <b># systemctl start powertop</b></p> - - <p>The next time you boot the machine, the buzz will be gone.</p> - - <p><a href="#pagetop">Back to top of page</a></p> - -<hr/> - - <h1 id="serial">X60/T60: Serial port - how to use (for dock owners)</h1> - <p> - For the Thinkpad X60 you can use the <b>"UltraBase X6"</b> dock (for the X60 Tablet it is called - X6 Tablet UltraBase). For the ThinkPad T60, - you can use the <b>"Advanced Mini Dock"</b>. - </p> - <p> - If you are using one of the ROM's with 'serial' in the name, then you have serial port enabled in libreboot - and you have memtest86+ included inside the ROM. Connect your null modem cable to the serial port on the dock - and connect the other end to a 2nd machine using your USB Serial adapter. - </p> - <p> - On the 2nd machine, you can try this (using GNU Screen):<br/> - <b>$ sudo screen /dev/ttyUSB0 115200</b> - </p> - <p> - How to quit GNU Screen: Ctrl+A then release and press K, and then press Y. - </p> - <p>There are also others like Minicom but I like GNU Screen</p> - <p> - 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 can also configure your distro so that a terminal (TTY) is accessible from the serial console. - </p> - <p> - The following guide is for Ubuntu, and can be followed for Trisquel 6.0 which is based on Ubuntu 12.04 - (should also work in Trisquel 7, based on Ubuntu 14.04) to enable a serial console using GeTTY:<br/> - <a href="https://help.ubuntu.com/community/SerialConsoleHowto" target="_blank">https://help.ubuntu.com/community/SerialConsoleHowto</a> - </p> - <p> - Note: part of the tutorial above requires changing your grub.cfg. Just change the <b>linux</b> line to add instructions for enabling getty. - See <a href="howtos/grub_cbfs.html">howtos/grub_cbfs.html</a>. - </p> - <p><a href="#pagetop">Back to top of page</a> - -<hr/> - - <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-edid | strings</b><br/> - Or look in <b>/sys/class/drm/card0-LVDS-1/edid</b> - </p> - <p> - Alternatively you can use i2cdump. In Trisquel, this is in the package i2c-tools.<br/> - $ <b>sudo modprobe i2c-dev</b><br/> - $ <b>sudo i2cdump -y 5 0x50</b><br/> - $ <b>sudo rmmod i2c-dev</b><br/> - You'll see the panel name in the output (from the EDID dump). - </p> - <p> - If neither of these options work (or they are unavailable), physically removing the LCD panel is an option. - Usually, there will be information printed on the back. - </p> - <p><a href="#pagetop">Back to top of page.</a></p> <hr/> |