Lmn 7.2 - Kein Netzwerkboot nach Migration

Hallo,
wir haben nach dem Umzug von 7.1 auf 7.2 ein ähnliches Problem.
Clients wurden von 7.1 nach 7.2 umgezogen. Exakt gleiche start.conf, exakt gleiches Image, exakt gleiche Kerneloptionen (splash quiet dhcpretry=10 warmstart=no nosgx modprobe.blacklist=i915,radeon)

Im 7.1 System haben die Clients immer schön brav PXE-Boot gemacht.
Im 7.2 System starten die Clients aber lokal?! Wir haben am BIOS an der Bootreihenfolge nichts verändert.

Es erscheint dann immer die Meldung:

Initiating pxe boot ...error: invalid filename 'dhcp'
error: you need to load the kernel first.

Danach bootet er nach einiger Zeit automatisch das lokale image.

Wenn ich manuell die Boot-Reihenfolge im BIOS ändere, dann bootet der Rechner genau einmal über PXE. Nachdem ich ihn wieder neu starte, kommt die o.g. Fehlermeldung wieder.

Ich habe keine Ahnung wie ich den Rechnern beibringen kann konsistent PXE zu booten.

LG
Daniel

Hallo Daniel,

geht der Fehler weg, wenn der Client einmal frisch partitioniert wurde (oder vielleicht reicht ein initcache).
Wurde
linuxmuster-import-devices

nach dem upgrade gemacht?

Habt ihr die /srv/linbo/boot/grub/GRUPPE.cfg
verändert? Ist die managed by linuxmuster Zeile noch intakt?
Also mal dafür sorgen, dass die Datei neu geschrieben wird durch den import.

Und wegen der Kernelparameter: modprobe.blacklist=i915,radeon
ich nehme da inzwischen statt dieses Parameters den Parameter
nomodeset

LG
Holger

Hallo Holger,
danke für die schnelle Antwort.
Ich habe deine Anregungen mMn zwar alle schon ausprobiert, aber gerade nochmal alles Partitioniert und die start.conf.gruppe überprüft.
Sieht eigentlich alles gut aus.

Trotzdem will er nicht beim pxe boot bleiben.

Ich habe gerade keine Ahnung was ich noch machen kann.

Hallo!
nur als Idee: Stimmt Bios mit start.conf im Bezug auf Uefi/Legacy überein? Ich hatte so eine Meldung schonmal, als das Bios auf Uefi, die start.conf auf bios64 stand…
LG
Max

Hallo Max,
die start.conf hat efi64 als System Type.
Daran hab ich nichts geändert.
Die Rechner können nur Uefi

LG

Moin!

Ein bekanntes Problem, auf das ich schon einige Male hingewiesen habe:

Siehe Lmn 7.2 testing
Abschnitt Behandlung widerspenstiger Linbo-Clients

Das wurde offensichtich nicht in die Migrationsanleitung übernommen. Bitte nachholen.
@Doku-Team

VG, Thomas

Hallo Thomas,
eine Frage dazu…
Muss ich wirklich die „orginal“ grub.cfg durch die forced_netboot grub.cfg ersetzen oder die cfg der entsprechenden Gruppe, also bei mir ubuntu2204-efi.cfg?
Weil der workaround mit simplen ersetzen der grub.cfg hat leider nicht geholfen.

LG

So wie es da steht. Es muss natürlich sichergestellt sein, dass die Clients vom Netzwerk booten.

VG, Thomas

Hallo Thomas,

fixed :grinning:

VG
Chris

1 „Gefällt mir“

Hallo Daniel!
Ich hatte mal das Problem beim Rechnerstart, dass nicht das lokale grub verwendet wurde und dadurch direkt das OS gestartet wurde.
Der Kernelparameter „forcegrub“ in der start.conf… hat es bei uns gelöst.
(„KernelOptions = loadmodules=r8168 forcegrub“)
Gruß - Rainer

Hallo,
@roesslerrr danke, ich habe das versucht - hatte keine Auswirkung.
@thomas danke für die Anleitung - habe ich durchgeführt. Hat genau einmal funktioniert und nach dem Neustart bzw. Rückkopieren der grub.cfg kommt dann wieder die o.g. Fehlermeldung.
Damit das System sauber per PXE bootet, muss ich immer ins BIOS und manuell per PXE booten, dann geht es durch.
Evtl. hat noch jemand einen Tipp?! Ich verstehe nicht so ganz, warum die identische Hardware-Klasse mit den identischen BIOS-Settings mit 7.1 sauber bootet aber mit 7.2 nicht…

