Bootreihenfolge von Linbo verhindern

Hallo zusammen,

ich benutze linbo in einer vielleicht etwas ungewöhnlichen Art:

In /srv/linbo/boot/grub/debian12uefi.cfg steht normalerweise

set default=1
set timeout=5
set fallback=1

Was zur Folge hat, dass der Startbildschirm so aussieht:


Beim Start des Rechners kommt man sofort auf diese grub-Seite, die 5 Sekunden wartet und dann, wenn keine Taste gedrückt wurde das Debian startet.

Morgens um 7:30 startet der server per WOL alle Rechner, die dann nach 5 Minuten wieder in den Standby gehen… So muss keiner warten…

Und Sonntags 15:00 wird in die In /srv/linbo/boot/grub/debian12uefi.cfg das geschrieben:

set default=0
set timeout=0
set fallback=1

Dann wird linbo-remote -r og1 -p sync:1,halt ausgeführt, danach die Rechner wieder per WOL gestartet.
Die Rechner starten, synchronisieren und fahren danach wieder herunter. So dass Sie am Montag wieder ganz frisch dastehen.

Leider klappt das nicht bei allen Rechnern, da in der Bootreihenfolge beim Linbo-Start der Netzwerkboot von Platz 1 auf Platz 2 hinter grub gesetzt wird. Was zur Folge hat, dass nicht Linbo sondern sofort Debian ohne Synchronisierung gestartet wird.
Im BIOS kann ich die Bootreihenfolge leider nicht schützen.
Anfangs hatte ich ja Debian in Verdacht, aber die Bootreihenfolge ändert sich schon, wenn ich Linbo Starte und in Linbo den Rechner wieder herunterfahre.

Hat mir jemand einen Tipp, wie ich Linbo abgewöhnen kann, die Bootreihenfolge zu ändern?

Was macht eigentlich set fallback=1?

Vielen Dank schon mal für’s Mitdenken.
Gruß,
Mathias

Hallo zuammen,
in der Zwischenzeit habe ich einen gangbaren Weg für mich gefunden.

Naja, das ist eine grub-Einstellung, die dafür sorgt, dass wenn beim Start des BS etwas schief geht, dass dann das Betriebssystem 1 gestartet wird. Hat also nix mit der Bootreihenfolge zu tun…

Linbo verändert die Bootreihenfolge und zwar gibt es die Funktion set_efibootorder()in der Datei usr/share/linbo/shell_functions.
Dort steht ab Zeile 628 das

  # searchstrings for grub (local boot) and efi network devices
#  for i in grub ipv4 pxev4 "pxe ip4" "efi network" "usb nic" "onboard nic" "EFI PXE"; do
  for i in ipv4 pxev4 grub "pxe ip4" "efi network" "usb nic" "onboard nic" "EFI PXE"; do
    nr="$(print_efi_bootnr "$i" "$efiout")"
    [ -z "$nr" ] && continue
    if [ -n "$bootorder" ]; then
      bootorder="$bootorder,$nr"
    else
      bootorder="$nr"
    fi
  done

Die Bootreihenfolge wird, glaube ich, hier festgelegt

#  for i in grub ipv4 pxev4 "pxe ip4" "efi network" "usb nic" "onboard nic" "EFI PXE"; do
  for i in ipv4 pxev4 grub "pxe ip4" "efi network" "usb nic" "onboard nic" "EFI PXE"; do

In der ursprünglichen Version (hier auskommentiert) wird als erstes grub gesetzt und danach der Netzwerkboot. Die Reihenfolge habe ich geändert.

Diese geänderte Datei habe ich erst mal in /root/linbofs/myscript.sh abgelegt. Um das ins Linbo-Filesystem zu bekommen, habe ich in /var/lib/linuxmuster/hooks/update-linbofs.pre.d/01_anpassungen folgendes Skript hinterlegt:

#!/bin/bash
#
#
# thomas@linuxmuster.net
# 20231112
#

echo "### Deaktiviere Bootreihenfolge-Umstellung ###"

# this script will be executed in the root directory of the linbo filesystem

# copies my script to linbofs
myscript="/root/linbofs/myscript.sh"
cp "$myscript" usr/share/linbo/shell_functions

Das Skript muss dann noch ausführbar gemacht werden und mit update-linbofs muss das Linbo-Filesystem mit den Änderungen generiert werden.

Witzigerweise musste ich den Client formatieren, damit die Änderung übernommen wurde…

Vielleicht kann’s ja jemand brauchen. Meine Anwendung ist, ich geb’s zu, ziemlich speziell :slight_smile:

Gruß,
Mathias

2 „Gefällt mir“

Hallo Mathias,

sehr interessant für mich: Danke :slight_smile:

LG

Holger