Commit Graph

44 Commits (f22305fbf585a4d16109ad44b24739228ae5b503)

Author SHA1 Message Date
Leah Rowe a5082de43c GRUB: bump to today's latest revision
GRUB has not pushed many patches to master since the recent 2.12
release, but there are a number of interesting fixes.

libreboot is doing a release soon. bump to latest grub revision.

Some of the new patches in GRUB are interesting:

XFS fixes:

"fs/xfs: Handle non-continuous data blocks in directory extents"
68dd65cfdaad08b1f8ec01b84949b0bf88bc0d8c
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2254370
Apparently, XFS could not boot in some reports, though this was
likely with BIOS or UEFI GRUB; no such reports were made to libreboot

"gfxmenu/view: Resolve false grub_errno disrupting boot process"
39c927df66c7ca62d97905d1385054ac9ce67209

"util/grub-fstest: Add a new command zfs-bootfs"
28c4405208cfb6e2cea737f6cbaf17e631bac6cd

The gnulib revision does not need to be updated at this time.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-04-26 05:12:04 +01:00
Leah Rowe b7bc713bab update pico-serprog to new revision
this merges the fix from:
https://codeberg.org/libreboot/pico-serprog/pulls/1

however, PRs are not to be sent there. riku merged it in
his repository, and i pulled it in the mirror hosted
on libreboot codeberg

Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-02-11 19:27:40 +00:00
Riku Viitanen 0e3a5759bf update revision: pico-serprog
should fix https://codeberg.org/libreboot/lbmk/issues/182

Signed-off-by: Riku Viitanen <riku.viitanen@protonmail.com>
2024-02-07 21:04:32 +02:00
Leah Rowe 0c8fa2011a update pico-serprog to Riku's new revision
Riku introduced three new patches:

* Add support for multiple chip selects. This allows you to
  control multiple chips from the same clip, on systems with
  dual flash setups, at least theoretically.
* Enable pull-up on unused chip selects - pull them high so
  that chips you connect that to are deactivated while flashing
  the target chip. This could be used on thinkpad W541 for
  instance, where miso/mosi have 0ohm between them via the two
  flash ICs. You could pull the other chip select high.
* Documentation for the above, in the pico-serprog readme.

This goes in tandem with a patch from Riku, present in the
recently integrated flashprog project, namely:

commit ddb6d926783d4f9cbee04c7392718ed8f89daa0e
Author: Riku Viitanen <riku.viitanen@protonmail.com>
Date:   Mon Jan 15 19:15:49 2024 +0200

    serprog: Add support for multiple SPI chip selects

This functionality will therefore be present in the next
release of Libreboot.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-01-28 02:09:32 +00:00
Leah Rowe af82d67183 config/git: use flashprog instead of flashrom
Nico Huber is the rightful project lead. I do not support
the coup that occured within the flashrom project. Nico
has always been of great service to the Libreboot project,
by virtue of his work on both coreboot and flashrom.

Nico Huber was unfairly removed from the flashrom project
infrastructure, due to unfounded accusations hurled at him
by flashrom's new project lead. The accusations are unfounded
because no evidence was given.

Use Nico Huber's fork, named flashprog. We will work with
flashprog from now on.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-01-27 21:34:21 +00:00
Leah Rowe e5ebaa8564 update config/git/docs to latest revs
Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-01-25 22:03:06 +00:00
Leah Rowe 11a821637d Bump GRUB to 2.12 release
Actually, it's 2 commits after 2.12, because there was a
patch added afterwards, fixing a build issue on Gentoo.

These changes are present in GRUB 2.12, relative to the
revision that we previously used on lbmk:

