Ho una centos 6.2 che ha grub 0.97
Sto smanettando un po' con la configurazione del kernel, initrd e configurazione di grub.
E' chiaro che è molto facile commettere un errore fatale.
In teoria dovrei mettere due entry su grub, una buona e l'altra di test, così al fallimento di una si fa partire l'altra dal menu di grub.
Il problema è che io non ho l'accesso al menu di grub at boot time (non ho il monitor), il che significa che se faccio un errore e la macchina non riparte devo ricominciare tutto da zero.
Con lilo io metto due entry, una buona settata in 'default' e l'altra di test che richiamo con lilo -R che, solo per il boot che segue, avvia l'immagine che gli specifico io. Ma lilo non ce l'ho a disposizione.
Questa cosa è fattibile anche da grub, ma richiede l'opzione 'savedefault' che per come è installato non è supportata.
Allora l'idea pazza..
Invece di mettere "default=0" che mi carica sempre e solo la prima immagine, o "default=1" che mi carica sempre e solo quella di test (anche se fallata), gli ci metto qualcosa tipo "default=random", del tipo che quando riavvio la prima volta magari mi ricarica la prima immagine e forse anche al reboot successivo; prima o poi mi caricherà quella di test così la provo. Se è fallata la volta successiva me ne caricherà ancora una a caso, che magari è ancora quella di test, ma prima o poi mi caricherà quella buona così da poter sistemare quella fallata.
Si può fare una cosa del genere? (che poi è anche carino per un sistema dual boot.. "ti carico una distribuzione a caso"
Il motivo per cui non posso mettere lilo né ho accesso a savedefault è che si tratta di una macchina virtuale in tecnologia xen; se vado in /boot/grub c'è solo il menu.lst; per quanto ne so io di xen, gli stage1 e 2 vanno messi sulla macchina host e non sul guest perchè sono particolari visto che a differenza di vmware (e forse anche virtualbox) non esiste un virtual bios che emula in tutto e per tutto quello di un pc reale. Tali stage di xen mi caricheranno il menu.lst che è sul filesystem e il resto procede come normale, ma il savedefault non potrà scrivere in quegli stage del sistema host.
Con xen l'accesso alla console mi avviene tramite una interfaccia vnc che viene inizializzata durante il caricamento del kernel (prima che arriva all'initrd, quindi se c'è da far troubleshooting sull'initrd non ci sono problemi, ma se devo dare parametri al kernel li devo necessariamente scrivere dentro menu.lst).
Per "ricominciare da capo" intendo che con una interfaccia di amministrazione devo distruggere il server virtuale e ricrearlo da un template (totale 10 minuti scarsi, ma devo reinstallare e ricustomizzare i pacchetti aggiuntivi; una scocciatura ogni volta)
Si può fare il boot randomico? o c'è una soluzione alternativa?

