Bij het opstarten van recente Linux systemen wordt tegenwoordig Plymouth en Grub 2 gebruikt. Plymouth zorgt ervoor dat uw Linux besturingssysteem correct opstart. Daarbij toont het met behulp van animaties de voortgang van het opstarten van uw favoriete Linux systeem. Plymouth maakt gebruik van recente technieken om de animatie mooi en vloeiend te laten verlopen, zonder daarbij het opstartproces te vertragen. Voor meer informatie kan je terecht op freedesktop.org.
Deze tip is het beloofde vervolg op de tip Puur Xplanet, alhoewel je deze tip ook afzonderlijk kunt gebruiken.
Bij het testen van opstartprocedures maak ik gebruik van virtuele computers aangemaakt met VMware of VirtualBox. Als er dan iets fout gaat, waardoor het systeem tijdens het opstarten vastloopt, heeft dat geen zo'n dramatische gevolgen. M.a.w. wees voorzichtig en zorg dat je uw systeem steeds op een alternatieve manier kunt opstarten. Daarbij denk ik dan vooral aan de installatie DVD van uw Linux distributie of Rescue CD's zoals SystemRescueCD.
Zoals gewoonlijk maak ik voor deze tip gebruik van openSUSE 12.2. Met wat aanpassingen moet de hier beschreven procedure ook op andere recente distributies toepasbaar zijn.
KSplash zorgt voor een geanimeerde achtergrond bij het opstarten van de Bureaubladomgeving KDE.
Werkwijze (vervang daarbij /home/dany door het pad van uw eigen persoonlijke map):xplanet -num_times 1 -geometry 1366x768 -center +683+371 -longitude 3.13 -config /home/dany/.pinda/xplanet/xplanet.config -date `date +%Y%m%d.120000` -output /home/dany/silent-1366x768.png
rm /home/dany/.kde4/cache*/ksplashx/*
su
convert /home/dany/silent-1366x768.png -resize 1280x1024\! /usr/share/kde4/apps/ksplash/Themes/ksplashx-suse/1280x1024/background.jpg
convert /home/dany/silent-1366x768.png -resize 1600x1200\! /usr/share/kde4/apps/ksplash/Themes/ksplashx-suse/1600x1200/background.jpg
convert /home/dany/silent-1366x768.png -resize 1920x1080\! /usr/share/kde4/apps/ksplash/Themes/ksplashx-suse/1920x1080/background.jpg
convert /home/dany/silent-1366x768.png -resize 1920x1200\! /usr/share/kde4/apps/ksplash/Themes/ksplashx-suse/1920x1200/background.jpg
convert -size 408x234 xc:#12345600 /usr/share/kde4/apps/ksplash/Themes/ksplashx-suse/1920x1200/rectangle.png
De laatste opdracht vervangt het kader door een volledig transparante afbeelding waardoor er geen kader meer is.Plymouth maakt deel uit van het geïnstalleerde besturingssysteem, waardoor updates van plymouth, het meegeleverde plymouth thema en de kernel uw eigen thema gedeeltelijk of helemaal teniet doet. Na zo'n update is het dus noodzakelijk om bepaalde hieronder beschreven handelingen te herhalen om het eigen thema te herstellen. Updates van het opstartsysteem en/of kernel komen echter niet zo veel voor.
Pas als systeembeheerder het originele Plymouth thema met de volgende opdrachten aan:cp /home/dany/silent-1366x768.png /usr/share/plymouth/themes/openSUSE/background.png
convert /home/dany/silent-1366x768.png -resize 1024x768\! /usr/share/plymouth/themes/openSUSE/background.png
sed -i.ori -e 's/logo.x = Window.GetX () + Window.GetWidth () \/ 2 - logo.width \/ 2;/logo.x = 10;/' /usr/share/plymouth/themes/openSUSE/openSUSE.script
sed -i -e 's/logo.y = Window.GetY () + Window.GetHeight () \/ 2 - logo.height;/logo.y = 10;/' /usr/share/plymouth/themes/openSUSE/openSUSE.script
convert -size 96x12 xc:#12345600 /usr/share/plymouth/themes/openSUSE/progress_bar.png
convert /home/dany/silent-1366x768.png /home/dany/silent-1366x768.jpg
convert /home/dany/silent-1366x768.png -resize 1024x768\! /home/dany/silent-1024x768.jpg
cp /home/dany/silent-1024x768.jpg /etc/bootsplash/themes/openSUSE/images/
cp /home/dany/silent-1366x768.jpg /etc/bootsplash/themes/openSUSE/images/
mv /home/dany/silent-1024x768.jpg /etc/bootsplash/themes/openSUSE/images/bootsplash-1024x768.jpg
mv /home/dany/silent-1366x768.jpg /etc/bootsplash/themes/openSUSE/images/bootsplash-1366x768.jpg
De hier dubbel gebruikte resoluties dienen om problemen met niet door de bootmanager herkende en doorgegeven resoluties op te vangen.
Ik heb ondervonden dat de bootmanager Grub 2 op mijn laptop met een scherm met een resolutie van 1366x768 een resolutie doorgeeft van 1024x768.
Grub 2 ontvangt de resolutie informatie van de bios die blijkbaar de 1366x768 resolutie niet ondersteunt.
Eenmaal het besturingssysteem is geladen, worden de stuurprogramma's van Xorg gebruikt en deze herkennen en gebruiken de 1366x768 resolutie zonder problemen.mkinitrd
Grub 2 verzorgt de eerste stap bij het opstarten van de computer. Op mijn systeem staat de bootmanager Grub 2 steeds op een aparte partitie. Waardoor deze geen deel uitmaakt van de geïnstalleerde distributie. De werkwijze om met SystemRescueCD een aparte bootpartitie aan te maken kun je lezen in de tip Harde schijf voorbereiden met SystemRescueCD.
Na de installatie van Grub 2 op een aparte bootpartitie, maak je een Grub thema als volgt aan:# Globale instellingen # Tijd in seconden om een besturingssysteem te kiezen set timeout=90 # standaard te starten besturingssysteem set default=0 # te starten besturingssysteem na het mislukken van het starten van het standaard besturingssysteem set fallback=1 # Wacht op een toets na het vullen van een scherm set pager=1 # functie om modules met grafische stuurprogramma's te laden function load_video { insmod efi_gop insmod efi_uga insmod ieee1275_fb insmod vbe insmod vga insmod video_bochs insmod video_cirrus } # te gebruiken lettertype font=unicode # module laden om PNG afbeeldingen weer te geven insmod png # bestand met beschrijving te gebruiken thema, $prefix bevat het pad naar dit configuratiebestand (standaard /boot/grub2) theme=$prefix/theme/theme.txt # configureer de grafische omgeving indien het lettertype gevonden en geladen is if loadfont $font ; then # grafische resolutie en kleurdiepte instellen # indien de automatisch gekozen resolutie niet de optimale resolutie is, kun je deze manueel instellen: set gfxmode=1366x768 set gfxmode=auto # grafische stuurprogramma's laden load_video # Geef de gebruikte resolutie door aan het te starten besturingssysteem set gfxpayload=keep insmod gfxterm # map met vertalingen set locale_dir=$prefix/locale # te gebruiken taal set lang=nl_NL # module met vertaalsysteem laden insmod gettext fi # grafische terminal gebruiken terminal_output gfxterm # de beschrijving van de menu-items met de verschillende besturingssystemen # de optie -class bepaald het te gebruiken pictogram in de map theme/icons menuentry 'openSUSE 12.2' --class opensuse { set root='hd0,msdos3' linux /boot/vmlinuz root=/dev/sda3 video=1366x768 resume=/dev/sda2 splash=silent quiet showopts initrd /boot/initrd } menuentry 'SystemRescueCD' --class recovery { loopback loop /systemrescuecd.iso linux (loop)/isolinux/rescue32 isoloop=systemrescuecd.iso setkmap=be initrd (loop)/isolinux/initram.igz } menuentry 'Linux terugzetten' --class recovery { loopback loop /systemrescuecd.iso linux (loop)/isolinux/rescue64 isoloop=systemrescuecd.iso setkmap=be restorelinux initrd (loop)/isolinux/initram.igz } menuentry 'Rsync backup' --class recovery { loopback loop /systemrescuecd.iso linux (loop)/isolinux/rescue64 isoloop=systemrescuecd.iso setkmap=be backuprsync initrd (loop)/isolinux/initram.igz } menuentry 'Linux backuppen' --class recovery { loopback loop /systemrescuecd.iso linux (loop)/isolinux/rescue64 isoloop=systemrescuecd.iso setkmap=be backuplinux initrd (loop)/isolinux/initram.igz } menuentry 'PindaNet Live DVD' --class opensuse { loopback loop /PindaNet_Live_DVD.i686-12.2.iso linux (loop)/boot/i386/loader/linux ramdisk_size=512000 ramdisk_blocksize=4096 isofrom=/dev/sda3:/PindaNet_Live_DVD.i686-12.2.iso splash=silent quiet showopts kiwidebug=1 initrd (loop)/boot/i386/loader/initrd }
vbeinfo
cp /usr/share/plymouth/themes/backgroud.png /backup/boot/grub2/theme/background.png
cp /backup/boot/grub2/theme/boot_menu_c.png /backup/boot/grub2/theme/select_c.png
cp /backup/boot/grub2/theme/boot_menu_c.png /backup/boot/grub2/theme/progress_bar_c.png
cp /backup/boot/grub2/theme/boot_menu_c.png /backup/boot/grub2/theme/progress_highlight_c.png
# PindaNet grub2 theme based on openSUSE grub2 theme # achtergrondafbeelding desktop-image: "background.png" # titel title-text: "" # configuratie van de terminal: afbeeldingen waarmee een terminalvenster wordt opgebouwd en lettertype terminal-box: "terminal_*.png" terminal-font: "Gnu Unifont Mono Regular 16" # plaats en grootte van het bootmenu op het scherm + boot_menu { left = 0% width = 25% top = 30% height = 60% # menu_pixmap_style = "boot_menu_*.png" # opmaak van de menu-items item_font = "DejaVu Sans Bold 14" item_color = "#fff" item_height = 32 item_icon_space = 8 item_spacing = 2 selected_item_font = "DejaVu Sans Bold 14" selected_item_color= "#fff" selected_item_pixmap_style = "select_*.png" icon_height = 32 icon_width = 32 # opmaak van de schuifbalk scrollbar = true scrollbar_width = 20 scrollbar_thumb = "slider_*.png" } # configuratie van de voortgangsbalk + progress_bar { id = "__timeout__" left = 0% top = 100%-20 height = 20 width = 100% font = "DejaVu Sans Regular 12" text_color = "#000" # fg_color = "#bbb" # bg_color = "#3a3" border_color = "#fff" # instead of the above colors, use pixmaps bar_style = "progress_bar_*.png" highlight_style = "progress_highlight_*.png" # text = "@TIMEOUT_NOTIFICATION_LONG@" text = "Nog %d seconden voor het standaard geselecteerde besturingssysteem wordt gestart." }
error: file `/boot/grub2/i386-pc/efi_gop.mod´ not found error: file `/boot/grub2/i386-pc/efi_gop.uga´ not found error: file `/boot/grub2/i386-pc/ieee1275_fb.mod´ not found error: file `/boot/grub2/locale/nl.mo.gz´ not foundDruk een willekeurige toets om door te gaan (Spatie).
Deze foutmeldingen zijn op zich niet zo erg. De eerste twee zijn enkel nodig bij het booten vanaf een UEFI systeem (mijn computer gebruikt nog BIOS). De derde is enkel nodig bij Open Firmware systemen (mijn computer gebruikt BIOS). En het laatste niet gevonden bestand bevat de vertalingen voor Grub 2 (opgelost door in grub.cfg zelf enkele onderdelen te vertalen en de rest lezen we dan maar in het engels). Het weergeven van de eerste drie foutmeldingen kun je vermijden door de toch niet gebruikte modules uit het grub.cfg bestand te halen.
Details over het instellen van Grub 2 staan in de manual.