torsdag 19. desember 2013

Legge til firmware ved egenkompilert kjerne

Om overskriften er gresk for deg, så blir neppe innholdet så mye bedre. Men jeg kompilerte nylig min egen Linux kjerne til Debian installasjonen min (guide her). I den forbindelse var det noen drivere som ikke fungerte med det samme. Årsaken var manglende firmware, firmware som ikke engang var tilgjengelig i Debian pakkebrønnen fordi driverne er for nye.

Problemet med manglende firmware dukker blant annet opp under installasjon av Debian.
Dette bildet er tatt fra min nylige Debian 7 installasjon.

Etter litt tilfeldig søk på nettet fant jeg en kilde på kernel.org med diverse "firmware blobs for use with the Linux kernel". Perfekt!

Nå, det neste spørsmålet, hva skal man gjøre med disse filene? Ifølge den offisielle Debian wiki'en er den riktige banen for å lagre firmware-filer manuelt; "/usr/local/lib/firmware".

Med denne informasjonen i bakhånd kjørte jeg følgende kommandorekke. Startet maskinen på nytt, og sjekket at alt fungerte slik det burde.

# mkdir -p /usr/local/lib/firmware
# cd /usr/local/lib/firmware
# git clone https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git .

Jeg tør ikke si sikkert om dette er den beste framgangsmåten, men det virker logisk å gjøre det slik i og med at filbanen er ment for firmware som er manuelt lagt til, og kilden filene er lastet ned fra virker tilsynelatende komplett.