"Release" means that a new coreboot git revision with substantially different code has been adapted for libreboot.
"Revision" means a modification to an existing release, where the result is insubstantially different from what preceded it.
The 1st, 2nd, 3rd and 4th releases were really just older revisions of the 5th release.
For historical reasons (and to avoid confusion), these are still called 'releases' instead of correcting the mistake.
6th release (pre-release, 7th beta)
Released 2014 July 11th (pre-release) 1st beta
Revised (pre-release, 2nd beta) 2014 July 16th
Revised (pre-release, 3rd beta) 2014 July 20th
Revised (pre-release, 4th beta) 2014 July 29th
Revised (pre-release, 5th beta) 2014 August 11th (corrected 2014 August 11th)
Revised (pre-release, 6th beta) 2014 September 3rd
Revised (pre-release, 7th beta) 2014 September 11th
Machines no longer supported (compared to previous release):
All previous machines still supported!
Revisions for 1st beta (2014 July 11th)
Initial release (new coreboot base, dated June 1st 2014. See 'getcb' script for reference)
DEBLOBBED coreboot
Removed the part from memtest86+ 'make' where it tried to connect to some scp server while compiling. (commented out line 24 in the Makefile)
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) 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 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
macbook21: Added 'build-macbook21' script and linked to it in 'build' (ROM's included under bin/macbook21/)
macbook21: Removed dd instructions from build-macbook21 script (macbook21 does not need bucts when flashing libreboot while Apple EFI firmware is running)
Documentation: Added macbook21 ROM's to the list of ROM's in docs/index.html#rom
Documentation: Write documentation linking to Mono Moosbart's macbook21 and parabola page (and include a copy)
Documentation: added a copy of Mono's Parabola install guide (for macbook21 with Apple EFI firmware) and linked in in main index.
Documentation: added a copy of Mono's Coreboot page (for macbook21) and linked it in main index.
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 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
Documentation: Added info about getting LCD panel name based on EDID data.
Documentation: Added a link to this from the list of supported T60's and LCD panels for T60 (so that the user can check what LCD panel they have).
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
Improved thinkpad_acpi support (from coreboot ): xsensors shows more information.
From 4650/29 in review.coreboot.org (merged in coreboot 'master' on June 1st 2014)
Merged changes for digitizer (X60 Tablet) and IR (X60 and T60) based on 5243/17, 5242/17 and 5239/19 from review.coreboot.org
(see ./resources/libreboot/patch/gitdiff and ./getcb)
Documentation: added information about building flashrom using 'builddeps-flashrom' script.
Re-created resources/libreboot/config/x60config
Re-created resources/libreboot/config/t60config
Added 'x60tconfig' in resources/libreboot/config (because X60 Tablet has different information about serial/model/version in 'dmidecode')
Added 'build-x60t' script
Updated 'build' script to use 'build-x60t'
Documentation: added to #config section the section #config_x60t (libreboot configuration and dmidecode info)
Documentation: added x60t ROM's to the list of ROM's
Tidied up the 'builddeps' script (easier to read)
Tidied up the 'cleandeps' script (easier to read)
Annotated the 'buildall' script
Added 'getcb' script for getting coreboot revision used from git, and patching it.
Added 'getgrub' script for getting the GRUB revision used from git, and patching it.
Added 'getmt86' script for getting the memtest86+ version used, and patching it.
Added 'getbucts' script for getting the bucts version used.
Added 'getflashrom' script for getting the flashrom version used, and patching it
Added 'getall' script which runs all of the other 'get' scripts.
Add instructions to the 'build' script to prepare libreboot_meta.tar.gz
New archive: libreboot_meta.tar.gz - minimal archive, using the 'get' scripts to download all the dependencies (coreboot, memtest, grub and so on).
Documentation: added information about where 'build' script prepares the libreboot_meta.tar.gz archive.
Documentation: added information about how to use the 'get' scripts in libreboot_meta.tar.gz (to generate libreboot_src.tar.gz)
Documentation: mention that meta doesn't create libreboot_src/ directory, but that libreboot_meta itself becomes the same.
Documentation: advise to rename libreboot_meta to libreboot_src after running 'getall'.
Annotated the 'builddeb' script, to say what each set of dependencies are for.
Separated bucts/flashrom builddeb sections into separate scripts: builddeb-flashrom, builddeb-bucts.
Documentation: Updated relevant parts based on the above.
Added instructions to 'build' script for including builddeb-bucts and builddeb-flashrom in libreboot_bin
Updated flashrom checkout (r1822 2014-06-16) from SVN (http://flashrom.org/Downloads).
Updated flashing instructions in docs/index.html for new commands needed (Macronix chip on X60/T60)
For X60/T60 (flashrom): Patched flashchips.c_lenovobios_macronix and flashchips.c_lenovobios_sst executables for SST/macronix (included in resources/flashrom/patch)
Updated builddeps to build flashrom_lenovobios_sst and flashrom_lenovobios_macronix, for X60/T60 users with Lenovo BIOS
moved the flashrom build instructions from 'builddeps' and put them in 'builddeps-flashrom', excecuting that from 'builddeps'.
Added builddeps-flashrom to libreboot_bin.tar.gz
flashrom: added patched flashchips.c to resources/flashrom/patch (automatically use correct macronix chip on libreboot, without using '-c' switch)
removed 'MX25L1605' and 'MX25L1605A/MX25L1606E' entries in flashchips.c for the patched version of flashchips.c
added instructions to 'builddeps-flashrom' to automatically use this modified flashchips.c in the default build
Added builddeb to libreboot_bin.tar.gz
Moved 'bucts' build instructions from builddeps to builddeps-bucts
builddeps now runs 'builddeps-bucts' instead
Added 'builddeps-bucts' to libreboot_bin.tar.gz
Documentation: Added information about using 'builddep-bucts' to build the BUC.TS utility.
Added 'lenovobios_firstflash' and 'lenovobios_secondflash' scripts
Added instructions to 'build' script for including those files in libreboot_bin
Documentation: Add tutorial for flashing while Lenovo BIOS is running (on X60/T60)
Added 'flash' script (make sure to run builddeps-flashrom first) which (while libreboot is already running) can use flashrom to flash a ROM
updated 'build' script to include the 'flash' script in libreboot_bin.tar.gz
Documentation: replaced default flashrom tutorial to recommend the 'flash' script instead.
Re-add cbfstool source code back into libreboot_bin.tar.gz, as cbfstool_standalone
Patched that version to work (able to be built and used) without requiring the entire coreboot source code.
Created patched version of the relevant source files and added it into resources/cbfstool/patch
see coreboot/util/cbfstool/rmodule.c and then the patched version in resources/cbfstool/patch/rmodule.c
see coreboot/src/include/rmodule-defs.h and the rule in 'build' for including this in ../libreboot_bin/cbfstool_standalone
Added instructions to 'build' script for applying this patch to the cbfstool_standalone source in libreboot_bin
Added instructions to 'build' script for then re-compiling cbfstool_standalone in libreboot_bin after applying the patch
Added a 'builddeps-cbfstool' script (in src, but only used in bin and put in bin by 'build') that compiles cbfstool_standalone in libreboot_bin (make), moves the cbfstool and rmodtool binaries into libreboot_bin/ and then does 'make clean' in libreboot_bin/cbfstool_standalone
Updated the 'build' script to put 'builddeps-cbfstool' in libreboot_bin
Updated the 'build' script in the cbfstool (standalone) part to accomodate the above.
Documentation: added notes about cbfstool (standalone) in libreboot_bin
Documentation: made docs/howtos/grub_cbfs.html slightly easier to follow.
Annotate the 'build*' scripts with 'echo' commands, to help the user understand what it actually happening during the build process.
Documentation: added information about how 'dmidecode' data was put in the coreboot configs
Documentation: In fact, document how the 'config' files in resources/libreboot/config/ were created
Documentation: Added information about which ThinkPad T60's are supported, and which are not.
Documentation: added information about LCD inverters (for upgrading the LCD panel on a T60 14.1' XGA or 15.1' XGA)
it's FRU P/N 41W1478 (on T60 14.1") so this was added to the docs.
it's P/N 42T0078 FRU 42T0079 or P/N 41W1338 (on T60 15.1") so this was added to the docs.
Documentation: added information about names of LCD panels for T60 to the relevant parts of the documentation.
Documentation: added information (with pictures) about the differences between T60 with Intel GPU and T60 with ATI GPU.
Documentation: added pictures of keyboard layouts (US/UK Qwerty/Dvorak) to the ROM list, to let the user compare with their own keyboard.
Move the coreboot build instructions in 'builddeps' into 'builddeps-coreboot' and link it in 'builddeps'
Link to 'builddeps-coreboot' in final stage of 'getcb'
Move GRUB build instructions from 'builddeps' into 'builddeps-grub', link from 'builddeps'
Link to 'builddeps-grub' in final stage of 'getgrub'
Move MemTest86+ build instructions from 'builddeps' into 'builddeps-memtest86', link from 'builddeps'
Link to 'builddeps-memtest86' in final stage of 'getmt86'
made 'build' script put resources/ directory in libreboot_bin, to make builddeps-flashrom work in libreboot_bin
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'
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 the RELEASE and BACKPORT files (no longer needed)
Documentation: added information about X60/T60 dock (ultrabase x6 and advanced mini dock) to relevant sections.
Added to docs/index.html#serial
Revisions for 2nd beta (2014 July 16th)
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/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)
Revisions for 4th beta (2014 July 29th)
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)
Revisions for 5th beta (2014 August 11th)
build: added 'luks', 'lvm', 'cmosdump' and 'cmostest' to the list of modules for grub.elf
Documentation: added pics showing T60 unbricking (still need to write a tutorial)
build: include cmos.layout (coreboot/src/mainboard/manufacturer/model/cmos.layout) files in libreboot_bin
Documentation: Renamed RELEASE.html to release.html
Documentation: removed pcmcia reference in x60_security.html (it's cardbus)
Documentation: added preliminary information about randomized seal (for physical intrusion detection) in x60_security.html and t60_security.html
Documentation: added preliminary information about preventing/mitigating cold-boot attack in x60_security.html and t60_security.html
Documentation: added info to ../docs/index.html#macbook21 warning about issues with macbook21
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).
Split resources/libreboot/patch/gitdiff into separate patch files (getcb script updated to accomodate this change).
Re-added .git files to bucts
Fixed the oversight where macbook21_firstflash wasn't included in binary archives
Release archives are now compressed using .tar.xz for better compression
Corrections to 5th beta (2014 August 2014)
Fixed typo where revision list for 5th beta was listed as March 11th 2014, when in fact it was August 11th 2014
Fixed incorrect grub.cfg that was actually placed in resources/grub/config/x60/grub_usqwerty.cfg which broke the default GRUB menu entry on X60
Revisions for 6th beta (2014 September 3rd)
Added modified builddeb* scripts for Parabola GNU/Linux-libre: buildpac, buildpac-flashrom, buildpac-bucts (courtesy of Noah Vesely)
Documentation: updated all relevant areas to mention use of buildpac* scripts for Parabola users.
Documentation: added information showing how to enable or disable bluetooth on the X60
Added GNUtoo's list of GRUB modules (includes all of the gcry_* modules above), cryptomount should be working now.
Removed builddeb-bucts and builddeb-flashrom, merged them with builddeb (../docs/index.html updated accordingly)
Removed buildpac-bucts and buildpac-flashrom, merged them with buildpac (../docs/index.html updated accordingly)
Renamed builddeb to deps-trisquel (../docs/index.html updated accordingly)
Renamed buildpac to deps-parabola (../docs/index.html updated accordingly)
Documentation: removed all parts talking about build dependencies, replaced them with links to ../docs/index.html#build_dependencies
Documentation: emphasized more strongly on the documentation, the need to re-build bucts and/or flashrom before flashing a ROM image.
build-release: flashrom, nvramtool, cbfstool and bucts are no longer provided pre-compiled in binary archives, and are now in source form only. (to maximize distro compatibility).
Documentation: added ../docs/howtos/encrypted_trisquel.html showing how to setup a fully encrypted Trisquel installation (including /boot) and boot it from the GRUB payload.
'build' script: replaced grub.elf assembly instructons, it's now handled by a utility added under resources/utilities/grub-assemble
Moved resources/grub/keymap to resources/utilities/grub-assemble/keymap, and updated that utility to use it
Documentation: removed useless links to pictures of keyboard layouts and unmodified layouts.
Removed all unused fonts from dejavu-fonts-ttf-2.34/ directory
'buildrom-withgrub' script: updated it to create 2 sets of ROM's for each machine: one with text-mode, one with coreboot framebuffer.
Documentation: updated ../docs/index.html#rom to reflect the above
Deleted unused README and COPYING file from main directory
Removed some rm -rf .git* instructions from the get* scripts and moved them to build-release script
Split up default grub.cfg into 6 parts: extra/{common.cfg,txtmode.cfg,vesafb.cfg} and menuentries/{common.cfg,txtmode.cfg,vesafb.cfg}
buildrom-withgrub script uses these to generate the correct grub.cfg for each type of configuration.
grub_memdisk.cfg (used inside grub.elf) now only loads grub.cfg from cbfs. It no longer enables serial output or sets prefix. (menuentries/common.cfg does instead)
resources/grub/config/extra/common.cfg, added:
insmod instructions to load those modules: nativedisk, ehci, ohci, uhci, usb, usbserial_pl2303, usbserial_ftdi, usbserial_usbdebug
set prefix=(memdisk)/boot/grub
For native graphics (recommended by coreboot wiki):
gfxpayload=keep
terminal_output --append gfxterm
Play a beep on startup:
play 480 440 1
Documentation: added note about 'fb=false' workaround for text-mode debian-installer (Trisquel net install) to
../docs/howtos/grub_boot_installer.html
Documentation: updated ../docs/howtos/grub_cbfs.html to make it safer (and easier) to follow.
Revisions for 7th beta (2014 September 11th)
The changes below were made in a git repository, unlike in previous releases. Descriptions below are copied from 'git log'.
Update .gitignore for new dependencies.
Use a submodule for i945-pwm.
Don't clean packages that fail or don't need cleaning.
Don't clean i945-pwm, it's not needed.
Regression fix: Parabola live ISO boot issues
Re-enable background images in ISOLINUX/SYSLINUX GRUB parser menus
Regression fix: Re-add CD-ROM (ata0) in GRUB
Documentation: add notes about performance penalty when using ecryptfs.
Documentation: Fixed spelling and grammatical errors.
Documentation: macbook21: add new machine as tested
Documentation: macbook21: add info about improving touchpad sensitivity
Documentation: X60 Tablet: add more information about finger input
Documentation: release.html: Add information about recently merged commit in coreboot
Critical tasks (to be completed before declacing the initial stable release)
Look at notes and TODO's about untested changes from changelog in libreboot 6th release beta 6, and test them. include test results in next change log.
(and for those commits that become merged in coreboot, mention them)
ACPI brightness (tested on X60/T60): left half of screen is darker than the right side, when turning down brightness. Investigate.
mtjm: I'll send you my very hacky program for changing brightness and PWM frequency, it makes testing easier
mtjm: git://git.mtjm.eu/i945-pwm.git, exponent = 4, divisor = 0 is what 6731 would do
Setting exponent 9 and divisor 0 is what libreboot is doing currently (as a modification to 6731)
mtjm says: ACPI spec appendix B video extensions documents what IDs do, igd.asl doesn't use them correctly
phcoder says: igd.asl is so broken. Mismatching IDs, listing methods returning garbage, phantom devices. Any one of those is enough to break ACPI spec and windows. We have all 3. On all chipsets.
6731 (currently cherry picked in libreboot) is -2'd at this time of writing 20140824 while phcoder works on improving it. (worked in GNU/Linux, though).
A temporary fix (for uneven backlight) is provided in libreboot. Work in coreboot to fix it properly (phcoder says src/northbridge/intel/i945/acpi/igd.asl needs re-written)
There are issues with i945 text mode graphics initialization: This might not be a problem at all, but instead because there is no framebuffer available when using text-mode. A workaround for
the debian-installer issue below, detailed in docs/howtos/grub_boot_installer.htmlhttp://www.coreboot.org/pipermail/coreboot/2014-August/078468.html
look into it, follow up on that post and try to fix it.
Trisquel isolinux menu doesn't show up in seabios (seavgabios) with text-mode, it just says 'Error setting up gfxboot',
but it works in text-mode with the extract vbios. Looking at gma.c, it looks like this isn't setup in text-mode by native init,
but obviously when using the extracted vbios, it is setting everything up properly?
Debian/Trisquel net-install shows graphical corruption (see mailing list link) when booting directly from GRUB in text-mode, but
works just fine when using the extracted vbios instead of seavgabios. Are these using text-mode or trying
to use graphics? (graphical installers work just fine in native init or with
extracted vbios)
Debian net-installer (graphical one) fails (trisquel graphical installer is ok) in native graphics and text-mode whether using
native graphics or extracted vbios (works fine in vesa/cbfb):
Scrolling/flickering text in a loop (segmentation fault):
Caught signal 11 (Segmentation fault). Server aborting
An already-installed (on the HDD) Trisquel or Debian system boots and works just fine with native graphics + text mode.
phcoder says that there are limitations in native graphic: for example, he says native init doesn't provide int10h at all, and that it lacks VBT
(sometimes referred to as VBE).
Are there other issues? He says that there are also lots of ACPI issues in general.
Right now it is recommended to use the vesa/cbfb ROM's (these do not use text-mode, they use coreboot's vesa framebuffer instead). MemTest86+
does work in text-mode, though.
Most (maybe all?) of the above are not a problem, I think.
mtjm: text mode is for payloads/OSes that use the 80x25 VGA text mode and do not change mode, or run KMS
mtjm: a more featureful VGA ROM is needed for payloads/OSes that use int10h interfaces to change modes (e.g. VESA drivers) (also, VBT and other fixes are needed)
Systems that have int10h (interrupt service) code available for reference:
Geode boards and QEMU (look in coreboot or seabios source code).
phcoder: paging will not help with mtrr granularity. This was already investigated
phcoder: interesting: coreboot exposed mistakes in fwts (firmware test suite). Like its mtrr check assumes that default=uncachable.
(might be related to those debian-installer issues in text-mode)
About fixing remaining LCD panels on 5345:
'polarity' is mentioned in coreboot log (cbmem -c). compare output (with working and non-working panel). (and see the other notes in docs/future/index.html)
phcoder says: hint for T60: it might be that failing panels are 8bpc
fchmmr: what does 8bpc mean? And what do you think the other (non-failing) panel are?
phcoder: 6bpc. bits per colour. May also be reffered as 18-bit vs 24-bit panels
phcoder: just collect EDIDs from failing and working panels phcoder gave me this for collecting EDID data: http://www.o2genum.com/2013/08/lp156wh2-tlaa-lcd-panel-edid.html
Apparently, only 8MB VRAM is available on i945 GPU's (though it could do 64MB):
phcoder: No. Hardware default is 8 MiB. When I wanted to make it configurable, I saw that docs mention only one other alternative: 1MiB. Later isn't event enough for 1024x768 at 24bpp without any acceleration or double buffering. It's possible there are undocumented values. Which options do you have in vendor BIOS?
How to find out how much vram you have:
phcoder: TOM - BSM
phcoder: check what vendor BIOS offers as options
fchmmr: I thought it could do 64MB usually
phcoder: not accorging to doc.
phcoder: see mobile-945-express-chipset-datasheet page 93
phcoder: see also src/northbridge/intel/i945/{early_init,northbridge,gma}.c
fchmmr: "011 = DVMT (UMA) mode, 8 MB of memory pre-allocated for
fchmmr: frame buffer."
fchmmr: "Others - reserved"
phcoder: the easiest way is a loop at this position which tries different values and reads (and prints) BSM with them
stefanct: fchmmr: he suggest that you change the value and look how BSM reacts to that
stefanct: as he pointed out earlier vram size = TOM - BSM
stefanct: different values of GMS
stefanct: phcoder: hm... this could be a hint. look at the text description of TOLUD at page 103
stefanct: it mentions 64 MB in the text about BSM as well
stefanct: table 18...
phcoder: stefanct: I have a guess which value make is 64 but I will not tell to avoid skewing test results
stefanct: phcoder: sure... i assumed you were not sure if it supports it at all. testing it properly is of course a good idea :)
stefanct: test the various possible (but reserved) values of GMS and see what the resulting VRAM size is
fchmmr: so, TOM - BSM
Other tasks (non-critical, but still important)
Look into those machines:
Acer CB5 (Chromebook 5) - I'm told there is still microcode in the GPU that needs RE'd, also the wifi
is soldered and requires non-free firmware (have to disable it in nvramtool and use usb wifi dongle)
ThinkPad X200 - I'm told the Roda RK9 (same chipset as X200) doesn't come with ME, so maybe X200 can have ME removed/disabled.
Also, we don't know if it can run without microcode updates yet.
Roda rk9? (see above)
ThinkPad R400 (if X200 experiment works). I'm told it's very similar to the X200 and could easily be ported.
TODO: f2a85m and e350m1 rom's (libreboot_*_headless.rom) for headless operation. find out which PCI-E graphics cards can run without
the video bios (have to patch seabios, or patch coreboot (if using grub payload), in either case to load but not execute video bios:
then find what the driver for that card still needs, and copy/disassemble(understand) the data and write code that places that in memory)
--> maybe this could fuel a side-project (libre graphics project, for many different cards)
ASUS F2A85-M and ASrock E350M1 (desktop motherboards)
The onboard graphics on both of these boards requires non-free video bios. Find a PCI-E graphics card that can
be used without running it's VBIOS (might still require loading data from it, which could be extracted
and studied)
Add 'set -e' to the start of all relevant scripts, to make them quit if an error occurs (that a command exits with non zero status).
See 'help set' for info.
Re-write deps-parabola script (again based on deps-trisquel scripts), really make it install all correct dependencies for Parabola
(on a fresh install, with only the 'base' repository installed).
Find what other scripts need fixed for this.
Make libreboot build in parabola
Add those to seabios:
add ipxe (executable from seabios)
Re-write the "Parse USB" options based on the "Search local HDD for grub.cfg" menu entry (make it more intelligent).
update info on x60/t60/macbook21 pages on coreboot wiki (not really a libreboot todo, but something that I should do anyway)
get all useful info from http://www.coreboot.org/GRUB2 and https://wiki.parabolagnulinux.org/User:GNUtoo/laptop and make it into a tutorial
Todo: (after rebase): include 6694 from review.coreboot.org (still some hanging issues). This is needed for reliable booting (for now) on macbook21 merged in master! work with phcoder to try and re-implement it properly (for example, ask him how to found those entries to add)
He says that the cst_arrays array was based on _CST object from vendor BIOS. Use acpidump and 'iasl -d' to find them.
are there known differences in /sys/class/power_supply between libreboot and vendor BIOS? or does the GNOME bug occur with vendor BIOS too?
(speaking about when battery is detected as "low" in Trisquel 6 / gnome when disconnecting AC/adapter)
TODO: Re-tooled linux-libre deblob scripts for use with coreboot. Deblobbing is already complete; completion of this additional task will simply make future deblobbing work easier.
Alternatively, host actual libreboot deblobbed git tree. pehjota writes: If you want to permanently rewrite the Git history, see the "git filter-branch" command. Of course all commit IDs change with that, so it may not be ideal for you. But it can give you the full Git history, with no blobs anywhere (not even recoverable with "git reset" or "git checkout").
TODO: Remove mention of blob/3rdparty repository in Kconfig
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: Tested all of the remaining untested LCD panels under docs/index.html#supported_t60_list
TODO: Documentation: macbook2,1: Show how to physically remove the built-in webcam (which doesn't work unless you install a non-free driver)
TODO: Documentation: macbook2,1: Check if there is another webcam to replace it that can work without requiring any non-free drivers.
TODO: T60 15" QXGA (2048x1536): fixed issue where GRUB wouldn't show any graphics.
It might be the same issue I ran into with Paul on the X60 (not enough memory being allocated) since the same code works on T60 SXGA+ and UXGA, where GRUB actually display graphics.
This should be done in coreboot and backported into libreboot. See 5320 and 5345 on review.coreboot.org
For now, see if lowering GRUB's resolution works (as a workaround) since everything (GNU/Linux) works after that.
TODO: Documentation: added as many links as I could find, to datasheets and schematics for macbook21/x60/t60 (i945 chipset, EC info for x60/t60/macbook21)
TODO: Go over the documentation, and find the parts that are not accessible: eg, improve the docs to be friendly for colour-blind people.
TODO: the X60 unbricking tutorial could use some work. It currently has lots of red and green, for instance. Consider highlighting specific parts of pictures in bold zig-zagged white lines instead of straight red lines.
TODO: Documentation: Added (replicated) the same level of logs (from default firmware) that Mono did for macbook21, for t60/x60/x60t
TODO: Documentation: updated the X60 unbrick tutorial to use the 5-pin method instead (safer / less dangerous).
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
TODO:https://wiki.archlinux.org/index.php/TLP (example article) a user
mentioned that this also removes the high-pitched noise (like powertop does). Must look into this.
TODO: For images that use foreign layouts, create translated grub menus aswell. (i18n!). Modify the build scripts to do this automatically.
"set pager=1" is set in grub.cfg, for less-like functionality
The "Parse" options read ./isolinux/isolinux.cfg on a CD or USB,
and automatically converts it to a grub config and switches to the boot menu of that distro.
This makes booting ISO's *much* easier than before.
This document is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See license.txt for more information.