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

Using non-main firmware during binary stage



Hello there,

I’m new to debian-live. I recently had the need to create a custom GNU/Linux distribution, and came across this project. I am pleased to say it was surprisingly easy. The tools are great and the examples in the documentation get you up and running in no time.

There’s a problem I came across though. Eventually I found a solution, but I wanted to know if this was the “correct” way to do it, or there’s a better convention.

One of the laptops where this distro needs to be installed (as opposed to running live off the media), requires firmware from outside Debian main. In this specific case, it requires the package https://packages.debian.org/squeeze/firmware-b43-installer

Getting this working on a Live run, or after installation, is simple. I only have to add the line `firmware-b43-installer` to a file such as `config/package-lists/firmware.list.chroot`. End of story.

What is not obvious though is how to make this firmware work during the installation stage. This is so that the installer can grab updated packages over the network during installation, as it normally does.

Initially I thought I could do with adding the package to `config/package-lists/firmware.list.binary` (or `config/package-lists/firmware.list` for both binary and chroot). But this didn’t work.

I finally found a solution using a hook. I would mark the package for installation only on chroot, but then the following hook would copy the firmware to the binary image:

  ## File at config/hooks/firmware.binary
  #!/bin/sh
  cp -pr chroot/lib/firmware/b43 binary/firmware/

And this works. Now I can access the network during the installation. But since this doesn’t seem to be documented anywhere, I have to ask: is this the “correct” way of doing it?

Thank you (and again for making this software),

--
Pablo Brasero Moreno
pablo@pablobm.com

Reply to: