From 7eca665d684a734d55b0bb26c4f1831d399c5330 Mon Sep 17 00:00:00 2001
From: Francis Rowe
+ It is assumed that you are running GNU/Linux. No other operating system is known to be compatible (with libreboot) for this release.
+
+ The information here is user documentation mainly. For development notes and TODO's, see RELEASE.html and
+ future/index.html
+
- This is for Lenovo BIOS users on the ThinkPad X60 and T60. If you have coreboot or libreboot running already, ignore this.
+ 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.
- Bucts is needed when flashing the X60/T60 ROM while Lenovo BIOS is running.
+ Bucts is needed when flashing the X60/X60S/X60T/T60 ROM while Lenovo BIOS is running.
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 "bucts 1" will set the machine to boot from the other block instead (which
@@ -488,9 +502,71 @@
+ Regarding native gpu initialization ('native graphics') which replaces the proprietary VGA Option ROM ('Video BIOS' or 'VBIOS'),
+ all known LCD panels are currently compatible:
+
+ See #get_edid_panelname.
+
+ Regarding native gpu initialization ('native graphics') which replaces the proprietary VGA Option ROM ('Video BIOS' or 'VBIOS').
+
+ The following LCD panels are known to work:
+
+ The following LCD panels are incompatible at the moment.
+
+ See #get_edid_panelname.
+
+ Regarding native gpu initialization ('native graphics') which replaces the proprietary VGA Option ROM ('Video BIOS' or 'VBIOS').
+
T60 15.4" (1280x800 and 1680x1050) with Intel GPU is untested in this release. Not much yet is known about panel names.
They will be tested at a later date.
- A user with 2 T60's, each with a Core 2 Duo T7200 processor tried libreboot on each machine.
- One worked, one did not. It should be explained that in addition to the microcode (on the CPU),
- updates are usually supplied in coreboot (from Intel) which patch the onboard microcode to fix bugs.
- Errata's can be found at http://download.intel.com/design/mobile/SPECUPDT/30922214.pdf
- and http://download.intel.com/design/mobile/SPECUPDT/31407918.pdf.
- These microcode updates are not included in libreboot because they are proprietary (blobs). Most CPU's work fine without them: hundreds
- of Core Duo T2300/T2400/T2500/L2300/L2400/L2500 processors have been tested on the X60, and a few T5600 CPU's have been tested on the T60 (and X60 and all work).
- In the case of the T7200, it was found that one of the two tested had instability issues (kernel panics) without the updates: work is being done to find out
- exactly what version of the microcode that particular CPU had in this case.
- If you find that your CPU gives you similar issues (after trying libreboot), the current workaround is to simply try another CPU
- (fortunately, the CPU's in the T60 are installed in a socket so replacing them is easy).
-
- There might be a patched kernel that can be used, or a kernel parameter that can be used in GRUB to work around these (rare) buggy CPU's
- (it is unknown at the moment whether this is possible).
- The Core 2 Duo T7600 is untested, but will be tested soon (the lead developer of libreboot project has 3 of them to try out).
-
- If reading this for 2nd beta, note that any debugging obtained so far will be included in the 3rd beta.
-
To find what LCD panel you have, see: #get_edid_panelname.
+ 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 #flashrom_macbook21.
+ GNU/Linux distributions
@@ -164,14 +178,14 @@
Working with source code
Hardware maintenance
+
Macbook2,1
@@ -73,13 +84,14 @@
Installing libreboot (software: using internal programmer)
Installing libreboot (hardware: using external programmer)
GRUB2 payload
@@ -94,7 +106,8 @@
- How to build "bucts" (for LenovoBIOS X60/T60)
+ How to build "bucts" (for LenovoBIOS X60/X60S/X60T/T60)
+ List of supported ThinkPad X60's
+
+
+
+
+
+
+ List of supported ThinkPad X60 Tablets
+
+
+
+
+
+
+
+
+
+
+
+
+
Supported T60 list
-
-
+
Information about coreboot
@@ -921,6 +980,12 @@
Also of interest: #config_macbook21.
+ + 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. + +
++ Hover over the next paragraph to make it black. +
+
+ 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:
+ http://www.coreboot.org/Board:apple/macbook21.
+ Do not make this decision lightly! This is (very likely) your last and only chance.
+
+ (this theory is untested at the time of writing) +
+ +- These instructions work for both the ThinkPad X60 and T60. -
-- This assumes that you already have coreboot or libreboot running -
-- If you have Lenovo BIOS running, go to #flashrom_lenovobios instead. + + This is for the MacBook2,1 while running Apple EFI firmware. If you already have + coreboot or libreboot running, then go to #flashrom instead! +
+- If you are flashing a Lenovo ThinkPad T60, be sure to read #supported_t60_list + Be sure to read the information in #macbook21.
+
If you need to recompile flashrom:
See: #build_flashrom
@@ -1130,31 +1223,108 @@
$ sudo ./builddeb-flashrom
- Look at #rom to see which ROM is suitable for your machine. Alternative you may be using your own + Look at #rom to see which ROM is suitable for your machine. Alternatively you may be using your own custom ROM. Adapt.
+
- Flash the ROM:
- $ sudo ./flash bin/YOURBOARD/YOURROM
+ Flashing is actually easy (compared to X60/T60).
+ $ sudo flashrom -p internal:laptop=force_I_want_a_brick -w bin/YOURBOARD/YOURROM
- You should see "Verifying flash... VERIFIED." written at the end of the flashrom output. SHUT DOWN
- after you see this, and then boot up again after a few seconds.
+ Alternatively, a script is provided which does the same thing:
+ $ sudo ./macbook21_firstflash bin/YOURBOARD/YOURROM
+ You should also see within the output the following:
+ "Verifying flash... VERIFIED."
+
+ If you see that, great! Shut down now (power off). Wait a few seconds and then boot! +
+ +- 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 #tft_brightness. + These instructions work for the Lenovo ThinkPad X60/X60S/X60T/T60 and Apple MacBook2,1.
-- If this is a ThinkPad X60 then you can look at #x60_wifi for how to enable/disable wifi. - You can also look at #x60_trackpoint for how to enable/disable the trackpoint (red mouse on keyboard). + This assumes that you already have coreboot or libreboot running. + +
++ + If you have Lenovo BIOS running (X60/X60S/X60T/T60), go to #flashrom_lenovobios instead. + +
++ + If you have Apple EFI firmware running (macbook21), go to #flashrom_macbook21 instead. + +
++ + If you are flashing a Lenovo ThinkPad T60, be sure to read #supported_t60_list. + +
++ + If you are flashing an Apple MacBook2,1, be sure to read the information in #macbook21.
+
+ If you need to recompile flashrom:
+ See: #build_flashrom
+
+ You also need the run-time dependencies. This script works on apt-get distros:
+ $ sudo ./builddeb-flashrom
+
+ Look at #rom to see which ROM is suitable for your machine. Alternative you may be using your own + custom ROM. Adapt. +
+
+ Flash the ROM:
+ $ sudo ./flash bin/YOURBOARD/YOURROM
+
+ You should see "Verifying flash... VERIFIED." written at the end of the flashrom output. SHUT DOWN + after you see this, and then boot up again after a few seconds. +
+ ++ + 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 #tft_brightness. + +
+ ++ + If this is a ThinkPad X60 then you can look at #x60_wifi for how to enable/disable wifi. + You can also look at #x60_trackpoint for how to enable/disable the trackpoint (red mouse on keyboard). + +
+ +https://upload.wikimedia.org/wikipedia/commons/thumb/b/b9/KB_France.svg/800px-KB_France.svg.png
+$ cd libreboot_src/grub
- compile grub ('build' script has the info on how to do this)
- come back out into libreboot_src
- $ cd ../
Generate the layout file:
$ ckbcomp us > usqwerty
$ cat usqwerty | ./grub/grub-mklayout -o usqwerty.gkb
Note: these files are already included ('build' script also makes use of them). You don't need to do any of this.
-$ ckbcomp gb > ukqwerty
+
Generate the layout file:
+ $ ckbcomp gb > ukqwerty
$ cat ukqwerty | ./grub/grub-mklayout -o ukqwerty.gkb
Note: these files are already included ('build' script makes use of them). You don't need to do it.
-How the dvorak.gkb was made (for US Dvorak layout in GRUB).
- -$ cd libreboot_src/grub
- compile grub ('build' script has the info on how to do this)
- come back out into libreboot_src:
- $ cd ../
Generate the layout file:
$ ckbcomp dvorak > usdvorak
- $ cat usdvorak | ./grub/grub-mklayout -o dvorak.gkb
Note: these files are already included ('build' script makes use of them). You don't need to do it.
+ $ cat usdvorak | ./grub/grub-mklayout -o usdvorak.gkbThere isn't much difference to US Dvorak.
- $ cp usdvorak ukdvorak
Patch ukdvorak like so (diff usdvorak ukdvorak):
- diff the usdvorak file with ukdvorak to see how it was patched.
+ ukdvorak had to be created manually, based on usdvorak. diff them (under resources/grub/keymap/original) + to see how ukdvorak file was created +
-Now create ukdvorak.gkb
$ cat ukdvorak | ./grub/grub-mklayout -o ukdvorak.gkb
Note: these files are already included ('build' script makes use of them). You don't need to do any of this.
- -How the frazerty.gkb was made (for FR AZERTY layout in GRUB).
- -$ cd libreboot_src/grub
- compile grub ('build' script has the info on how to do this)
- come back out into libreboot_src:
- $ cd ../
Generate the layout file:
$ ckbcomp fr > frazerty
$ cat frazerty | ./grub/grub-mklayout -o frazerty.gkb
Note: these files are already included ('build' script makes use of them). You don't need to do it.
+Generate the layout file:
+ $ ckbcomp it > itqwerty
+ $ cat itqwerty | ./grub/grub-mklayout -o itqwerty.gkb
Unlisted note: http://inertiawar.com/microcode/ + Read that thread: http://www.coreboot.org/pipermail/coreboot/2014-July/078261.html (link published to coreboot mailing list on July 8, 2014) + Document everything listed in this discussion (and the link) + + SeaVGABIOS+SeaBIOS support for X60/T60: + Read that: http://www.coreboot.org/pipermail/coreboot/2014-July/078342.html This page talks about 'calibration' in powertop: https://docs.fedoraproject.org/en-US/Fedora/15/html/Power_Management_Guide/PowerTOP.html I should think about adapting information here based on that page. + + Look into 'git archive' instead of deleting .git + eg (coreboot directory): + git archive --format=tar --prefix=libreboot/ -o ../libreboot_release.tar HEAD