From 488242eb941305ef61319b8499d4a1e8ccf218a1 Mon Sep 17 00:00:00 2001
From: Francis Rowe
Date: Sun, 20 Jul 2014 03:37:00 -0400
Subject: Libreboot release 6 beta 3.
- Fixed typo that existed in 2nd beta where the release date of the
2nd beta was listed as being in year 2016, when in actual fact it
was 2014.
- Documentation: added (preliminary) details about (rare) buggy CPU's
on the ThinkPad T60 that were found to fail (instability, kernel
panics, etc) without the microcode updates.
- Documentation: added docs/howtos/x60_heatsink.html for showing how
to change the heatsink on the Thinkpad X60
- Added ROM images for Azerty (French) keyboard layout in GRUB
(courtesy of Olivier Mondoloni)
- Tidied up some scripts:
- Re-factored those scripts (made easier to read/maintain):
build-x60, build-x60t, build-t60, build-macbook21
- Reduced the number of grub configs to 2 (or 1, for macbook21), the
build scripts now generate the other configs at build time.
- Deleted build-x60, build-x60t, build-t60, build-macbook21 and
replaced with intelligent (generic) buildrom-withgrub script
- Updated build to use buildrom-withgrub script for building the ROM
images.
- coreboot.rom and coreboot_serial.rom renamed to
coreboot_usqwerty.rom and coreboot_serial_usqwerty.rom
- coreboot_dvorak and coreboot_serial_dvorak.rom renamed to
coreboot_usdvorak.rom and coreboot_serial_usdvorak.rom
- Renamed coreboot*rom to libreboot*rom
- Made flash, lenovobios_firstflash and lenovobios_secondflash
scripts fail if the specified file does not exist.
- Updated all relevant parts of the documentation to reflect the
above.
- Replaced background.png with background.jpg. added
gnulove.jpg. (resources/grub/background/)
- Updated buildrom-withgrub to use background.jpg instead of
background.png
- Updated buildrom-withgrub to use gnulove.jpg aswell
- Updated resources/grub/config/macbook21/grub*cfg to use gnulove.jpg
background.
- Updated resources/grub/config/{x60,t60,x60t}/grub*cfg to use
background.jpg background.
- Documentation: updated docs/index.html#grub_custom_keyboard to be
more generally useful.
- nvramtool:
- Updated builddeps-coreboot script to build it
- Updated build script to include it in libreboot_bin
- Documentation: added docs/howtos/x60_security.html (security
hardening for X60)
---
(limited to 'docs')
diff --git a/docs/RELEASE.html b/docs/RELEASE.html
index 7d41aeb..6e12ca7 100644
--- a/docs/RELEASE.html
+++ b/docs/RELEASE.html
@@ -32,7 +32,7 @@
Releases
-
6th release (2014 July 16th, pre-release, 2nd beta)
+
6th release (2014 July 20th, pre-release, 3rd beta)
5th release (2014 March 7th, revised 2014 June 22nd)
- (the above warning is quite benign. See TODO's)
-
If flashing on an X60 then note that you might want to enable wifi and trackpoint after booting libreboot the first time (meaning, **after** you powered off and subsequently booted again).
See docs/index.html#x60_wifi and docs/index.html#x60_trackpoint for how to do that.
@@ -72,21 +70,21 @@
Machines still supported (compared to previous release):
@@ -125,6 +123,28 @@
T60 15.4" (1280x800 and 1680x1050) with Intel GPU is untested in this pre-release. Not much yet is known about panel names.
They will be tested at a later date.
+
* T60 (microcode): some CPU's might not work (can be replaced)
+
+ 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.
+
** Warning: MacBook2,1 UNTESTED!
At the time of this pre-release, MacBook2,1 support is present but untested. I have ordered a MacBook2,1
@@ -145,10 +165,10 @@
X60 now uses a single .config (for coreboot)
X60 now uses a single grub.cfg (for grub memdisk)
X60 now uses a single grub.elf (payload)
-
Added new native graphics code for X60 (replaces the old 'replay' code): 5320/9 from review.coreboot.org
+
Added new native graphics code for X60 (replaces the old 'replay' code) from Vladimir Serbinenko: 5320/9 from review.coreboot.org
T60 is now supported, with native graphics. (5345/4 from review.coreboot.org, cherry-picked on top of 5320/9 checkout)
- Added macbook2,1 support from review.coreboot.org (see 'getcb' script to know how that was done)
+ Added macbook2,1 support (from Mono Moosbart and Vladimir Serbinenko) from review.coreboot.org (see 'getcb' script to know how that was done)
Documentation: added information linking to correct page and talking about which models are supported.
Added resources/libreboot/config/macbook21config
@@ -163,7 +183,7 @@
T60: Copy CD option from the grub.cfg's for T60 *serial*.rom images into the grub configs for non-serial images. (T60's have CD/DVD drive on main laptop)
macbook21: remove options in build-macbook21 for *serial*.rom (there is no dock or serial port available for macbook21)
- Added patches for backlight controls on X60 and T60 (see ./resources/libreboot/patch/gitdiff and ./getcb and docs/i945_backlight.html)
+ Added patches for backlight controls on X60 and T60 with help from Denis Carikli (see ./resources/libreboot/patch/gitdiff and ./getcb and docs/i945_backlight.html)
Documentation: added docs/i945_backlight.html showing how backlight controls were made to work on X60/T60
@@ -175,7 +195,7 @@
- X60/T60: Merged patches for 3D fix when using kernel 3.12 or higher (see ./resources/libreboot/patch/gitdiff and ./getcb)
+ X60/T60: Merged patches for 3D fix (from Paul Menzel) when using kernel 3.12 or higher (see ./resources/libreboot/patch/gitdiff and ./getcb)
based on 5927/11 and 5932/5 from review.coreboot.org
@@ -332,10 +352,9 @@
Removed instructions for building source code in the 'get' script (they don't really belong there)
Added libfuse-dev and liblzma-dev to the list of GRUB dependencies in 'builddeb' script.
Converted the 'RELEASE' file to 'docs/RELEASE.html'
-
TODO: Add copyright license as appropriate to all of the parts that are mine. (REMOVE THIS LINE WHENDONE)
Added those dependencies to builddeb script (for GRUB part): gawk libdevmapper-dev libtool libfreetype6-dev
Added to build script the instruction at the end to create a sha512sum.txt with a file manifest plus checksums.
-
Deleted RELEASE, DEBLOB and BACKPORT file (no longer needed)
+
Deleted the RELEASE and BACKPORT files (no longer needed)
Documentation: added information about X60/T60 dock (ultrabase x6 and advanced mini dock) to relevant sections.
@@ -347,7 +366,56 @@
Revisions for 2nd beta (2014 July 16th)
-
Removed more blobs: Deleted all git files (and added instructions to getcb, for libreboot_meta.tar.gz): removes history of blobs (which itself also showed the patches and therefore the blobs when using 'git diff')
+
+ Deleted all git-related files from the coreboot directory. This was necessary because
+ with those it is possible to run 'git diff' which shows the changes made in the form
+ of a patch (diff format); this includes the blobs that were deleted during deblobbing.
+
+
+
+
+ Revisions for 3rd beta (2014 July 20th)
+
+
+
+ Fixed typo that existed in 2nd beta where the release date of the 2nd beta was listed as being in year 2016, when in actual fact it was 2014.
+
+
+ Documentation: added (preliminary) details about (rare) buggy CPU's on the ThinkPad T60 that were found to fail (instability, kernel panics, etc)
+ without the microcode updates.
+
+
Documentation: added docs/howtos/x60_heatsink.html for showing how to change the heatsink on the Thinkpad X60
+
Added ROM images for Azerty (French) keyboard layout in GRUB (courtesy of Olivier Mondoloni)
+
+ Tidied up some scripts:
+
+
Re-factored those scripts (made easier to read/maintain): build-x60, build-x60t, build-t60, build-macbook21
+
Reduced the number of grub configs to 2 (or 1, for macbook21), the build scripts now generate the other configs at build time.
+
Deleted build-x60, build-x60t, build-t60, build-macbook21 and replaced with intelligent (generic) buildrom-withgrub script
+
Updated build to use buildrom-withgrub script for building the ROM images.
+
coreboot.rom and coreboot_serial.rom renamed to coreboot_usqwerty.rom and coreboot_serial_usqwerty.rom
+
coreboot_dvorak and coreboot_serial_dvorak.rom renamed to coreboot_usdvorak.rom and coreboot_serial_usdvorak.rom
+
Renamed coreboot*rom to libreboot*rom
+
Made flash, lenovobios_firstflash and lenovobios_secondflash scripts fail if the specified file does not exist.
+
Updated all relevant parts of the documentation to reflect the above.
+
+
+
Replaced background.png with background.jpg. added gnulove.jpg. (resources/grub/background/)
+
Updated buildrom-withgrub to use background.jpg instead of background.png
+
Updated buildrom-withgrub to use gnulove.jpg aswell
+
Updated resources/grub/macbook21/grub*cfg to use gnulove.jpg background.
+
Updated resources/grub/{x60,t60,x60t}/grub*cfg to use background.jpg background.
+
Documentation: updated docs/index.html#grub_custom_keyboard to be more generally useful.
+
+ nvramtool:
+
+
Updated builddeps-coreboot script to build it
+
Updated build script to include it in libreboot_bin
+
+
+
+ Documentation: added docs/howtos/x60_security.html (security hardening for X60)
+
@@ -375,17 +443,14 @@
+
TODO: T60: find (for rare buggy CPU's that are unstable without microcode updates) if there is a workaround (patched kernel, special parameter, etc)
TODO: Modify coreboot so that tft_brightness is 0xff by default (for fixing the looping issue automatically)
TODO: Modify the Kconfig options in coreboot so that the (non-existent, deleted) microcode is never loaded when building.
TODO: Ask Mono what license he wants to use for his pages (see notes in docs/index.html#macbook21) and then include a copy in the relevant part of the documentation. (note: the backups are not included for now, for this exact reason)
TODO: Retroactively GPG-sign the final revisions of each previous release. (SHA512 sums aswell).
TODO: For the gitdiff in resources/libreboot/patch, re-implement those changes as actual commits in git, using separate patch files for each change.
-
TODO: Start GPG signing the release archives.
TODO: Made the lenovobios_firstflash and lenovobios_secondflash scripts safer to use (checking for unintended errors, bad checksums and so on)
-
TODO: cbfstool/flashrom/bucts: Investigate that idea: https://wiki.debian.org/HowToPackageForDebian (make a package for Trisquel 6 for cbfstool) (distributing a .deb for Trisquel 6)
-
TODO: Added instructions to builddeps-cbfstool to fail if it detects that it is being executed from anywhere other than libreboot_bin
TODO: Tested all of the remaining untested LCD panels under docs/index.html#supported_t60_list
-
TODO: Documentation: start translating the documentations into other languages aswell.
TODO: macbook21: from what I can tell, macbook21 has no dock or serial. investigate usbdebug and spkmodem option.
TODO: Documentation: macbook2,1: Show how to physically remove the built-in webcam (which doesn't work unless you install a non-free driver)
@@ -406,22 +471,13 @@
TODO: Documentation: Added (replicated) the same level of logs (from default firmware) that Mono did for macbook21, for t60/x60/x60t
-
TODO: macbook21: make it's grub.cfg's use a background1280x800.png instead, because macbook21 uses this 16:10 resolution instead of 4:3
TODO: Documentation: Write documentation showing how to install a GNU/Linux distribution on a macbook2,1 while stock (non-free) firmware is running.
TODO: macbook21: Added script 'macbook21_firstflash' for flashing libreboot while Apple EFI firmware is running.
TODO: Documentation: macbook21: added software-based flashing instructions for flashing libreboot while Apple EFI firmware is running.
TODO: Documentation: updated the X60 unbrick tutorial to use the 5-pin method instead (safer / less dangerous).
-
TODO: X60/X60s: create new x60sconfig in resources/libreboot/config
-
TODO: Added script build-x60s which puts it's ROM's in bin/x60s and uses resources/libreboot/config/x60sconfig (still uses resources/grub/config/*)
-
TODO: Added ./build-x60s instruction to build script
TODO: Documentation: added unbricking tutorial for T60
TODO: Documentation: Advise what parts of the unbricking tutorial to follow (or skip) for replacing motherboard
TODO: Documentation: X60/T60: added information about checking custom ROM's using dd to see whether or not the top 64K region is duplicated below top or not. Advise caution about this in the tutorial that deals with flashing on top of Lenovo BIOS, citing the correct dd commands necessary if it is confirmed that the ROM has not been applied with dd yet. (in the case that the user compiled their own ROM's from libreboot, without using the build scripts, or if they forgot to use dd, etc).
-
TODO: Updated 'build' script to include coreboot/util/nvramtool source directory as 'nvramtool_standalone' directory in libreboot_bin
-
TODO: Added 'builddeps-nvramtool' for building nvramtool (for libreboot_bin, not src) standalone, which does 'make' in libreboot_bin/nvramtool_standalone then puts the nvramtool executable in libreboot_bin/ and then does 'make clean' in libreboot_bin/nvramtool_standalone/.
-
TODO: Updated 'build' script to include 'builddeps-nvramtool' in libreboot_bin
-
TODO: Updated 'build' script to include X60/T60/macbook21 cmos.layout files (from libreboot_src/coreboot/src/mainboard/oem/board/) in libreboot_bin, for use with nvramtool
-
TODO: Documentation: updated the relevant parts that use nvramtool to mention the new 'builddeps-nvramtool' and the cmos.layout files in libreboot_bin. Emphasize that this is for libreboot_bin and not libreboot_src
TODO: Documentation: Add a "development guide" for how to maintain libreboot ('get' scripts, deblob scripts, associated files under ./resources and so on)
TODO: Investigate high boot speeds on X60/T60/macbook21
diff --git a/docs/howtos/grub_cbfs.html b/docs/howtos/grub_cbfs.html
index 8446686..d95904d 100644
--- a/docs/howtos/grub_cbfs.html
+++ b/docs/howtos/grub_cbfs.html
@@ -29,7 +29,7 @@
- A coreboot or libreboot ROM is not simply "flat"; there is an actual filesystem inside called CBFS (coreboot filesystem). A utility called 'cbfstool'
+ A libreboot (or coreboot) ROM is not simply "flat"; there is an actual filesystem inside called CBFS (coreboot filesystem). A utility called 'cbfstool'
allows you to change the contents of the ROM. In this case, libreboot is configured such that the grub.cfg exists directly inside CBFS instead of
inside the grub.elf payload's 'memdisk' (which is itself stored in CBFS).
@@ -61,30 +61,30 @@
You can work directly with one of the ROM's already included in libreboot_bin.tar.gz. For the purpose of this tutorial it is assumed
- that your ROM is named 'coreboot.rom' so please make sure to adapt.
+ that your ROM is named 'libreboot_usqwerty.rom' so please make sure to adapt.
If you want to re-use the ROM that you currently have flashed (and running) then see ../index.html#build_flashrom
and then run:
- $ sudo ./flashrom -p internal -r coreboot.rom
- Notice that this is using "-r" (read) instead of "-w" (write). This will create a dump (copy) of your current firmware and name it coreboot.rom. You need to take ownership of the file. For example:
- $ sudo chown yourusername:yourusername coreboot.rom
- # chown yourusername:yourusername coreboot.rom
+ $ sudo ./flashrom -p internal -r libreboot_usqwerty.rom
+ Notice that this is using "-r" (read) instead of "-w" (write). This will create a dump (copy) of your current firmware and name it libreboot_usqwerty.rom. You need to take ownership of the file. For example:
+ $ sudo chown yourusername:yourusername libreboot_usqwerty.rom
+ # chown yourusername:yourusername libreboot_usqwerty.rom
Delete the grub.cfg that remained inside the ROM:
- $ ./cbfstool coreboot.rom remove -n grub.cfg
+ $ ./cbfstool libreboot_usqwerty.rom remove -n grub.cfg
Display ROM contents and now you see grub.cfg no longer exists there:
- $ ./cbfstool coreboot.rom print
+ $ ./cbfstool libreboot_usqwerty.rom print
Add the modified version that you just made:
- $ ./cbfstool coreboot.rom add -n grub.cfg -f grub.cfg -t raw
+ $ ./cbfstool libreboot_usqwerty.rom add -n grub.cfg -f grub.cfg -t raw
Now display ROM contents again and see that it exists again:
- $ ./cbfstool coreboot.rom print
+ $ ./cbfstool libreboot_usqwerty.rom print
isopropyl alcholal (sometimes called rubbing alchole) (cleaning material. DoNotIngest) (typo is intentional, due to fii1illterii1iiing für wörten von Großbritannien und oder nationale iintturnett)
+
your new fan and/or heatsink
+
CPU thermal compound (some say Arctic Silver 5 or IC Diamond 7 are good, others are also 'ok')
+
Something to spread the paste with
+
+
+
Software requirements (for CPU stress testing)
+
+
xsensors utility
+
stress utility
+
+
+
Disassembly
+
+ Remove those screws:
+
+
+
+ Push the keyboard forward (carefully):
+
+
+
+ Lift the keyboard up and disconnect it from the board:
+
+
+
+ Grab the right-hand side of the chassis and force it off (gently) and pry up the rest of the chassis:
+
+
+
+ You should now have this:
+
+
+
+ Disconnect the wifi antenna cables, the modem cable and the speaker:
+
+
+
+ Unroute the cables along their path, carefully lifting the tape that holds them in place. Then, disconnect the modem
+ cable (other end) and power connection and unroute all the cables so that they dangle by the monitor hinge on the right-hand
+ side:
+
+
+
+ Disconnect the monitor from the motherboard, and unroute the grey antenna cable, carefully lifting the tape
+ that holds it into place:
+
+
+
+ Carefully lift the remaining tape and unroute the left antenna cable so that it is loose:
+
+
+
+ Remove those screws:
+
+
+
+ Remove those screws:
+
+
+
+ Carefully remove the plate, like so:
+
+
+
+ Remove the SATA connector:
+
+
+
+ Now remove the motherboard (gently) and cast the lcd/chassis aside:
+
+
+
+ Look at that black tape above the heatsink, remove it:
+
+
+
+ Now you have removed it:
+
+
+
+
+ Disconnect the fan and remove all the screws, heatsink will easily come off:
+
+
+
+
+ Remove the old paste with a cloth (from the CPU and heatsink) and then clean both of them with the alcholeel (to remove remaining residue. typo is intentional).
+ Apply a pea-sized amount of paste to the both chipsets that the heatsink covered and spread it evenly (uniformally).
+ Finally reinstall the heatsink, reversing previous steps.
+
+
+
+ stress -c 2 command can be used to push the CPU to 100%, and xsensors (or watch sensors command) can be used to monitor heat.
+ Below 90C is ok.
+
(in a later version of this tutorial: soldering iron and scalpel)
+
+
+
Software requirements
+
+
none (at least in the scope of the article as-is)
+
+
+
Disassembly
+
+
+ Firstly remove the bluetooth (if your X60 has this):
+ The marked screws are underneath those stickers (marked in those 3 locations at the bottom of the LCD assembly):
+
+ Now gently pry off the bottom part of the front bezel, and the bluetooth module is on the left (easily removable):
+
+
+
+
+ If your model was WWAN, remove the simcard (check anyway):
+ Uncover those 2 screws at the bottom:
+
+ SIM card is in the marked location:
+
+ Replacement: USB dongle.
+
+
+
+ Now get into the motherboard.
+
+
+
+ Remove those screws:
+
+
+
+ Push the keyboard forward (carefully):
+
+
+
+ Lift the keyboard up and disconnect it from the board:
+
+
+
+ Grab the right-hand side of the chassis and force it off (gently) and pry up the rest of the chassis:
+
+
+
+ You should now have this:
+
+
+
+
+ The following is a summary of what you will remove (already done to this machine):
+
+ Note: the blue lines represent antenna cables and modem cables. You don't need to remove these, but you can if you want
+ (to make it tidier after removing other parts). I removed the antenna wires, the modem jack, the modem cable and
+ also (on another model) a device inside the part where the wwan antenna goes (wasn't sure what it was, but I knew it wasn't needed). This is optional
+
+
+
+ Remove the microphone (can desolder it, but you can also easily pull it off with you hands). Already removed here:
+
+ We do not know what the built-in microcode (on the CPU) is doing. The theory is that it could be programmed to take commands that do something
+ and then the CPU returns results. (meaning, remote security hole). So we remove it, just in case.
+ Replacement: external microphone on USB or line-in jack.
+
+
+
+ Remove the modem:
+
+ (useless, obsolete device)
+
+
+
+ Remove the speaker:
+
+ Reason: combined with the microphone issue, this could be used to leak data.
+ Replacement: headphones/speakers (line-out) or external DAC (USB).
+
+
+
+ Remove the wlan (also remove wwan if you have it):
+
+ Reason: has direct (and very fast) memory access, and could (theoretically) leak data over a side-channel.
+
+
+
+
diff --git a/docs/howtos/x60_security/0000.jpg b/docs/howtos/x60_security/0000.jpg
new file mode 100644
index 0000000..ce0ec3b
--- /dev/null
+++ b/docs/howtos/x60_security/0000.jpg
Binary files differ
diff --git a/docs/howtos/x60_security/0000_bluetooth.jpg b/docs/howtos/x60_security/0000_bluetooth.jpg
new file mode 100644
index 0000000..94a255f
--- /dev/null
+++ b/docs/howtos/x60_security/0000_bluetooth.jpg
Binary files differ
diff --git a/docs/howtos/x60_security/0000_bluetooth0.jpg b/docs/howtos/x60_security/0000_bluetooth0.jpg
new file mode 100644
index 0000000..a750b0c
--- /dev/null
+++ b/docs/howtos/x60_security/0000_bluetooth0.jpg
Binary files differ
diff --git a/docs/howtos/x60_security/0000_simcard0.jpg b/docs/howtos/x60_security/0000_simcard0.jpg
new file mode 100644
index 0000000..40837ea
--- /dev/null
+++ b/docs/howtos/x60_security/0000_simcard0.jpg
Binary files differ
diff --git a/docs/howtos/x60_security/0000_simcard1.jpg b/docs/howtos/x60_security/0000_simcard1.jpg
new file mode 100644
index 0000000..c0a5b35
--- /dev/null
+++ b/docs/howtos/x60_security/0000_simcard1.jpg
Binary files differ
diff --git a/docs/howtos/x60_security/0001.jpg b/docs/howtos/x60_security/0001.jpg
new file mode 100644
index 0000000..2bbc0ca
--- /dev/null
+++ b/docs/howtos/x60_security/0001.jpg
Binary files differ
diff --git a/docs/howtos/x60_security/0001_microphone.jpg b/docs/howtos/x60_security/0001_microphone.jpg
new file mode 100644
index 0000000..c419060
--- /dev/null
+++ b/docs/howtos/x60_security/0001_microphone.jpg
Binary files differ
diff --git a/docs/howtos/x60_security/0001_modem.jpg b/docs/howtos/x60_security/0001_modem.jpg
new file mode 100644
index 0000000..6a7a6a0
--- /dev/null
+++ b/docs/howtos/x60_security/0001_modem.jpg
Binary files differ
diff --git a/docs/howtos/x60_security/0001_overview.jpg b/docs/howtos/x60_security/0001_overview.jpg
new file mode 100644
index 0000000..7268e49
--- /dev/null
+++ b/docs/howtos/x60_security/0001_overview.jpg
Binary files differ
diff --git a/docs/howtos/x60_security/0001_speaker.jpg b/docs/howtos/x60_security/0001_speaker.jpg
new file mode 100644
index 0000000..28d3ed6
--- /dev/null
+++ b/docs/howtos/x60_security/0001_speaker.jpg
Binary files differ
diff --git a/docs/howtos/x60_security/0001_wlan_wwan.jpg b/docs/howtos/x60_security/0001_wlan_wwan.jpg
new file mode 100644
index 0000000..0db858d
--- /dev/null
+++ b/docs/howtos/x60_security/0001_wlan_wwan.jpg
Binary files differ
diff --git a/docs/howtos/x60_security/0002.jpg b/docs/howtos/x60_security/0002.jpg
new file mode 100644
index 0000000..b55db3b
--- /dev/null
+++ b/docs/howtos/x60_security/0002.jpg
Binary files differ
diff --git a/docs/howtos/x60_security/0003.jpg b/docs/howtos/x60_security/0003.jpg
new file mode 100644
index 0000000..c5799ae
--- /dev/null
+++ b/docs/howtos/x60_security/0003.jpg
Binary files differ
diff --git a/docs/howtos/x60_security/0004.jpg b/docs/howtos/x60_security/0004.jpg
new file mode 100644
index 0000000..cd47840
--- /dev/null
+++ b/docs/howtos/x60_security/0004.jpg
Binary files differ
diff --git a/docs/howtos/x60_unbrick.html b/docs/howtos/x60_unbrick.html
index 10f66b4..8427c5a 100644
--- a/docs/howtos/x60_unbrick.html
+++ b/docs/howtos/x60_unbrick.html
@@ -172,7 +172,8 @@
Programmer is now active:
Now I install flashrom on the T60 (running Trisquel GNU/Linux) and do this:
- flashrom -p buspirate_spi:dev=/dev/ttyUSB0 -w coreboot.rom
+ flashrom -p buspirate_spi:dev=/dev/ttyUSB0 -w bin/x60/libreboot_usqwerty.rom
+ Note: there are also other ROM images for X60
Note: this is using buspirate as the programmer, so it is flashing the X60, not the T60!
Here's my terminal window on the T60:
Devices / Run Option ROMs on PCI devices = disable
- The resulting .config file was saved as resources/libreboot/config/x60config and is used by the build
+ The resulting .config file was saved as resources/libreboot/config/x60/config and is used by the build
scripts for this machine.
Devices / Run Option ROMs on PCI devices = disable
- The resulting .config file was saved as resources/libreboot/config/x60config and is used by the build
+ The resulting .config file was saved as resources/libreboot/config/x60t/config and is used by the build
scripts for this machine.
Devices / Run Option ROMs on PCI devices = disable
- The resulting .config file was saved as resources/libreboot/config/t60config and is used by the build
+ The resulting .config file was saved as resources/libreboot/config/t60/config and is used by the build
scripts for this machine.
Devices / Run Option ROMs on PCI devices = disable
- The resulting .config file was saved as resources/libreboot/config/macbook21config and is used by the build
+ The resulting .config file was saved as resources/libreboot/config/macbook21/config and is used by the build
scripts for this machine.
@@ -531,6 +535,30 @@
+
+
+ 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.
+
+ There is a 15.4" T60 with Intel graphics, which might work. (untested at the time of writing). Note to self: REMOVE THIS WHEN TESTED.
+
+
+
The following T60 motherboard shows an ATI GPU (do not buy this) (highlighted in red, or on the right next to the white CPU socket), which is unsupported by libreboot:
@@ -900,55 +932,62 @@
ThinkPad X60, X60s (bin/x60/)
-
US Qwerty keyboard, no dock: coreboot.rom
-
US Dvorak keyboard, no dock: coreboot_dvorak.rom
-
US Qwerty keyboard, with dock: coreboot_serial.rom
-
US Dvorak keyboard, with dock: coreboot_serial_dvorak.rom
-
UK Qwerty keyboard, no dock: coreboot_ukqwerty.rom
-
UK Dvorak keyboard, no dock: coreboot_ukdvorak.rom
-
UK Qwerty keyboard, with dock: coreboot_serial_ukqwerty.rom
-
UK Dvorak keyboard, with dock: coreboot_serial_ukdvorak.rom
+
US Qwerty keyboard, no dock: libreboot_usqwerty.rom
+
UK Qwerty keyboard, no dock: libreboot_ukqwerty.rom
+
US Dvorak keyboard, no dock: libreboot_usdvorak.rom
+
UK Dvorak keyboard, no dock: libreboot_ukdvorak.rom
+
FR Azerty keyboard, no dock: libreboot_frazerty.rom
+
US Qwerty keyboard, with dock: libreboot_serial_usqwerty.rom
+
UK Qwerty keyboard, with dock: libreboot_serial_ukqwerty.rom
+
US Dvorak keyboard, with dock: libreboot_serial_usdvorak.rom
+
UK Dvorak keyboard, with dock: libreboot_serial_ukdvorak.rom
+
FR Azerty keyboard, with dock: libreboot_serial_frazerty.rom
ThinkPad X60 Tablet (bin/x60t/)
-
US Qwerty keyboard, no dock: coreboot.rom
-
US Dvorak keyboard, no dock: coreboot_dvorak.rom
-
US Qwerty keyboard, with dock: coreboot_serial.rom
-
US Dvorak keyboard, with dock: coreboot_serial_dvorak.rom
-
UK Qwerty keyboard, no dock: coreboot_ukqwerty.rom
-
UK Dvorak keyboard, no dock: coreboot_ukdvorak.rom
-
UK Qwerty keyboard, with dock: coreboot_serial_ukqwerty.rom
-
UK Dvorak keyboard, with dock: coreboot_serial_ukdvorak.rom
+
US Qwerty keyboard, no dock: libreboot_usqwerty.rom
+
UK Qwerty keyboard, no dock: libreboot_ukqwerty.rom
+
US Dvorak keyboard, no dock: libreboot_usdvorak.rom
+
UK Dvorak keyboard, no dock: libreboot_ukdvorak.rom
+
FR Azerty keyboard, no dock: libreboot_frazerty.rom
+
US Qwerty keyboard, with dock: libreboot_serial_usqwerty.rom
+
UK Qwerty keyboard, with dock: libreboot_serial_ukqwerty.rom
+
US Dvorak keyboard, with dock: libreboot_serial_usdvorak.rom
+
UK Dvorak keyboard, with dock: libreboot_serial_ukdvorak.rom
+
FR Azerty keyboard, with dock: libreboot_serial_frazerty.rom
US Qwerty keyboard, with dock: coreboot_serial.rom
-
US Dvorak keyboard, with dock: coreboot_serial_dvorak.rom
-
UK Qwerty keyboard, no dock: coreboot_ukqwerty.rom
-
UK Dvorak keyboard, no dock: coreboot_ukdvorak.rom
-
UK Qwerty keyboard, with dock: coreboot_serial_ukqwerty.rom
-
UK Dvorak keyboard, with dock: coreboot_serial_ukdvorak.rom
+
US Qwerty keyboard, no dock: libreboot_usqwerty.rom
+
UK Qwerty keyboard, no dock: libreboot_ukqwerty.rom
+
US Dvorak keyboard, no dock: libreboot_usdvorak.rom
+
UK Dvorak keyboard, no dock: libreboot_ukdvorak.rom
+
FR Azerty keyboard, no dock: libreboot_frazerty.rom
+
US Qwerty keyboard, with dock: libreboot_serial_usqwerty.rom
+
UK Qwerty keyboard, with dock: libreboot_serial_ukqwerty.rom
+
US Dvorak keyboard, with dock: libreboot_serial_usdvorak.rom
+
UK Dvorak keyboard, with dock: libreboot_serial_ukdvorak.rom
+
FR Azerty keyboard, with dock: libreboot_serial_frazerty.rom
MacBook2,1 (bin/macbook21/)
-
US Qwerty keyboard, no dock: coreboot.rom
-
US Dvorak keyboard, no dock: coreboot_dvorak.rom
-
UK Qwerty keyboard, no dock: coreboot_ukqwerty.rom
-
UK Dvorak keyboard, no dock: coreboot_ukdvorak.rom
-
(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)
+
US Qwerty keyboard: libreboot_usqwerty.rom
+
UK Qwerty keyboard: libreboot_ukqwerty.rom
+
US Dvorak keyboard: libreboot_usdvorak.rom
+
UK Dvorak keyboard: libreboot_ukdvorak.rom
+
FR Azerty keyboard: libreboot_frazerty.rom
+
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.
- This will give you your native keyboard layout in GRUB. The preferences in your OS are not affected, it just makes using
+ 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).
#grub_keyboardshows you how this was done. If your native keyboard layout
differs, you can adapt those notes and hack the 'build' script for your needs.
@@ -981,8 +1020,6 @@
-
(the above message is a lot more benign and a lot less scary than it looks)
-
This is for the ThinkPad X60 and T60 while running Lenovo BIOS. If you already have coreboot or libreboot running,
then go to #flashrom instead!
@@ -1025,12 +1062,27 @@
- If the above is what you see, then SHUT DOWN. Wait a few seconds, and then boot; libreboot is running, but there is a 2nd procedure needed (see below).
+ If the above is what you see, then SHUT DOWN. Wait a few seconds, and then boot; libreboot is running, but there is a 2nd procedure *needed* (see below).
+
+ 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.
+
+
+
+
+
+ After the 2nd flash, 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).
+ You might want to do the 2nd flash first (see below) before doing that.
+
+
+
+
When you have booted up again: $ sudo ./lenovobios_secondflash bin/YOURBOARD/YOURROM
@@ -1094,6 +1142,20 @@
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).
+
+
+ You must make sure that the files are named keymap and keymap.gkb (where 'keymap' can be whatever you want).
+
-
Custom keyboard layout in GRUB (for reference)
+
+ Then from the above example, you would put frazerty in resources/grub/keymap/original/ and
+ the frazerty.gkb file goes under resources/grub/keymap/
+
-
You can adapt the notes below and update the 'build' script to make it build a ROM with your custom/other keyboard layout in GRUB.
+
+ The scripts build and buildrom-withgrub will automatically see this, and automatically build
+ ROM's with your custom layout (given the name) and include them under bin. Example: libreboot_frazerty.rom.
+
- Go into the libreboot_src directory. Under coreboot/util/nvramtool/ do that to compile it:
+ Go into the libreboot_src directory. Under coreboot/util/nvramtool/ do that to compile it: $ make
@@ -1416,6 +1522,10 @@ WantedBy=multi-user.target
Unlisted note: http://inertiawar.com/microcode/
(link published to coreboot mailing list on July 8, 2014)
+
+ 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.