Commit Graph

1189 Commits (65675a200c821268bbe206d480f4da96567a0334)

Author SHA1 Message Date
Leah Rowe 65675a200c build/roms: properly print noblobs rom names
when printing the name of the rom being created, it's
done before the check to rename based on vendorfiles
in target.cfg. this patch fixes that bug.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-31 22:04:33 +00:00
Leah Rowe 42fde8e574 update/release: insert fake x201 me.bin
this makes the build work, for releases.

this is not done during regular builds, only releases.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-31 20:13:35 +00:00
Leah Rowe 1306c9d2e3 Revert "coreboot/default: use alternative heap size fix"
This reverts commit 29e9c32e32.
2023-10-31 20:08:03 +00:00
Leah Rowe d218088d8b coreboot/all: disable TSEG stage cache
this is to work around recent s3 suspend/resume issues

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-31 19:08:51 +00:00
Leah Rowe 91faeb8d09 crank up vram allocation on more intel boards
it's preferable that the vram setting be as high as
feasible, for users. we overlooked this on some
newer platforms that were added, over several
releases. these levels won't offend most users,
and people who want less can always turn it down

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-31 18:26:03 +00:00
Leah Rowe 026d57fff4 GRUB: don't spew "Unknown key 0xff" in error
Faulty keyboards make GRUB unusable. Normally it happens
when a user plugs in a faulty USB keyboard, but if it's
the laptop keyboard, then GRUB becomes unusable and the
user cannot boot anything.

So, your laptop keyboard is a ticking timebomb if you use
GRUB; with this patch, that's no longer the case.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-31 10:36:16 +00:00
Leah Rowe 29e9c32e32 coreboot/default: use alternative heap size fix
My previous fix to revert didn't fix S3 on GM45, one
of the platforms reported fixed by 78263; I'm merging
that instead, at patch set 10.

It is referenced by 78815/1 which was split from it,
so merge that too (restores overrides of higher values,
on certain platforms that we don't use yet).

https://review.coreboot.org/c/coreboot/+/78623/10
https://review.coreboot.org/c/coreboot/+/78815/1

Accordingly, update configs to match the new default.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-31 08:27:37 +00:00
Leah Rowe 9606c68c5b fix grub keyboard init on dell e6400 and e6430
also, enable seabios_withgrub on e6400, but not grubfirst;
right now, we also support dgpu which would brick on
grubfirst. on my tested nvidia model, loading grub from
seabios worked, so i'm going to re-add seabios_grubfirst
functionality like in older libreboot revisions, enabled
selectively on a given target.

e6430 currently only has igpu support anyway, but i've done
the same thing there, in anticipation of future dgpu support.

e6400 and e6430 ec report scancode set 2 with translation
by default, but only actually output scancode set 1

grub is trying to use scancode set 2 without scancode
translation, so the key inputs get messed up

fix it by forcing scancode set 2 with translation, but
only on coreboot; other build targets on GRUB will
retain the same behaviour as before

courtesy goes to Nicholas Chin who inspired me, and
helped me to fix this. tested on Nicholas's E6400
and E6430, and my E6400; Riku also tested it on
non-Dell, as did I (some thinkpads), and all seems OK.

The new behaviour in coreboot GRUB is essentially no
different to that of SeaBIOS, which does the same.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-31 07:30:02 +00:00
Leah Rowe 34f5685337 fix raminit/coldboot on dell e6400
the patch included in this revision is pulled from:
https://review.coreboot.org/c/coreboot/+/54024/2

contrary to hell's assertion of "not for merge", this does
in fact work nicely on a dell e6400; nicholas chin tested
on e6400 and found that those RCOMP values are the same

nicholas was testing some errant modules that seemed to
fail raminit in coreboot. in some cases, dell e6400 would
regularly fail coldboot even though reboot was ok; this was
therefore the cause of suspicioun for it being raminit-related

with this patch from hell (Angel Pons, but knows as hell
on IRC) it should fix boot issue on Dell Latitude E6400

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-29 12:06:07 +00:00
Leah Rowe 27efbc6f54 add heci timeout for ibex peak
patch courtesy of denis :)

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-29 11:42:41 +00:00
Leah Rowe 7e6fd7e5b4 add lenovo x201 support
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-10-29 04:46:25 +00:00
Leah Rowe 93458de74a revert coreboot heap size patch
the patch:
https://review.coreboot.org/c/coreboot/+/78270

