Tag: 32bit

Compilare applicazioni a 32bit su 64bit

23 July 2010, in Linux

Cercando di compilare i sorgenti del progetto di reti di calcolatori su cui mi sto concentrando ultimamente mi sono imbattuto in un antipaticissimo errore. La compilazione andava a buon fine ma all’esecuzione ricevevo questo messaggio:
dimensione di int e/o long int != 4  -> TERMINO
La dimensione degli interi è una variabile dipendente dall’architettura per il quale un programma è compilato, in questo caso il prof ha pensato bene di evitare qualsiasi problema di compatibilità eliminando…la compatibilità!

E’ il caso di reinstallare tutto solo perché la nostra distribuzione di Linux è a 64bit? Certo che no! Linux a 64bit è perfettamente in grado di avviare codice a 32 l’unica cosa che dobbiamo fare è compilare il programma a 32 bit. Per fare ciò dobbiamo però installare qualche libreria in più…

sudo apt-get install libc6-dev-i386

Ora siamo pronti per compilare in 32bit. Per farlo aggiungiamo la flag -m32 al comando gcc o modifichiamo il Makefile, nel caso ne avessimo uno, aggiungendo la voce GCCFLAGS= -m32.

Read More Leave a comment

Usare chroot per non imputtanare Ubuntu

14 March 2010, in Linux

Un sistema pesante è un sistema lento, non so quale sia la regola che regoli il meccanismo ma se avete presente cosa succede a Windows dopo averci installato un paio di applicazioni, ecco, succede lo stesso ma in misura molto ridotta con Linux.

E poi, tenere pulito è importante anche per una questione d’ordine mentale, se in questo momento sulla scrivania avete più di dieci icone allora forse questo articolo non vi interesserà.

Oggi vi spiegherò come essere liberi di installare/provare tutto quello che volete senza andare a toccare la vostra installazione Linux. Il trucco sta in chroot.

Chroot

Chroot sta per change root può essere usato per “saltare” da un’installazione all’altra di linux, viene infatti utilizzato anche da Live CD per riparare installazioni o, come stiamo per fare, per creare e usare un sottosistema linux all’interno di quello che usiamo abitualmente, in questo modo saremo liberi di imputtanare questo secondo sistema con applicazioni che magari vogliamo solo provare o librerie e altri software che normalmente non ci servono (tutte le librerie *-dev utili solo in fase di compilazione), inoltre potremo installare un sistema a 32 bit all’interno di un 64bit e in questo modo avviare applicazioni disponibili solo in 32bit.

Come installare il sottosistema

Innanzitutto installiamo i due pacchetti debootstrap e schroot con il solito:

sudo apt-get install debootstrap schroot

Adesso creiamo un file con le specifiche del sistema che intendiamo installare:

sudo gedit /etc/schroot/chroot.d/NOMESOTTOSISTEMA.conf

se siete su kde ovviamente sostituite gedit con kate. Questo potrebbe essere “karmic_i386.conf”.

[karmic_i386]
description=Ubuntu 9.10 Lucid for i386
location=/srv/chroot/karmic_i386
#personality=linux32
root-users=root2
run-setup-scripts=true
run-exec-scripts=true
type=directory
users=TUONOMEUTENTE
Adesso procediamo con la creazione della nuova cartella di root e con l’installazione di un sistema minimale della distribuzione scelta.
Sostituite i grassetti a seconda di quello che avete scelto voi.
sudo mkdir -p /srv/chroot/karmic_i386

sudo debootstrap --variant=buildd --arch i386 karmic /srv/chroot/karmic_i386 http://archive.ubuntu.com/ubuntu/

La vostra mininstallazione di Ubuntu è ora pronta. Per passare al sottosistema date:

schroot -c karmic_i386 -u root

oppure

chroot /srv/chroot/karmic_i386

se invece volete creare una scorciatoia assegnando un nome mnemonico al comando potete eseguire

echo "alias karmic='sudo chroot /srv/chroot/karmic_i386/'" >> ~/bash.rc

Vi basterà dare “karmic” o l’alias che avete scelto per loggarvi nel nuovo sistema. Buon divertimento.

Read More Leave a comment