From 8df313c4d6607181576471e08d7e909c9c0f33e9 Mon Sep 17 00:00:00 2001
From: Francis Rowe Libreboot Documentation
-
+
- The information here is user documentation mainly. For development notes and TODO's, see RELEASE.html and + The information here is user documentation mainly. For development notes and TODO's, see release.html and future/index.html
@@ -67,13 +67,16 @@+ Libreboot is not 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. +
+ ++ + 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. + +
+ ++ 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). +
+ ++ 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. +
+ + + +@@ -185,7 +249,8 @@
- Bucts is needed when flashing the X60/X60S/X60T/T60 ROM while Lenovo BIOS is running. + 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 "bucts 1" will set the machine to boot from the other block instead (which @@ -502,12 +567,44 @@
+ Libreboot supports the following machines in this release: +
+ + ++ '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. +
+ ++ It is possible to build ROM images (from source) for other machines aswell (and virtual machines, e.g. QEMU). +
+ + + +- Regarding native gpu initialization ('native graphics') which replaces the proprietary VGA Option ROM ('Video BIOS' or 'VBIOS'), + Native gpu initialization ('native graphics') which replaces the proprietary VGA Option ROM + ('Video BIOS' or 'VBIOS'), all known LCD panels are currently compatible:
+ ++ To find what LCD panel you have, see: #get_edid_panelname. +
+- See #get_edid_panelname. + 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.
@@ -526,7 +624,12 @@- Regarding native gpu initialization ('native graphics') which replaces the proprietary VGA Option ROM ('Video BIOS' or 'VBIOS'). + Native gpu initialization ('native graphics') which replaces the proprietary VGA Option ROM + ('Video BIOS' or 'VBIOS'). +
+ ++ To find what LCD panel you have, see: #get_edid_panelname.
@@ -537,311 +640,99 @@ X60T XGA (1024x768):
- The following LCD panels are incompatible at the moment. + Most X60T's only have digitizer (pen), but some have finger (touch) aswell as pen; finger/multitouch doesn't work, only digitizer (pen) does.
-- See #get_edid_panelname. + 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. It is unknown if the same applies between the X60 Tablet and the X61 Tablet.
+ +- Regarding native gpu initialization ('native graphics') which replaces the proprietary VGA Option ROM ('Video BIOS' or 'VBIOS'). + 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. -
- -To find what LCD panel you have, see: #get_edid_panelname.
-- When upgrading the XGA (1024x768) LCD panel to SXGA+ (1400x1050) on the 14.1" T60, you also need to use this inverter board: + + Some T60's have ATI GPU's, and all T60p's have ATI GPU's These are incompatible! See #t60_ati_intel for how to remedy this. +
-- When upgrading the XGA (1024x768) LCD panel to SXGA+ (1400x1050), UXGA (1600x1200) or QXGA (2048x1536) on the 15.1" T60, you - also need to use one of these inverter boards: + Tested LCD panels: working(compatible)
-- See #supported_t60_list for a list of LCD panels on ThinkPad T60 14.1" and ThinkPad T60 15.1". -
+- The Video BIOS (VBIOS) for T60 has been reverse engineered and replaced with Free Software. However, - at the time of preparing this release the free replacement did not yet support the XGA (1024x768) panels, - which is what made upgrading them necessary. -
++ Tested LCD panels: not working yet (incompatible; see future/index.html#lcd_i945_incompatibility) +
+- The 'Video BIOS' is what initializes graphics. -
++ The following LCD panels are UNTESTED. If you have one of these panels + then please submit a report!: +
+- See: https://en.wikipedia.org/wiki/Video_BIOS. -
++ It is unknown whether the 1680x1050 (15.4") and 1920x1200 (15.4") panels use a different inverter board than the 1280x800 panels. +
+ +- Note: the T60p is a 15.4" widescreen laptop and uses completely different shaped motherboards (all of which have ATI). - The T60p laptops cannot be used with libreboot under any circumstances. + There is also a 15.4" T60 with Intel GPU.
- 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. + Note: the T60p laptops all have ATI graphics. + The T60p laptops cannot be used with libreboot under any circumstances.
@@ -981,6 +872,22 @@
+ You need to replace OS X with GNU/Linux before flashing libreboot. (OSX won't run at all in libreboot). +
+ ++ There are some issues with this machine (compared to other computers that libreboot supports): +
+ ++ This is an apple laptop, so it comes with OS X: it has an Apple keyboard, which means that certain keys you expect are missing: + insert, del, home, end, pgup, pgdown. There is also one mouse button only. Battery life is poor compared to X60/T60. Cooling (ventilation) + is also poor. The speaker might aswell not be there, quality is really bad. Not only that, these machines are expensive and usually easier to find in North America, so if you live outside + of NA then you will most likely have to import it. It's the opinion of this libreboot developer that the MacBook2,1 is not a very good machine. + 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. +
+ +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. @@ -1090,6 +997,17 @@ Do not make this decision lightly! This is your last and only chance.
+
+ Check the last two 64K regions in your ROM file (libreboot.rom in this example):
+ $ dd if=libreboot.rom of=top64k.bin bs=1 skip=$[$(stat -c %s libreboot.rom) - 0x10000] count=64k
+ $ dd if=libreboot.rom of=lower64k.bin bs=1 skip=$[$(stat -c %s libreboot.rom) - 0x20000] count=64k
+ $ sha512sum lower64k.bin top64k.bin
+ 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 coreboot wiki):
+ $ dd if=top64k.bin of=libreboot.rom bs=1 seek=$[$(stat -c %s libreboot.rom) - 0x20000] count=64k conv=notrunc
+ After this, the ROM will be safe to flash. Explanation is provided in #build_bucts.
+
This is for the ThinkPad X60 and T60 while running Lenovo BIOS. If you already have coreboot or libreboot running, @@ -1492,13 +1410,16 @@
Go into the libreboot_src directory. Under coreboot/util/nvramtool/ do that to compile it:
- $ make
+ $ make
+ (nvramtool is also in libreboot_bin/nvramtool)
Now do that:
$ sudo ./nvramtool -w tft_brightness=0xff
Alternatively if there are errors, try:
- $ sudo ./nvramtool -y ../../src/mainboard/lenovo/x60/cmos.layout -w tft_brightness=0xff
+ $ sudo ./nvramtool -y ../../src/mainboard/lenovo/x60/cmos.layout -w tft_brightness=0xff
+ If you are using libreboot_bin, do that:
+ $ sudo ../x60cmos.layout -w tft_brightness=0xff
The next time you boot, the looping issue should be gone.
@@ -1514,6 +1435,7 @@
$ sudo apt-get install build-essential
nvramtool is in coreboot or libreboot source tree until util/:
$ cd libreboot_src/coreboot/util/nvramtool
+ (nvramtool is also in libreboot_bin/nvramtool)
$ make
Enable wifi:
$ sudo ./nvramtool -w wlan=Enable
@@ -1521,7 +1443,10 @@
$ sudo ./nvramtool -w wlan=Disable
If that doesn't work, try one of these instead:
$ sudo ./nvramtool -y ../../src/mainboard/lenovo/x60/cmos.layout -w wlan=Enable
- $ sudo ./nvramtool -y ../../src/mainboard/lenovo/x60/cmos.layout -w wlan=Disable
+ $ sudo ./nvramtool -y ../../src/mainboard/lenovo/x60/cmos.layout -w wlan=Disable
+ If you are using libreboot_bin, do that instead:
+ $ sudo ./nvramtool -y ../x60cmos.layout -w wlan=Enable
+ $ sudo ./nvramtool -y ../x60cmos.layout -w wlan=Disable
The next time you boot, wifi will be enabled.
@@ -1534,6 +1459,7 @@ $ sudo apt-get install build-essentialThe next time you boot, trackpoint will be enabled.
@@ -1621,7 +1550,8 @@ WantedBy=multi-user.target- For the Thinkpad X60 you can use the "UltraBase X6" dock. For the ThinkPad T60, + For the Thinkpad X60 you can use the "UltraBase X6" dock (for the X60 Tablet it is called + X6 Tablet UltraBase). For the ThinkPad T60, you can use the "Advanced Mini Dock".
@@ -1675,7 +1605,7 @@ WantedBy=multi-user.target (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: + SeaVGABIOS+SeaBIOS support for X60/T60 (VBT is missing, see docs/future/index.html): Read that: http://www.coreboot.org/pipermail/coreboot/2014-July/078342.html This page talks about 'calibration' in powertop: @@ -1685,6 +1615,9 @@ WantedBy=multi-user.target Look into 'git archive' instead of deleting .git eg (coreboot directory): git archive --format=tar --prefix=libreboot/ -o ../libreboot_release.tar HEAD + + Very useful(!!): + http://git-scm.com/book/en/Git-Tools-Stashing