Avviare il DE di un'altra distribuzione dentro wheezy

14 risposte [Ultimo contenuto]
Ritratto di frank67
frank67
(Monster)
Offline
Monster
Iscritto: 10/07/2013
Messaggi: 487

Riesco ad avviare startx di una distribuzione wheezy sul display :1 vt8 con successo montando in bind le strutture dati del kernel e di udev con i comandi:

mount -o bind /sys/ /mnt/sys/
mount -o bind /proc/ /mnt/proc/
mount -o bind /dev/ /mnt/dev/
mount -o bind /dev/pts/ /mnt/dev/pts/
mount -o bind /run/ /mnt/run/
mount -o bind /run/lock/ /mnt/run/lock/
mount -o bind /run/shm/ /mnt/run/shm/

poi faccio il chroot in /mnt e avvio X sul display :1 ritrovandomi in Ctrl-Alt-F7 la wheezy sul PC e in Ctrl-Alt-F8 la distro su /mnt come ho detto con wheezy su wheezy tutto bene il problema che non so come aggirare è far partire Kubuntu 14.10 su wheezy mi blocco al seguente ostacolo:
[    0.000000] NVRM: API mismatch: the client has the version 331.89, but
[    0.000000] NVRM: this kernel module has the version 319.82.  Please
[    0.000000] NVRM: make sure that this kernel module and all NVIDIA driver
[    0.000000] NVRM: components have the same version.

Il driver nvidia di X dà errore consigliando di controllare l'output di dmesg e questo appunto è l'output non posso portare wheezy al 331.89 e non so se è possibile fare il rollback al 319.82 di Kubuntu ma vorrei evitarlo anche se poi credo tutto funzionerebbe...
Posso far eseguire in chroot il kernel 3.16 di Kubuntu dal kernel 3.2.63 di wheezy? Poi bisognerebbe avviare systemd con un comando equivalente a telinit 2 ma forse è superfluo se riesco a far partire il kernel.
E' una via praticabile? E usando lxc invece di chroot? Come procedere?
Grazie per ogni risposta.

Ciao, Franco

Ritratto di pietro
pietro
(Collaboratore)
Offline
Collaboratore
Iscritto: 30/06/2005
Messaggi: 1124

Qual è il tuo obiettivo? Per avere ambienti completamente isolati, non è meglio usare macchine virtuali? Anche con i container dovresti essere in grado di gestire una nuova distribuzione....

Debian. Be unique.

Ritratto di mcortese
mcortese
(Moderatore)
Offline
Moderatore
Iscritto: 27/02/2009
Messaggi: 2918

