Dual boot of Linux distros: tweaking grub kernel parameters for the 2nd distro

First post in English, I don’t know if more will follow, but this information was impossible to find anywhere else on the internet so I thought it might be useful to have it as understandable to all as possible 🙂

So, maybe if you find yourself in this situation:

  1. you have your own beloved distribution in some partition(s), and don’t plan to change it in the short term
  2. you want to try another distribution in some other partition(s)
  3. you are keeping the boot loader from the distribution at point 1, ‘cos you might remove the other distribution at some point and don’t want to mess up
  4. the boot loader is grub2
  5. you find out that you need to change kernel parameters in grub for the other distribution (for example, you find out that no splash screen is displayed although it’s supported, and find out that it’s because you need the “splash” parameter in that line and it’s not present)
  6. you don’t want to change /boot/grub/grub.cfg by hand, because your distribution updates it automatically anyway after some updates and anyway you’re scared of doing it and messing up

Things is, although Ubuntu, Debian and probably many others have a /etc/grub.d/30_os-prober script which takes care of finding other OS’s (including other Linux distros) on your computer, and a /etc/default/grub file where you can set up GRUB_CMDLINE_LINUX_DEFAULT variable to put your kernel parameters, these, for some obscure reason, only apply to the beloved distribution and not to your other distribution. So you can change as much as you like in that file, you’ll not get your splash screen at boot in the other distro.

Now, if you want those same parameters of GRUB_CMDLINE_LINUX_DEFAULT to apply to any linux distro, you only need to tell /etc/grub.d/30_os-prober to do so!

Just

  • start editing /etc/grub.d/30_os-prober with your favourite editor (gedit, kate, kwrite, nano, vi, etc… the important is just to have root permissions!)
  • find a line which is exactly linux ${LKERNEL} ${LPARAMS} (don’t know how to search in a file with your favourite editor? use an easier one, you won’t look cooler to anybody by using a complicated program you don’t know how to use! 😛 ). Hint: in my Ubuntu, it’s at line 237.
  • add ${GRUB_CMDLINE_LINUX_DEFAULT} to the end of that line, so that it’ll look exactly like this:
    linux ${LKERNEL} ${LPARAMS} ${GRUB_CMDLINE_LINUX_DEFAULT}
  • save the file and run update-grub (as root of course)

That’s it, now everything should be fine! 🙂

Now, if instead you want different parameters for your two distributions (for some specific vesa or vesafb settings, or because you want one to be “quiet splash” and the other only “splash”, or because you like to try as many things as possible and this post is giving you some good ways of doing so), the solution is as easy as before!

All you need to do is to edit your /etc/default/grub (with your favourite editor and blabla as before), and add a new line with the name of a new variable (might be GRUB_CMDLINE_OTHER_LINUX as well as LOVE_WINDOWS or I_HAVE_A_DREAM, capital letters suggested but not mandatory, just don’t use spaces), a “=”, and then the parameters you want inside some nice ” ” (quotation marks?). As a random example it could be RANDOM_VARIABLE="uvesafb" .

Then follow the same steps I mentioned in the previous case about editing /etc/grub.d/30_os-prober, with the only difference that now you’ll add ${RANDOM_VARIABLE} (if it’s called RANDOM_VARIABLE, otherwise use the name you chose inside the braces) instead of ${GRUB_CMDLINE_LINUX_DEFAULT}. And don’t forget to save, close, and run update-grub!

Then you might want to check /boot/grub/grub.cfg just to see if everything worked fine (no editing, remember point 6?), but of course with a good lecturer like me you can’t have missed anything 🙂

Cheers to the people who will one day make a GUI for all these tasks (nooooooooooooooooooo not a GUI, that’s for nooooobs who’ll screw everything up and fill our bugzillas of stupid bugs THEY created by themselves!!)

Annunci

Debian, Facebook e il software libero: cap. 2

Beh, sono stato tirato in ballo direttamente per il mio precedente post, allora è il momento di ballare!

Che non sia una questione di per sè importante siamo d’accordo. Non ho mai neanche pensato di cercare la pagina Debian su Facebook, e non ci ho pensato nemmeno dopo la disputa.

La questione è un altra, e cheip l’ha colta alla grande: riguarda l’obiettivo di Debian, e se la presenza di una pagina ufficiale su Facebook lo favorisca o meno. E in questo senso, si pone in un contesto molto più generale, che spazia dall’etica alla politica, lasciando la tecnica un po’ indietro.

Continua a leggere

Debian: buone notizie, cattive notizie, notizie medie

Tra i vari feed RSS che seguo non poteva mancare (soprattutto perchè presente di default in Akregator) il Planet Debian.