LG
Daniel

Hallo Daniel,

sind alle Hardwareklassen betroffen, oder nur eine?
UEFI?
Bitte schick mal die start.conf.GRUPPE
und die zugehörige GRUPPE.cfg Datei

Hast du die cfg Datei mal neu erstellen lassen?

LG

Holger

Hallo Holger,
es ist nur eine UEFI-Hardware-Klasse betroffen (allerdings die in den Computerräumen).
Andere Hardwareklassen mit dem gleichen Image und der selben start.conf starten wie gewohnt.

Hier mal die gewünschten Configs:
start.conf.ubuntu2204-efi

[LINBO]
Server = 10.0.0.1
Group = ubuntu2204-efi
Cache = /dev/nvme0n1p4
RootTimeout = 600
AutoPartition = no
AutoFormat = no
AutoInitCache = no
GuiDisabled = no
UseMinimalLayout = no
Locale = de-DE
DownloadType = torrent
SystemType = efi64
KernelOptions = splash quiet dhcpretry=10 warmstart=no nomodeset acpi=off
clientDetailsVisibleByDefault = yes

[Partition]
Bootable = yes
FSType = vfat
Id = ef
Size = 200M
Label = efi
Dev = /dev/nvme0n1p1

[Partition]
Bootable = yes
FSType = ext4
Id = 83
Size = 50G
Label = ubuntu
Dev = /dev/nvme0n1p2

[Partition]
Bootable = no
FSType = swap
Id = 82
Size = 32G
Label = swap
Dev = /dev/nvme0n1p3

[Partition]
Bootable = no
FSType = ext4
Id = 83
Size =
Label = cache
Dev = /dev/nvme0n1p4

[OS]
Name = Ubuntu
Version = 22.04
Description = Ubuntu 22.04
IconName = ubuntu.svg
Image =
BaseImage = ubu22.qcow2
Boot = /dev/nvme0n1p2
Root = /dev/nvme0n1p2
Kernel = boot/vmlinuz
Initrd = boot/initrd.img
Append = ro splash
StartEnabled = no
SyncEnabled = yes
NewEnabled = no
Autostart = yes
AutostartTimeout = 5
DefaultAction = sync
Hidden = yes

und ubuntu2204-efi.cfg

# global part of group specific grub.cfg template for linbo net boot
# thomas@linuxmuster.net
# 20231119
#

# if you don't want this file being overwritten by import_workstations remove the following line:
# ### managed by linuxmuster.net ###

# edit to your needs
set default=0
set timeout=0
set fallback=1

set gfxmode=auto
set gfxpayload=keep

insmod all_video
insmod png
insmod gfxterm
insmod gfxmenu
insmod minicmd
insmod progress

terminal_output gfxterm

background_color 42,68,87

# kernel & initrd
set linbo_kernel=/linbo64
set linbo_initrd=/linbofs64

# theme settings (modify for custom theme)
set theme=/boot/grub/themes/linbo/theme.txt
export theme

clear

# find linbo cache partition
set cachelabel="cache"
if [ -n "$cachelabel" ]; then
  search --label "$cachelabel" --set cacheroot
fi
if [ -z "$cacheroot" ]; then
  search --file /start.conf --set cacheroot
fi
if [ -z "$cacheroot" ]; then
  search --file "$linbo_initrd" --set cacheroot
fi
if [ -n "$cacheroot" ]; then
  set root="$cacheroot"
else
  set root="(hd0,4)"
fi

# linbo part, boot local or net (default #0)
menuentry 'LINBO' --class linbo {

 echo LINBO $bootflag for group ubuntu2204-efi
 echo

 if [ -e "$linbo_kernel" -a -e "$linbo_initrd" ]; then
  set bootflag=localboot
 elif [ -n "$pxe_default_server" ]; then
  set root="(tftp)"
  set bootflag=netboot
 fi

 if [ -n "$bootflag" ]; then
  echo -n "Loading $linbo_kernel ..."
  linux $linbo_kernel splash quiet dhcpretry=10 warmstart=no nomodeset acpi=off $bootflag
  echo
  echo -n "Loading $linbo_initrd ..."
  initrd $linbo_initrd
  boot
 else
  if [ "$grub_platform" = "pc" ]; then
   set ipxe="/ipxe.lkrn"
  fi
  if [ -e "$ipxe" ]; then
   echo -n "Initiating pxe boot ..."
   linux16 $ipxe dhcp
   boot
  fi
 fi

}
# group specific grub.cfg template for linbo net boot, should work with linux and windows operating systems
# thomas@linuxmuster.net
# 20201126
#