Un semplice chroot non fa di certo girare un secondo kernel. Né lancia un secondo init (e come potrebbe, visto che il processo con PID numero 1 c'è già?). La tua sarà sempre e comunque una Wheezy con alcuni programmi e librerie di Ubuntu.

Ritratto di frank67
frank67
(Monster)
Offline
Monster
Iscritto: 10/07/2013
Messaggi: 487

pietro ha scritto:

Qual è il tuo obiettivo? Per avere ambienti completamente isolati, non è meglio usare macchine virtuali? Anche con i container dovresti essere in grado di gestire una nuova distribuzione....


Ho due distribuzioni sul PC: Debian e Kubuntu installate su due volumi logici. Mi piacerebbe avere Xorg di Kubuntu su vt8 visto che è già sul RAID la volevo usare facendola girare sul kernel di Wheezy mentre su vt7 ho sempre il DE di Wheezy (non volevo riavviare il PC per passare da una distribuzione all'altra). Non mi interessa avere ambienti completamente isolati ma va bene se raggiungo lo scopo, non ho mai usato i Linux Container ho letto il wiki di lxc sembra possibile fare il bind di una distribuzione ma avvia il kernel di Kubuntu?

@Mcortese: già non ci avevo pensato, non so se systemd si comporta come init al boot. Avevo chiesto circa avviare un nuovo kernel perché sembra sia possibile con kexec, nella configurazione del kernel c'è scritto:

  │ CONFIG_KEXEC:                                                                                             │  
  │                                                                                                           │  
  │ kexec is a system call that implements the ability to shutdown your                                       │  
  │ current kernel, and to start another kernel.  It is like a reboot                                         │  
  │ but it is independent of the system firmware.   And like a reboot                                         │  
  │ you can start any kernel with it, not just Linux.                                                         │  
  │                                                                                                           │  
  │ The name comes from the similarity to the exec system call.                                               │  
  │                                                                                                           │  
  │ It is an ongoing process to be certain the hardware in a machine                                          │  
  │ is properly shutdown, so do not be surprised if this code does not                                        │  
  │ initially work for you.  It may help to enable device hotplugging                                         │  
  │ support.  As of this writing the exact hardware interface is                                              │  
  │ strongly in flux, so no good recommendation can be made.

Cosa vuol dire quel "like" un hot reboot oppure dopo il kexec quando faccio il shutdown del kernel avviato ritorno nell'ambiente che l'aveva lanciato? Mi andrebbe bene anche così, forse troppo bello Smile

Ciao, Franco

Ritratto di pietro
pietro
(Collaboratore)
Offline
Collaboratore
Iscritto: 30/06/2005
Messaggi: 1124

Ma per quale motivo le virtual machine non le prendi in considerazione? Guarda che se usi KVM e Linux su Linux le performance sono quasi pari alla macchina fisica: in aggiunta non devi scegliere quale OS far partire, puoi far girare tutti gli OS che vuoi (nei limiti delle risorse del computer) in parallelo, ognuno in una sua VM completamente isolata dalle altre.

Su container e chroot non posso aiutarti perché non ho esperienza in merito. Cioè, una volta li ho usati, ma preferisco ancora andare di VM.

Debian. Be unique.

Ritratto di frank67
frank67
(Monster)
Offline
Monster
Iscritto: 10/07/2013
Messaggi: 487

pietro ha scritto:

Ma per quale motivo le virtual machine non le prendi in considerazione?


Perdona la mia ignoranza ma con KVM posso avviare una distribuzione già installata su un volume logico del PC? E se si gira sull'hardware del PC o su uno virtualizzato?
Grazie ancora per le risposte.

Ciao, Franco

Ritratto di pietro
pietro
(Collaboratore)
Offline
Collaboratore
Iscritto: 30/06/2005
Messaggi: 1124

frank67 ha scritto:

pietro ha scritto:

Ma per quale motivo le virtual machine non le prendi in considerazione?


Perdona la mia ignoranza ma con KVM posso avviare una distribuzione già installata su un volume logico del PC? E se si gira sull'hardware del PC o su uno virtualizzato?
Grazie ancora per le risposte.

Per la prima domanda non saprei dirti, ma il problema è sempre capire cosa devi fare. Il fatto che hai una distribuzione installata su un LV del PC è una conseguenza di come hai deciso di far coesistere due distribuzioni diverse su un unico PC, non può essere un requisito nel determinare la soluzione ideale.

Riguardo la seconda domanda: le macchine virtuali girano su un hardware emulato, anche se è possibile fare il passthrough di alcune periferiche.

Debian. Be unique.

Ritratto di frank67
frank67
(Monster)
Offline
Monster
Iscritto: 10/07/2013
Messaggi: 487

pietro ha scritto:

Per la prima domanda non saprei dirti, ma il problema è sempre capire cosa devi fare. Il fatto che hai una distribuzione installata su un LV del PC è una conseguenza di come hai deciso di far coesistere due distribuzioni diverse su un unico PC, non può essere un requisito nel determinare la soluzione ideale.


Il punto è l'hardware virtualizzato non avendolo a disposizione (leggi nvidia) sono costretto ad installare su PC (client steam). Adesso guardo un po' cosa và e cosa no poi so essere più preciso.

Ciao, Franco

Ritratto di pietro
pietro
(Collaboratore)
Offline
Collaboratore
Iscritto: 30/06/2005
Messaggi: 1124

frank67 ha scritto:

pietro ha scritto:

Per la prima domanda non saprei dirti, ma il problema è sempre capire cosa devi fare. Il fatto che hai una distribuzione installata su un LV del PC è una conseguenza di come hai deciso di far coesistere due distribuzioni diverse su un unico PC, non può essere un requisito nel determinare la soluzione ideale.


Il punto è l'hardware virtualizzato non avendolo a disposizione (leggi nvidia) sono costretto ad installare su PC (client steam). Adesso guardo un po' cosa và e cosa no poi so essere più preciso.

Non so cosa sia steam, ma se si tratta di giochi che fanno un pesante uso di grafica, allora la virtualizzazione non è la soluzione più adatta.

Debian. Be unique.

Ritratto di mcortese
mcortese
(Moderatore)
Offline
Moderatore
Iscritto: 27/02/2009
Messaggi: 2918

frank67 ha scritto:

Cosa vuol dire quel "like" un hot reboot oppure dopo il kexec quando faccio il shutdown del kernel avviato ritorno nell'ambiente che l'aveva lanciato?

La system call kexec fa al kernel quello che exec fa a un processo: lo sostituisce con un altro. Il kernel di prima cessa di esistere e quello nuovo eredita le sue risorse.

Ritratto di frank67
frank67
(Monster)
Offline
Monster
Iscritto: 10/07/2013
Messaggi: 487

Solo per fare il punto della situazione, riporto funzionante il DE di Wheezy in Kubuntu 14.10 anche in Kubuntu ricevo l'errore in dmesg di versioni del driver discordanti (vedi primo post) ma è facilmente aggirabile basta copiare i driver Nvidia di Xorg (due file) di Kubuntu in Wheezy (funziona anche se faccio il contrario) ma poi, e questo solo in Wheezy quando tento di avviare Kubuntu, ricevo un più preoccupante messaggio di errore da Xorg di Kubuntu circa versioni ABI non allineate e suggerisce di avviare con l'opzione -ignoreABI se provo va in crash la grafica, VGA compresa, devo riavviare Sad
La versione proprietaria dei driver Nvidia 319.82 non si installa su Kubuntu 14.10 c'è un modo per sostituire i pacchetti della distribuzione attuale con quelli di una versione precedente? Per ipotesi se volessi sostituire Xorg di Wheezy con quello di Squeeze devo procedere a mano con dpkg o si può fare anche con apt-get?

Ciao, Franco