Per la maggior parte si trovano articoli che vanno dal tecnico all’estremamente tecnico, racconti di incontri (tipo il DebConf), cose personali su figli nipoti e zie, come in ogni planet.

Oggi però ho trovato non uno ma un’intera serie di articoli interessanti in vario modo.

Continua a leggere

Le applicazioni GTK+ in KDE

Finiti gli esami, è tempo di tornare al blog, almeno brevemente! Ecco, ci sono già mille articoli sparsi per la rete, pur tuttavia nonostante benchè però inquantochè, ho avuto bisogno di molto tempo e qualche piccolo sforzo extra per integrare Firefox ed Emesene (che peraltro non uso) in Kde. Il primo suggerimento che avevo trovato è chiamato QtCurve, ovvero "set di stili widget" (per quel che posso interpretare: un tema) comuni ad applicazioni GTK e QT indiscriminatamente. Se non fosse che non mi piace per niente – non voglio un tema simile o comune, voglio che le applicazioni si adattino al tema che scelgo di volta in volta! Questo si dovrebbe poter ottenere con Gtk-Qt-Engine, il fratello di QGtkStyle. Per molto tempo non mi sono nemmeno accorto di avere entrambi i "sistemi" installati (QtCurve e l’engine GTK). Quando l’ho scoperto ho pensato di rimuovere QtCurve. Per poi scoprire che, invece, Firefox assumeva di nuovo l’orrenda apparenza di default ("tema non impostato", potremmo chiamarlo). Ci ho pensato un po’ su, ho riprovato le varie configurazioni nelle Impostazioni di Sistema di KDE, senza risultato. Tristemente, ho reinstallato QtCurve per riottenere il risultato amico. Ma non mi sono arreso: se un pacchetto è inutile, DEVE essere rimosso, per quanto poco fastidio possa dare! Oggi ho svelato l’arcano: esistevano nella mia $HOME tre file particolari. Uno è il famoso .gtkrc. Gli altri, sono file con struttura e nome molto simile (tra loro, ma anche a .gtkrc!): .gtkrc-2.0-kde e .gtkrc-2.0-kde4. Andando a sondare il contenuto, ho trovato che il primo di questi due richiama l’engine GTK (Gtk-Qt-Engine), mentre il secondo si riferiva al tema QtCurve. Ho allora capito: per qualche ragione, le applicazioni GTK leggevano questo secondo file e, non trovando il tema QtCurve, assumevano l’aspetto orrendo. Il problema è però piuttosto strano: significa che le Impostazioni di Sistema scrivono su un file che non è letto dalle applicazioni GTK (dato che anche riprovando e riprovando, il file scritto è sempre *kde e non *kde4)! Io ho risolto facendo di .gtkrc*kde4 un link simbolico a .gtkrc*kde. Resta da capire dov’è il bug. Ma per fortuna, almeno il problema è temporaneamente risolto!

Coming Soon: Il racconto folle di un impossibile passaggio – diretto! – da Ubuntu a Debian. Ovvero, come perdere qualche giornata utile di studio.

Kmess – Il Kaos accattivante!

La finestra principale di Kmess

Il passaggio da Gnome a KDE non poteva non essere, almeno in parte, traumatico, soprattutto se è da quando conosci linux che usi solo programmi basati sulle GTK, salvo rare eccezionali eccezioni (VLC e i soliti famosi).

Sostituire Dolphin a Nautilus, Rhythmbox e i suoi amici con Amarok e insomma i programmi più conosciuti, non è stato certamente un problema.
Diverso, il discorso, per il gestore grafico dei pacchetti: dopo aver realizzato che non poteva non esistere un apt grafico in qt, ho trovato Adept, che però mi ha fatto venire il voltastomaco. In effetti, ho scoperto, non è più sviluppato, dato che Kubuntu s’è buttata su Kpackagekit, che mi soddisfa molto, per quanto (ancora?) non all’altezza di Synaptic.

L’altro problema finora incontrato era il client di messaggistica. Affidate le mie sorti ad emesene e Pidgin per lungo tempo, fiducioso delle mie pur scarse conoscenze, mi sono buttato su Kopete.
Non sono riuscito a finire il login che avevo già deciso di non usarlo. In effetti, è stato un giudizio tanto affrettato che non saprei nemmeno darne il motivo (ricordo una vaga sensazione di orrore, tutto qua). Sta di fatto che con Kopete le mie risorse sembravano esaurite, per cui sono tornato (va detto, senza grossi rimpianti) ad emesene, ripromettendomi di trovare una soluzione per Jabber.

