summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-11-19grub.cfg: mark U-Boot as experimental in the menuLeah Rowe
it's important that we maintain realistic expectations. x86 u-boot is not yet fully stable, so mark it as such. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-11-19trees: unset CROSS_COMPILE per targetLeah Rowe
When building a coreboot image, if they enable the x86 U-Boot payloads, sometimes what happens is you have CROSS_COMPILE set, for i386-elf, but then it's still set to that when later building 64-bit U-Boot, which needs x86_64-elf. We currently rely on hostcc to build U-Boot. To mitigate this, unset CROSS_COMPILE in the main loop of the trees script, for building project targets. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-11-19Enable x86 U-Boot payload on every x86 boardLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-11-19Add U-Boot x86_64 payloadLeah Rowe
Currently seems to stall when booted from the GRUB payload, but works when booted from the SeaBIOS menu. I also tested it as a standalone payload and it seems to boot. Will test on hardware next, and start adding it to more mainboards. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-11-09add arm-none-eabi-gcc-cs-c++ to fedora dependencyLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-11-07clean up the coreboot submodulesLeah Rowe
also bring the coreboot/next modules in line with the recent merge that did away with coreboot/dell7 the submodules for coreboot/haswell were still there, and have now been deleted; the haswell tree was used for the NRI patches, which were moved to /default some time ago Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-11-06Bump coreboot/next and merge coreboot/dell7Leah Rowe
coreboot/dell7 is now part of coreboot/next, which in turn has been updated, to accomodate 3050 micro patchset 18: https://review.coreboot.org/c/coreboot/+/82053/18 It incorporates my Verb/VBT patches, which are therefore no longer included separately. Mate has fixed the USB config; see diff for details. The configuration of USB ports was wrong, before. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-11-05data/coreboot: add missing variableLeah Rowe
payload_uboot_i386 must be defined here, or the build will fail for coreboot targets Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-11-04coreboot/default: remove unnecessary moduleLeah Rowe
The fsp module is unnecessary on coreboot/default, and therefore constitutes a waste of disk space. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-11-03Experimental U-Boot payload (32-bit dtb, U-Boot)Leah Rowe
NOTE: Support added for xarch target x86_64-elf, but U-Boot failed to build with this error: OBJCOPY lib/efi_loader/helloworld.efi x86_64-elf-objcopy: lib/efi_loader/helloworld_efi.so: invalid bfd target make[2]: *** [scripts/Makefile.lib:476: lib/efi_loader/helloworld.efi] Error 1 Since I'm building U-Boot for x86_64 *on* an x86-64 host, and since that is currently the recommended type of machine to use for lbmk development, and since the other x86 payloads currently don't cross compile anyway, this is an acceptable compromise for now. This is because at present, I'm not making U-Boot the primary payload on x86, instead preferring to chain it from GRUB and SeaBIOS. The target.cfg file for x86 u-boot shows xarch/xtree commented. Uncomment these to compile on crossgcc instead of hostcc. I mention 64-bit because I initially did this first, but decided to do 32-bit first. I'll work on the 64-bit one next (SPL). It's only enabled in QEMU for now. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-11-01coreboot/default: Re-base all patchesLeah Rowe
There were a lot of unnecessary patches, such as the VRAM patches; as Nicholas Chin has explained to me, the drivers for these machines will just allocate what RAM they want anyway, so in a lot of cases the extra allocated Video RAM simply reduces the total amount of memory for other uses. In general, we have a lot of patches that have existed for years. A much more aggressive sweep will be done in the next major audit, especially when the revisions are updated again. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-10-31NEW MAINBOARD: Dell OptiPlex 780 USFFLeah Rowe
Thanks go to Nicholas Chin and Lorenzo Aloe for working on and testing this code. Based on the 780 MT port. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-10-31coreboot/dell3050micro: enable coffeelake CPUsLeah Rowe
pin mod needed (soldering) but according to mate, you can use some coffeelake CPUs on these machines, despite them being intel 7th gen. this includes 8-core chips. this patch enables the software configuration in coreboot. 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-28coreboot/dell7: add missing ifdtool nuke patchLeah Rowe
This is for blanking the ME region on release builds. This is required for lbmk when doing Libreboot releases, on images that use an Intel ME region. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-10-27re-update seabios to latest revisionLeah Rowe
I reset it temporarily back to 1.16.3 when testing the SeaBIOS hanging bug on 3050 micro, but the revision had no effect; the bug was caused by a bad coreboot config Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-10-273050micro: Re-enable SeaGRUBLeah Rowe
Remove what is now unnecessary bloat, for ensuring that GRUB is the primary payload; SeaGRUB is the only preference, as per lbmk design. The SeaBIOS hanging issue was fixed, so SeaGRUB is OK now. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-10-27Merge pull request 'config/coreboot/default: Update MEC5035 patches' (#244) ↵Leah Rowe
from nic3-14159/lbmk:mec5035-updates into master Reviewed-on: https://codeberg.org/libreboot/lbmk/pulls/244
2024-10-273050micro: don't set static option tableLeah Rowe
Again, I'm adapting the config to be as close to the coreboot one as possible. I compiled directly from coreboot earlier, and got SeaBIOS to work on my 3050. I'm matching the setup as closely as possible. Once it works, I can use that in a Libreboot release but then debug why the old config wasn't working. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-10-273050micro: Use alt century byte +legacy 8254 timerLeah Rowe
I'm eliminating as many differences as possible between lbmk's setup, and the setup that is default when simply building from the gerrit patch, directly in coreboot, by just picking the mainboard; in this way, coreboot picks SeaBIOS as payload. I already changed the SeaBIOS configs, in the previous patch. Upon testing, this seems to have fixed the SeaBIOS hanging. I need to have both of these options selected, or SeaBIOS hangs just after it says "Press ESC" for the boot menu. With this config change, SeaBIOS does not hang; instead, it shows the list of devices as normal, and boots your machine. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-10-27Use SeaBIOS 1.16.3 and enable debuggingLeah Rowe
This diff matches the setup currently used in coreboot. I'm eliminating as many differences as possible, while I test the SeaBIOS hanging issue on Dell Optiplex 3050 Micro. The actual SeaBIOS configs have also been modified, to match the coreboot config. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-10-26config/coreboot/default: Update MEC5035 patchesNicholas Chin
- Update the MEC5035 S3 patches to the versions that were sent upstream to prevent conflicts with subsequent patches for that EC. - Update the patch that enables the S3 SMI handler in mainboard code so that all Latitudes use the handler. - Add a new patch that tells the EC to route power button events to the host so that the OS can decide what to do. Without it, the EC powers off the system without letting the OS cleanly shut down. Signed-off-by: Nicholas Chin <nic.c3.14@gmail.com>
2024-10-27Switch Dell 3050 Micro to newer coreboot revisionLeah Rowe
Specifically, use the same revision that Mate used in patchset 15. This will ensure that any issues are *not* caused by the coreboot revision; this is being done, because the old coreboot revision was from July, but patchset 15 from Mate is based on a September revision of coreboot. I've been eliminating as many variables as possible, trying to fix SeaBIOS payload on this machine, because it hangs in Libreboot, but not when building from gerrit directly, which means the coreboot revision may be a factor (since I'm using his patches on an older revision so upstream might have made some changes since then that the port relies on). For this, a new coreboot tree is used, called "dell7", referring to the fact that Kabylake is Intel's 7th generation. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-10-26Update dell 3050 patch to patch 15 (pwm fix)Leah Rowe
Use patchset 15 instead of 14: config/coreboot/default/patches/0061-WIP-OptiPlex-3050-Micro-port.patch Rebase the verb patch; patchset 15 modified the Makefile: config/coreboot/default/patches/0064-dell-optiplex_3050-add-hda_verb.c.patch We were using patchset 14 for the 3050 micro: https://review.coreboot.org/c/coreboot/+/82053/14 Now we use patchset 15: https://review.coreboot.org/c/coreboot/+/82053/15 Without this patch, the fans are always on a low setting, on the Dell OptiPlex 3050 Micro, even under stress conditions. With this patch, the fans change speed according to CPU temperature. I had to rebase my verb patch, because Mate modified the Makefile to add his sch5555 handler, on the same line where I add hda_verb. Mate tells me he will merge my verb and vbt patches into a further patchset later on. For now, I've simply rebased these patches on top of Mate's newer work; I've told him he can use them in his port. I'm probably going to now issue a new revision ROM image for Libreboot 20241008, so that users can get this fix sooner. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-10-20rom.sh: remove unnecessary logic from copyps1biosLeah Rowe
the .git directory never exists anyway, when doing a release, so the purpose this is intended is defeated by lbmk's design. individual headers say "pcsx-redux team" as copyright anyway, and the code for generating that COPYING file, with MIT license and correct years (matching the entire source code for the open bios) remains correct. a mitigation instead of this patch might be to maintain a hardcoded list of authors, and manually update it over time, but this is not required. however, it may be good practise for upstream to maintain such a file. perhaps i should contact them? Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-10-17use redundant mirrors for recent utils importsLeah Rowe
i mirrored riku's utils int, mxmdump and gpio-scripts to the codeberg and disroot libreboot sites. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-10-17remove end slashes on repos in config/git/Leah Rowe
Due to quirks in how caching works in lbmk, this may be error-prone. I'll properly address it in the next audit. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-10-17import Riku's int toolLeah Rowe
Riku used this for debugging, when adding the MXM support to the HP EliteBook 8560w port. It will be useful for other work that I have planned, so I'm archiving this too! Riku has a lot of useful code, that I meant to import ages ago. Once I'm done importing these in lbmk, I'll add backup repos. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-10-17import Riku's gpio-scriptsLeah Rowe
Based on hell's code, but parses inteltool logs. This will be useful for ports that I have planned, so I'd like this to be included with Libreboot releases. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-10-17import Riku's mxmdump utilityLeah Rowe
Used to dump MXM config for a given mainboard. We used this for the HP EliteBook 8560w. I meant to import this via config/git/ ages ago. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-10-17bump seabiosLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-10-16vendor.sh: Don't use x_ for image MAC address modLeah Rowe
The path might contain spaces and such, which breaks when using the x_ prefix. Call err instead. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-10-14bump flashprog revision to d128a0aLeah Rowe
This brings in the following important fix: commit d128a0ae87086b37c0e5d7a8d934bcdee173402f Author: Nicholas Chin <nic.c3.14@gmail.com> Date: Fri Sep 27 22:57:22 2024 -0600 flashchips: Remove unsupported erase blocks for Winbond W25X{16,32,64} This family of chips does not support the 0x52 (32 KiB block erase) and 0x60 (chip erase) opcodes according to their datasheet. The full list of changes this brings in is as follows: * d128a0a flashchips: Remove unsupported erase blocks for Winbond W25X{16,32,64} * c6a924a Don't mention writing when erasing only (-E) * dac4239 ch347_spi: Add 'spimode' parameter * 56d236b chipset_enable: Add some newer AMD code names * 3b9f152 chipset_enable: Probe AMD SPIBAR first and bail on ff * 522160f meson: Add ft4222_spi Nicholas Chin's patch fixes a bug on GM45 ThinkPads, where WX25 ICs (Winbond) could be read, but writes would fail in certain cases because flashchips.c provided incorrect block erase commands. This is unrelated to the --workaround-mx patch, for Macronix ICs. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-10-14vendor.sh: Handle error status on RUNME.shLeah Rowe
The deguard utility is executed within a subshell, and the subshell does not handle error status. This patch fixes that, so that the main shell also exits non-zero. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-10-13dependencies/fedora40: add python3-develLeah Rowe
I was build-testing gru_bob on an arm64 host, and got a build error when compiling U-Boot. Python.h missing - installing python3-devel fixes it. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-10-08Libreboot 20241008 release20241008Leah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-10-08build: actually build pcsx-redux bios on releaseLeah Rowe
I added support earlier, on rom.sh, but the main build script specifically defines which projects are to be compiled. I've modified it so that pcsx-redux (just the BIOS part) will also be compiled. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-10-08rom.sh: support making pcsx-redux bios releaseLeah Rowe
I also checked the copyright declarations in the directory src/mips/openbios where the PCSX-Redux BIOS is, gleaning all the copyright years: 2019-2024 at this time. The years will be updated as and when PCSX-Redux is updated in lbmk. Their BIOS is under MIT so I made lbmk generate an appropriate COPYING file alongside the binary, containing: Copyright (c) 2019-2024 PCSX-Redux authors Along with the actual text of the MIT license. With all of this, the PCSX-Redux BIOS can now be included in Libreboot releases. No actual tarball is created. The release script in lbmk simply copies the bin/ directory to ../roms I'm leaving the PCSX-Redux BIOS release uncompressed, because, and this will sound patronising because that is my precise intention: Windows users don't know how to do anything. If I provide a tarball to Windows users, they won't know what to do. Libreboot releases always go on rsync mirrors, which also have HTTP servers with indexing enabled, for browsing release files. I mention Windows users, because most people who use the PCSX Redux BIOS will probably use it on a PlayStation emulator, and most emulator users are on Windows. I can't really be bothered to provide it as a .zip archive, and it's only 512kb, so just provide it uncompressed in Libreboot releases! Releases were already possible under this scheme, so this patch really just adds the COPYING file. It's simply a courtesy to the PCSX-Redux developers, providing proper credit to them. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-10-07coreboot/dell3050micro: Add data.vbt fileLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-10-06Add verb patch for Dell OptiPlex 3050 MicroLeah Rowe
Thanks go to Nicholas Chin for helping me with this. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-10-06rom.sh: disable seabios-as-primary if grub is mainLeah Rowe
on 3050micro, we disable seabios as a primary payload, making grub a pribary payload instead. the way it worked, the roms were still named seagrub and the seabios rom would be compiled, but with the wrong path, so seabios wouldn't be executed; seabios would hang anyway, on this board. instead, engineer it in such a way as to disable seabios_ images on this board. also, rename seagrub_ to grub_. i normally only permit seagrub, and not grub, but i make an exception for 3050micro because we know grub works, but seabios currently hangs on this board (which means no bsd). Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-10-06dell3050micro: make GRUB the primary payloadLeah Rowe
SeaBIOS is known to hang on this board. It is being investigated. Add two variable options for target.cfg files: * seabiosname * grubname This string defines where it would be located in CBFS. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-10-05disable dram clear on dell 3050 microLeah Rowe
otherwise it takes ages to boot Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-10-053050micro: disable TPM to mitagate seabios hangingLeah Rowe
SeaBIOS hangs without this. Thanks go to Mate Kukri who suggested this workaround. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-10-05fix 3050 config (./mk -u coreboot)Leah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-10-05git.sh: fix error with cache re-downloadLeah Rowe
in some cases, on a fresh clone, the cached repo already exists but lbmk tries to download it again. work around this by checking that the directory exists; it's in the main if statement, so that the "else" still applies. as a result, the fallback to a live repo would un-fall back to doing git-pull if the cached directory exists exists. if it doesn't seem to make sense, it's because it doesn't. this whole function needs to be rewritten better. 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-10-04Add Dell OptiPlex 7010/9010 SFF supportLeah Rowe
Pretty much just copied the T1650 directory in config/, then changed the board to 9010 SFF in menuconfig. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-09-30add swig to fedora dependenciesLeah Rowe
needed when compiling u-boot Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-09-30Merge pull request 'config/coreboot: Add Dell Latitude E4300' (#236) from ↵Leah Rowe
nic3-14159/lbmk:e4300 into master Reviewed-on: https://codeberg.org/libreboot/lbmk/pulls/236