Installation Freebsd 13 auf Thinkpad X1 Carbon G5 (Kaby Lake)

georg

Well-Known Member
Ich habe einen TP Carbon X1 auf dem ich Freebsd 13 installieren will.

Vorhergehend habe ich ein Update des BIOS (UEFI) gemacht und einen Nomadbsd Usbstick vorbereitet sowie einen Freebsd13 Usbstick:

nomadbsd startet problemlos in die grafische Benutzeroberfläche. Einziges Problem, wenn man ausloggen und dann wieder in den nomad-User einloggt, kann man kein Password eingeben und die Oberfläche friert ein.

Daraufhin habe ich vom Freebsd Installstick problemlos gebootet und bin in die shell gegangen ohne eine Installation durchzuführen.

dmsg zeigt ausser den folgenden Nachrichten keine Auffälligkeiten:

random: registering fast source Intel Secure Key RNG random: fast provider: "Intel Secure Key RNG" arc4random: WARNING: initial seeding bypassed the cryptographic random device because it was not yet seeded and the knob 'bypass_before_seeding' was enabled.

Keine Ahnung welchen memory range er meint, und was für ein Problem das ist:
cpi0: <LENOVO TP-N1M> acpi_ec0: <Embedded Controller: GPE 0x16, ECDT> port 0x62,0x66 on acpi0 acpi0: Power Button (fixed) unknown: memory range not supported cpu0: <ACPI CPU> on acpi0

Ein alter Bekannter, soweit ich weiss kein Problem:
atrtc0: <AT realtime clock> port 0x70-0x77 irq 8 on acpi0 atrtc0: Warning: Couldn't map I/O.

acpi_wmi1: Embedded MOF found ACPI: \134_SB.WMI1.WQBA: 1 arguments were passed to a non-method ACPI object (Buffer) (20201113/nsarguments-361) acpi_wmi2: <ACPI-WMI mapping> on acpi0 acpi_wmi2: Embedded MOF found ACPI: \134_SB.WMI2.WQBB: 1 arguments were passed to a non-method ACPI object (Buffer) (20201113/nsarguments-361) acpi_wmi3: <ACPI-WMI mapping> on acpi0 acpi_wmi3: Embedded MOF found ACPI: \134_SB.WMI3.WQBC: 1 arguments were passed to a non-method ACPI object (Buffer) (20201113/nsarguments-361) acpi_wmi4: <ACPI-WMI mapping> on acpi0 acpi_wmi4: Embedded MOF found ACPI: \134_SB.WMI5.WQBE: 1 arguments were passed to a non-method ACPI object (Buffer) (20201113/nsarguments-361)

Wenn jemand weiss was diese Meldungen bedeuten und wie man das beheben kann, bitte mitteilen.

Ich denke, das ich mit der Installation weitermachen kann ohne auf unangenehme Überraschungen zu stossen.

Falls Interesse an dmesg und weiteren Ausgaben (sysctl -a, ) etc besteht bitte melden, ich stelle sie dann hier ein.
 
Warnungen sind keine errors oder panics. ;)

Code:
arc4random: WARNING: initial seeding bypassed the cryptographic random device because it was not yet seeded and the knob 'bypass_before_seeding' was enabled.
Das heißt exakt das, was da steht. Sollte nach dem Installieren nicht auftauchen und arc4random sollte ohne die Warnung laufen.

Code:
unknown: memory range not supported
Wahrscheinlich irgendein leerer Slot / angedachte Funktion des BIOS, was es dann doch nicht auf das Board geschafft hat.

Code:
atrtc0: Warning: Couldn't map I/O.
Vernachlässigbar, atrtc0 wird vermutlich dennoch erkannt?
dmesg | grep atrtc einer Installation wäre interessant.
Sieht bei mir so aus:
Code:
atrtc0: <AT realtime clock> port 0x70-0x77 irq 8 on acpi0
atrtc0: Warning: Couldn't map I/O.
atrtc0: registered as a time-of-day clock, resolution 1.000000s

Code:
acpi_wmi1: Embedded MOF found
Das erscheint, da acpi_wmi jetzt im GENERIC enthalten ist. Das ist btw. auch nur Info, nichtmal eine Warnung.

Ich denke, das ich mit der Installation weitermachen kann ohne auf unangenehme Überraschungen zu stossen.
Ja. Unangenehme Überraschungen gibt es nur ohne Backup. :)
 
Warnungen sind keine errors oder panics. ;)
Nun ja, ich nehme Warnungen - gerade beim Bootvorgang - ernst (vielleicht zu sehr).

