Linbo fehler nach aufnahme des Rechners, "Initializing Hardware"

Hallo Patrick,

da hast du den richtigen Riecher.
Es Fehlt der Treiber für die Intel I219-V.

Schau mal hier:

Ich hab auf linbo 4 upgedatet, dann ging die Intel Netzwerkkarte.
linbo 4 gibt es aber nur für lmn7

LG

Holger

Hallo Patrick,

der I219-V (2) ist eigentlich schon relativ alt und sollte im e1000e- Treiber von Linbo in der richtigen Version enthalten sein. Ansonsten könntest du den Rechner ja nicht erfolgreich aufnehmen.

LG
Christian

Hallo Patrick,

es hat schon einige Male geholfen auf der Konsole des Servers den Befehl

update-linbofs

abzusetzen.

Siehe auch:

Gruß

Alois

Hallo Patrick
ich habe das jedes Mal nach dem 1. Synchronisieren meiner HP-Laptops (nvme). Ich starte über PXE und habe mit linbo-remote -p partition,format,sync:1,start:1 gemacht, muss dann aber immer nochmal von Hand einmal PXE-Boot auswählen und erst dann startet der Rechner auch von Festplatte durch.
LG
Max

Hallo Max,

gibt es einen Grund warum du nicht mit dem Parameter „-c“ anstatt „-p“ arbeitest?

Beste Grüße

Thorsten

Hi Thorsten,

ja, manchmal kommt ein Rechner nicht hoch (WOL geht nicht) oder er kriegt keine IP oder oder… Und so bleibt die Aufgabe dann „on hold“ bis sie wirklich abgerufen wurde.

LG
Max

Hallo zusammen!

Ich habe hier ganau das gleich Problem.
(Linbo Version 2.4.3-4 Idiot Wind)

Nach dem Update uf lmn7 laufen alle alten PCs
(die mit Linbo unter lmn6.2 perfekt funktioniert haben)
in den Fehlerscreen „Initializing hardware“.

Dann habe ich nur die Möglichkeit „1 reboot“ oder „2 shutdown“.
Habe es mit UEFI und legacy-BIOS versucht - beides mal das Gleiche.

Auf dem Server habe ich schon ein „update-linbofs“ und
„apt install linuxmuster-linbo-gui7“ gemacht - keine Änderung.

Auch ohne die GUI (apt purge linuxmuster-linbo-gui7) schon probiert.
Keine Änderung.

Bis zu Rechneraufnahme komme ich erst gar nicht.

Wie im Thread https://ask.linuxmuster.net/t/linbo-meldet-initializing-hardware-und-bleibt-stehen/7181/5 beschrieben schon alles probiert… :worried:

Wie bekomme ich Linbo auf lmn7 zum laufen?
Noch eine Idee?

Viele Grüße

Wolfgang

Hallo Wolfgang,

hast du nach dem update auf die lmn7 auch die grub.cfg Dateien mal neu
erstellen lassen?
Die werden beim linuxmuster-import-devices neu erstellt, wenn das nciht
per ändern der managed by linuxmuster.net Zeile verhindert wird.

hast du update-linbofs
laufen lassen?

LG

Holger

Hallo Holger!

Auf dem Server habe ich update-linbofs gemacht.
Lief auch ohne Fehler durch.
Anschließend auch noch apt install linuxmuster-linbo-gui7 durchgeführt.

Auch habe ich mal die GUI mit apt purge linuxmuster-linbo-gui7 deinstalliert - gleiches Bild.
(Danach wieder installiert!)

Wird die grub.cfg nicht bei jedem „Speichern & Importieren“ in der Web-GUI neu erstellt?
Hier das Log:

[Kommt extra, da Beitrag zu lang…]

sieht soweit doch gut aus?

Witzigerweise startet Linbo, wenn der PC noch nicht aufgenommen ist normal.

Es kommt der Hinweis:

Dann erscheint der PC auch in der Web-GUI unter Geräte und sowie ich ihn mit
„Speichern & Importieren“ aufnehme, läuft Linbo in den Fehler… :worried:

