LINBO 2.4 + GRUB: Keine Icons

Hallo @thomas.
Ich habe heute eine .cfg angepasst, so dass das GRUB-Menu anstelle von LINBO erscheint. Das funktioniert auch, doch habe ich leider die Icons (bis auf das eine LINBO-Icon) nicht so wie Du es in dem Screenshot gezeigt hast.

In der start.conf steht win10.png als Icon – aber gezeigt wird bei mir bis auf das LINBO-Icon nichts. Hast du eine Idee, woran das liegt?

Danke und viele Grüße,
Michael

Hallo Michael,

schiebe mal die cfg weg und starte linuxmuster-import-devices, dann hast
du eine cfg mit den entsprechenden Einträgen. Die musst du dann nur noch
anpassen, also ggf. die reinen Start-Einträge rausnehmen.

VG, Thomas

Hi Thomas.
hm – das habe ich gerade mal gemacht. Die .cfg wurde auch neu erzeugt – aber ein diff zur alten Datei zeigt keine wesentlichen Änderungen:

7c7
< # ### managed by linuxmuster.net ###
---
> # ### NOT managed by linuxmuster.net ###
10,11c10,11
< set default=0
< set timeout=0
---
> set default=1
> set timeout=3

So wie ich das sehe, sind die neuen Icons unter linbo/boot/grub/themes/linbo/icons, richtig? Wenn ich z.B. nach win10_start.png suche, erhalte ich zwei Orte, wo es die Datei gibt:

locate win10_start.png
/srv/linbo/boot/grub/themes/linbo/icons/win10_start.png
/var/cache/linuxmuster/linbo/iso/boot/grub/themes/linbo/icons/win10_start.png

In beiden liegen aber die gleichen Dateien…

Viele Grüße,
Michael

Hallo zusammen,

Die neue GUI enthält nur noch SVG Icons in /icons, könnte es sein, dass die die PNG Icons überschrieben haben?

Viele Grüße
Dorian

Also ich habe da nichts überschrieben … in dem Ordner liegen ja auch Dateinamen wie centos_start.png u.v.a. … die habe ich nicht erstellt.
Falls es nur .svg-Dateien sind: wo liegen sie bei dir?
Ein locate .svg |grep linbo liefert hier jedenfalls keine Treffer…

Ach so: Deine ganz neue GUI habe ich noch gar nicht installiert. Hier läuft noch die „normale“

Die sind in der linbo_gui32/64_7.tar.lz
Die wird beim Start von Linbo heruntergeladen und installiert, aber eigentlich dürfte das nur passieren, wenn in die GUI gebootet wird…

EDIT: Vielleicht ist bei dir die Installation mit den SVGs aber auch noch im Cache, ich weiß aber nicht, ob das geht…

Eine vielleicht etwas dumme Frage: Wie bekomme ich es hin, dass Linbo in das Grub Menü bootet statt in die GUI? Dann versuche ich es mal zu reproduzieren.

Ich habe es so gemacht:
Datei [...]/linbo/boot/grub/<meine-start-config>.cfg editiert und dort:
Die Zeile
# ### managed by linuxmuster.net ###
ersetzt durch:
# ### NOT managed by linuxmuster.net ###
(damit die Änderungen nicht beim nächsten linuxmuster-import-devices alle wieder weg sind.

Anschließend den Eintrag:

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

… wobei man die Nummern der Einträge sehen kann, wenn man
cat <meine-start-config>.cfg |grep menuentry laufen lässt

Wenn ich meine cfg von linuxmuster-import-devices neu erstellen lasse, dann sieht die so aus und die Icons sind da:

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

# 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 gfxpayload=800x600x16

# 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
#set font=/boot/grub/themes/linbo/unifont-regular-16.pf2

# load theme
#if [ -e "$theme" -a -e "$font" ]; then
# loadfont "$font"
 export theme
#fi

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

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

 echo LINBO $bootflag for group multi
 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,3)"
 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/vda3
  initrd /boot/initrd.img
 elif [ -e /vmlinuz -a -e /initrd.img ]; then
  linux /vmlinuz  root=/dev/vda3
  initrd /initrd.img
 elif [ -e /boot/vmlinuz -a -e /boot/initrd ]; then
  linux /boot/vmlinuz  root=/dev/vda3
  initrd /boot/initrd
 elif [ -e /vmlinuz -a -e /initrd ]; then
  linux /vmlinuz  root=/dev/vda3
  initrd /initrd
 elif [ -e /auto -a -e / ]; then
  linux /auto  root=/dev/vda3
  initrd /
 elif [ -e /auto ]; then
  linux /auto  root=/dev/vda3
 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 multi
  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 multi
  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 multi
  echo
  echo -n "Loading $linbo_kernel ..."
  linux $linbo_kernel quiet splash linbocmd=format:3,sync:1,start:1 $bootflag
  echo
  echo -n "Loading $linbo_initrd ..."
  initrd $linbo_initrd
  boot
 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,4)"
 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/vda4
  initrd /boot/initrd.img
 elif [ -e /vmlinuz -a -e /initrd.img ]; then
  linux /vmlinuz ro splash root=/dev/vda4
  initrd /initrd.img
 elif [ -e /boot/vmlinuz -a -e /boot/initrd ]; then
  linux /boot/vmlinuz ro splash root=/dev/vda4
  initrd /boot/initrd
 elif [ -e /vmlinuz -a -e /initrd ]; then
  linux /vmlinuz ro splash root=/dev/vda4
  initrd /initrd
 elif [ -e /vmlinuz -a -e /initrd.img ]; then
  linux /vmlinuz ro splash root=/dev/vda4
  initrd /initrd.img
 elif [ -e /vmlinuz ]; then
  linux /vmlinuz ro splash root=/dev/vda4
 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 multi
  echo
  echo -n "Loading $linbo_kernel ..."
  linux $linbo_kernel quiet splash linbocmd=start:2 $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 multi
  echo
  echo -n "Loading $linbo_kernel ..."
  linux $linbo_kernel quiet splash linbocmd=sync:2,start:2 $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 multi
  echo
  echo -n "Loading $linbo_kernel ..."
  linux $linbo_kernel quiet splash linbocmd=format:4,sync:2,start:2 $bootflag
  echo
  echo -n "Loading $linbo_initrd ..."
  initrd $linbo_initrd
  boot
 fi

}