* b835601c7 build: Include grub-core/extra_deps.lst in dist
* 8961305b4 Bump version to 2.13
* 5ca9db22e Release 2.12
* 477a0dbd5 efi: Add support for reproducible builds
* dcc1af5d6 efi: Generate stack protector canary at build time if urandom is available
* e424e945c efi: Initialize canary to non-zero value
* 7c8ae7dcb gfxmenu/gui_image: Fix double free of bitmap
* 63fc253fc commands/acpi: Fix calculation of ACPI tables addresses when processing RSDT and XSDT
* f20123072 libnvpair: Support prefixed nvlist symbol names as found on NetBSD
* a13df3d15 bootstrap: Don't check gettext version
* 6d2aa7ee0 kern/mm: Use %x and cast for displaying sizeof()
* b3d49a697 configure: Add RPATH for freetype on NetBSD
* 52dbf66ea configure: Add *BSD font paths
* 2d6a89980 autogen: Accept python3.10 as a python alternative
* 3d4cb5a43 build: Rename HAVE_LIBZFS to USE_LIBZFS
* e4dbe5cfa gnulib: Tolerate always_inline attribute being ignored
* 31e47cfe2 util/editenv: Don't use %m formatter
* f5905f656 osdep/bsd/hostdisk: Fix NetBSD compilation
* cb1824a87 osdep/generic/blocklist: Fix compilation
* 2f3faf02c disk/diskfilter: Remove unused variable
* 3815acc57 build: Tolerate unused-but-set in generated lexer/bison files
* c129e44e7 loader/i386/bsdXX: Fix loading after unaligned module
* 89fbe0cac grub-core/Makefile.am: Make path to extra_deps.lst relative to $(top_srcdir)/grub-core
* 353beb80c util/grub-install: Move platdir path canonicalization after files were copied to grubdir
* f18a899ab util/grub-mkstandalone: Ensure deterministic tar file creation by sorting contents
* ed74bc376 util/grub-mkstandalone: Ensure stable timestamps for generated images
* 069cc46c9 net/http: Fix gcc-13 errors relating to type signedness
* e7a831963 templates: Reinstate unused version comparison functions with warning
* 3f9eace2d util/grub-install: Delay copying files to {grubdir,platdir} after install_device was validated
* e60015f57 efi: Set shim_lock_enabled even if validation is disabled
* e35683317 docs: Improve bli module documentation
* 57059ccb6 bli: Add explicit dependency on the part_gpt module
* 154dcb1ae build: Allow explicit module dependencies
* 17c68472d kern/ieee1275/init/ppc64: Display upper_mem_limit when debugging
* 5f8e091b6 kern/ieee1275/init/ppc64: Fix a comment
* dc569b077 kern/ieee1275/ieee1275: Display successful memory claims when debugging
* 0ac3d938a loader/powerpc/ieee1275: Use new allocation function for kernel and initrd
* 2a9a8518e kern/ieee1275/cmain/ppc64: Introduce flags to identify KVM and PowerVM
* 679691a13 kern/ieee1275/init/ppc64: Rename regions_claim() to grub_regions_claim()
* d49e86db2 kern/ieee1275/init/ppc64: Add support for alignment requirements
* fe5d5e857 kern/ieee1275/init/ppc64: Return allocated address using context
* ea2c93484 kern/ieee1275/init/ppc64: Decide by request whether to initialize region
* 0bb59fa9a kern/ieee1275/init/ppc64: Introduce a request for regions_claim()
* aa7c13226 fs/xfs: Add large extent counters incompat feature support

Most notable in the above log, that are beneficial to Libreboot
users, are:

aa7c13226 which improves XFS support (large extents), which is default
now on many setups.

ed74bc376 which introduces more stable timestamp generation when using
grub-mkstandalone. this is what lbmk uses to generate grub.elf, whereas
grub previously only implemented this fix on mkimage which we don't use

f18a899ab which ensures deterministic (reproducible) tar file creation
by sorting contents (file names / directories). this is done by sorting
the entries

f5905f656 which improves grub build system reliability on netbsd and
openbsd systems - useful for us because an ambition of lbmk is to port
the build system to run on bsd systems, and we will still want grub -
several other of the changes here are beneficial for BSD aswell, all
or most of them by Vladimir Serbinenko

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-12-31 19:57:30 +00:00
Leah Rowe 25f9d9480f git/pico-serprog: update revision again
riku committed a new patch, that fixes build errors
when PICO_DEFAULT_LED_PIN is not defined, on a given
board. in such cases, riku's new patch just disables
handling of the status LED, but LEDs continue to work
on boards where it is defined.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-12-23 13:06:30 +00:00
Leah Rowe e0fee7a437 git/pico-serprog: update revision
the new revision sets drive level to 12mA instead
of the default 4mA. 16-20mA is the maximum tolerated
level for data lines, on most flash ICs, so 12mA is
relatively safe.