# start "Ubuntu" directly
menuentry 'Ubuntu (Start)' --class ubuntu_start {

 set oslabel="ubuntu"
 if [ -n "$oslabel" ]; then
  search --label "$oslabel" --set osroot
 fi
 if [ -n "$osroot" ]; then
  set root="$osroot"
 else
  set root="(hd0,2)"
 fi
 set win_efiloader="/EFI/Microsoft/Boot/bootmgfw.efi"

 terminal_output console
 if [ -e /boot/vmlinuz -a -e /boot/initrd.img ]; then
  linux /boot/vmlinuz ro splash root=/dev/nvme0n1p2
  initrd /boot/initrd.img
 elif [ -e /vmlinuz -a -e /initrd.img ]; then
  linux /vmlinuz ro splash root=/dev/nvme0n1p2
  initrd /initrd.img
 elif [ -e /boot/vmlinuz -a -e /boot/initrd ]; then
  linux /boot/vmlinuz ro splash root=/dev/nvme0n1p2
  initrd /boot/initrd
 elif [ -e /vmlinuz -a -e /initrd ]; then
  linux /vmlinuz ro splash root=/dev/nvme0n1p2
  initrd /initrd
 elif [ -e /boot/vmlinuz -a -e /boot/initrd.img ]; then
  linux /boot/vmlinuz ro splash root=/dev/nvme0n1p2
  initrd /boot/initrd.img
 elif [ -e /boot/vmlinuz ]; then
  linux /boot/vmlinuz ro splash root=/dev/nvme0n1p2
 elif [ -s /boot/grub/grub.cfg ] ; then
  configfile /boot/grub/grub.cfg
 elif [ "$grub_platform" = "pc" ]; then
  if [ -s /bootmgr ] ; then
   ntldr /bootmgr
  elif [ -s /ntldr ] ; then
   ntldr /ntldr
  elif [ -s /grldr ] ; then
   ntldr /grldr
  else
   chainloader +1
  fi
 elif [ -e "$win_efiloader" ]; then
  chainloader $win_efiloader
  boot
 fi
 terminal_output gfxterm

}

# boot LINBO and start "Ubuntu"
menuentry 'Ubuntu (Linbo-Start)' --class ubuntu_start {

 if [ -e "$linbo_kernel" -a -e "$linbo_initrd" ]; then
  set bootflag=localboot
 elif [ -n "$pxe_default_server" ]; then
  set root="(tftp)"
  set bootflag=netboot
 fi

 if [ -n "$bootflag" ]; then
  echo LINBO $bootflag for group ubuntu2204-efi
  echo
  echo -n "Loading $linbo_kernel ..."
  linux $linbo_kernel splash quiet dhcpretry=10 warmstart=no nomodeset acpi=off linbocmd=start:1 $bootflag
  echo
  echo -n "Loading $linbo_initrd ..."
  initrd $linbo_initrd
  boot
 fi

}

# boot LINBO, sync and start "Ubuntu"
menuentry 'Ubuntu (Sync+Start)' --class ubuntu_syncstart {

 if [ -e "$linbo_kernel" -a -e "$linbo_initrd" ]; then
  set bootflag=localboot
 elif [ -n "$pxe_default_server" ]; then
  set root="(tftp)"
  set bootflag=netboot
 fi

 if [ -n "$bootflag" ]; then
  echo LINBO $bootflag for group ubuntu2204-efi
  echo
  echo -n "Loading $linbo_kernel ..."
  linux $linbo_kernel splash quiet dhcpretry=10 warmstart=no nomodeset acpi=off linbocmd=sync:1,start:1 $bootflag
  echo
  echo -n "Loading $linbo_initrd ..."
  initrd $linbo_initrd
  boot
 fi

}

# boot LINBO, format os partition, sync and start "Ubuntu"
menuentry 'Ubuntu (Neu+Start)' --class ubuntu_newstart {

 if [ -e "$linbo_kernel" -a -e "$linbo_initrd" ]; then
  set bootflag=localboot
 elif [ -n "$pxe_default_server" ]; then
  set root="(tftp)"
  set bootflag=netboot
 fi

 if [ -n "$bootflag" ]; then
  echo LINBO $bootflag for group ubuntu2204-efi
  echo
  echo -n "Loading $linbo_kernel ..."
  linux $linbo_kernel splash quiet dhcpretry=10 warmstart=no nomodeset acpi=off linbocmd=format:2,sync:1,start:1 $bootflag
  echo
  echo -n "Loading $linbo_initrd ..."
  initrd $linbo_initrd
  boot
 fi

}