Woran kann das liegen?

Viele Grüße

Wolfgang

Hier die /srv/linbo/boot/grub/grub.cfg:

#
# default grub.cfg, pxe boot version (placed on server, don't edit!)
# thomas@linuxmuster.net
# 20210202
#

set timeout=0

set prefix=/boot/grub
set netroot="(tftp)"

# one menu entry does it all
menuentry 'Default' {

 # look for reboot grubenv pipe on server and execute it if present
 set remote_grubenv=$prefix/spool/${net_pxe_hostname}.reboot
 if [ -s "$remote_grubenv" ]; then
  echo -n Loading remote grub environment ...
  load_env -f "$remote_grubenv"
 fi

 # if grub reboot variable is not set from server
 if [ -z "$reboot_grub" ]; then

  # look for it on cache partition
  if search --set root --file /start.conf; then

   # save local root in variable
   set localroot="${root}"

   # read grub environment variables
   if [ -s /boot/grub/grubenv ]; then
    echo -n Loading local grub environment ...
    load_env
    set localboot=yes
    echo
   fi

  else
   clear
  fi

 fi

 # if reboot is set try to load the os on the given partition
 if [ -n "${reboot_label}" ]; then
  search --label "$reboot_label" --set tmproot
 fi
 if [ -n "${reboot_grub}" -a -z "${tmproot}" ]; then
  set tmproot="${reboot_grub}"
 fi

 if [ -n "${tmproot}" ]; then
  terminal_output console
  echo Booting operating system ...
  echo

  if [ "$localboot" ]; then
   set reboot_grub=""
   set reboot_label=""
   save_env reboot_grub
   save_env reboot_label
  fi
  set root="${tmproot}"
  set win_efiloader="/EFI/Microsoft/Boot/bootmgfw.efi"

  if [ -e "$reboot_kernel" -a -e "$reboot_initrd" ]; then
   linux $reboot_kernel $reboot_append
   initrd $reboot_initrd
   boot
  elif [ -e /boot/vmlinuz -a -e /boot/initrd.img ]; then
   linux /boot/vmlinuz $reboot_append
   initrd /boot/initrd.img
   boot
  elif [ -e /boot/vmlinuz -a -e /boot/initrd ]; then
   linux /boot/vmlinuz $reboot_append
   initrd /boot/initrd
   boot
  elif [ -e /vmlinuz -a -e /initrd.img ]; then
   linux /vmlinuz $reboot_append
   initrd /initrd.img
   boot
  elif [ -e /vmlinuz -a -e /initrd ]; then
   linux /vmlinuz $reboot_append
   initrd /initrd
   boot
  elif [ -s /boot/grub/grub.cfg ] ; then
   configfile /boot/grub/grub.cfg
  elif [ "$grub_platform" = "pc" ]; then
   if [ -s /bootmgr ] ; then
    ntldr /bootmgr
    boot
   elif [ -s /ntldr ] ; then
    ntldr /ntldr
    boot
   elif [ -s /grldr ] ; then
    ntldr /grldr
    boot
   else
    chainloader +1
    boot
   fi
  elif [ -e "$win_efiloader" ]; then
   chainloader $win_efiloader
   boot
  fi

 fi

 # finally fallback to netboot if previous boot methods were not successful
 set root="${netroot}"

 # compute path to group specific config
 if [ "$grub_platform" = "efi" ]; then
  if [ -n "$net_efinet0_extensionspath" ]; then
   set group="$net_efinet0_extensionspath"
   set net_pxe_hostname="$net_efinet0_hostname"
  elif [ -n "$net_efinet1_extensionspath" ]; then
   set group="$net_efinet1_extensionspath"
   set net_pxe_hostname="$net_efinet1_hostname"
  elif [ -n "$net_efinet2_extensionspath" ]; then
   set group="$net_efinet2_extensionspath"
   set net_pxe_hostname="$net_efinet2_hostname"
  fi
 else
  set group="$net_pxe_extensionspath"
 fi
 set groupcfg="$prefix/${group}.cfg"
 set hostcfg="$prefix/hostcfg/${net_pxe_hostname}.cfg"

 # try host specific config from server and boot it if exists
 configfile $hostcfg

 # try group specific config from server and boot it if exists
 configfile $groupcfg

 # try local boot in the other case
 if [ -n "$localroot" ]; then
  set root="${localroot}"
  # load local custom.cfg if present
  set customcfg=$prefix/custom.cfg
  if [ -s "$customcfg" ]; then
   configfile $customcfg
  fi
 fi

 # finally try netboot linbo directly in failsafe mode
 set root="${netroot}"
 set gfxpayload=640x480x16

 # 32bit pae, non pae or 64bit kernel
 if cpuid -l; then
  set linbo_kernel=/linbo64
  set linbo_initrd=/linbofs64.lz
 elif cpuid -p; then
  set linbo_kernel=/linbo
  set linbo_initrd=/linbofs.lz
 else
  set linbo_kernel=/linbo-np
  set linbo_initrd=/linbofs-np.lz
 fi
 echo "LINBO netboot in failsafe mode"
 echo -n "Loading $linbo_kernel .."
 linux $linbo_kernel quiet netboot
 echo
 echo -n "Loading $linbo_initrd .."
 initrd $linbo_initrd
 boot
}