VG, Thomas

Hi.
Ich nehme stark an, dass es an der Datei
/boot/grub/themes/linbo/theme.txt
liegt – denn da werden die .png-Files reingeholt, oder?
Fehlt da evtl das Durchsuchen der Subdirs – insbesondere von icons?

Bei mir fehlen die Icons auch …
Auch das Linbo Icon ist nicht das Richtige.
Interessanterweise funktionieren die Icons von allen Einträgen, die am Anfang nicht eingeblendet sind (also die, für die man erst runter scrollen muss)


also hier sieht es noch „nackter“ aus:

Übrigens: Ein Unterschied ist direkt zu erkennen: bei mir steht oben in der Kopfzeile linbo.png und bei Thomas steht ubuntu_syncstart.png

ich nehme an, dass die Icons nicht in den Cache des Clients übertragen wurden!? < das habe ich gerade überprüft – stimmt nicht!
Alle Icons sind auf dem Client!

Screenshot_20201214_195450

Hallo,

Ich weiss nicht, ob es das gleiche Problem ist, aber es sieht bei mir genauso in einem virtuellen Client in Proxmox :

OS is Ubuntu, mit dem Icon ubuntu.png. Auf dem Client sind alle Icons da :

$ linbo-ssh 10.0.0.100
~ # ls icons/ubuntu.* -al
-rw-r--r--    1 root     root          9205 Dec 22 13:45 icons/ubuntu.png
-rw-rw-r--    1 root     root          3609 Dec 19 20:41 icons/ubuntu.svg

Ich habe einfach das Paket linuxmuster-linbo-gui7 installiert, mehr nicht.

Gruß

Arnaud

Hallo nochmals,

Start.conf anpassen löst das problem : ubuntu.png --> ubuntu.svg.
Wahrscheinlich habe ich vergessen etwas zu lesen, sorry dafür.

Gruß

Arnaud

Hallo Arnaud,

Nein, du hast nichts vergessen, ist noch nicht dokumentiert :wink:

VG
Dorian

Das funktioniert bei der alten GUI bzw beim GRUB-Startmenu aber nicht …
Hier erscheinen weiterhin keine Icons :frowning:

Ich kann das nach wie vor nicht nachvollziehen. Works for me.

Abgesehen davon, in diesem Thread ist wohl einiges durcheinandergeraten.

VG, Thomas

Hallo Thomas,

Es kann doch eigentlich nur an der Datei /boot/grub/themes/linbo/theme.txt liegen, oder? Wenn ich das richtig sehe, ist das die einzige Datei, in der die Icons geladen werden. Kann es irgendwie sein, dass sich die Versionen unterscheiden? Oder durch welchen Prozess wird diese Datei (neu) erzeugt?

Viele Grüße,
Michael

Das ist die Theme-Definitionsdatei. Die wird bei mir im Editor erzeugt und mit dem Linbo-Paket ausgeliefert.

VG, Thomas

Hi.
Ok – dann schicke ich mal meine Datei zum Vergleich …
Hier sieht das so aus:

[root@server:  [...] linbo/boot/grub/themes/linbo]$ cat theme.txt 
# GRUB2 gfxmenu linbo theme
# Designed for any resolution
# thomas@linuxmuster.net
# 20201127

# Global Property
title-text: "LINBO Start-Menue"
title-color: "#fefe54"
desktop-image: "linbo_wallpaper.png"
desktop-color: "#000000"
terminal-font: "Unifont Regular 16"
terminal-box: "terminal_box_*.png"
terminal-left: "0"
terminal-top: "0"
terminal-width: "100%"
terminal-height: "100%"
terminal-border: "0"

# Show the boot menu
+ boot_menu {
  left = 16%
  top = 12%
  width = 68%
  height = 70%
  item_font = "Unifont Regular 16"
  item_color = "#cccccc"
  selected_item_color = "#ffffff"
  icon_width = 48
  icon_height = 48
  item_icon_space = 20
  item_height = 54
  item_spacing = 12
  selected_item_pixmap_style = "select_*.png"
}

# Show a countdown message using the label component
+ label {
  top = 82%
  left = 27%
  width = 30%
  align = "center"
  id = "__timeout__"
  text = "Starte in %d Sekunden ..."
  color = "#cccccc"
  font = "Unifont Regular 16"
}

Wenn ich das richtig sehe, werden die Icons an der Stelle select_*.png reingeholt, oder?

Viele Grüße,
Michael

Hallo, Michael,

was ist denn da oben passiert bei title-text und title-color ? Lösch da mal die (versteckten) Sonderzeichen 'raus, evtl. liegt es ja daran (siehe die Färbung)!
(Nur eine Vermutung)

L.G.
Christoph