Hi all,
I would like to know if it is possible, via a signature or a magic number,
in the coreboot.rom file to recognize that it is a "coreboot" file.
I did not find anything in the Makefile.inc.
Thanks in advance
Hi everyone,
I have a Thinkpad X220t with coreboot and I'm trying to replace the 5MB ME firmware with the small (2MB) one, extracted from a Sandy Bridge Chromebook. The small ME blob works but now I want to reclaim the free space by modifying the Intel descriptor, partly following the x220 guide (https://www.coreboot.org/Board:lenovo/x220#Bigger_SPI_ROM).
If I extract the layout and modify it from
00000000:00000fff fd
00500000:007fffff bios
00003000:004fffff me
00001000:00002fff gbe
00fff000:00000fff pd
00fff000:00ffffff res1
00fff000:00ffffff res2
00fff000:00ffffff res3
00000000:00ffffff ec
to
00000000:00000fff fd
00183000:007fffff bios
00003000:00182fff me
00001000:00002fff gbe
00fff000:00000fff pd
00fff000:00ffffff res1
00fff000:00ffffff res2
00fff000:00ffffff res3
00000000:00ffffff ec
ifdtool --newlayout fails with "Region would overlap." (gdb shows me that the overlapping regions are fd and ec).
If I remove the overlap exit, ifdtool segfaults with this output:
File coreboot.rom is 8388608 bytes
Regions would overlap.
Regions would overlap.
Regions would overlap.
Regions would overlap.
Regions would overlap.
Regions would overlap.
Regions would overlap.
Regions would overlap.
Regions would overlap.
Regions would overlap.
The image has changed in size.
The old image is 8388608 bytes.
The new image is 16777216 bytes.
Copy Descriptor 0 (Flash Descriptor) (4096 bytes)
from 00000000+00000000:00000fff ( 4096)
to 00000000+00000000:00000fff ( 4096)
Copy Descriptor 1 (BIOS) (3145728 bytes)
from 00500000+00000000:007fffff ( 3145728)
to 00500000+00000000:007fffff ( 3145728)
Copy Descriptor 2 (Intel ME) (5230592 bytes)
from 00003000+00000000:004fffff ( 5230592)
to 00003000+00000000:004fffff ( 5230592)
Copy Descriptor 3 (GbE) (8192 bytes)
from 00001000+00000000:00002fff ( 8192)
to 00001000+00000000:00002fff ( 8192)
Copy Descriptor 5 (Reserved) (4096 bytes)
from 00fff000+00000000:00ffffff ( 4096)
to 00fff000+00000000:00ffffff ( 4096)
[1] 8451 segmentation fault ../util/ifdtool/ifdtool --newlayout layout.txt coreboot.rom
If I use an unmodified layout as newlayout the result is the same (overlap + segfault).
Suggestions?
Thanks
Nicola Corna
The ASUS KFSN4-DRE (K8) fails verification for branch master as of commit 8dc20bb698c466141ca06a18fa14594215b374b8
The following tests failed:
BOOT_FAILURE
Commits since last successful test:
8dc20bb tpm2: Fixed typo
a7fa5dd pc80/mc146818rtc.h: Replace leftover macro token
08e842c Kconfig: rename BOOT_MEDIA_SPI_BUS to BOOT_DEVICE_SPI_FLASH_BUS
240853b intel/amenia: Update eMMC DLL settings
3ad6356 soc/intel/skylake: Correct Cache as ram size
<34 commits skipped>
c7740d6 chromeos: Make CHROMEOS_RAMOOPS_NON_ACPI a default for non-ACPI boards
5faf4ba Revert "gru: Show the current time on start-up"
1143d08 libpayload: head.S: Avoid clearing BSS (and heap) again
55ffccf libpayload: cbfs: Fix minor memory leak in some edge cases
1b52e25 Documentation: add start of documentation of the build system
See attached log for details
This message was automatically generated from Raptor Engineering's ASUS KFSN4-DRE (K8) test stand
Want to test on your own equipment? Check out https://www.raptorengineering.com/content/REACTS/intro.html
Raptor Engineering also offers coreboot consulting services! Please visit https://www.raptorengineering.com for more information
Please contact Timothy Pearson at Raptor Engineering <tpearson(a)raptorengineering.com> regarding any issues stemming from this notification
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
GNU Libreboot 20160818
This is a brand GNU release. Libreboot joined the GNU project on 14
May 2016. This 18 August 2016 release is the first GNU release of
libreboot.
Get it from https://libreboot.org/download/
NEW BOARDS ADDED:
* ASUS Chromebook C201 (ARM laptop) (thanks to Paul Kocialkowski)
* Gigabyte GA-G41M-ES2L motherboard (desktop) (thanks to Damien Zammit)
* Intel D510MO motherboard (desktop) (thanks to Damien Zammit)
* ASUS KCMA-D8 motherboard (desktop) (thanks to Timothy Pearson)
* ASUS KFSN4-DRE motherboard (server) (thanks to Timothy Pearson)
* ASUS KGPE-D16 motherboard (server) (thanks to Timothy Pearson)
For details development history on these boards, refer to the git log
and documentation.
For boards previously supported, many fixes from upstream have been
merged.
Other changes (compared to libreboot 20150518), for libreboot in
general or for previously supported systems:
(this is a summary. For more detailed change list, refer to the git log)
256MiB VRAM allocated on GM45 (X200, T400, T500, R400) instead of
32MiB. This is an improvement over both Lenovo BIOS and Libreboot
20150518, allowing video decoding at 1080p to be smoother. (thanks
Arthur Heymans)
To clarify, GM45 video performance in libreboot 20160818 is better
than on the original BIOS and the previous libreboot release.
64MiB VRAM on i945 (X60, T60, MacBook2,1) now supported in
coreboot-libre, and used by default (in the previous release, it was
8MiB allocated). Thanks to Arthur Heymans.
Higher battery life on GM45 (X200, T400, T500, R400) due to higher
cstates now being supported (thanks Arthur Heymans). C4 power states
also supported.
Higher battery life on i945 (X60, T60, MacBook2,1) due to better CPU
C-state settings. (Deep C4, Dynamicl L2 shrinking, C2E).
Text mode on GM45 (X200, T400, T500, R400) now works, making it
possible to use MemTest86+ comfortably. (thanks to Nick High from
coreboot)
Dual channel LVDS displays on GM45 (T400, T500) are now automatically
detected in coreboot-libre. (thanks Vladimir Serbinenko from coreboot)
Partial fix in coreboot-libre for GRUB display on GM45, for dual
channel LVDS higher resolution LCD panels (T400, T500). (thanks Arthur
Heymans)
Massively improved GRUB configuration, making it easier to boot more
encrypted systems automatically, and generally a more useful menu for
booting the system (thanks go to Klemens Nanni of the autoboot project).
Libreboot now uses the grub.cfg provided by the installed GNU/Linux
distribution automatically, if present, switching to that
configuration. This is done across many partitions, where libreboot
actively searches for a configuration file
(also on LVM volumes and encrypted volumes). This should make
libreboot more easy to use for non-technical users, without having to
modify the GRUB configuration used in libreboot.
Utilities archives is now source only. You will need to compile the
packages in there (build scripts included, and a script for installing
build dependencies in Trisquel 7). (binary utility archives are
planned again in the next release, when the new build system is merged)
SeaGRUB is now the default payload on all x86 boards. (SeaBIOS
configured to load a compressed GRUB payload from CBFS immediately,
without providing an interface in SeaBIOS. This way, GRUB is still
used but now BIOS services are available, so you get the best of both
worlds). Thanks go to Timothy Pearson of coreboot for this idea.
crossgcc is now downloaded and built as a separate module to
coreboot-libre, with a universal revision used to build all boards.
Individual boards now have their own coreboot revision and patches,
independently of each other board. This makes maintenance easier.
Updated all utilities, and modules (coreboot, GRUB, etc) to newer
versions, with various bugfixes and improvements upstream.
RTC century byte issue now fixed on GM45 in coreboot-libre, so the
date should now be correctly displayed when running the latest linux
kernel, instead of seeing 1970-01-01 when you boot (thanks to
Alexander Couzens from coreboot)
Build system now uses multiple CPU cores when building, speeding up
building for some people. Manually specifying how many cores are
needed is also possible, for those using the build system in a chroot
environment. (thanks go to Timothy Pearson from coreboot)
In the build system (git repository), https:// is now used when
cloning coreboot. http:// is used as a fallback for GRUB, if git:// fail
s.
New payload, the depthcharge bootloader (free bootloader maintained by
Google) for use on the ASUS Chromebook C201. (thanks go to Paul
Kocialkowski)
Various fixes to the ich9gen utility (e.g. flash component density is
now set correctly in the descriptor, gbe-less descriptors now supported)
The official documentation included in the release in provided in
texinfo format, instead of HTML; this was one of the requirements for
joining GNU. (the other requirement is a new build system, to comply
with GNU standards, e.g. Makefiles, and common Makefile entries
present in all GNU software. As of Libreboot 20160818, this new build
system is not yet merged, but will be in the release afterwards)
ChangeLog and NEWS files are included in the release, to comply with
GNU standards (they are dumps of the git-log output)
- --
Leah Rowe
Libreboot developer
Use free software. Free as in freedom.
https://www.gnu.org/philosophy/free-sw.html
Use a free operating system, GNU/Linux.
https://www.gnu.org/
Use a free BIOS.
https://libreboot.org/
Support freedom. Join the Free Software Foundation.
https://fsf.org/
Minifree Ltd, trading as Ministry of Freedom | Registered in England,
No. 9361826 | VAT No. GB202190462
Registered Office: 19 Hilton Road, Canvey Island, Essex SS8 9QA, UK |
Web: http://minifree.org/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)
iQEcBAEBAgAGBQJXtiwsAAoJEP9Ft0z50c+Up7EIALsOVtATGkOCRpOtrx/XMyTi
oJbi+XsKkYL9WuuxArUTgmIlq8bkmlYmSXpewmKqmEKaGvFGwPSIS5VVm38/Sy2S
VP12ZOpcWQOwKDmkViIfjuMOihK7J0UPRB2P0XvjUuAUyez4sgYhLARkKxrlTh4v
JQmNWFTpW2xc9k1r4BluaeWIqMblKN9vMSam5lFaXDnO9maTFUAYVs7s8fgikRaK
LzGsddjTXlDIAgjfDmrCo3qIocgsEu36tzLA8P6Ilr7yVfE0/uPfUkdj15iWUlRL
cWD8qOsLrDu/764jztvBr4XmzH5A5NU2Zrm7zMClCf6wTwzXHbWVG7l/F4L/JZU=
=9Aq4
-----END PGP SIGNATURE-----
I actually worked around it, it was some MITM proxy that
decompresses the gzipped tarball, for some reason, that
didn't happen why I tried fetching libelf tarball from
https://www.mirrorservice.org/sites/libreboot.org/release/20150518/crossgcc…
but anyway, I was able to build coreboot and I flashed it
but it seems that I bricked the board, it showed multiple
flash chips and I had to choose, so I picked the first one
and everything went alright until I rebooted. I am going
to flash it externally now, any tips so I don't screw up
this time?
Raiz
> I'm with Zoran; see if you can decompress manually. It looks like he suggested a
> different option style, too.
Exactly what I did. Decompressed it manually with tar -xf, to see what
will happen (works seamlessly). Could be done with -xvf (v in the
middle: verbose, for debug traces).
I would warmly suggest to everyone to use the latest distros, with
most recent upgrades. Since these are tested, mostly, and they have
latest and greatest features enhanced, and added.
Here is what I have after last upgrade of my Fedora 24 VM on my HP
UltraBook WIN10 laptop half an hour ago (following Martin's Roth
advice):
[zoran@localhost libelf]$ uname -r
4.6.6-300.fc24.x86_64
[zoran@localhost libelf]$ tar --version
tar (GNU tar) 1.28
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by John Gilmore and Jay Fenlason.
[zoran@localhost libelf]$ /bin/sh --version
GNU bash, version 4.3.42(1)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
[zoran@localhost libelf]$
Regards,
Zoran
The ASUS KFSN4-DRE (K8) fails verification for branch master as of commit 0bb62294ac1e792646cae28b73b2072ea8b389ee
The following tests failed:
BOOT_FAILURE
Commits since last successful test:
0bb6229 soc/intel/skylake: restore MCHBAR and DMIBAR programming
9cc8cb2 xcompile: add riscv64 name to riscv toolchain
d23ee5d mainboard: Clean up boot_option/reboot_bits in cmos.layout
4f79e66 console: Change CONFIG_CHROMEOS requirement from do_printk_va_list()
4157bd8 vboot: Move TPM-related Kconfig selects from CHROMEOS to VBOOT
<22 commits skipped>
c7740d6 chromeos: Make CHROMEOS_RAMOOPS_NON_ACPI a default for non-ACPI boards
5faf4ba Revert "gru: Show the current time on start-up"
1143d08 libpayload: head.S: Avoid clearing BSS (and heap) again
55ffccf libpayload: cbfs: Fix minor memory leak in some edge cases
1b52e25 Documentation: add start of documentation of the build system
See attached log for details
This message was automatically generated from Raptor Engineering's ASUS KFSN4-DRE (K8) test stand
Want to test on your own equipment? Check out https://www.raptorengineering.com/content/REACTS/intro.html
Raptor Engineering also offers coreboot consulting services! Please visit https://www.raptorengineering.com for more information
Please contact Timothy Pearson at Raptor Engineering <tpearson(a)raptorengineering.com> regarding any issues stemming from this notification
Here is what you asked for,
Raiz
Tar version: tar (GNU tar) 1.29
Shell (/bin/sh): GNU bash, version 4.3.46(1)-release
(x86_64-unknown-linux-gnu)
Distro: Manjaro-OpenRC (rolling) (Linux manjaro 4.4.16-1-MANJARO #1 SMP
PREEMPT Wed Jul 27 21:09:47 UTC 2016 x86_64 GNU/Linux)
+ for P in '$PACKAGES'
+ unpack_and_patch LIBELF
+ package=LIBELF
++ eval echo '$LIBELF_ARCHIVE'
+++ echo http://www.mr511.de/software/libelf-0.8.13.tar.gz
+ archive=http://www.mr511.de/software/libelf-0.8.13.tar.gz
++ eval echo '$LIBELF_DIR'
+++ echo libelf-0.8.13
+ dir=libelf-0.8.13
+ test -d libelf-0.8.13
++ basename http://www.mr511.de/software/libelf-0.8.13.tar.gz
+ printf ' * libelf-0.8.13.tar.gz\n'
* libelf-0.8.13.tar.gz
+ FLAGS=zxf
++ echo http://www.mr511.de/software/libelf-0.8.13.tar.gz
++ sed 's,.*\.,,'
+ suffix=gz
+ '[' gz = gz ']'
+ '[' -n '' ']'
+ '[' gz = gz ']'
+ FLAGS=zxf
++ basename http://www.mr511.de/software/libelf-0.8.13.tar.gz
+ tar zxf tarballs/libelf-0.8.13.tar.gz
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
+ for patch in 'patches/${dir}_*.patch'
+ test -r 'patches/libelf-0.8.13_*.patch'
+ continue
+ touch libelf-0.8.13/.unpack_success
touch: cannot touch 'libelf-0.8.13/.unpack_success': No such file or
directory
+ exit 1
> downloading it manually and putting it in the tarballs folder.
>
> If that's not what's happening, it's probably something in your
> environment:
> - What shell is being used? ls -al /bin/sh; /bin/sh --version
> - What version of tar is getting run? tar --version
> - If you're running a less widely used OS or Distro, what are you
> running?
>
> Try running the buildgcc command directly with -x enabled and see
> what's actually getting run for the tar command:
> /bin/sh -x util/crossgcc/buildgcc
>
> Martin
The ASUS KFSN4-DRE (K8) fails verification for branch master as of commit 5fa08f3c0f34fec0fa3bf0a34425c96932d62931
The following tests failed:
BOOT_FAILURE
Commits since last successful test:
5fa08f3 Revert "rockchip: rk3399: enable sdhci clk for emmc"
e4cc473 reef: Increase TSR2 threshold to 100
c3b024e Revert "Kconfig: separate memory mapped boot device from SPI"
edd7959 commonlib/region: allow empty mmap()/munmap() in region_device_ops
e56191e soc/intel/skylake: don't include all SPI flash drivers
<17 commits skipped>
c7740d6 chromeos: Make CHROMEOS_RAMOOPS_NON_ACPI a default for non-ACPI boards
5faf4ba Revert "gru: Show the current time on start-up"
1143d08 libpayload: head.S: Avoid clearing BSS (and heap) again
55ffccf libpayload: cbfs: Fix minor memory leak in some edge cases
1b52e25 Documentation: add start of documentation of the build system
See attached log for details
This message was automatically generated from Raptor Engineering's ASUS KFSN4-DRE (K8) test stand
Want to test on your own equipment? Check out https://www.raptorengineering.com/content/REACTS/intro.html
Raptor Engineering also offers coreboot consulting services! Please visit https://www.raptorengineering.com for more information
Please contact Timothy Pearson at Raptor Engineering <tpearson(a)raptorengineering.com> regarding any issues stemming from this notification