Hallo Wolfgang,

das sit nciht die richtige Datei.
Ich meine die grub.cfg Dateien, nicht diese (sorry: ungenau ausgedrückt).
Also die der GRUPPE.

/srv/linbo/boot/grub/GRUPPE.cfg

und da drin muss die managed by linuxmuster.net Zeile „unverletzt“ sein (ist die 4te oder 6te Zeile) sonst wird sie nicht neu geschrieben.

Mach mal linuxmuster-import-devices
Am Ende wird dir eien Zusammenfassung für jede Gruppe angezeigt mit
„present“, „replaced“ … am Ende.
Da sollte bei dir bei deiner Gruppe stehen „replaced“

####   sevenfsc        | present              | replaced                  ####
####   bionic-lmg-nwt  | present              | present                   ####
####   bionic-lmg-nwt-sda | present              | present                ####
####   bionic-lmg-lap120 | present              | present                 ####
####   yogawin10uefi   | present              | replaced                  ####
####   bionic-lmg-lap  | present              | present                   ####
####   printer         | not yet configured!  | not yet configured!       ####
####   laptop          | not yet configured!  | not yet configured!       ####
------------------------------------------------------------------------------
#### Restarting services:                                                 ####
#### * isc-dhcp-server .............................................. OK! ####
------------------------------------------------------------------------------
#### linuxmuster-import-devices finished at 2021-11-09 11:15:08           ####
------------------------------------------------------------------------------

LG

Holger

Hallo Holger!

Wenn ich in der Web-GUI ein „Speichern & Importieren“ mache kommt im Log:

------------------------------------------------------------------------------
#### linuxmuster-import-devices startet at 2021-11-09 12:20:01            ####
------------------------------------------------------------------------------
#### Starting sophomorix-device syntax check:                             ####
#### sophomorix-device finished  OK!                                      ####
------------------------------------------------------------------------------
#### Working on dhcp configuration for devices                            ####
#### * in subnet 10.0.0.0/16:                                             ####
####   lm7             | 10.0.0.1        | addc            | 0 |          ####
####   firewall        | 10.0.0.254      | server          | 0 |          ####
####   KARS-Win10-PadNetz | 10.0.0.140      | staffcomputer   | 0 |        ####
####   xx-xx           | 10.0.0.5        | classroom-stude | 1 | bios64   ####
------------------------------------------------------------------------------
#### Working on linbo/grub configuration for devices:                     ####
####   xx-xx           | Win10                                            ####
------------------------------------------------------------------------------
#### Working on linbo/grub configuration for groups:                      ####
####                   | linbo start.conf     | grub cfg                  ####
####   ----------------+----------------------+---------------------      ####
####   Win10           | present              | replaced                  ####
------------------------------------------------------------------------------
#### Restarting services:                                                 ####
#### * isc-dhcp-server .............................................. OK! ####
------------------------------------------------------------------------------
#### linuxmuster-import-devices finished at 2021-11-09 12:20:13           ####
------------------------------------------------------------------------------

