[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: General resolution: non-free firmware



Thorsten Glaser dixit:

>PS: Please do Cc me on replies.


Phil Morrell dixit:

>> Is there support for something like A but not enabled by default?
>> That is, you have to actively select a nōn-default option
>
>I don't believe so, because that doesn't solve the problem at hand. How
>exactly do you select a non-default option if you cannot see or hear it?

You see it in the bootloader, or if not, can append it manually to the
kernel command line so that the initrd and d-i see it both. (I’m willing
to compromise on having early pre-initrd microcode updates always loaded
which would be the one thing we could not easily toggle on/off from the
initrd and/or d-i.)

I really don’t want to vote NOTA above all, but I don’t want this
generally enabled *by default* either.

Composable install media would be interesting. For example, the MirBSD
install floppy is an ustar image instead of a filesystem (with its first
sector faking being an ustar symlink while actually being machine code
to load the second-stage loader) enabling users to add a “boot.cfg” file
by simply appending it to /dev/fd0 or so using tar(1).

For CD images, presence of enough comments in the platform loader config
around the kernel command line for d-i could allow some tool to patch it
before burning (or putting on USB stick or whatever). (I admittedly have
not implemented this for MirBSD yet either.) Maybe a generic tool that
extracts a specific-named top-level file¹ that lists all live-patch
locations (start sector (2048-byte for CDs) plus offset into that, or
maybe better start byte offset in the image, plus length of the area,
plus some kind of description of how to terminate it (newline plus a
long string of comment chars tends to do this).

Probably easy enough for those with experience to cobble together such
an image patcher for other OSes. I could do for 16-bit DOS if needed.

Most “weird” architectures can easily netboot, and that’s the easiest
one to hot-patch the kernel command line for.

Anything else?

bye,
//mirabilos
① use a file, don’t put it anywhere else in the image, because the
  reserved space for ISO 9660 is generally used to allow manifold/hybrid
  boot, and using a file would allow this for other filesystems as well;
  determining the offsets needs to be done after image creation, most of
  the time, of course, but these can trivially be patched into that file
  at that time… patching images after generation is how MirBSD’s boot
  loaders, for i386 and sparc both, are put on the ISO images; to obtain
  the sectors I’ve already written a small generic tool, but on GNU,
  isoinfo usually will do
-- 
<igli> exceptions: a truly awful implementation of quite a nice idea.
<igli> just about the worst way you could do something like that, afaic.
<igli> it's like anti-design.  <mirabilos> that too… may I quote you on that?
<igli> sure, tho i doubt anyone will listen ;)


Reply to: