| by Arround The Web | No comments

gnuboot @ Savannah: GNU Boot December 2023 News


GNU Boot December 2023 News

Announcements:


The last project announcement was made in the gnuboot mailing

list[1][2] at a time where we didn't have a website or an announce

mailing list yet.

So this announce and the next ones will be published in multiple

places:

- On the gnuboot[3] and gnuboot-announce[4] mailing lists

- On the GNU Boot website[5].

GNU Boot 0.1 RC3:


We just released GNU Boot 0.1 RC3. We also need help from testers for

this release, especially because few intrusive changes were made.

We also release GNU Boot 0.1 RC2 just before but some bugs that don't

affect the installable images were introduced in the last minute fixes

so we ended up making an RC3 as well (some tests were broken and some

website pages also needed fixes).

Nonfree software found in the source release of GNU Boot 0.1 RC1.


In the GNU Boot source release (gnuboot-0.1-rc1_src.tar.xz) we found

the 3 files (F12MicrocodePatch03000002.c, F12MicrocodePatch0300000e.c,

F12MicrocodePatch03000027.c) that contain microcode in binary form,

without corresponding source code. GNU Boot 0.1 RC1 corresponding

source code tarball was remade without these files (and renamed). The

images for the Asus KCMA-D8, KFSN4-DRE and KGPE-D16 were also removed

as they may contain the nonfree code as well. The rest of the files

are unaffected.

Website:


Since the last announce a lot of work was done on the code to deploy

the website to make to make it easy for contributors and maintainers

to do changes to the website and review them.

The website has also been published. Not everything is ready in

it, but it contains enough to understand how to contribute to GNU Boot.

The pages that are not ready yet were also published with a special

banner to indicate that.

Since we now have a website, contribution instructions[6], and even a

list of areas where we are looking for contributions[6], we can now

accept patches.

The website is also now integrated in the GNU Boot source code and we

have special code to make it easy to test it locally (and deploy it

semi-automatically). So it should make contributions easier.

Testing:


We would also like to thank all the people who tested GNU Boot 0.1 RC1

since the last announce, especially since this can be a lot of

work, especially because there are many computers to test.

The following computers were tested with GNU Boot 0.1 RC1 and they all

boot fine:

  • Lenovo Thinkpad R400, T400, T500, T60, W500, X60, X60T, X200, X301
  • Asus: KGPE-D16
  • Apple: MacBook 2.1


Since some popular computers were tested[7], we are now also looking

for testers and contributions on the installation instructions. Even

if GNU Boot 0.1 RC3 has already been published, it's probably easier

to do the tests with GNU Boot 0.1 RC1 and a computer that was already

tested (unless the computer is an Asus KCMA-D8, see above for more

details) as there is no changes that could affect the installation

instructions between 0.1 RC1 and 0.1 RC3.

The following computers / mainboards weren't tested yet with the 0.1

RC1 yet so we also need testers for them (ideally on the 0.1 RC3):

  • Chromebook: C201
  • Intel: D410PT, D510MO, D945GCLF2D
  • Gigabyte: D945GCLF, GA-G41M-ES2L
  • Asus: KCMA-D8, KFSN4-DRE
  • Apple: MacBook 1.1, iMac 5,2
  • Lenovo Thinkpads: R500, T400s, X60s, X200s, X200T, X60T.


And as stated above we also need to re-test with the RC3 the computers

that were already tested with the RC1 to make sure that we didn't

break anything.

GNU Boot running nonfree software:


GNU Boot is still in its early stages and many of the directions the

project can take are still being evaluated.

So it's a good time to warn people that in some cases GNU Boot does

run nonfree software on computers other than laptops, and that it

may change in the future (we have to decide how to deal with this

problem).

The issue is that ATI and Nvidia external GPUs do contain nonfree

software. That nonfree software is stored on the card in a memory chip.

At least in some configurations[8], if such GPU is present, GNU Boot

downloads and executes that software. Then later on in the boot,