this has been reverted, because it caused s3 resume
issues on most intel laptops in libreboot.

i was going to merge this instead:
https://review.coreboot.org/c/coreboot/+/78623

however, it's under review, and this doesn't change
to the old behaviour; it keeps the new universal
config, but changes the default

we know the old logic works, so keep that for now.
in fact, the offending patch was only merged to
main in coreboot, one day before i recently
updated coreboot revs in coreboot/default - i used
a 12 october revision, the patch above is 11 october

i then ran "./update trees -u coreboot" which updated
the heap sizes back to the old defaults. this should
fix s3 suspend/resume where it was broken, in the
libreboot 20231021 release - a point release with this
and a few other fixes is planned soon.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-29 01:29:38 +00:00
Leah Rowe 83bf237660 coreboot/fam15h: don't set microcode_required
the logic for naming coreboot roms is based on whether
cpu_microcode_blob.bin would exist in cbfs, and whether
deletion was therefore successful.

lbmk was naming nomicrocode on fam15h roms on this basis,
but the microcode was being inserted as microcode_amd.bin
and microcode_amd_fam15h.bin

in the recent 20231021 release, the roms were exclusively
labeled _nomicrocode in the rom names, but they do in fact
contain microcode.

i'm fixing it by telling lbmk *not* to delete microcode.
if microcode_required is not set, or it's set to y, then
only roms *with* microcode updates are provided; even if
the rom doesn't actually contain it, lbmk will only label
it _nomicrocode if that setting is set to n.

i'm not bothering to add further complexity to the rom
handling logic, because canoeboot now exists anyway (at
website https://canoeboot.org/) which is my new version
re-implementing the older, inferior version of libreboot

so i'm going to:
1) document this as errata in the release
2) cross reference in the freedom status page
3) if someone still isn't happy, i'll say use canoeboot

job done.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-28 21:19:48 +01:00
Leah Rowe 5f6ba01d41 include/option.sh: fix i945 bootblock copy
it wasn't being copied right

the roms under elf/ were being copied, but not the ones
under bin/ - i need to audit it further

for now, i run modify_coreboot_roms from build/roms
instead of update/trees

so, the ones under elf/ no longer have bootblocks copied.
it's only done in bin/

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-25 12:58:52 +01:00
Leah Rowe df031d422a use mirrorservice.org for acpica downloads
princeton was down today. kent is probably more reliable.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-25 10:38:46 +01:00
Leah Rowe 85bc915684 build/roms: copy base rom again for u-boot
when building only for u-boot, the current script
works just fine. however, when building for other
payloads in additional to u-boot, the final u-boot
stage fails because other payloads are already
inserted via cbfs.

when we build u-boot, we do that last because we want
u-boot setups to only be u-boot, nothing else.