riku did this a while ago, tested on pico pi.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-12-23 12:21:29 +00:00
Leah Rowe 4e00ac003b revert flashrom back to version 1.2
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-11-22 12:18:00 +00:00
Leah Rowe 47ef411efb Bump GRUB revision to 8 November 2023 revision
Now the revision is:
64e3cee72ab8f5876abfebb263b5e6cf7c4a9a4e

The old revision was:
e58b870ff926415e23fc386af41ff81b2f588763

With this new revision update, the following patches have
been imported from the upstream GRUB project:

* 64e3cee72 gpt: Add compile time asserts for guid and gpt_partentry sizes
* 7de6fe963 types: Split aligned and packed guids
* 5fc985bfd gpt_partition: Mark grub_gpt_partentry as having natural alignment
* 7ad30299d efi: Deduplicate configuration table search function
* c6cf807fc lsefi: Add missing static qualifier
* a964e359b types: Fix typo
* 3f79e3b15 util/grub-mount: Check file path sanity
* 85e40b36e configure: Make the DJVU_FONT_SOURCE configurable with --with-dejavufont=FILE
* 2d6631d2a configure: Make the Unifont FONT_SOURCE configurable with --with-unifont=FILE
* 07318ee7e fs/xfs: Fix XFS directory extent parsing
* ad7fb8e2e fs/xfs: Incorrect short form directory data boundary check
* 4e10213de Revert "zfsinfo: Correct a check for error allocating memory"
* 4266fd2bb disk/i386/pc/biosdisk: Read up to 63 sectors in LBA mode
* cab04dcda kern/i386/pc/init: Flush cache only on VIA C3 and earlier
* 3c7e84257 fs/btrfs: Zero file data not backed by extents
* 4bcf6f747 kern/ieee1275/init: Restrict high memory in presence of fadump on ppc64
* cf58eca2a tests/util/grub-shell: Enable RNG device to better test stack smashing
* c3bdf263f kern/efi/init: Disable stack smashing protection on grub_efi_init()
* 95963d97f disk/cryptodisk: Add support for LUKS2 in (proc)/luks_script
* 016f14257 disk/cryptodisk: Optimize luks_script_get()
* f7a663c00 term/serial: Ensure proper NULL termination after grub_strncpy()
* a19e47ca4 commands/efi/lsefisystab: Print the UEFI specification revision in human readable form

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-11-09 21:03:22 +00:00
Leah Rowe 9be589efbc include untitledssg docs in releases
now the docs are complete, in releases. they
contain the libreboot site, libreboot images,
the untitled static site generator and untitled
static site generator documentation.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-11-05 23:39:08 +00:00
Leah Rowe 188b4f0dce put images in the proper place, in releases
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-11-05 23:34:52 +00:00
Leah Rowe 1c6add41d6 roll back untitled revision
i haven't updated site.cfg yet

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-11-05 23:31:20 +00:00
Leah Rowe b295fd4093 config/git: merge img files with docs
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-11-05 23:29:39 +00:00
Leah Rowe dd1e15fd0b merge untitled with docs, in releases
with this, you can just do:

cd src/docs

./build

the html files would then be available for
publishing, if you wish, or you could set up
a local httpd to view them.

if you have pandoc installed, this will build the
markdown files into html

untitled static site generator is what generates
the html files, from the markdown files, on the
website. it will now also be included in releases.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-11-03 22:57:55 +00:00
Leah Rowe 922bccf9f3 include untitled ssg in releases
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-11-03 22:46:16 +00:00
Leah Rowe 1f1498be74 Libreboot 20231101
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-11-01 16:36:16 +00: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 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 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 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 d245e0b1b4 consistent naming for src/pico-serprog
don't ever name it rpi-pico-serprog

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20 06:49:59 +01:00
Leah Rowe fac62a8c58 config/git: name files per download name
don't put multiple downloads in the same files, except
when they are dependencies that go inside the directory
of another download.

by doing this, the following functionality will become
possible: clean every project or build every project,
or maybe fetch every project, based entirely on the
names of these files.

this will be used later to simplify the release script.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-20 06:45:50 +01:00
Leah Rowe 09881212c3 use me_cleaner from coreboot instead of upstream
coreboot closely matches upstream, whose current release
is version 1.2 from 2018, and coreboot has not changed it
in any meaningful way.

the upstream did add patches since, but they are documentation
patches only.

