# Da 32 a 64 bit

## publiosulpicio

Salve a tutti, ho installato correttamente gentoo a 32 bit già da un po' di tempo. Ora vorrei provare la versione a 64 bit. Chiaramente dovrò ricompilare tutto il sistema, però vorrei evitare di formattare e reinstallare tutto, anche perché ho diversi file di configurazione modificati. Come posso fare? Immagino che modificare make.conf e emerge -e system emerge -e wolrd non sia una buona idea. L'ideale sarebbe rifare il processo di installazione senza però formattare, in modo da conservare l'elenco dei pacchetti installato e i file di configurazione. Esiste un sistema standard?

Se questo non fosse possibile o fosse troppo complicato esiste un modo per generare la lista di tutti i pacchetti installati e reinstallarli automaticamente dopo la reinstallazione, da zero, del sistema (questo mi interessa anche perché vorrei avere un'installazione di gentoo sostanzialmente identica a quella del mio computer su un altro portatile)? Grazie.

Ricky

----------

## cloc3

per installare nel modo tradizionale una 64bit ti serve un kernel a 64bit.

può essere che si possa istruire il gcc a 32 a compilare codice a 64, ma sinceramente è una cosa al di là delle mie conoscenze.

inoltre, mi pare di capire che tu non abbia una partizione separata dove mettere la nuova installazione. e questo complica orrendamente le cose.

in linea di principio potresti fare così:

- copiare la cartella /lib/modules/<versione del kernel a 64> da un cdrom minimale nella tua installazione a 32bit.

- avviare la tua installazione a 32 con il kernel minimale a 64.

- creare una cartella /mnt/chroot64 e realizzare una installazione completa lì dentro.

- modificare manualmente la initrd (qui ti devi arrangiare, perché, sebbene la cosa sia possibile, non ci sono programmi pronti che implementano questa operazione) per fare chroot in avvio dentro la cartella /mnt/chroot64

considerato che l'ultimo punto potrebbe sembrarti poco praticabile, puoi pensare seriamente ad acquistare un hard-disk esterno con un convertitore ata-usb, avviare con un cd-rom minimale, installare e predisporre opportunamente il dual boot. alla fine, potrai anche sostituire il nuovo disco a quello vecchio.

per mantenere gli stessi programmi della prima distribuzione, basta conservare il file /var/lib/portage/world.

fai una installazione minimale e poi lancia il comando:

emerge -apv `cat copia-di-world`

per i file di configurazione, restano salvati al 100% quelli del singolo utente, consrvati dentro /home, ma devi tenreti una copia dei file della cartella /etc.

ti consiglierei di utilizzare solo i vecchi file di configurazione strettamente indispensabili, dopo averli letti e confrontati con attenzione. sostituire di peso la cartella /etc precedente con la cartella /etc attuale è operazione foriera di pasticci e guasti a non finire.

----------

## aleph.no-ip.biz

visto che dovresti _comunque_ ricompilare tutto, tanto vale backuppare /etc e /home e reinstallare  :Wink:  la lista dei pacchetti che ti serve è contenuta in /var/lib/portage/world (tutti i pacchetti installati sono su quella lista o sono dipendenti da un pacchetto sulla lista  :Wink:  almeno in teoria . . . ) e un backup di /etc si fa in un attimo  :Razz: 

----------

## Apetrini

 *aleph.no-ip.biz wrote:*   

>  la lista dei pacchetti che ti serve è contenuta in /var/lib/portage/world (tutti i pacchetti installati sono su quella lista o sono dipendenti da un pacchetto sulla lista  almeno in teoria . . . 

 

Nel file world non sono contenuti tutti i pacchetti, nel senso che se un pacchetto è stato emerso con l'opzione "--one-shot" non finirà nel world.

(Cmq non credo sia un problema, su un installazione fresca di solito uno si ricorda quali sono i pacchetti che non ha infilato nel world).

----------

## djinnZ

 *cloc3 wrote:*   

> al di là delle mie conoscenze

 non è questione di conoscenze ma di volontà...  :Twisted Evil:  e dire che come gentooista dovresti essere portato all'autolesionismo.

In ogni caso non potresti andare molto oltre lo stage 3 (sempre che sia possibile) per quel che so io. Molti pacchetti non supportano a pieno il cross-building, per non dire del kernel. Ed il mal di testa è assicurato ma il risultato no.

Per quanto riguarda il backup delle configurazioni potresti pensare di fare uno scriptino che ti copi i vari file nella vecchia /etc come .cfg_00000_nomefile nella nuova invece di sovrascriverli e poi te li vai a gestire con dispach-conf od etc-update. Da usare sullo stage3 ovviamente.

Mi sento pigro, è domenica e siamo vicini al natale (periodo in cui mi prodigo nelle cattive azioni per rifarmi dello stress post-traumatico da shopping e del buonismo imperante) ma non dovrebbe essere difficile. Se mi ricordo lo posto dopo le feste.

Quanto al riciclare il file world cat | xargs emerge -n è il comando del caso (verificare attentamente, se ne è già discusso non so se in italiano od in inglese) se non erro.

Il resto lo hanno già detto gli altri.

----------

## !equilibrium

 *cloc3 wrote:*   

> può essere che si possa istruire il gcc a 32 a compilare codice a 64, ma sinceramente è una cosa al di là delle mie conoscenze

 

 *djinnZ wrote:*   

>  *cloc3 wrote:*   al di là delle mie conoscenze non è questione di conoscenze ma di volontà...  e dire che come gentooista dovresti essere portato all'autolesionismo. In ogni caso non potresti andare molto oltre lo stage 3 (sempre che sia possibile) per quel che so io. Molti pacchetti non supportano a pieno il cross-building, per non dire del kernel. Ed il mal di testa è assicurato ma il risultato no.

 

tutte belle parole, peccato che nessun compilare a 32bit sia in grado di produrre binari a 64bit (il contrario sì tramite cross-building), ergo, passare da x86 a amd64 tramite "emerge" non è possibile, come specificato da FAQ

p.s.: prima di postare fate una ricerca su internet, grazie

----------