this patch enables qemu x86 to build properly with
u-boot.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-24 00:14:01 +01:00
Leah Rowe f1785c3f43 Merge pull request 'u-boot: Add qemu_x86_12mb build again' (#143) from alpernebbi/lbmk:uboot-qemu-x86 into master
Reviewed-on: https://codeberg.org/libreboot/lbmk/pulls/143
2023-10-23 22:42:35 +00:00
Leah Rowe b353b0c713 Merge pull request 'u-boot: qemu_arm64_12mb: Enable video console' (#142) from alpernebbi/lbmk:uboot-qemu-arm64-video into master
Reviewed-on: https://codeberg.org/libreboot/lbmk/pulls/142
2023-10-23 22:12:52 +00:00
Alper Nebi Yasak 03c830b2e9 u-boot: Add qemu_x86_12mb build again
Add a U-Boot build for the qemu_x86_12mb board. The config is a copy of
the upstream "coreboot" defconfig, but with OF_EMBED=y.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2023-10-23 20:15:19 +03:00
Alper Nebi Yasak 444f2899e6 u-boot: qemu_arm64_12mb: Enable video console
Add my upstream U-Boot series enabling video console support by default
for QEMU ARM virtual machines. Similarly, enable the related config
options for our builds using savedefconfig and olddefconfig.

The resulting ROM can be booted with a command line like:

    qemu-system-aarch64 \
        -machine virt,secure=on,virtualization=on \
        -cpu cortex-a72 -m 1G \
        -serial stdio -device VGA \
        -device qemu-xhci \
        -device usb-kbd -device usb-mouse \
        -bios bin/qemu_arm64_12mb/*.rom

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2023-10-23 19:18:14 +03:00
Leah Rowe 280bccebb5 Merge pull request 'arch, fedora38, parabola, void: install python-setuptools' (#141) from Riku_V/lbmk:master into master
Reviewed-on: https://codeberg.org/libreboot/lbmk/pulls/141
2023-10-23 00:33:49 +00:00
Riku Viitanen 3b92ac97b6 arch, fedora38, parabola, void: install python-setuptools
gru_bob fails to build without python-setuptools. this isn't a huge issue,
because most users probably have it already as many other python programs
depend on it too. that's probably why no one noticed until now,
when i tried to do this on a fresh artix install uncontaminated by python.

i also sorted and deduplicated the packages with 'sort -u'.
2023-10-22 22:24:47 +03:00
Leah Rowe 8dda0d8654 coreboot/default: don't use github on acpica fetch
github's httpd b0rked the fuck out and i didn't want to wait
for them to fix it (ssl cert error) before i continued a build.

i now host the relevant acpica tarball on libreboot rsync,
mirrored to princeton.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-22 15:05:49 +01:00
Leah Rowe e86af9a60a 20231021hotfix: replace x_ with err in some places
keymaps weren't being set in keymay.cfg of cbfs, due
to use of x_ in the rom script, and x_ doesn't handle
quotes or spaces in arguments well.

i'm going to remove use of x_ and xx_ (it's in my todo),
for next release.

for now, hot patch the release. i've gone through and
replaced use of x_ with || err, in some places.

not just the keymap.cfg command, but others too. in case
there are more issues we missed.

this commit is being tagged "20231021fix" and i'm using
this tag to re-build the 20231021 release. i'll just
replace the tarballs in rsync and add errata to the news
page announcing the release. all i did was break peoples
umlauts, i didn't brick their machines fortunately!

very minor bug. anyway, x_/xx_ is a great idea, but sh
isn't really designed for that style of programming. i'll
go back to using just || err in the next release.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-22 12:34:45 +01:00
Leah Rowe 23958f4eae Libreboot 20231021
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-21 02:08:12 +01:00
Leah Rowe 79c8dc4655 config/git/www and www-img: import libreboot.org
it's not used by anywhere else in lbmk, but the release build
script will automatically download each project named as per
file names in config/git/

this is a stupidly simply way to prove documentation in
libreboot releases, and i've used current revisions corresponding
to the Libreboot 20231021 release, for this 20231021 release
of lbmk.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-21 01:22:26 +01:00
Leah Rowe a06c38ce15 change default volname in grub.cfg
it's been a while since we did encrypted /boot
and the current name sucks.

it's unlikely that anyone still uses it, but
people will soon

change the default assumed lvm name to grubcrypt
and stick to that.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-21 00:02:15 +01:00
Leah Rowe 5162b912b2 update/release: clean up temporary crossgcc dir
clean it up after copying the tarballs

i really hate how this logic is written, it's clunky
but it should work; the only issue is that it's quite
slow, and inefficient on use of disk space.

however, i've not yet figured out how to reproducible
add files to a tarball, once the tarball has been created,
and i rely on sorting (of file names) when creating them.

it's really not a problem because normal people won't
use this script, only i or anyone who wants to test out
the libreboot release infrastructure. this script is
largely intended to *work*

but i'm still annoyed by how crappy it is. i'll fix it
after the Libreboot 20231021 release.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20 21:55:57 +01:00
Leah Rowe f0cf710f68 don't use notabug for backup git repos
notabug is unreliable, even as a backup.

why, just today, it was offline! all day.

i originally moved libreboot away from notabug,
to codeberg instead, but kept the notabug account
online, and i still push to it when it's online.

however, notabug seems to be in a terminal state
of neglect by its admins, so lbmk should not use it.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20 21:30:31 +01:00
Leah Rowe e90bffff3c move git_init to the main build script
also, don't use x_ because it totally b0rks on
these commands. handle exit status directly.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20 21:10:26 +01:00
Leah Rowe c7e764a3f0 update/release: confirm vdir path on exit
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20 12:09:31 +01:00
Leah Rowe 1c8b2114cc update/release: copy crossgcc to archive
everything downloaded, then tarballed, then built,
now crossgcc is downloaded by coreboot.

now extract, copy crossgcc tarballs, re-compress.

TODO: simply add files to the archive, without re-
compressing the whole thing.

this is still more efficient than the old way: build
everything, then clean and compress, making another
build test on the release archive necessary; with this,
there is still only one build test per release.

with this, and the previous revisions dealing with
submodules, the source archives should now be complete.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20 12:08:36 +01:00
Leah Rowe 54a05fc167 always re-generate .git in lbmk
in release archives, .git is excluded but the version
and versiondate files are included. from these, the
git history is re-created with the exact date (but not
taking into account timezone, at present).

in this way, lbmk will have git history in a release
archive. some build systems, like coreboot, prefer that
there be git history available, so this is a nice
workaround on those build systems.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20 11:16:25 +01:00
Leah Rowe 52c9416b19 update flashrom revision
flashrom-stable isn't really going anywhere

i'll decide at some future point what to do
with flashrom. for now, just give latest rev

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20 10:47:21 +01:00
Leah Rowe af1c1e10f1 add backup git repo for flashrom
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20 10:46:03 +01:00
Leah Rowe 18364822a2 Revert "config/git: don't download flashrom"
This reverts commit bf4ea8102a.
2023-10-20 10:45:10 +01:00
Leah Rowe ac442808ee config/git: add more backup repos
the grub backup was the same gnu server

i decided to host grub on codeberg, as backup

(gnu links as primary is ok)

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20 10:39:37 +01:00
Leah Rowe 759800523f git/config: don't use github on main repos
it's ok for now to use it as a backup.

where only github was specified, i mirrored each
given repository to codeberg as main repo for lbmk.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20 10:31:10 +01:00
Leah Rowe bf4ea8102a config/git: don't download flashrom
it's not actually needed in lbmk

flashrom can be downloaded separately by the user,
if they want to flash their chip

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20 09:52:49 +01:00
Leah Rowe da3044e7d7 git/config stm32-vserprog: don't fetch libopencm3
it's downloaded by .gitmodules in stm32-vserprog

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20 09:52:03 +01:00
Leah Rowe 782371a59c update/release: delete *all* .git and .gitmodules
do it using find -exec

this is more robust, and it will never need to be
maintained over time (famous last words).

this is done because now we download submodules
for all git projects, so it's hard to predict.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20 09:27:27 +01:00
Leah Rowe 743a425cd6 include/git: fix already-exists download message
i forgot to put the download path in printf

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20 09:13:49 +01:00
Leah Rowe 73145b7980 Revert "Revert "include/git: don't re-download single-trees""
This reverts commit baa3d4f217.
2023-10-20 09:12:23 +01:00
Leah Rowe 31b35bb4ce include/git: fix error caused by sh idiosyncrasy
when [] is used right at the end of a function, or
certain loops/subshells, some sh implementations will
just return a non-zero exit

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20 09:11:29 +01:00
Leah Rowe baa3d4f217 Revert "include/git: don't re-download single-trees"
This reverts commit 8de7bc9339.
2023-10-20 08:58:02 +01:00
Leah Rowe 8de7bc9339 include/git: don't re-download single-trees
only do it if the target source tree does not exist

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20 08:54:01 +01:00
Leah Rowe d1f23eca34 config/git: remove rpi-pico-tinyusb dependency
it's now downloaded automatically as a submodule,
when downloading pico-sdk (which defines this module)

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20 08:50:26 +01:00
Leah Rowe 97e5207ecf config/git: give pico-sdk its own file
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20 08:49:31 +01:00
Leah Rowe 182ee8e416 update/trees: don't run make if mode=fetch
this fixes a regression caused by a previous revision

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20 08:45:57 +01:00
Leah Rowe 54eb347a30 include/git: fetch submodules on one-tree projects
only fetch if .gitmodules exists

in some cases, lbmk is compiling source trees that
use submodules, without having downloaded them first.

in all cases, those submodules are either optional,
or the build system auto-fetches them (or if it can,
we sometimes disable it as with grub and gnulib).

this is a nice fallback behaviour, for situations where
we forget to put submodules as dependencies under
config/git (and disable submodules in the given project).

with this change, release archives are guaranteed to
be complete, sans crossgcc downloads in coreboot; this
will be handled in a follow-up commit.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20 07:50:47 +01:00