this means: we do not need to use the upstream version

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-12 22:21:02 +01:00
Leah Rowe 85bee1f8bd bump grub revision
most of the changes since last revision aren't very
useful to us; most of them pertain to fs/ntfs, but
there is one that is interesting:

48f569c78a496d3e11a4605b0999bc34fa5bc977
kern/acpi: Skip NULL entries in RSDT and XSDT

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-07 10:48:04 +01:00
Leah Rowe 4e39d5a5a8 put all src downloads under src/
build/release/src was partly re-written to accomodate this

memtest86plus was patched to have a central Makefile, and
lbmk modified to use that, rather than mess with build32
and build64. the central Makefile just builds both targets
or cleans both targets

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-10-07 00:11:21 +01:00
Leah Rowe a7b767a47b update/repos: concatenate multiple revision files
With this change, it's still possible to have a single
file at config/git/revisions, but this has been scrapped.

Instead, multiple files now exist under config/git/ with
the same modules declared, but the files are separated
logically. List of files under config/git:

* bios_extract
* biosutilities
* coreboot
* flashrom
* grub (gnulib also defined here)
* me_cleaner
* memtest86plus
* seabios
* serprog (multiple projects defined)
* u-boot
* uefitool

The rationale behind this change is simple: in the future,
we will stop relying on build systems within imported
projects for the import of git submodules. Instead, we
will handle them directly in lbmk.

Additionally, a Linux payload is planned for Libreboot, made
easier by the recent audit (script handle/make/config makes
it easy to integrate Linux, and handle cross-compilers for
userland utilities); a "linux" file under config/git/ could
also define rules for each project besides linux, such as
musl libc, busybox and other utilities.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-09-25 00:51:03 +01:00
Leah Rowe 2d0e978c94 update grub revision
It's now 44 revisions above 2.12-rc1, not 17 above.

The additional patches (in GRUB master) contain several
important fixes, including cryptodisk and ZFS fixes plus
a few other interesting changes, namely:

14c95e57fddb6c826bee7755232de62efc8eb45b:
kern/misc: Make grub_vsnprintf() C99/POSIX conformant

296d3ec835ed6e3b90d740e497bb534f14fe4b79:
disk/cryptodisk: Fix missing change when updating to use grub_uuidcasecmp()

42a831d7462ec3a114156d56ef8a03e1d47f19e7:
ZFS: support inode type embed into its ID

96446ce14e2d1fe9f5b36ec4ac45a2efd92a40d1:
ZFS: Fix invalid memcmp

444089eec6042250ce3a7184cb09bd8a2ab16808:
ZFS: Don't iterate over null objsets

7ce5b4911005b2a0bfd716d92466b6711844068c:
ZFS: Check bonustype in addition to dnode type

There are more patches than this, but these are the
ones that strike me as interesting for Libreboot.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-09-24 18:03:14 +01:00
Riku Viitanen ccb36aa652 make libopencm3 correctly
Signed-off-by: Riku Viitanen <riku.viitanen@protonmail.com>
2023-09-11 14:35:00 +03:00
Riku Viitanen 0bed0c35f3 Download libopencm3 before building
Signed-off-by: Riku Viitanen <riku.viitanen@protonmail.com>
2023-09-11 11:39:13 +03:00
Riku Viitanen bed444ff90 Add stm32-vserprog
Tested on a Nucleo-F042K6.

That has an onboard stlink:
`st-flash --format ihex write bin/serprog_stm32/serprog_nucleo-f042k6.hex`

The usb port used for flashing is separate, its is exposed on
the pin header instead. Check boards/nucleo-f042k6.h for usb pinout.

Signed-off-by: Riku Viitanen <riku.viitanen@protonmail.com>
2023-09-09 16:55:06 +03:00
Riku Viitanen c292e01b00 Build for all pico board, not just the "original"
Signed-off-by: Riku Viitanen <riku.viitanen@protonmail.com>
2023-09-08 20:43:53 +03:00
Riku Viitanen 1bde6bb3c4 Support multiple dependencies per project
Signed-off-by: Riku Viitanen <riku.viitanen@protonmail.com>
2023-09-08 20:43:53 +03:00
Leah Rowe da3c9bb3c5 merge config/ and resources/
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-09-04 02:47:25 +01:00