Linux-libre also downloads and execute another nonfree software from

that same GPU.

If we decide to block that (it's relatively easy to do that in GNU

Boot) then users won't be able to use such GPU anymore. If we don't

block it, many users will not know about this freedom issue and will

think that they only run free software while nonfree software is

being executed behind their back.

This is also why the FSF RYF (Respect Your freedom) certification[9] is

important: it takes care of details like that and these GPUs or systems

with such GPUs are not certified by it.

Work in progress and future directions:


Work also started to improve the build system to make it easier to

understand and contribute. We also started adding tests along the way.

Though we still use old versions of Coreboot especially for the Asus

KCMA-D8, KFSN4-DRE and KGPE D16. Compiling GNU Boot images for these

computers requires specific distributions like PureOS 10 (byzantium)

or Trisquel 10 (nabia).

We plan to try to change that after the GNU Boot 0.1 release.

To do it we plan to update the versions of the software we build (like

Coreboot, GRUB, etc) but also to progressively switch to Guix to build

more and more parts of the images.

So far we managed to use Guix to building a GRUB payload (part of

that work was already upstreamed in Guix) and to build a custom Flashrom

that can be used to do installation on the I945 Thinkpads (X60, T60,

etc) but more work is needed (code cleanup, documentation, making it

easy to use for contributors) before we can integrate that code.

Integrating it now instead of waiting for the release would increase

the risk of introducing new bugs and inconsistencies (for instance in

the documentation), and reduce the amount of help we can get, and

since it is a big task there is also the risk of never finishing

it[10]. So we chose to do that step by step without breaking the

documentation or current usage of GNU Boot.

As for the website we are currently using Untitled, a static website

generator that use files in markdown with a custom header format.

We plan to migrate at least part of the website to Texinfo to generate a

proper manual with it and we already have code to convert from the

special markdown used to Texinfo, but the conversion sometimes needs

some manual intervention.

We're also not ready yet to do that conversion as keeping the markdown

a bit longer might make it easier for contributors to help us fix the

website.

We also evaluated Haunt, a static website generator that supports

markdown and Texinfo and that is also used by Guix for their website.

We managed to validate that we could easily write code to make it use

the custom markdown used by untitled. However we didn't invest time in

trying to make it generate a website (by default it generate blog

posts), so if some people already know haunt well or want to learn it

and are interested in helping it could be very useful. For that the

best would be to contact us on the gnuboot mailing list.

This is also important because according to its author, Untitled has

some design issues (and it is written in shell scripts) and so it will

most likely be rewritten from scratch in another programming language

by its author at some point.

In the meantime we sent patches upstream to fix some of the issues we

had with it and the patches were accepted.

Toward the 0.1 release:


What is missing before we release GNU Boot 0.1 is basically more

testing and help on the website, especially the installation

instructions.

References:

 [1]"Testers needed for GNU Boot 0.1 RC1".

 [2]https://lists.gnu.org/archive/html/gnuboot/2023-09/msg00000.html

 [3]https://lists.gnu.org/mailman/listinfo/gnuboot

 [4]https://lists.gnu.org/mailman/listinfo/gnuboot-announce

 [5]https://gnu.org/software/gnuboot/web/news/gnuboot-december-2023.html

 [6]https://www.gnu.org/software/gnuboot/web/git.html

 [7]https://savannah.gnu.org/bugs/?64754

 [8]We know for sure that when SeaBIOS is used, it will download and

    execute nonfree software from GPU cards that are added to the

    computer. But we're not sure what happens if SeaBIOS is not

    used. An easy way to find out is if the GPU works under GNU/Linux

    and that the display is initialized, then at least some nonfree

    bytecode has been downloaded and executed by the operating system.

 [9]https://ryf.fsf.org/

[10]See "General tips on maintaining GNU software" in

    https://www.gnu.org/software/maintainer-tips for more details

    about common issues when maintaining a new project.

Share Button

Source: Planet GNU

Leave a Reply