Introduksjon til MIPSel
MIPSel er little-endian (32-bit) varianten av MIPS, brukt av
tidlige systemer, vanligvis i innebygde systemer. Spillkonsoller på
den tiden brukte ofte PowerPC, MIPS 64 eller MIPS 32 arkitekturer.
Verktøykjeden som vil bli bygget med følgende instruksjoner vil
sikte mot å målrette sistnevnte.
Instruksjonene vil bygge en enkel krysskompilator for MIPSel ved
hjelp av Binutils og GCC. Begge vil bli installert på denne siden.
Målet er mipsel-linux-gnu, som er
kortere enn mange andre tripletter.
Notat
Dette kan ta litt tid å bygge. Gjør gjerne noe annet mens dette
bygges.
Installasjon av MIPSel-Binutils
Installer MIPSel-Binutils ved å kjøre følgende kommandoer:
mkdir build-mipsel-binutils &&
cd build-mipsel-binutils &&
../configure --prefix=/usr \
--target=mipsel-linux-gnu \
--infodir=/usr/share/info/mipsel-linux-gnu \
--disable-nls \
--disable-werror \
--with-gold=no &&
make
Nå, som root bruker:
make DESTDIR=$PWD/DESTDIR install &&
rm -v DESTDIR/usr/lib/bfd-plugins/libdep.so &&
cp -Rv DESTDIR/usr/* /usr &&
rm -rf DESTDIR
Binutils Parameterforklaringer
--disable-nls: Dette
alternativet deaktiverer NLS støtte, og deaktiverer dermed
utdatadiagnostikk på andre språk enn amerikansk engelsk. Utelat
--disable-nls og bruk
--enable-nls for å aktivere NLS støtte.
--disable-werror: Dette
alternativet gjør det slik at advarsler ikke blir ansett som feil.
--with-gold=no: Dette
alternativet deaktiverer bygging av gold, som nå av mange anses som
ubrukbare programmer. Tarballen som brukes til installasjonen
inneholder gold på grunn av versjonsproblemer, så dette
alternativet bidrar til å motvirke dette.
--target=*: Dette
alternativet bygger filer for arkitekturen som sendes til det.
rm -v
DESTDIR/usr/lib/bfd-plugins/libdep.so: Denne
kommandoen fjerner et bibliotek som er i konflikt med det
opprinnelige biblioteket levert av den opprinnelige kompileringen
av
Binutils.
Installasjon av MIPSel-GCC
Installer MIPSel-GCC ved å kjøre følgende kommandoer:
mkdir build-mipsel-gcc &&
cd build-mipsel-gcc &&
../configure --prefix=/usr \
--target=mipsel-linux-gnu \
--disable-shared \
--disable-multilib \
--disable-threads \
--enable-languages=c,c++ &&
make inhibit_libc=true all-gcc
Nå, som root bruker:
make install-gcc &&
ln -sfv mipsel-linux-gnu-gcc /usr/bin/mipsel-linux-gnu-cc
GCC Parameterforklaringer
--disable-shared: Dette
alternativet deaktiverer bygging av delte biblioteker.
--disable-multilib: Dette
alternativet sikrer at filer opprettes spesielt for MIPSel.
--disable-threads: Dette
alternativet deaktiverer trådstøtte på grunn av byggefeil i GCC.
--enable-languages=c,c++:
Denne kommandoen bygger støtte for C og C++. Se https://lfs.freding.no/blfs/view/systemd/general/gcc.html
for å finne ut hvilke andre språk som støttes.
Innhold
Det finnes ingen binærfiler spesifikke for MIPSel bortsett fra
formatet verktøykjeden er rettet mot, og dermed har hver binærfil
prefikset arkitekturtripletten, for eksempel mipsel-linux-gnu-gcc. For
dyptgående beskrivelser, les både
https://www.lfs.freding.no/lfs/view/systemd/chapter08/binutils.html#contents-binutils
og
https://www.lfs.freding.no/lfs/view/systemd/chapter08/gcc.html#contents-gcc.