Hast du die cfg Datei mal neu erstellen lassen?

Nicht bewusst…wie mache ich das? Habe sie halt einfach mit den anderen configs vom 7.1 Server auf den 7.2 Server kopiert.

Es ist ja zum Glück nicht ganz so schlimm…die Clients starten ja dann irgendwann über grub - nut habe ich keine Lust bei jedem neuen Image die Turschuhe anzuziehen.

LG Daniel

Hallo Daniel,

das sind schon einige Anpassungen in den Dateien.

Welches Verhalten soll den erreicht werden? Dass sie syncen, wenn sie booten?
Es steht in der start.conf ja ein autostart mit 5 Sekunden und ein Default sync.
Welches Verhalten zeigen sie den?

Ich hab jetzt mehrere Hinweise:

  1. bei dir sind alle Partitionen bootabel: das ist in den Vorlagenstart.confDateien nicht der Fall.
    Also bitte mal alle bootable auf no setzen, außer das bei der EFI Partition.
    Damit das angewendet wird, muss der Client frisch partitioniert werden.

  2. acpi=off ist ein starker Switch. Ist der wirklich nötig? Bitte mal ohne versuchen.
    Ich hab maximal nomodeset und dhcpretry drin.

  3. lokale ist in der Vorlage de-de nicht de-DE

  4. es gab mal Probleme mit einem „offenen“ Cache am Ende der Partitionen. Da ist ja nur ein Ubuntu drauf: begrenz mal die Größe des Cache auf 20G: danach ist Partitionieren nötig.

normalerweise sollte es wurscht sein, ob linbo per PXE oder lokal gestartet wird: der einzige UNterschied ist dann normalerweise die Bootzeit (PXE dauert länger).

LG

Holger

Hallo Holger,
danke für die Hinweise.

  • Verhalten soll sein „Sync bei Boot“ mit autostart. Den „Start ohne Sync“ Button haben wir bewusst ausgeblendet.
  • acpi=off mache ich am Montag mal raus. Das ist auch ein Relikt aus früheren Zeiten.
  • de-DE ändere ich auch gerne ab.
  • Mit dem offenen Cache dachten wir, dass das so gewollt ist - Rest der Platte als Cache nehmen, so bleibt nichts unnötig übrig?!
    Ich vermute, dass beim lokalen Start die oben genannte Fehlermeldung auftaucht.

LG
Daniel

Hallo Daniel,

Ich vermute, dass beim lokalen Start die oben genannte Fehlermeldung auftaucht.

… ah: das war das Problem: er startet nur einmal, wenn du dran sitzt, per PXE und dann immer lokal mit der Fehlermeldung (dhcp blabla) und dann bootet er direkt das ubuntu und eben nicht über linbo. Deswegen musst du ran an den Rechner um linbo wieder starten zu lassen…

OK: da haben wir dann aber auch noch mehrere Möglichkeiten:

  1. lock boot Order im BIOS
  2. Bootreihenfolge beim Starten von ubuntu setzen lassen
  3. grub Menü vorschalten (so wie ich das überall mache).

Aber erstmal die Sachen von meiner Letzten Nachricht probieren.
Und wenn das nciht hilft nochmal ganz genau beobachten und beschreiben was passiert von
→ selber auf pxe umschalten, linbo booten, syncen, ubuntu startet, reboot … was genau wann passiert.

LG

Holger

Hallo Holger,
es muss irgendwie am lokalen Boot oder am grub liegen.
Die Boot-Order lässt sich an der Hardware-Klasse nicht ändern. Egal was ich im BIOS einstelle, nach dem Speichern ist wieder die alte Order (1. grub 2. ubuntu 3. PXE).
Löschen von ACPI=off hatte keine Änderung bewirkt.

Deshalb die Frage: Wie kann ich die Boot-Reihenfolge durch ubuntu setzen lassen ODER wie kann ich das grub Menü vorschalten, so dass linbo lokal sauber startet?
Wenn ich in BIOS manuell von grub boote, dann kommt die Fehlermeldung
Initiating pxe boot ...error: invalid filename 'dhcp' error: you need to load the kernel first.

LG
Daniel

Hi,

Mit efibootmgr --bootnext

MfG Buster

Hi!

Schon mal den LINBO-Kernel-Parameter forcegrub probiert?

VG, Thomas

5 Beiträge wurden in ein neues Thema verschoben: Frage zu Problemen mit dem Verteilen via torrent