Vernachlässigbar, atrtc0 wird vermutlich dennoch erkannt?
Ja sieht aus wie bei Dir.
Ja. Unangenehme Überraschungen gibt es nur ohne Backup. :)
Backup Ist hier nicht sinnvoll, ich will ja das installierte Windows mit Freebsd überschreiben. Meinte eher, eine Überraschung wie das installierte FreeBSD kann jetzt doch nicht booten.
 
ich nehme Warnungen - gerade beim Bootvorgang - ernst (vielleicht zu sehr).
Es klingt zumindest so, Versuch macht kluch. ;)

Backup Ist hier nicht sinnvoll, ich will ja das installierte Windows mit Freebsd überschreiben. Meinte eher, eine Überraschung wie das installierte FreeBSD kann jetzt doch nicht booten.
So hatte ich das eingeschätzt und sollte der Fall doch eintreten, kann man ja ohne großen Zeitverlust das alte Image wieder draufziehen. Schneller als eine Neuinstallation von Windows allemal.
 
Es klingt zumindest so, Versuch macht kluch. ;)
So, FreeBSD 13 ist installiert und soweit ist alles gut gegangen. FreeBSD bootet auf meinem Thinkpad X1.


Jetzt kämpfe ich mit der Umschaltung der ttys, das will noch nicht (Also alt F2, etc) funktioniert nicht.

Auch hat ACPI noch Probleme. ich kann zwar mit zzz oder "Deckel zu" in den sleep modus, aber aufwachen will er nicht mehr.

Na mal sehen was ich rausfinde.
 
Zu den F-Tasten:
Du hast daran gedacht, daß man bei Lenovo Laptop Tastaturen die Ebene (F1-F12 Funktion EOR Holladriö (=Multimedia) Funktionen) umschalten kann? Ich erinnere moch dunkel, das gemacht zu haben. Werkseinstellung ist natürlich nicht F1-F12.
 
Zuletzt bearbeitet:
Es gibt da Module wie acpi_ibm.ko und acpi_video.ko zu laden, muss man mal durchprobieren. Je nach verbauter GPU ist die Installation des Treibers meist die halbe Miete.
Bei Intel muss der user in der Gruppe video sein, wird gerne vergessen.

 
Es gibt da Module wie acpi_ibm.ko und acpi_video.ko zu laden, muss man mal durchprobieren. Je nach verbauter GPU ist die Installation des Treibers meist die halbe Miete.
Bei Intel muss der user in der Gruppe video sein, wird gerne vergessen.

Ja habe erstens - wie bereits zuvor erwähnt wurde - herausgefunden, dass ich zum Umschalten der ttys Fn + Alt + F1 etc drücken muss.

Zweitens, die module api_ibm und acpi_video sind geladen - jetzt funktionieren ein paar der Tasten (Brightness, Tastaturbeleutung), aber Lautstärke will noch nicht.

Drittens, der Suspendmode S3 friert die Maschine ein, kann sie nur mit langen Drücken der Ein/Austaste wieder zum leben erwecken. im wiki.freebsd wird erwähnt: suspend and resume (Sleep mode was set to Linux in UEFI configuration),
aber ich habe bisher keine Möglichkeit gefunden das zu setzen
 
Meinst du das?

Da ist sogar ein Carbon X1 in der Tabelle, aber nicht welche Generation.

Suspend/Sleep ist ein leidiges Thema. Es hilft zuweilen, wenn man sich per ssh von einer anderen Maschine darauf einloggt um zu sehen, ob und was abgeht, wenn das Display dunkel bleibt oder das Laptop anscheinend nicht mehr reagiert.

Schau im BIOS mal nach, ob da vllt. eine andere Einstellungskombination zu standby den Unterschied macht. Zu dem Carbon steht da, dass das Modul vom cardreader zickt und daher vorher entladen werden muß.
Generell kann es auch helfen erstmal möglichst viel Gerätschaft im BIOS abzuschalten, denn je mehr beteiligte Geräte da sind, umso eher ist was dabei, das es verhagelt.
 
Meinst du das?

Da ist sogar ein Carbon X1 in der Tabelle, aber nicht welche Generation.
Nein ich meinte: https://wiki.freebsd.org/Laptops/Thinkpad_X1_Carbon

Da taucht der Satz:
Sleep mode was set to Linux in UEFI configuration
auf, habe aber bisher nicht rausgefunden, wo ich das setzen könnte.

Habe den cardreader mal disabled, hat das Verhalten insoweit verändert, das es nicht zu einem Reboot kommt, aber der Rechner will nicht mehr aufwachen. Oder drücke ich die falschen Knöpfe zum Aufwecken?
 
Das liest sich, als wäre es eine reine Einstellung im BIOS.

