summaryrefslogtreecommitdiff
path: root/config/ifd
AgeCommit message (Collapse)Author
14 daysNEW MAINBOARD: ThinkPad T480Leah Rowe
This uses the excellent deguard utility, written by the excellent Mate Kukri. A few bugs but it mostly works. Documentation to come shortly, in lbwww.git. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-11-21rom.sh: Support SeaUBoot for 64-bit x86 U-BootLeah Rowe
Same concept as SeaGRUB, but for U-Boot. SeaBIOS starts, but has a bootorder file loading U-Boot first, from flash. You can interrupt it with the ESC menu, to boot something else in SeaBIOS, including GRUB. With this, we can effectively provide extremely user-friendly UEFI-first setups in Libreboot. Take that, edk2! Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-10-28NEW MAINBOARD: Dell OptiPlex 780 MTLeah Rowe
Thanks go to Lorenzo Aloe and Nicholas Chin for working on and testing this code. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-10-05Add config for Dell OptiPlex 3050 MicroLeah Rowe
This is using Mate Kukri's port, which was added in previous lbmk revisions. I've added an IFD that sets the HAP bit, and unlocks regions as standard. vcfg is set to 3050micro, which defines downloading of the MEv11 image and it will run deguard automatically. I made a small adjustment to vendor.sh, because the hotpatch logic for deguard uses -C in git, and when doing that, the specified directory path is relative to that Git repository; the .patch path has been adjusted accordingly. Also add 3rdparty/fsp to coreboot/default modules. This board requires the ifdtool option: -p sklkbl The -p option tells flashrom what quirks are present in a given IFD. We don't normally need this on other Libreboot targets that we currently support. The -p option was needed for creating this modified IFD, and it is therefore needed in the inject script. Therefore, an "IFD_platform" option is specified in a given board's target.cfg file. If this is set, another variable is set that makes -p be used. In this case, 3050's target.cfg says: IFD_platform="sklkbl" This option enables quirks for skylake/kabylake descriptors, as required when using ifdtool. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-07-28fix hp8200sff_4mb ifd file (pd region)Leah Rowe
see bug report: https://codeberg.org/libreboot/lbmk/issues/228 The layout specified incorrect boundaries for the pd region. With this change, it should flash and boot reliably. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-02-20config/ifd/dell_ivybridge: Add ifd_nogbeNicholas Chin
This is required by the Latitude E5530, which uses a Broadcom NIC instead of the Intel ones. The original port was missing this file. Signed-off-by: Nicholas Chin <nic.c3.14@gmail.com>
2024-02-08config: Add Dell Latitude E5520Nicholas Chin
Tested by Minimum_Baseball_629 on Reddit Signed-off-by: Nicholas Chin <nic.c3.14@gmail.com>
2024-02-07Merge pull request 'Add Latitude E6420, E6520, and E5530' (#183) from ↵Leah Rowe
nic3-14159/lbmk:latitude-ports into master Reviewed-on: https://codeberg.org/libreboot/lbmk/pulls/183
2024-02-06config: Add Dell Latitude E6420Nicholas Chin
Tested by Martin Dawson. Signed-off-by: Nicholas Chin <nic.c3.14@gmail.com>
2024-02-04NEW BOARD: Dell OptiPlex 9020 MT (and 7020 MT)Leah Rowe
Specifically the MT versions. The SFF versions will be added separately, in a later commit. See: https://review.coreboot.org/c/coreboot/+/55232 This patch has been added, from patchset 31. It still has some unresolved issues, on that patchset, but it should boot. See commit message there. Of note: I've enabled PCI REBAR, though it's unknown whether it will work (some comments there about it though, on that gerrit page). I've also set CBFS size to 8MB, not the full size of the BIOS region; this is required on the T440p which uses the same mrc.bin file, to get S3 working. TSEG stage cache disabled, as on other Haswell boards. The setup: SeaBIOS-only as first payload, but with GRUB enabled as secondary payload. The _grubonly setup has been enabled here. This way, the config will work on iGPU and dGPU setups without issue. Signed-off-by: Leah Rowe <info@minifree.org>
2024-01-12REMOVE MAINBOARD: lenovo x201Leah Rowe
with neutered ME, fan control fails. while there are ways to mitigate it, many users will not, and will likely see their system overheat, which is very dangerous. this bug (failed fan control on neutered ME) only affects arrandale machines such as lenovo x201. the newer machines are not affected by this. other arrandale machines will probably not be added to libreboot because of this, or they will be subject to further testing. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-01-10NEW MAINBOARD: HP EliteBook 820 G2Leah Rowe
This is of Broadwell platform, one generation above Haswell. Of note: this uses HP Sure Start. Although the flash is 16MB, our CBFS section (and IFD configuration) assumes 12MB flash, so the final 4MB will be left unflashed on installation, after blanking the private flash. The coreboot documents have more information about this. Some minor design changes in lbmk were made, to accomodate this port: Support for extracting refcode binaries added (pulled from Google recovery images). The refcode file is an ELF that initialises the MRC and the PCH. It is also responsible for enabling or disabling the Intel GbE device, where Google does not enable it, but lbmk modifies it per the instructions on the coreboot documentation, so as to enable Intel GbE. Google's recovery image stores the refcode as a stage file, but coreboot changed the format (for CBFS files) after 4.13 so coreboot 4.13's cbfstool is used to extract refcode. This realisation made me also change the script logic to use a cbfstool and ifdtool version matching the coreboot tree, for all parts of lbmk, whereas lbmk previously used only the default tree for cbfstool/ifdtool, on insertion and deletion of vendor files - it was 81dc20e744 that broke extraction of refcode on google's recovery images, where google used an older version of cbfstool to insert the files in their coreboot ROMs. A further backported patch has been added, copying coreboot revision f22f408956 which is a build fix from Nico Huber. Iru Cai submitted an ACPI bugfix after the revision lbmk currently uses, for coreboot/default, and this fix is needed for rebooting to work on Linux 6.1 or higher. This patch has been backported to lbmk, while it still uses the same October 2023 revision of coreboot. Broadwell MRC is inserted at the same offset as Haswell, so I didn't need to tweak that. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-12-20config/ifd/xx30: Fix 16_ifd component density and countNicholas Chin
The component 1 and 2 densities were still set to 8 MiB and 4 MiB respectively, which is incorrect for 16 MiB only configurations. Change the component 1 density to 16 MiB so that the address space gets properly mapped to SPI 1. In addition, change the number of components field (byte 0x15) to 0x00 to indicate 1 flash chip. Signed-off-by: Nicholas Chin <nic.c3.14@gmail.com>
2023-11-05config/ifd: Rename e6430 to dell_ivybridgeNicholas Chin
This is to support future patches for other Ivy Bridge Dell Latitudes. Signed-off-by: Nicholas Chin <nic.c3.14@gmail.com>
2023-10-29add lenovo x201 supportLeah Rowe
note: me6_update_parser needs to be written, similar to me7_update_parser, to generate the partition tables within intel me6 on lenovo bios updates. the current logic in lbmk goes like this: mkdir -p vendorfiles/cache/ and save your factory dump as: vendorfiles/cache/x201_factory.rom the build system has been modified, in such a way as to support extracting me.bin (which is the full one) and then neutering from this. this is done automatically, if the file is present, but you must first insert that file there, which means you'll need a dump of the original boot flash on your thinkpad x201 Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-09-04move ifd/gbe configs into config/ifd/Leah Rowe
it doesn't really make sense for them to be under blobs/ - nominally, they are blobs, but they are well-understood data files containing config data, that is easily parsed by tools like ich9show or ifdtool (and tools like bincfg or nvmutil) blobs/ has been re-purposed: this directory no longer exists in lbmk, but it is created (and on .gitignore) when needed, by blobutil thus, the blobs/ directory shall only contain vendor files, and only those files that libreboot scrubs from releases. therefore, build/release/src can (and has been) simplified; it currently copies just the ifd and gbe files from blobs/, selectively, and this logic is quite error prone, requiring maintenance. now, the build/release/src script simply copies config/ (which only ever contains distributable files) and entirely ignores the blobs/ directory the blob download script already creates the required directory, except for the sch5545 download; this is now fixed lbmk code size is slightly smaller, due to this patch Signed-off-by: Leah Rowe <leah@libreboot.org>