From 7eca665d684a734d55b0bb26c4f1831d399c5330 Mon Sep 17 00:00:00 2001 From: Francis Rowe Date: Mon, 28 Jul 2014 18:33:00 -0400 Subject: Libreboot release 6 beta 4. - Documentation: improved (more explanations, background info) in docs/howtos/x60_security.html (courtesy of Denis Carikli) - MacBook2,1 tested (confirmed) - macbook21: Added script 'macbook21_firstflash' for flashing libreboot while Apple EFI firmware is running. - Documentation: macbook21: added software-based flashing instructions for flashing libreboot while Apple EFI firmware is running. - Reduced size of libreboot_src.tar.gz: - Removed .git and .gitignore from grub directory (libreboot_src); not needed. Removing them reduces the size of the archive (by a lot). GRUB development should be upstream. - Removed .git and .gitignore from bucts directory (libreboot_src); not needed. Removing them reduces the size of the archive. bucts development should be upstream. - Removed .svn from flashrom directory (libreboot_src); not needed. Removing it reduces the size of the archive. flashrom development should be upstream. - Added ROM's with Qwerty (Italian) layout in GRUB (libreboot*itqwerty.rom) - Added resources/utilities/i945gpu/intel-regs.py for debugging issues related to LCD panel compatibility on X60 Tablet and T60. (courtesy of Michał Masłowski) --- (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html index 37fdd38..43d90d8 100644 --- a/docs/index.html +++ b/docs/index.html @@ -32,6 +32,15 @@ +

+ 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 +

+

GNU/Linux distributions

@@ -164,14 +178,14 @@
-

How to build "bucts" (for LenovoBIOS X60/T60)

+

How to build "bucts" (for LenovoBIOS X60/X60S/X60T/T60)

- 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 @@


+

List of supported ThinkPad X60's

+ +

+ 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. +

+ +

Back to top of page.

+ +
+ +

List of supported ThinkPad X60 Tablets

+ +

+ 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. +

+ +
+

Supported T60 list

+ 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.

@@ -535,30 +611,6 @@ -
-

- 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.

@@ -577,7 +629,7 @@
  • Tested panels:
  • @@ -639,7 +691,7 @@
  • Tested panels:
  • @@ -881,6 +933,13 @@ +

    + 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. +

    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. + +

    +

    Back to top of page.


    @@ -933,45 +998,51 @@ ThinkPad X60, X60s (bin/x60/)
    • 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, no dock: libreboot_ukqwerty.rom
    • UK Qwerty keyboard, with dock: libreboot_serial_ukqwerty.rom
    • +
    • US Dvorak keyboard, no dock: libreboot_usdvorak.rom
    • US Dvorak keyboard, with dock: libreboot_serial_usdvorak.rom
    • +
    • UK Dvorak keyboard, no dock: libreboot_ukdvorak.rom
    • UK Dvorak keyboard, with dock: libreboot_serial_ukdvorak.rom
    • -
    • FR Azerty keyboard, with dock: libreboot_serial_frazerty.rom
    • +
    • French Azerty keyboard, no dock: libreboot_frazerty.rom
    • +
    • French Azerty keyboard, with dock: libreboot_serial_frazerty.rom
    • +
    • Italian Qwerty keyboard, no dock: libreboot_itqwerty.rom
    • +
    • Italian Qwerty keyboard, with dock: libreboot_serial_itqwerty.rom

  • ThinkPad X60 Tablet (bin/x60t/)
  • ThinkPad T60 (bin/t60/) (note, see #supported_t60_list)
  • @@ -981,7 +1052,8 @@
  • UK Qwerty keyboard: libreboot_ukqwerty.rom
  • US Dvorak keyboard: libreboot_usdvorak.rom
  • UK Dvorak keyboard: libreboot_ukdvorak.rom
  • -
  • FR Azerty keyboard: libreboot_frazerty.rom
  • +
  • French Azerty keyboard: libreboot_frazerty.rom
  • +
  • Italian Qwerty keyboard: libreboot_itqwerty.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.
  • @@ -1000,7 +1072,7 @@
    -

    X60/T60: How to flash the ROM's onto your machine (if running Lenovo BIOS).

    +

    X60/X60S/X60T/T60: How to flash the ROM's onto your machine (if running Lenovo BIOS firmware).

    @@ -1107,20 +1179,41 @@
    -

    X60/T60: How to flash the ROM's onto your machine (if running libreboot or coreboot already)

    +

    macbook21: How to flash your ROM (if running Apple EFI firmware)

    + +
    + +

    + 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! +

    + +
    + +

    Back to top of page.

    + +
    + +

    X60/X60S/X60T/T60/macbook21: How to flash the ROM's onto your machine (if running libreboot or coreboot already)

    +

    - 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). + +

    + +

    Back to top of page

    @@ -1222,10 +1392,14 @@ https://upload.wikimedia.org/wikipedia/commons/thumb/2/25/KB_United_States_Dvorak.svg/800px-KB_United_States_Dvorak.svg.png

    -

    AZERTY (French)

    +

    AZERTY (French)

    https://upload.wikimedia.org/wikipedia/commons/thumb/b/b9/KB_France.svg/800px-KB_France.svg.png

    +

    QWERTY (Italian)

    +

    + https://upload.wikimedia.org/wikipedia/commons/thumb/e/e5/Italian_Keyboard_layout.svg/799px-Italian_Keyboard_layout.svg.png +

    Back to top of page

    @@ -1260,72 +1434,48 @@

    US Qwerty keyboard layout in GRUB (for reference)

    -

    $ 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.

    -

    Back to top of page

    UK Qwerty keyboard layout in GRUB (for reference)

    -

    $ 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.

    -

    Back to top of page

    US Dvorak keyboard layout in GRUB (for reference)

    -

    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.gkb

    Back to top of page

    UK Dvorak keyboard layout in GRUB (for reference)

    -

    There 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.

    - -

    FR AZERTY keyboard layout in GRUB (for reference)

    - -

    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 ../

    +

    French AZERTY keyboard layout in GRUB (for reference)

    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.

    +

    Italian QWERTY keyboard layout in GRUB (for reference)

    + +

    Generate the layout file:
    + $ ckbcomp it > itqwerty
    + $ cat itqwerty | ./grub/grub-mklayout -o itqwerty.gkb

    Back to top of page

    @@ -1521,11 +1671,20 @@ WantedBy=multi-user.target
     	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
     

    -- cgit v0.9.1