ich habe letzte Woche in einer unübersichtlichen Vorgehensweise alle Laptops bei uns in der Schule lahmgelegt. Eigentlich wollte ich nur ein neues Image unseres Ubuntu 22.04 Clients aufspielen.
Jetzt ist es so, dass beim Start dieses Images der Bootvorgang in (initramfs) endet. Die zugehörige Fehlermeldung lautet:
/dev/nvme0n1p4 has unsupported feature(s): FEATURE_C12
e2fsck: Get a newer version of e2fsck!
ubuntu: ### Warning … blabla
fsck exited with status code 12
Ich solle jedenfalls einen e2fsck machen, aber da kommt dann die Fehlermeldung, dass e2fsck zu alt sei.
Darunter erscheint auch noch ucsi_acpi USBC000:00: error -ETIMEOUT: PPM init failed.
Kann mir bitte jemand dabei helfen, strukturierter vorzugehen?
Viele Grüße
Christian
P.S.: auf der zweiten Hardwareklasse gibt es noch andere Probleme, dazu melde ich mich in einem extra Thread
das hatte ich auch.
In Ubuntu 22.04 liegt e2fsck in version 1.46.5 oder zumindest <1.47.0 vor.
Ab 1.47.0 gibt es wohl das FEATURE_C12 „flag“.
Linuxmuster Server mit ubuntu 26.04 hat e2fsck 1.47.2.
Ich vermute mal, dass dieses flag irgendwo irgendwann von LINBO gesetzt wird.
Beim Boot von Ubuntu 22.04 und einem automatischen fsck crasht das dann.
Ich hab in Linbo gebootet und bin vom Server per linbo-ssh auf den Client drauf und:
Danach aus der linbo-ssh session ein reboot oder linbo_wrapper start:1 und der Client bootet wieder.
Ich hab anschließend gleich auf Ubuntu 24.04 hochgezogen, da ich das sowieso machen wollte und bin gerade dran den nächsten Sprung auf 26.04 zu vollziehen. Dann ist mal wieder ne Weile Ruhe.
bei der Umsetzung habe ich festgestellt, dass Linbo bei Neu&Start die Partition vermutlich formatiert und der Fehler wieder auftritt. Ich habe mir mit Sync&Start beholfen, da bleiben die Eigenschaften des Dateisystems erhalten.
Wie kann ich beim universellen Postsync Script diese Befehlszeile nur für eine bestimmte Hardwareklasse ausführen bzw. den Partitionsnamen je nach Hardware einbauen?
es ergaben sich noch weitere Erkenntnisse.
Zuerst betraf es alle Installationen von Ubuntu 22.04 unabhängig von der HOSTGROUP. Darum habe ich versucht mit postsync Scripten, das Dateisystem zu „reparieren“ also das FEATURE_C12 zu entfernen. Das hat aber immer Probleme verursacht, weil das Script genau auf dieser Partition lief.
Mit Hilfe von KI habe ich mir ein prestart-Script schreiben lassen (im Ordner des Images mit imagename.prestart), das nach jeder Synchronisation ausgeführt wird.
Was soll ich sagen? Es funktioniert nun zuverlässig, auch bei NEU & START.
Viele Grüße und danke,
Christian
#!/bin/sh
# /srv/linbo/images/linux/linux.prestart
# Führt einen Dateisystemcheck durch und entfernt inkompatible Flags (feature_c>
# Lokale Variablen von LINBO bereitgestellt:
# $1 = Server-IP, $2 = Client-IP, $3 = Ziel-Partition (z.B. /dev/sda1)
TARGET_PART="$root"
echo "$TARGET_PART"
echo "=== LINBO-Prestart: Bereite Partition $TARGET_PART vor ==="
# Sicherstellen, dass die Partition für den Check NICHT eingehängt ist
if mount | grep -q "on /mnt"; then
echo "Hänge /mnt aus..."
umount /mnt
fi
# 1. Feature 'orphan_file' (feature_c12) entfernen, falls vorhanden
echo "Entferne feature_c12 (orphan_file)..."
tune2fs -O ^orphan_file "$TARGET_PART"
# 2. Dateisystem-Prüfung (fsck) erzwingen und Fehler automatisch reparieren (-p>
echo "Starte Dateisystemprüfung (fsck.ext4)..."
#fsck.ext4 -f -p "$TARGET_PART"
e2fsck -f -p "$TARGET_PART"
echo "=== LINBO-Prestart beendet ==="
Toll, diese Community hier. Bin mit meinem Linux Mint-Client in meinem LMN 7.4 Testsystem (bei Vorabtests für die 7.4) auch genau in dieses Thema gelaufen und hab hier sofort die Lösung gefunden. Lieben Dank @no_idea und @ChristianWd!