Die /srv/linbo/boot/start.confWin10.cfg:

[LINBO]
Server = 10.0.0.1
Group = Win10
Cache = /dev/nvme0n1p2
RootTimeout = 600
AutoPartition = no
AutoFormat = no
AutoInitCache = no
DownloadType = torrent
GuiDisabled = no
UseMinimalLayout = no
Locale = de-de
BackgroundColor = 394f5e
BackgroundFontColor = white
ConsoleFontColorStdout = lightgreen
ConsoleFontColorStderr = orange
SystemType = bios64
KernelOptions = quiet splash

[Partition]
Dev = /dev/nvme0n1p1
Label = windows
Size = 100G
Id = 7
FSType = ntfs
Bootable = yes

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

[OS]
Name = Windows 10
Version = 
Description = Windows 10 1903
IconName = win10.png
Image = 
BaseImage = None
Boot = /dev/nvme0n1p1
Root = /dev/nvme0n1p1
Kernel = auto
Initrd = 
Append = 
StartEnabled = yes
SyncEnabled = yes
NewEnabled = yes
Autostart = no
AutostartTimeout = 5
DefaultAction = start
RestoreOpsiState = no
ForceOpsiSetup = 
Hidden = yes

Bin ich da in der richtigen .conf?
Kein „managed by linuxmuster.net“.

Die Profile habe ich über Geräteverwaltung → LINBO → und den Button „+ Erstellen“ erzeugt und laut Anleitung angepasst.

Viele Grüße

Wolfgang

Hi Holger!

Sorry, war im falschen Verzeichnis:

Hier die /srv/linbo/boot/grub/Win10.cfg

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

# 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

# 32bit pae, non pae or 64bit kernel
if cpuid -l; then
 set linbo_kernel=/linbo64
 set linbo_initrd=/linbofs64.lz
elif cpuid -p; then
 set linbo_kernel=/linbo
 set linbo_initrd=/linbofs.lz
else
 set linbo_kernel=/linbo-np
 set linbo_initrd=/linbofs-np.lz
fi

# 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,2)"
fi

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

 echo LINBO $bootflag for group Win10
 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 quiet splash $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 "Windows 10" directly
menuentry 'Windows 10 (Start)' --class win10_start {

 set oslabel="windows"
 if [ -n "$oslabel" ]; then
  search --label "$oslabel" --set osroot
 fi
 if [ -n "$osroot" ]; then
  set root="$osroot"
 else
  set root="(hd0,1)"
 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  root=/dev/nvme0n1p1
  initrd /boot/initrd.img
 elif [ -e /vmlinuz -a -e /initrd.img ]; then
  linux /vmlinuz  root=/dev/nvme0n1p1
  initrd /initrd.img
 elif [ -e /boot/vmlinuz -a -e /boot/initrd ]; then
  linux /boot/vmlinuz  root=/dev/nvme0n1p1
  initrd /boot/initrd
 elif [ -e /vmlinuz -a -e /initrd ]; then
  linux /vmlinuz  root=/dev/nvme0n1p1
  initrd /initrd
 elif [ -e /auto -a -e / ]; then
  linux /auto  root=/dev/nvme0n1p1
  initrd /
 elif [ -e /auto ]; then
  linux /auto  root=/dev/nvme0n1p1
 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 "Windows 10"
menuentry 'Windows 10 (Linbo-Start)' --class win10_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 Win10
  echo
  echo -n "Loading $linbo_kernel ..."
  linux $linbo_kernel quiet splash linbocmd=start:1 $bootflag
  echo
  echo -n "Loading $linbo_initrd ..."
  initrd $linbo_initrd
  boot
 fi

}

# boot LINBO, sync and start "Windows 10"
menuentry 'Windows 10 (Sync+Start)' --class win10_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 Win10
  echo
  echo -n "Loading $linbo_kernel ..."
  linux $linbo_kernel quiet splash 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 "Windows 10"
