X86 64

Da Wiki :: openmamba.
Versione del 21 set 2010 alle 14:19 di Silvan (discussione | contributi) (Nuova pagina: = openmamba su x86_64 = L'architettura x86_64 è un'estensione a 64 bit del set di istruzioni per processori x86 (Intel e compatibili) a 32 bit. Inizialmente sviluppata da AMD, è stat...)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)
Jump to navigation Jump to search

openmamba su x86_64

L'architettura x86_64 è un'estensione a 64 bit del set di istruzioni per processori x86 (Intel e compatibili) a 32 bit. Inizialmente sviluppata da AMD, è stata anche adottata da Intel, VIA ed altri produttori. Questa architettura è quindi supportata dai processori a 64 bit più diffusi nel mercato dei PC, quali AMD Athlon/Opteron/Turion 64, Intel Celeron/Core 2/Pentium Dual-Core.

Essendo l'architettura compatibile con il sistema openmamba per x86, il lavoro di porting e la compilazione in genere possono seguire un approccio differente dalle altre architetture che consiste nell'installazione del s.o. a 32 bit e di un kernel a 64 bit ('kernel-mamba-x86_64'). Nel sistema avviato in questo modo è possibile utilizzare un compilatore nativo a 64 bit per effettuare il porting dei pacchetti che in linea di principio possono convivere con le versioni a 32 bit. Le librerie a 64 bit fanno riferimento alla dicitura lib64 anziché lib ovvero vengono installate in:

/lib64
/usr/lib64

e cosi via. Il lavoro di porting dei pacchetti RPM consiste quindi per lo più nel modificare le occorrenze hard-coded di '/lib' in '/lib64' sostituendo negli 'specfile' queste occorrenze con la variabile di rpm:

%{_lib}

Installazione ambiente di cross-compilazione sul PC

E' disponibile la cross-toolchain per lo sviluppo in cross-compilazione. Partire installando i pacchetti necessari eseguendo il seguente comando:

sudo smart install cross-x86_64-openmamba-linux-gnu-environment \
cross-x86_64-openmamba-linux-gnu-binutils cross-x86_64-openmamba-linux-gnu-gcc \
cross-x86_64-openmamba-linux-gnu-glibc

Viene installato un ambiente di sviluppo a partire dal percorso /usr/x86_64-openmamba-linux-gnu e dei link simbolici nel percorso di sistema per i tool della cross-toolchain. E' quindi possibile eseguire il compilatore con il comando

x86_64-openmamba-linux-gnu-gcc

Analogamente gli altri comandi della cross-toolchain sono disponibili anteponendo x86_64-openmamba-linux-gnu- al nome del comando.

L'ambiente per la cross-compilazione contiene un database RPM per l'installazione di librerie e tool in formato RPM per x86_64.

Per installare un pacchetto RPM eseguire il comando seguente, in questo esempio si suppone di installare la libreria libxml2 con i file per lo sviluppo:

rpm -r /usr/x86_64-openmamba-linux-gnu -i libxml2-2.7.7-2mamba.x86_64.rpm \
libxml2-devel-2.7.7-2mamba.x86_64.rpm

I pacchetti RPM per x86_64 sono attualmente disponibili nel repository devel.

Per visualizzare l'elenco dei pacchetti installati digitare:

rpm -r /usr/x86_64-openmamba-linux-gnu -qa