Ich weiß nicht, jedes Laptop kann sich da unterscheiden. Normal sollte aufklappen oder Anschalter kurz drücken reichen, wenn das so konfiguriert ist und mit dem Betriebssystem eben zusammenspielt. Aber so ist das schon ein Anfang mit dem Herantasten.
 
So eine BIOS-Einstellung - wenn es sie denn gibt - ist meist der Unterschied zwischen S2idle und S3.

S2idle ist technisch gesehen kein Standby, die Hardware bleibt eingeschaltet, wird nur in einem sehr tiefen Stromsparzustand gelegt. Dafür gibt es verschiedene Markennamen wie zum Beispiel "connected Standby". Linux kann das inzwischen grundsätzlich, wie gut es dort funktioniert, hängt von der verbaute Hardware ab. Spiel der Treiber einer Komponente nicht mit, ist der Akku nach ein paar Stunden leer. Unter FreeBSD kann man völlig vergessen, das System unterstützt nicht genügen Powermanagement und wird es realistisch gesehen auch nie können.

S3 ist hingegen echtes, klassisches Standby. Die Hardware wird abgeschaltet, nur der RAM weiter mit Strom versorgt. Das funktioniert unter FreeBSD inzwischen doch erstaunlich gut, solange die Firmware mitspielt. Wie @mr44er schon sagte, ist meistens der Grafiktreiber und / oder der Bildschirm das Problem. Das System kommt an sich wieder hoch, aber gibt kein Bild mehr.
 
aber Lautstärke will noch nicht.
das wird auch nicht so einfach, weil das nicht unbedingt HW-Sache ist. Du hast vermutlich mehrere Kandidaten für Sound-Ausgabe in deinem Gerät und für gewöhnlich muss man dann eines auswählen und über einen mixer die gewünschten Einstellungen machen.
Wenn man dann mixer-Ereignisse auf Tasten legen möchte, muss man das auch manuell machen.
Das geht für mich am einfachsten erst unter X, weil ich dort mit xev nachsehen kann, wie die Tasten heißen und dann in meinem Fenstermanager die Aktionen setzen kann.
 