menuentry 'Windows 10 (Neu+Start)' --class win10_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 Win10
  echo
  echo -n "Loading $linbo_kernel ..."
  linux $linbo_kernel quiet splash linbocmd=format:1,sync:1,start:1 $bootflag
  echo
  echo -n "Loading $linbo_initrd ..."
  initrd $linbo_initrd
  boot
 fi

}

Hier sieht’s gut aus!
Allerdings ist die Zeile auskommentiert…

Hallo!

Hier noch die /etc/linuxmuster/sophomorix/default-school/devices.csv

server;lm7;nopxe;00:50:56:ac:07:a7;10.0.0.1;;;;addc;;0;;;;SETUP;
server;firewall;nopxe;00:50:56:AC:06:1B;10.0.0.254;;;;server;;0;;;;SETUP;
PC;KARS-Win10-PadNetz;nopxe;00:50:56:AC:E2:0A;10.0.0.140;;;;staffcomputer;;0;;;;;
xx;xx-xx;Win10;6C:4B:90:7A:5C:2A;10.0.0.5;;;;classroom-studentcomputer;;1;;;;;

Hallo Wolfgang,

mehrere Anmerkungen zu deinen Rechnern in der devices.csv:

  1. dein erster Client hat den Raum PC, das halte ich in zweierlei HInsicht für schlecht: PC ist sehr generisch und es könnte irgend wann dopplungen geben, also lieber r100 oder etwas ähnliches nehmen. Und zweitens: ich würde mich bei Bezeichnungen von Raum, Rechnernamen und Hardwareklasse immer auf den lowercase beschränken
  2. der KARS-Win10-PaedNetz Rechner hat eine IP eingetragen, die im normalen DHCP Lease liegt: das ist keine gute Idee. IN meinem Netz liegt der Lease zwischen 10.0.0.100 und 10.0.0.200 Da sollte nie ein eingetragener Rechner rein
  3. der andere PS hat Win10 als Hardwareklasse. Kann man vielelicht so machen, ich würde es nie machen. Nimm mal win10 oder besser nicht so generisch, also win10

Danach linuxmuster-import-devices
und dann eine Vorlage aus /srv/linbo/examples/ nach /srv/linbo/start.conf.win10 bewegen, anpassen (Partitionsgröße und Imagename) und nochmal import machen.

In deiner start.conf.Win10 hat die Cachpartition keine Größe und liegt am Ende: das hat schon zu Problemen geführt.

LG

Holger

Hallo Wolfgang,

das soll so sein.
Ein linboscript liest das aus und erwartet das genau so: mit den vier Hashtags am Anfang genau so, wie sie da sind.

LG

Holger

Hallo Wolfgang,

in deiner start.conf steht:

… das wird so nix.
Da muss der Name des Basisimages rein.
Bei mir ist das
win10.cloop

import nicht vergessen.

LG

Holger

Hallo Patrick,
ich habe dieses Phänomen sogar direkt vor dem Registrieren, also an manchen PC kommt Linbo gar nicht erst hoch. Aber auf dem Server mit

cat /var/log/syslog | grep DHCP

sieht man ja gleich die MAC und kann die devices ergänzen, dann startet auch Linbo.
Nach dem Partitionieren und Bespaßen mit dem Betriebssystem muss ich bei mir aber immer nochmal übers Neztwerk starten (sonst kommt Deine Fehlermeldung). Erst dann funktioniet HardDisk-Boot.
LG
Max

Hallo!

Lösung gefunden!

Die Netzwerkkarte hatte nicht genug Zeit zu starten und Linbo ist in den Fehler gelaufen.
Die Lösung ist in den Kernel-Optionen über das Pull-Down-Menü den Eintrag

dhcpretry=9

zu ergänzen.

Hier die Langversion: Link zum eigenen Thread

Vielen Dank noch mal für die Hilfe!

Hallo Wolfgang,

Glückwunsch und Danke für die Rückmeldung.

Beste Grüße

Thorsten