E’ con immensa sorpresa che oggi, quasi per caso, mi sono imbattuto in quello che è diventato il mio client MSN. Sto parlando di Kmess, il fratello per KDE di emesene.
La cosa, all’inizio, mi puzzava un po’: il fatto, per quanto poco rilevante, di non averne mai sentito parlare unito al nome ambiguo, (quel “mess” che può essere abbreviazione di “messenger” o “messages”, ma anche traduzione per disordine, caos: forse l’autore è parecchio auto-ironico?), non ispirava tranquillità. Ma la prova era d’obbligo.

Non è però stato amore a prima vista. Anzi, di primo acchito sono stato proprio respinto, con la scusa che nome utente e password non erano corretti. E fin qui, avevo torto io e ragione lui (sì, lui, Kmess). Mi ha un po’ stupito il fatto che il seguito del messaggio d’errore fosse non la finestra di login di prima, ma un crash del programma. La mia sfiducia aumentava.

Poi però ho dovuto riconoscere che è un ottimo programma. Le feature principali (di MSN) ci sono tutte: emoticon anche personalizzate, trilli, invio file, conversazioni con più persone, possibilità di organizzare le chat in tab della stessa finestra, usare la musica in ascolto come messaggio di stato, e persino, udite udite!, la scrittura a mano, così rimpianta da tutti noi amici di RMS (già, come no!?). Manca per ora del tutto il supporto audio/video, già presente per quanto claudicante in emesene, ma non m’importa granchè.

Mi ha colpito positivamente la chiara distinzione tra preferenze del programma (notifiche sonore, applicazioni predefinite, profili) e le impostazioni del singolo profilo, tra cui rientrano la scelta del tema delle emoticon e dello stile per la chat (che vanno da temi ispirati liberamente ad Adium al classico “Tizio scrive due punti “, con scelta tra testo di seguito o testo a capo ), il salvamento dei log e i tempi per essere dichiarati “Inattivi”.

La mancanza dei plug-in mi ha un po’ deluso: avrebbe concesso la chance di implementare feature minori come il controllo delle mail per gli account Gmail e altre simili. Insomma, su emesene non ne usavo molti, ma l’ho sempre ritenuto un punto di forza per estendere il programma facilmente anche per i non sviluppatori.

In ogni caso, software approvato e integrazione del desktop migliorata. Chissà che il prossimo passo non sia firefox-qt?

Audible Manager & Wine

Siete fortunati clienti di Audible e grandiosi utenti Linux? Avete problemi a far andare d’accordo queste due anime di voi stessi? Avete problemi di alcolismo?

In qualunque dei tre casi, una mano ve la posso dare (nell’ultimo caso, giusto per portarvi a casa..non di più).

Per chi non è così fortunato da saperlo, Audible è un sito che permette di acquistare e scaricare audiobook (protetti da DRM) che potranno essere poi ascoltati tramite il loro simpatico software, Audible Manager. Richiede la registrazione e un pagamento mensile, ma le prime due settimane sono trial (ovvero, potete cancellare la vostra iscrizione gratuitamente entro le prime due settimane). Inoltre, all’atto dell’iscrizione, viene regalato un credito da utilizzare per l’acquisto di un audiobook.

Io ho usato il credito per scaricare acquistare l’autobiografia di Feynman, “Surely you’re joking, Mr. Feynman!”, in inglese. E’ un libro che sicuramente non può mancare nel mio catalogo, e colgo l’occasione per imparare un po’ d’inglese.

Il problema: se si vuole ascoltare un audiobook, bisogna “registrare” la copia di Audible Manager con il proprio nome utente e la password. Ma su Linux, questa procedura fallisce miseramente.

La soluzione: patchare Wine!

Un simpatico utente s’è infatti sbattuto per creare suddetta patch, l’ha resa disponibile e in mezz’ora sarete in grado di ascoltare tutto quello che vorrete.

La patch è questa, da salvare come _quello_che_volete.patch. Le istruzioni, ancora più semplici: scaricate e scompattate i sorgenti di wine (questa non è una guida per neofiti: in rete questi passi sono spiegati mille volte meglio di come possa fare io), copiate la patch scaricata nella cartella, entrate e da terminale dare un bel

patch -p1 < _quello_che_volete.patch
./configure
make

e da root:
# make install

Se siete ancora più fortunati, ovvero usate ArchLinux, non dovete far altro che aggiungere la riga che inzia con “patch” nella funzione build() del PKGBUILD di wine, esattamente prima di ./configure. E dare makepkg -s. E pacman -U wine-blablabla.

E con i link al bug sul Bugzilla di Wine, dove trovate anche la patch e tutte la discussione, si chiude questo tutorial (ehm..già..tutorial)..