Commit Graph

324 Commits (ee0b200fbef5400bd2f225a248847de70f9d39b0)

Author SHA1 Message Date
Leah Rowe ee0b200fbe blobutil/inject: massively improved coding style
top-down function order, with specific functions for
each type of blob. startup logic moved into main(),
also split into smaller functions

"write one program that does one thing well"

blobutil is like that, and has this added philosophy:

"write one function that does one thing well"

during the course of this re-factoring, several bugs
and issues were found, that are pre-existing. these
will be corrected in follow-up revisions
2023-05-14 06:27:41 +01:00
Leah Rowe 75ad8b0d46 Merge pull request 'Remove warning for coreboot images build without a payload' (#65) from nic3-14159/lbmk:remove-no-payload-warning into master
Reviewed-on: https://codeberg.org/libreboot/lbmk/pulls/65
2023-05-13 11:08:51 +00:00
Leah Rowe f2e3176708 modify/u-boot: cleaner coding style
similar to the previous revision
2023-05-13 04:22:34 +01:00
Leah Rowe 71cac86634 modify/coreboot: cleaner coding style
similar to the previous revision
2023-05-13 04:09:06 +01:00
Leah Rowe 174d3af7a6 modify/seabios: cleaner coding style
same as build/boot/roms
2023-05-13 03:51:58 +01:00
Leah Rowe c8dfc3ccaa build/build/roms: simplify mkCoreboot() arguments 2023-05-13 03:06:55 +01:00
Nicholas Chin fdc9e4448f
Remove warning for coreboot images build without a payload
I added this in upstream to prevent people from accidentally flashing
roms without a payload resulting in a no boot situation, but in
libreboot lbmk handles the payload and thus this warning always comes
up. This has caused confusion and concern so just patch it out.
2023-05-12 20:06:36 -06:00
Leah Rowe d8a8a1c622 build/boot/roms: don't use subshells frivilously
use make -BC instead of cd
2023-05-13 02:52:42 +01:00
Leah Rowe 834be77c1d build/boot/roms: remove errant debug line
i added this in the last revision

it was put there to debug something that
i fixed before pushing
2023-05-13 02:36:09 +01:00
Leah Rowe 39c143989c build/boot/roms: simplify build_rom_images() 2023-05-13 02:32:44 +01:00
Leah Rowe 65dfdd56da build/boot/roms: use fast dd command for ich9m ifd
bs 12k and count 1, rather than bs 1 and count 12k
2023-05-13 01:38:59 +01:00
Leah Rowe 6a4ce66f6e build/boot/roms: don't run ich9gen twice 2023-05-13 01:34:29 +01:00
Leah Rowe 1e9ed989d3 build/boot/roms: simplify moverom() 2023-05-13 01:27:00 +01:00
Leah Rowe 5811e53e82 build/boot/roms: remove unused legacy code
this cuttype is no longer used

lbmk creates truncated me setups now, on ifd platforms
2023-05-13 01:07:53 +01:00
Leah Rowe 3bd82b7679 build/boot/roms: reduced code indentation 2023-05-13 00:13:54 +01:00
Leah Rowe 9eee0fb483 build/boot/roms: split main() to topdown functions
the logic can now more or less be read chronologically
2023-05-12 23:09:39 +01:00
Leah Rowe bceb5f2eb4 build/roms_helper: move logic into main()
logic will be split from main into smaller
functions, in follow-up commits
2023-05-12 16:55:45 +01:00
Leah Rowe df611f9bc1 remove ga-g41m-es2l board for now
users reported it doesn't boot in recent releases, with the
february 2023 coreboot revision update

i have one in the lab, i'll just re-test it and fix whatever's
wrong for a future release
2023-05-12 05:10:08 +01:00
Leah Rowe 3da0ee4f73 remove python3 patches
python 3 is default now, in all the distros

specifically calling "python3" often doesn't work anymore

python2 is obsolete

let python2 die
2023-05-11 10:21:48 +01:00
Leah Rowe 6290f999e2 build/boot/roms_helper: further cleanup
consolidated some for loops

removed errant code
2023-05-10 20:23:18 +01:00
Leah Rowe 722c844ea7 build/boot/roms: top-down function order 2023-05-10 05:39:11 +01:00
Leah Rowe 5f44556f47 build/roms: general code style cleanup 2023-05-10 05:09:10 +01:00
Leah Rowe d521fca7ef build/roms: fix faulty keymap list expansion 2023-05-10 04:40:48 +01:00
Leah Rowe 67a607b88c build/boot/roms*: RFC 2646 compliance
No more than 80 characters per line.
2023-05-10 02:48:34 +01:00
Nicholas Chin 79939f2f1c Add devicetree patch for E6400 with Nvidia GPU 2023-05-09 20:41:55 +01:00
Leah Rowe 3f1ee01507 seabios: do normal config, disable oprom in vgarom
previously, "normal" initmode relied on the vgarom-based
seabios config, which enables option roms, but then lbmk
would insert pci-optionrom-exec 0 for vgarom, and 2 for normal

in libreboot, coreboot roms with "vgarom" in the filename do
pci option rom execution from coreboot, and "normal" roms
do execution from seabios(where seabios is the only payload
provided on normal setups)

this is because payloads like grub can also be used, on vgarom
setups, where coreboot must handle oprom execution
2023-05-09 20:40:12 +01:00
Riku Viitanen 15ad5a00d1 hp9470m: fix board name in smbios 2023-05-09 21:39:18 +03:00
Leah Rowe 5a197b4ff1 blobutil: support downloading E6400 VGA ROM
For Nvidia GPU models of Dell Latitude E6400
2023-05-06 22:23:27 +01:00
Nicholas Chin 2e64f63975 Add patches for bios_extract
This updates the dell_inspiron_1100.py script from Python 2 to 3 for
better compatibility (some distros have dropped Python 2), and adds
special handling so that it works with the Latitude E6400 BIOS.

These have also been sent upstream, so these patches can be dropped
once they are merged:
https://review.coreboot.org/c/bios_extract/+/74975/
https://review.coreboot.org/c/bios_extract/+/74976/
https://review.coreboot.org/c/bios_extract/+/74977/
2023-05-06 12:23:32 -06:00
Leah Rowe f5150f26a8 remove e6400_8mb and e6400_16mb (keep e6400_4mb)
nobody will bother to upgrade the flash on those machines

not much point maintaining the 8/16mb versions

might aswell do just the _4mb version
2023-05-06 18:27:31 +01:00
Leah Rowe 6d0ff02864 Import new util: bios_extract 2023-05-06 17:15:14 +01:00
Arthegor bc85118c51 add fedora 38 unifont dependencies 2023-05-04 12:15:47 +02:00
Leah Rowe 6588be675f don't force console mode in grub
the deleted patch (in this commit) was written to fix an
issue theoretically; it hasn't been fully tested, and some
people have reported strange issues since this patch was
merged - there is no proof that this patch causes them, but
removing this patch is the correct thing to do regardless
2023-04-24 13:14:23 +01:00
Leah Rowe 20192c0848 build/release/src: update blobutil target dirs 2023-04-23 06:42:43 +01:00
Leah Rowe 0c0d8fe89d build/release roms: scrub kbc1126 ec firmware 2023-04-23 06:11:09 +01:00
Leah Rowe 826d3685a1 blobutil/inject: fix bad removal pattern 2023-04-23 05:55:16 +01:00
Leah Rowe 46ec14afa8 blobutil/inject: handle HP KBC1126 EC firmware 2023-04-23 05:52:16 +01:00
Leah Rowe 3462afdbcf Merge pull request 'parabola specific dependencies install script' (#13) from Riku_V/lbmk:parabola into master
Reviewed-on: https://codeberg.org/libreboot/lbmk/pulls/13
2023-04-22 12:33:28 +00:00
Riku Viitanen 6ff0284a51 Add HP EliteBook Folio 9470m 2023-04-22 04:04:37 +03:00
Riku Viitanen 5657c7d05b Add HP EliteBook 2560p 2023-04-21 20:32:46 +01:00
Leah Rowe 560642c585 chmod +x on blobutil/download script
i downloaded this file from git manually at some point,
when rebasing changes (i think it was the ec ones)

the logic in the file is correct but i forgot to mark
it executable

without this commit, lbmk fails utterly, on all the newer
intel boards
2023-04-20 22:24:11 +01:00
Leah Rowe eaf273a207 Merge branch 'blobutil_kbc1126_ec' 2023-04-20 20:52:37 +01:00
Nicholas Chin 967992cc96
Re-disable GRUB payload for E6400
This reverts commit fe2b72035f.

The GRUB patch to fix the E6400 broke other systems and has been
reverted. As a result, GRUB needs to be disabled again on the E6400
until a better fix has been created.
2023-04-20 12:15:18 -06:00
Nicholas Chin f4e8b7efaa
Revert "Fix GRUB handling of the E6400 keyboard"
This reverts commit 1497ae0451.

The blanket GRUB patch seems to break PS/2 keyboard handling across
other platforms, so revert it.
2023-04-20 12:13:54 -06:00
Nicholas Chin fe2b72035f
Revert "dell/e6400: disable grub payload"
This reverts commit 7bc4dc32ac.

The E6400 keyboard should work in GRUB now so we can reenable it.
2023-04-19 22:25:46 -06:00
Nicholas Chin 1497ae0451
Fix GRUB handling of the E6400 keyboard
This introduces a patch to grub which disables the coreboot
specific handling, allowing PS/2 keyboards to be handled the
same as i386-pc.  However this alone breaks the keyboard in
Linux, requiring coreboot to perform PS/2 initialization.

I think GRUB may be restoring the original configuration of
the PS/2 controller once it exits, and if coreboot doesn't
initialize the controller then it's restored to the default
state which Linux doesn't seem to like. I think the emulated
keyboard interface provided by the EC on the E6400 behaves
in a non-standard way that is incompatible with the old
coreboot specific handling.
2023-04-19 22:15:06 -06:00
Leah Rowe 7bc4dc32ac dell/e6400: disable grub payload
ps/2 internal keyboard faulty in grub target
i386-coreboot, according to nic3-14159

normal i386-pc grub (bios grub) is fine,
booted from seabios

it is being investigated
2023-04-19 17:27:14 +01:00
Nicholas Chin d8222c0175
Add configs for the Latitude E6400
Tested the 4MiB ROMs but not the 8 or 16 MiB ones. This uses the same
board.cfg as the GM45 ThinkPads with an IFD+GBE from ich9gen.

Known issues:
- The internal keyboard does not work properly in GRUB. It seems like
  the keyboard controller is outputing set 1 (XT) scancodes, but GRUB
  is interpreting them as set 2 (AT) scancodes. This may also have
  something to do with scancode translation. However, the keyboard works
  fine in SeaBIOS and Linux. USB keyboards also work properly.
- The subsystem IDs in the GBE region are hardcoded for a Thinkpad in
  ich9gen, though this doesn't seem to cause issues in Linux. The vendor
  IFD and GBE region do have some differences from the generated
  binaries, though they do not appear to be critical.
2023-04-19 00:04:53 -06:00
Leah Rowe bd4ea9a028 gm45: re-add mitigations for no-microcode setup
libreboot will still include microcode updates
by default, but mitigations against broken speedstep
and reboot (when microcode updates are excluded) were
removed following the merge with osboot

this patch restores those mitigations; the patch
reverts coreboot to older smrr code (which works fine, it
isn't critical to use the new behaviour) and disables peci
(pointless feature)

i'll probably re-tool this later to apply the changes
conditionally to whether ucode is present

this is not a change in policy. policy says:
include cpu microcode updates by default

policy also says:
libreboot must be configurable

microcode removal via cbfstool remove -n, counts as
configuration, and in practise is not possible on
gm45 patches in current libreboot; this patch corrects
that problem, allowing the machines to work somewhat
well (same stability issues as before, like MCE errors
resulting in kernel panic on high CPU/memory usage,
but i digress)

happy... hacking
2023-04-17 17:10:37 +01:00
Riku Viitanen 930f30ac35 parabola specific dependencies install script 2023-04-16 17:41:26 +00:00