Post Meta
-
Indietro
-
November 6, 2007 -
Appunti, Linux, Lo sai Perchè -
4 Comments
-
Letto 797 volte
-
Comments Feed -
Stampa questo Post
6th
NOV
Sveliamo il segreto…
Posted by deepred | Filed under Appunti, Linux, Lo sai Perchè
Vi ricordate l’articolo e soprattutto il video di redsend che pubblicizzavano “Un nuovo sistema di boot per linux più veloce del Mac“: dopo meno di 2 secondi dalla selezione del sistema operativo con grub si avviava il kernel, con tanto di KDE e perfino yakuake. Un vero prodigio!!! Ma il già citato post faceva nascere il dubbio nelle nostre menti, chiedendosi “sara vero?”.
E credo sia venuto il momento di dare una risposta: no, non è assolutamente vero, ma si trattava di una semplice goliardata che il giorno prima io e redsend ci siamo divertiti a mettere in atto. E credo sia anche giunto il momento di svelare di cosa si tratta.
Quello che parte dopo meno di 2 secondi non è effettivamente Xorg e KDE, ma un semplice bootsplash. Cos’è un bootsplash? Per gli utenti di distro “semplici” è l’immagine che appare all’avvio subito dopo la selezione in grub e che mostra il caricamento del sistema operativo. Per gli utenti gentoo (o altre distro che non presentano tale avvio grafico) è possibile ottenere gli stessi effetti in maniera equivalente, seguendo alcuni passi fondamentali:
- Innanzitutto abilitare nel kernel il framebuffer, aggiungendo le seguenti opzioni:
Device Drivers >
Graphics support: >
<*> Support for frame buffer devices
[ ] Enable Tile Blitting Support
<*> VESA VGA graphics support
VESA driver type (vesafb-tng) —>
(HRESxVRES@FREQ) VESA default mode
< > nVidia Framebuffer Support
< > nVidia Riva support
< > Matrox acceleration
Console display driver support —>
[*] Video mode selection support
<*> Framebuffer Console support
[*] Support for the Framebuffer Console DecorationsAl posto dei
VESA VGA graphics supportpotete selezionare il driver migliore relativo alla vostra scheda video. Nel caso tuttavia possedete una VGA nVidia e utilizziate i drivers proprietari, non potrete selezionare il supporto al framebuffer nVidia elencato nel kernel ma dovrete accontentarvi ai generici driver VESA. Tra questi sono presenti due scelte,vesafbevesafb-tng: i secondi sono una versione aggiornata dei primi, ma tuttavia sono avviati più in ritardo rispetto a questi. - Quindi installate le utilities per il framebuffer splash: in gentoo queste corrispondono all’applicazione
splashutils - Ora potete scegliere uno dei temi predefiniti (in gentoo ne potete trovare numerosissimi installando
bootsplash-themes,splash-themes-gentoo,splash-themes-livecd) o potrete crearvi il vostro tema personalizzato come abbiamo fatto io e redsend. Ecco i passi da seguire per farlo:- Creare la vostra immagine in formato jpeg di dimesione 1024×768. Nel nostro caso questa era rappresentata dallo screenshot del nostro desktop.
- Create una cartella per il vostro tema in
/etc/splash. Il nome della cartella sarà il nome con cui sarà identificato il tema. - All’interno di questa cartella create una nuova cartella
imagesin cui inserirete l’immagine creata in precedenza. - All’interno del file di configurazione create il file di configurazione per il nostro tema: il nome sarà formato dalla risoluzione scelta (mai maggiore della massima risoluzione supportata dal vostro driver framebuffer) e dall’estensione .cfg (nel mio caso il file si chiama 1024×768.cfg). Il contenuto nel mio caso è molto semplice: background color, coordinate dell’area dove i messaggi di boot dovranno apparire e path dell’immagine di background, come nell’esempio seguente:
bgcolor=0
tx=160
ty=48
tw=695
th=495
pic=/etc/splash/nome_tema/images/nome_immagine.jpegNel caso volete anche prevedere il caricamento in modalità
silent, ossia non vogliate visualizzare i messaggi di caricamento del sistema operativo, basterà aggiungere una nuova linea al file 1024×768.cfg:silentpic=/etc/splash/nome_tema/images/silent_image.jpegdove
silent_image.jpegpotrebbe essere anche un’immagine differente da quella visualizzata in modalità verbose. Altre opzioni ancora potrebbero essere descritte in questo file di configurazione, come per esempio le coordinate per l’animazione di caricamento in fase di boot o shutdown, ma per queste più avanzate configurazioni vi rimandiamo ai temi di esempio.
- Scelto o costruito il proprio tema è possibile visualizzarlo, prima di installarlo, con il comando
splash_manager --theme=nome_tema --cmd=set --tty=1che visualizzerà il tema
nome_temasulla console visualizzabile attraverso la con la combinazione di tasti Ctrl+Alt+F1. - Per installare definitivamente il tema scelto eseguiamo il comando seguente
splash_geninitramfs nome_tema -r 1024x768 -g /boot/fbsplash-nome_tema-1024x768ricordandosi di montare prima la partizione di boot, se necessario. Infine bisognerà aggiornare il proprio bootloader. Per Grub, innanzitutto aggiungere al kernel le opzioni
video=vesafb:ywrap,mtrr:3 vga=0x318 splash=verbose,fadein,theme:deepred console=tty1dove in
videoè riportato il driver framebuffer utilizzato;vgarappresenta la risoluzione desiderata, da usare solo in corrispondenza del driver vesafb, mentre negli altri casi è possibile esprimere tale risoluzione in maniera estesa all’interno dell’opzionevideo; insplashè possibile indicare se avviare il sistema in modalità verbose o silent e si indica il tema scelto; inconsolesi può stabilire in quale (o quali) console attivare lo splash. Inoltre bisogna aggiungere anche la seguente lineainitrd (hd0,0)/fbsplash-deepred-1024x768indicando con essa il path del file dato come parametro del comando
splash_geninitramfsin precedenza. - Ora potete chiudere tutto e riavviare guardando gli effetti del vostro lavoro.
E così vi abbiamo spiegato come fare ad andare in giro a mostrare come linux si carica più velocemente di MacOS. Ma attenzione, la cosa funziona bene se vista in un video, un pò meno se visto da vicino: l’immagine resa dal framebuffer è un po’ più sgranata dell’immagine resa dalla vostra scheda video, e poi, attenzione all’orologio, soprattutto se mostra i secondi!!!
Tags: bootsplash > framebuffer > gentoo > grub > Linux > macOS > vesa


Tenevo la bozza dell’articolo iniziata, ma non avevo mai trovato il tempo per finire l’articolo… bravo diodo ottima guida!
Comunque i tuoi “appunti” sembrano dei libri…
come al solito sei esagerato
pensavo la stessa cosa!
altro che appunti…chiamiamola “romanzi” la categoria!
cmq immagino la faccia di musikele quando leggerà questo articolo…lui che era l’unico ad averci creduto!
si me ne ero dimenticato che lui credeva ancora che fossi riuscito a fare na cosa del genere… solo windows ci riesce
hola chicos!
eh si persino alle 5 del mattino, tutto nudo e sanguinante in una strada di trans brasiliani a Siviglia, pensavo: ma come avrà fatto enrico e fare il boot così rapido?
Cmq, io avevo solo proposto di mettere gdm prima di qualsiasi altra cosa nel runlevel. Mi accorgo ora che è una cazzata.. E quest’idea/cazzata, invece, è proprio “all’uopo”. Chissà, magari un giorno la metto in pratica.
P.s. sono tornato! magari dopodomani ci vediamo: sono ancora ko.
Michele