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

Getting d-i to find firmware on the CD generated by debian-cd



In the Debian Edu project, we generate our own CDs with adjustment to
the installer and provided packages.  We have also included some
non-free firmware deb packages in the naive hope that d-i would use
them when needed.  This has proven to not work, as d-i do not look for
firmware packages in the APT repository on the CD.

Yesterday, I figured out a workaround for this, and I wanted to share
the solution with the rest of you, and ask if perhaps the default
behaviour of debian-cd or d-i (hw-detect) should change to make this
workaround unneeded.

The d-i package hw-detect look for firmware packages in / and
/firmware/ on the CD and USB stick available during installation,
while debian-cd build CDs with packages under /pool/.  To get d-i to
find the provided firmware packages, I wrote a script to create
/firmware/ on the CD and populate it with symlinks to the packages in
/pool/.

To enable it, set DISC_FINISH_HOOK in CONF.sh to point to a script
looking like this:

  #!/bin/sh
  #
  # Debian installer (hw-detect) do not look in pool/ for firmware packages.
  # It only look in / and /firmware/ on the CDs and USB sticks.  Adjust
  # the CD and DVD to also provide the firmware packages in a location
  # checked by hw-detect.
  set -e
  CDDIR="$4"
  mkdir $CDDIR/firmware
  cd $CDDIR/firmware
  ln -s ../pool/non-free/f/firmware-nonfree/*.deb .

Should this be the default behaviour of debian-cd, or should hw-detect
be changed to look for firmware packages where debian-cd put them when
firmware debs is in the package list?

CC to debian-edu, to keep us in the loop.

Happy hacking,
-- 
Petter Reinholdtsen


Reply to: