Start.conf wird nicht vom Server geholt

Hallo zusammen,

ich habe hier ein seltsames Problem mit Fujitsu Lifebooks U 7510
Linbo startet, bekommt aber die start.conf der Gruppe nicht, sondern die Default start.conf.

Die Fehlermeldung:
No Operating System configured in start.conf

Wenn ich einen USB-Netzwerk Adapter mit dem Laptop verwende, dann klappt alles. Also wohl ein Problem mit der Netzwerkkarte. Diese wird zwar grundsätzlich erkannt und ich kann mich mit linbo-ssh auf dem Client einloggen. Aber zu dem Zeitpunkt wo Linbo die start.conf kopieren möchte, klappt das nicht.

Netzwerkkabel wurde schon getauscht, Switche resettet. Das Problem gibt es nur mit dieser Hardware.

Hat jemand eine Idee? @thomas Gibt es evtl. einen aktuelleren Kernel für lmn71, den Du einspielen könntest? Oder gibt es eine Kernel Option für diese Netzwerkkarte?

linbo-ssh home-pc03:

# cat /proc/cmdline 
BOOT_IMAGE=/linbo64 quiet splash dhcpretry=15 netboot

# uname -a
Linux home-pc03 5.10.43 #1 SMP Tue Dec 28 19:25:01 UTC 2021 x86_64 GNU/Linux

home-pc03: ~ # cat start.conf
# LINBO empty start.conf

[LINBO]                  # globale Konfiguration
Server = 10.0.0.1       # IP des TFTP-Servers, der Images vorhaelt

home-pc03: ~ # ifconfig 
eth0      Link encap:Ethernet  HWaddr EC:79:49:38:CF:67  
          inet addr:10.0.13.7  Bcast:10.0.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:11950 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1074 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:17719993 (16.8 MiB)  TX bytes:85933 (83.9 KiB)
          Interrupt:16 Memory:a2100000-a2120000 

home-pc03: ~ # lsmod |grep e1000e
e1000e                180224  0
ptp                    20480  1 e1000e

home-pc03: ~ # dmesg|grep e1000e
e1000e: Intel(R) PRO/1000 Network Driver
e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
e1000e 0000:00:1f.6: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
e1000e 0000:00:1f.6 0000:00:1f.6 (uninitialized): registered PHC clock
e1000e 0000:00:1f.6 eth0: (PCI Express:2.5GT/s:Width x1) ec:79:49:38:cf:67
e1000e 0000:00:1f.6 eth0: Intel(R) PRO/1000 Network Connection
e1000e 0000:00:1f.6 eth0: MAC: 13, PHY: 12, PBA No: FFFFFF-0FF
e1000e 0000:00:1f.6 eth0: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None

Danke!

Viele Grüße
Klaus

Hi Klaus,

ich kann im nächsten Paket einen aktuelleren 5.10er Kernel mitliefern. Ob das was hilft, weiß ich allerdings nicht. Kernel 5.15 kommt erst in Linbo 4.1.

VG, Thomas

Hallo Thomas,

danke für Deine schnelle Info!
Einen Versuch ist ein aktuellerer 5.10er auf alle Fälle wert. Evtl. ist das dieser Bug:

https://bugzilla.kernel.org/show_bug.cgi?id=213377

Ich werde mal noch ein paar Optionen durchprobieren. Evtl. hat jemand dieses Modell und dasselbe Problem und eine Lösung?

Viele Grüße
Klaus

Siehe Linuxmuster.net 7.1 testing - #13 von thomas

Hallo Thomas,

danke für die schnelle Aktualisierung!

Ich kann das nächste Woche testen.

Ich habe den Laptop dann noch an meine VirtualBox lmn71 Testumgebung angeschlossen(derselbe Installationsstand), dieselbe start.conf verwendet und siehe da, alles funktioniert.

Der einzige Unterschied in der Netzwerkkonfiguration der mir auffällt ist:

Funktioniert:

e1000e 0000:00:1f.6 eth0: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: Rx/Tx

Funktioniert nicht:

e1000e 0000:00:1f.6 eth0: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None

„Flow Control“ ist da „None“, also deaktiviert.

Vielleicht hast Du, oder jemand noch eine Idee, wie ich das debuggen könnte?

Viele Grüße
Klaus

Hallo,

wenn ich zum Test, wenn der Client in Linbo steht, ein 1 GB File vom Client zum Server kopiere, dann steigt der Wert von „RX dropped“ (ifconfig eth0) rasant an. Das passiert auch auf meinem Testsystem und der Grund warum Linbo trotzdem funktioniert und die start.conf dort lädt, hängt wohl noch von anderen Parametern ab.
Das passiert auch mit dem neuen Linbo Kernel 5.10.89. Also denke ich, daß es sich um oben verlinkten Bug handelt.
Wenn ich auf dem Client Clonezilla mit dem Kernel 5.13.0-21 boote und die Datei vom Clonezilla Client zum Server kopiere, so gibt es keine „RX dropped“ Pakete.

@thomas
So würde ich mich gerne darin versuchen ein linuxmuster-linbo7 mit dem aktuellen 5.15er Kernel zu bauen. Ich möchte ja nichts durcheinanderbringen, aber wäre es Dir vielleicht möglich den Kernel auf linbo-build-cache bereitzustellen? Also falls abzusehen ist, daß der 5.15er Kernel mit dem aktuellen Build Environment zu bauen ist. Ansonsten muß ich einfach warten und die Laptops mit USB-Netzwerk klonen und händisch umzubenennen.

Danke und viele Grüße
Klaus

@garblixa
Vorgehen wie hier beschrieben: GitHub - linuxmuster/linbo-build-docker: Docker build environment for linuxmuster-linbo7

Vor dem Paketbau in build/conf.d/2_kernel die Kernelversion anpassen.

VG, Thomas

Hallo Klaus,

hab ich auch schon gemacht.
Ich hab den Namen in der devices.csv immer vor dem booten des nächsten Clients geändert (und import).
So bekamen alle einen eigenen Namen obwohl ich den gleichen USB Dongel verwendet habe.
Natürlich stehen sie alle nochmal in der devices.csv mit ihrer internen MAC.

LG

Holger

Super Tip, Holger, danke!
Werde ich auch so machen.

Viele Grüße
Klaus

Hallo @thomas

klasse, vielen Dank für diese Erleichterung mit dem Docker build environment!
Hat bis auf einen kleinen Bug(?) im Dockerfile(Issue ist eröffnet) wunderbar funktioniert.

Leider bringt der 5.15.13er Kernel keine Lösung meines Problems. Die RX dropped Pakete sind nach wie vor da.

Jedenfalls kann ich jetzt einfach bei erscheinen eines neuen Kernels einfach testen.

Viele Grüße
Klaus

Hallo Klaus,

… wir die Buchse mit einem Dongel rausgeführt, oder ist die eingebaut?
Mal anderen Dongel probiert?
Mal anderes Gerät probiert?

LG

Holger

Hallo Holger,

die Netzwerkkarte ist eingebaut, mit der funktioniert Linbo nicht. Mit der USB-Netzwerkkarte klappt alles.

Aber ein anderes Gerät probieren ist ein guter Tip, danke! Vielleicht ist es ja auch ein Defekt. Sobald die Leihgeräte zurück sind, werd ich das probieren.

Viele Grüße
Klaus

Hallo @thomas

so, jetzt ist der Fehler eingegrenzt und es hat nichts mit der Netzwerkkarte zu tun, sondern mit Linbo.

Folgendes ist der Grund dafür, daß die start.conf nicht vom Server gezogen wird:

Bei dieser devices.csv wird die start.conf.win10_nvme_s_home des home-pc03 nicht vom Server geholt:

home;home-pc03;win10_nvme_s_home;EC:79:49:38:CF:67;10.0.13.7;;;;classroom-studentcomputer;;1;;;;;
home;home-pc03-wlan;nopxe;98:8D:46:B1:2E:4D;10.0.13.8;;;;classroom-studentcomputer;;0;;;;;

Bei dieser devices.csv wird die start.conf.win10_nvme_s_home des home-pc03 vom Server geholt:

home;home-pc03;win10_nvme_s_home;EC:79:49:38:CF:67;10.0.13.7;;;;classroom-studentcomputer;;1;;;;;
home;home-pc03wlan;nopxe;98:8D:46:B1:2E:4D;10.0.13.8;;;;classroom-studentcomputer;;0;;;;;

Der Unterschied ist im Bindestrich des Hostnames für den WLAN Eintrag des Notebooks. Offenbar wird da von Linbo der Hostname des WLAN Clients vorher gefunden und die Hardwaregruppe „nopxe“ erkannt. Am Linbo Screen des PC wird aber alles richtig angezeigt, also home-pc03, 10.0.13.7 und die richtige MAC.

Könntest Du bitte den Fehler finden und einen Fix bereitstellen? Oder soll ich alle Hostnamen umbenennen? Praktisch ist es schon, die WLAN Geräte einfach mit dem -wlan greppen zu können.

PS: Gibt es mittlerweile eine bessere/andere Möglichkeit die WLAN MAC zusätzlich zu einer LAN MAC eines PCs aufzunehmen, oder ist obige Vorgehensweise nach wie vor richtig?

Danke und viele Grüße
Klaus

Hallo Klaus,

sieht nach einem Bug aus. Danke fürs Debuggen. Erstellst du bitte noch einen Issue? Sollte dann bald gefixt sein.

Bei Notebooks habe ich nur noch einen Eintrag in devices.csv mit DHCP statt IP, dann funktionieren sie drahtgebunden in allen VLANs. Für WLAN braucht man eigentlich keinen Eintrag, da reicht doch eine IP aus der Range. Wenn Domänenbeitritt und Image im LAN gemacht wurden, funktioniert das dann auch im WLAN.

VG, Thomas

Hallo Thomas,

Ist erledigt:

Danke für die Tipps!

Viele Grüße
Klaus

Siehe Linuxmuster.net 7.1 testing - #17 von thomas.

Hallo @thomas

vielen Dank für den schnellen Fix und die Nachricht hier im Thread - funktioniert einwandfrei!

Viele Grüße
Klaus

Hallo,

es tut mir ja schrecklich Leid, aber ich muss da eine Beobachtung von Heute mal berichten.

Ich hab an meiner virtuellen Testumgebung rumgeschraubt: nix schlimmes: nur aktualisieren.
Dabei hab ich auf 4.06 upgedatet. Erstmal alles gut.
Mehrfach gebootet, Image geschrieben, gesynct alles fein.
Dann wollte ich die Umgebung vorbereiten zum Exportieren.
Das mache ich so, dass ich die Festplatte der Clients verwerfe und eine neue zur Verfügung stelle.
Die partitioniere ich imemr mit linbo, bevor ich exportiere.
Das hat nicht geklappt, weil ich, wenn ich mit der leeren Festplatte drin boote, dann kam das von Klaus beschriebene Problem „no Operatingsystem found“ und es war keien start.conf auf dem Client (wohlgemerkt: mit linbo 4.06).

Also hab ich geschaut, ob da was komisch ist: Zugriffsrechte der start.conf.winlin: 644
Name in devices.csv: die Rechner heißen r100pc01 und r100pc02.
Paranoid wie ich bin hab ich eine examplesstart.conf hinkopiert und mehrfach linuxmuster-import-devices gemacht. Auch ein update-linbofs … hat alles nix gebracht.
Dann hab ich die Rechner umbenannt zu r100-pc01 und import gemacht: schwupps ging es wieder.
Frech wie ich bin, hab ich sie gleich zurück benannt: ging immer noch…

Wenn ich das richtig hab, dann holt linbo jetzt die gruppe des Clients aus dem AD und das scheint bei Clients, deren workstations Accouont vor langer Zeit erstellt wurde, schief zu gehen.
Das gemeine: man merkt es erst, wenn man dem Client eine leere Festplatte vor setzt…
Ich habe ältere Versionen der Umgebung, falls da jemand in den AD reinschauen will…

LG

Holger

Hallo Holger,

Du könntest es ja ausprobieren, was die neue Abfrage nach der Gruppenzugehörigkeit bei Dir liefert:
r100pc02 ersetzen durch einen Hostnamen, den Du jetzt neu noch nicht umbenannt hattest:

ldbsearch -H /var/lib/samba/private/sam.ldb "(sophomorixDnsNodename=r100pc02)" memberOf

Die komplette Abfrage, welchen den Gruppennamen liefert lautet:

ldbsearch -H /var/lib/samba/private/sam.ldb "(sophomorixDnsNodename=r100pc02)" memberOf | grep ,OU=device-groups, | awk -F= '{print $2}' | awk -F, '{print $1}' | sed 's|^d_||'

Viele Grüße
Klaus

Moin!

Einfacher geht die Abfrage so:

source /usr/share/linuxmuster/linbo/helperfunctions.sh
get_hostgroup <hostname>

@baumhof Teste mal bitte verschiedene Hostnamen durch.

VG, Thomas