Es ist eine BIOS-Einstellung und eine Umschreibung für den 'S3'. Circa in der Mitte steht bei Sixth Generation:

  • BIOS version 1.30 introduces a new option to select sleep state, selecting "Linux" enables S3 state.
  • Prior to 1.30, it uses S0ix states for suspend and resume. There are a few linux users that have patched the DSDT tables to add S3 back (https://delta-xi.net/#056) and that seems to make sleep sort of work. Compiling the DSDT tables as of now on FreeBSD will cause iasl to crash though. There is a bug in newer versions of iasl, the version that works to compile my DSDT tables is 20180313.

Mindestens die Option muss gesetzt sein, davon hängt alles ab.
Dann alle Menüs im BIOS zumindest mal anschauen, ob evtl. etwas auffallend ist. Dabei dann alle für den nackten S3-Test nicht benötigten Geräte abschalten. Cardreader, Webcam, Touchpad, G-Punkt, USB-Ports usw.
Es kann einen Unterschied machen, ob man die Taste dann für Standby drückt oder zuklappt.

Punkt 11.13.2.2. durchgehen

Nicht zu schnell zwischen den Modi testen, dem Gerät immer mal so ~30 Sekunden geben um sicher zu sein. Zum Aufwecken Aufklappen probieren, auch mehrmals erneut mit Zuklappen oder Leertaste oder Helligkeit erhöhen. Das gleiche nochmal mit gestecktem Netzteil durchspielen, kann alles entscheidend sein.
 
das wird auch nicht so einfach, weil das nicht unbedingt HW-Sache ist. Du hast vermutlich mehrere Kandidaten für Sound-Ausgabe in deinem Gerät und für gewöhnlich muss man dann eines auswählen und über einen mixer die gewünschten Einstellungen machen.
Wenn man dann mixer-Ereignisse auf Tasten legen möchte, muss man das auch manuell machen.
Das geht für mich am einfachsten erst unter X, weil ich dort mit xev nachsehen kann, wie die Tasten heißen und dann in meinem Fenstermanager die Aktionen setzen kann.
Ja, ich habe jetzt - nach einer langen Sucherei - das S3 (sleep) Problem mal auf die lange Bank geschoben und mit der Installation von X und wm begonnen.
 
das wird auch nicht so einfach, weil das nicht unbedingt HW-Sache ist. Du hast vermutlich mehrere Kandidaten für Sound-Ausgabe in deinem Gerät und für gewöhnlich muss man dann eines auswählen und über einen mixer die gewünschten Einstellungen machen.
Wenn man dann mixer-Ereignisse auf Tasten legen möchte, muss man das auch manuell machen.
Das geht für mich am einfachsten erst unter X, weil ich dort mit xev nachsehen kann, wie die Tasten heißen und dann in meinem Fenstermanager die Aktionen setzen kann.
So habe jetzt openbox am Laufen und die meisten Sachen, die ich brauche installiert. Wird aber noch einige Zeit brauchen bis ich alles vollständig konfiguriert habe. Daneben habe ich noch LXQT installiert und ausprobiert. Grundsätzlich läuft es, aber da sind ein paar Probleme

Lautstärkeregelung funktioniert, allerdings ist die Wiedergabe sehr leise. Habe daher hw.snd.vpc_0db auf 11 runtergesetzt.

Jetzt ist die Frage wie es weitergeht. Kernel/Userland habe ich immer aus den Quellen aktualisiert. Jeweils über den Stable-Zweig. Hier wird wohl eine Umstellung auf git anstelle von svn fällig.

Anwender-Software habe ich bisher über die ports installiert. Da will ich aber auf die PKGs umstellen und mir für speziell angepasste pkgs poudriere installieren und ansehen.
 
allerdings ist die Wiedergabe sehr leise.
meist, weil nicht das richtige sound-device benutzt wird, bzw am falschen Ausgang angestöpselt wird (meist meint innerhalb meiner privaten Erfahrungswelt). Außerdem sollten auch mal alle Einstellungen einfach mit mixer angesehen werden. igain ist meist gut mit 0:0 und ogain mit 100:100.

Wieder von mir aus gesehen: da ich keine Experimente vorhabe und keine speziellen Anforderungen habe, genügt mir seit etwa FreeBSD 6 oder 7 alles binär. Zunächst fing ich damit an, nur noch GENERIC zu nutzen und gar nichts zu verändern, dann mittels freebsd-update zu erneuern und schließlich verzichtete ich auch auf Ports und nutzte nur noch Pakete. Grundsätzlich jedenfalls.
Ich finde, das geht sehr gut.
Die Ports habe ich noch an Bord, aber eher für den Notfall oder exotische Dinge, die mal vorkommen können.

Und, ja, ich kenne alle Bedenken und kann nur raten: einfach mal probieren.
 
Jetzt ist die Frage wie es weitergeht. Kernel/Userland habe ich immer aus den Quellen aktualisiert. Jeweils über den Stable-Zweig. Hier wird wohl eine Umstellung auf git anstelle von svn fällig.
Ja. Ist aber nicht schwierig.
Um eine Kopie vom Quelltextbaum zu ziehen brauchst Du lediglich ein:
Bash:
git clone -o freebsd -b releng/13.0 --depth 1  https://git.freebsd.org/src.git /usr/src

Wenn Du später den Quelltext (wegen Patches) aktualisieren willst reicht ein:
git pull --ff-only

Der Rest wie gehabt.

Wegen git siehe auch:
https://docs.freebsd.org/en/articles/committers-guide/#git-primer
 
Ja. Ist aber nicht schwierig.
Um eine Kopie vom Quelltextbaum zu ziehen brauchst Du lediglich ein:
Bash:
git clone -o freebsd -b releng/13.0 --depth 1  https://git.freebsd.org/src.git /usr/src

Wenn Du später den Quelltext (wegen Patches) aktualisieren willst reicht ein:
git pull --ff-only

Der Rest wie gehabt.

Wegen git siehe auch:
https://docs.freebsd.org/en/articles/committers-guide/#git-primer
Das wäre dann, wenn ich stable/13 will, wohl:
Bash:
 git clone -o freebsd -b stable/13 --depth 1  https://git.freebsd.org/src.git /usr/src

und /usr/src sollte ich vorher wohl abräumen (habe, bei der Installation die Source mitinstalliert), oder?

In einer anderen Anleitung habe ich folgendes Vorgehen gefunden
Bash:
--> git clone -b stable/13 --single-branch --depth 1  git://github.com/freebsd/freebsd.git /usr/src
dann als Vorbereitung für spätere Updates:
Bash:
--> git config pull.rebase true
und dann später für Updates
Bash:
git pull --ff-only
 
Das wäre dann, wenn ich stable/13 will, wohl
Genau. Das git-Repository hat auch eine Weboberfläche. Da kannst Du dann auch schnell gucken, was es für Branches gibt:
https://cgit.freebsd.org/src

und /usr/src sollte ich vorher wohl abräumen
Genau. Das Verzeichnis sollte leer sein.
Es muss auch nicht unbedingt /usr/src sein.

In einer anderen Anleitung habe ich folgendes Vorgehen gefunden
Klingt gut. Kannst Du so machen.
 
Zurück
Oben