summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
13 daysMerge pull request 'Update U-Boot to v2024.10' (#253) from ↵Leah Rowe
alpernebbi/lbmk:uboot-v2024.10 into master Reviewed-on: https://codeberg.org/libreboot/lbmk/pulls/253
13 daysvendor.sh: Use the new deguard for 3050microLeah Rowe
I'm adding ThinkPad T480 support next, which requires the new revision of deguard. Mate Kukri changed the way deguard is used, in a rewrite of the project, so lbmk has to change too. Signed-off-by: Leah Rowe <leah@libreboot.org>
13 daysu-boot: Enable USB with a preboot commandAlper Nebi Yasak
We need to initialize the USB subsystem before we can use USB devices like keyboards and external disks, by running `usb start`. Use the PREBOOT config option to run the necessary command before U-Boot tries to automatically boot anything. It's already enabled for boards other than gru_kevin and gru_bob, so just update those two configs. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
13 daysu-boot: Update ARM64 boards to v2024.10Alper Nebi Yasak
Set default U-Boot revision to v2024.10 and rebase patches on top of that. The video subsystem now has switched to using the 'cyclic' mechanism, so the code around one of the video patches changed a bit. x86 boards were already switched to v2024.10. Update U-Boot for the remaining ARM64 boards as usual: - Turn old configs into defconfigs (./update trees -s u-boot) - Save the diff from old upstream defconfig (diffconfig $theirs $ours) - Update U-Boot revision, rebase patches, and clean old trees - Prepare new U-Boot tree (./update trees -f u-boot) - Review the diffconfigs to see if any options were renamed upstream - Copy over the new upstream defconfigs and apply earlier diff - Turn new defconfigs into configs (./update trees -l u-boot) Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2024-11-29trees: reset PATH per-targetLeah Rowe
Otherwise, if PATH was set before, it will be re-used again in the next pass. We previously unset CROSS_COMPILE to avoid using the wrong cross-compiler when switching to another target within a multi-tree project such as U-Boot. Well, PATH was also being set, to use coreboot xgcc first. This is fine, but the next target may not use the same one. This patch solves a similar problem to the following patch which was mentioned above: commit 637c0a1521a03e3f65de85dcc5ffd478b37a5360 Author: Leah Rowe <leah@libreboot.org> Date: Tue Nov 19 02:52:28 2024 +0000 trees: unset CROSS_COMPILE per target Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-11-27rom.sh: Add U-Boot before SeaBIOS and GRUB (x86)Leah Rowe
Since U-Boot must be inserted at a specific offset, it's theoretically possible that other files might overlap, but cbfstool will work around wherever U-Boot was inserted if it was inserted first; we don't use specific offsets for the other files. This is technically a preventative bug fix, but it fixes a bug that would probably never occur in practise. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-11-26rom.sh: Remove unnecessary shebangLeah Rowe
This is not a main script, and should not be treated as such; it must never be directly executed by the user. This script was only ever used inside other scripts, so the shebang didn't seem to do much at all, but it shouldn't be there anyway. Remove it. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-11-24Merge pull request 'config/deps/fedora41: Add openssl-devel-engine to ↵Leah Rowe
dependency list' (#251) from mkukri/lbmk:master into master Reviewed-on: https://codeberg.org/libreboot/lbmk/pulls/251
2024-11-24config/deps/fedora41: Add openssl-devel-engine to dependency listMate Kukri
openssl-devel was split up in Fedora 41, and this package is required to build libreboot on Fedora 41. This was reported by "tweezers" on #libreboot. Signed-off-by: Mate Kukri <km@mkukri.xyz>
2024-11-21e6400nvidia: Disable U-BootLeah Rowe
This uses the "normal" config. Previous changes prevent U-Boot images being built for this anyway, but it does yield a warning message. Remove the warning at the source. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-11-21rom.sh: unset displaymode on normal initmodeLeah Rowe
Otherwise, you get "normal_normal" in the image name. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-11-21rom.sh: Don't build U-Boot on normal initmodeLeah Rowe
The "normal" mode in lbmk is where no built-in GPU exists, or no libgfxinit is used, and SeaBIOS is the first payload, and SeaBIOS executes VGA ROMs (can't know if it'll start in VESA or text mode). U-Boot needs a VESA framebuffer or native coreboot framebuffer to work correctly. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-11-21rom.sh: Don't build txtmode U-Boot imagesLeah Rowe
U-Boot needs a VESA framebuffer or native coreboot framebuffer to work properly. 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-11-20U-Boot x86: Avoid clearing the VESA displayLeah Rowe
This is a patch from Simon Glass. U-Boot clears the display when it starts up, but was asking the VESA driver to do the same, needlessly; this patch avoids the latter. A further patch is also included, which provides a better message when jumping into long mode on the SPL (64-bit) target, dumping it on the serial console instead of using printf. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-11-20disable U-Boot for now on HP EliteBook 8560wLeah Rowe
dGPU only, and starts in text mode. will have to test with vesa framebuffer later on. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-11-20enable serial debug on HP EliteBook 8460pLeah Rowe
there's a uart on the docking station Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-11-20enable serial debug on hp elite 8200 sffLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-11-20enable the serial console on thinkpad x60Leah Rowe
it has one on the docking station Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-11-20enable the serial console on thinkpad t60Leah Rowe
it has one on the docking station Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-11-20Only boot 32-bit u-boot from grub, 64 from seabiosLeah Rowe
For some reason, 32-bit U-Boot only works when executed from GRUB, but not SeaBIOS; 64-bit U-Boot only works from SeaBIOS! This will have to be investigated. Standalone U-Boot, where U-Boot is the primary payload, has not yet been tested in Libreboot, and will not be provided for some time due to stability concerns. More testing is needed! Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-11-19make the u-boot grub menuentry more usefulLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-11-19Re-enable U-Boot x86 on real mainboardsLeah Rowe
The previous stability issues were resolved, thanks to the previous revision which added a fix courtesy Simon Glass. This reverts commit eba73c778a85d1c6ad2f0de57c82a8775cdd1c17.
2024-11-19u-boot x86 serial/ns16550: disable UART as neededLeah Rowe
U-Boot was hanging on hardware, but not Qemu. This is because on the machines tested, namely the X200 and E6230 laptops supported in Libreboot, the UART was disabled from coreboot. This U-Boot patch from Simon Glass works around the issue by silently disabling the UART when it isn't there. Instead, output is sent to the display and U-Boot no longer hangs. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-11-19Disable U-Boot x86 except on QemuLeah Rowe
It's really buggy on hardware. Disable for now. I've contacted Simon Glass on IRC, asking about hardware. Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-11-19fix U-Boot hotkey mention in grub.cfgLeah Rowe
it's u, not b, for the U-Boot hotkey Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-11-19Update x86 U-Boot to v2024.10 (was v2024.07)Leah Rowe
It's a new experimental payload in Libreboot, so we may aswell start with the very latest release of U-Boot. Signed-off-by: Leah Rowe <leah@libreboot.org>
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>