Firmware-Updates unter FreeBSD

sanbiber

Well-Known Member
Hallo,

dass eines der besten Mittel zur Wahrung der Sicherheit generell ist, sein System auf dem aktuellen Stand zu halten und man von daher regelmaessig Updates einspielen sollte (per freebsd-update und pkg unter FreeBSD kein Problem), ist mir bekannt und lang erprobt und praktiziert.
Nun ging letztens wieder (und auch in den letzten Jahren immer wieder) durch die Medien, dass Luecken in Firmwares abgedichtet wurden: wie ist das best-practice dafuer unter FreeBSD? Unter Windows gibt es ja meines Wissens zum Teil solche Systemprogramme vom Hersteller (Lenovo, Dell, ...), ueber die dann auch die aktuellste Firmware installiert werden kann. Und auch MacOS macht das irgendwie automagisch. Doch was ist mit FreeBSD? Wenn es z.B. BIOS-Updates fuer ein Lenovo-Laptop gab, hab ich frueher immer ein CD-Image vom Hersteller herunter geladen (wenn denn eines angeboten wurde), dann von CD oder USB-Stick, die mit dem Image bestueckt waren, gebootet und so das BIOS upgedatet. Wenn der Microcode von CPUs veraendert wird, gibt es dafuer den Port sysutils/devcpu-data - auch kein Problem. Aber wie ist das z.B. mit Firmware von Festplatten, von Controllern, IPMI/BMC-Schnittstellen, etc.? Das wird ueber so eine BIOS-Update-CD vermutlich nicht aktualisiert. Gibt es dafuer ein Verfahren unter FreeBSD?

Vielen Dank,
sanbiber
 
Zuletzt bearbeitet:

CommanderZed

OpenBSD User
Teammitglied
Das kommt stark auf den jeweiligen Hersteller an, aber soweit ich weiß ist es schon eine "positive Ausnahme" wenn auch nur ein Linux unterstützt wird.

Bei Dell-Server kenn ich zb so ein "Komplett Update CD" (Die man auch auf einen USB-Stick schreiben kann und / oder über den iRDAC starten kann) - von diesem Image startet dann ein von Dell angepasstest Linux das alle Firmwares (BIOS; IPMI, Controller etc) aktualisiert sofern es auch von Dell vertriebene Komponenten unterstützt.

Das ist natürlich nicht von FreeBSD heraus aus dem laufenden System nutzbar, aber in vielen Situationen sicher ein guter Würgaround
 

mr44er

moderater Moderator
Teammitglied
Vorweg: Sicherer mit Aussicht auf Erfolg und Rettung im Fehlerfall sind immer eingebaute Routinen. Im BIOS-Fall wäre das der entsprechende Punkt im BIOS mit angestecktem USB-Stick oder ein Bootstick mit DOS für das native Tool des Herstellers. Letzteres bevorzuge ich bei sämtlichen Steckkarten und Laufwerken (weil ich da sicher sein kann, dass sonst nichts darauf zugreift und ich eventuell dann die Hardware quasi 'kaputtflashe', wenn was schiefgeht).
Für Windows gibt es da das/die Lenovo-Tools, die funktionierten bei mir in der Vergangenheit auch ganz ok. Da kann es empfehlenswert sein, sich für solche Flashzwecke ein vom USB-Stick bootbares Windows zu basteln.

Wenn du es unter gebootetem FreeBSD darauf ankommen lassen willst (entsprechende Warnhinweise stehen in der manpage dabei):
Für Festplatten und SSDs gibt es camcontrol fwdownload. Das habe ich schon gemacht, funktioniert auch, aber es ist eben keine Garantie. Eine Festplatte habe ich mir damit mal gegrillt, das ist eben die Erfahrung.
Das mpsutil/lsiutil kann auch direkt flashen (einmal probiert, hat geklappt, Backup hatte ich natürlich angelegt), aber man sollte trotzdem danach einen Neustart fahren.
Der chelsio-Treiber von gen4 und gen5 unter FreeBSD flasht automatisch Firmware, das hat bisher auch immer geklappt.
 

Azazyel

Well-Known Member
Das kommt stark auf den jeweiligen Hersteller an, aber soweit ich weiß ist es schon eine "positive Ausnahme" wenn auch nur ein Linux unterstützt wird.

Zumindest von Dell und Lenovo (und vielen anderen Herstellern) wird inzwischen so ziemlich die gesamte Hardware unter Linux via LVFS unterstützt, bis hin zu externen Docking-Stations. Damit kann man die Systeme auch zur Laufzeit aktualisieren.

Es gibt einen Ansatz zur Portierung auf FreeBSD, aber gute Frage, in welchem Zustand der sich befindet. :confused:

Das ist natürlich nicht von FreeBSD heraus aus dem laufenden System nutzbar, aber in vielen Situationen sicher ein guter Würgaround.

LVFS läuft auch von Linux-Live-Distributionen, d.h. ist als Workaround für FreeBSD-Systeme mit Verbindung ins Internet nutzbar.
 

medV2

Well-Known Member
Denke der beste Weg für BSD ist alle paar Monate mal auf der Herstellerseite vorbei schauen, und wenn da ein FW Update ist, downloaden und manuell installieren.
 

CommanderZed

OpenBSD User
Teammitglied
Zumindest von Dell und Lenovo (und vielen anderen Herstellern) wird inzwischen so ziemlich die gesamte Hardware unter Linux via LVFS unterstützt, bis hin zu externen Docking-Stations. Damit kann man die Systeme auch zur Laufzeit aktualisieren.

Es gibt einen Ansatz zur Portierung auf FreeBSD, aber gute Frage, in welchem Zustand der sich befindet. :confused:

LVFS läuft auch von Linux-Live-Distributionen, d.h. ist als Workaround für FreeBSD-Systeme mit Verbindung ins Internet nutzbar.

WARUM erfährt man von so cooler software eigentlich immer nur so beiläufig?
 

CommanderZed

OpenBSD User
Teammitglied
Weil das hier halt an BSD Forum ist ;) Ich verwende LVFS schon seit 1 Jahr und alle Updates haben immer perfekt funktioniert. Ein "Lenovo Thinkpad X1 Carbon Gen 8" und ein HP Dragonfly.

Ich meinte nicht unbedingt hier - ich bin ja sonst auch im Linux-Umfeld unterwegs aber da ist das auch komplett an mir vorübergegangen.

Dafür liebe ich auch diese Forum: Man erfährt immer wieder interessante Neuigkeiten, aus *BSD aber auch aus vielen anderen spannenden Bereichen.
 

lme

FreeBSD Committer
Gibt's für LVFS / fwupd ein Live-Linux, was man vom USB-Stick booten kann?
 

georg

Well-Known Member
Anbei noch der Link zur freebsd Version von fwupate:
Blog 3mdeb

Die haben bereits mit einem Port/pkg begonnen, leider scheint die Geschichte seit Mitte letzten Jahres zu stagnieren.
 

medV2

Well-Known Member
Gibt's für LVFS / fwupd ein Live-Linux, was man vom USB-Stick booten kann?

Dafür sollte jedes aktuelle general purpose Linux tun. Also Fedora, Ubuntu, Suse, ...

Aber darauf verlassen kann man sich auch nicht, mein 2 Jahre altes Thinkpad wird z.b. nicht von LVFS unterstützt.
 
Oben