GrabDuck

2.5.2 Сборка набора инструментов для MIPS

:

Ниже перечислены шаги, которые необходимы для создания набора инструментов для MIPS в качестве целевой платформы. Это должно быть использовано в качестве эталона для сборки для других платформ.

 

Перечисление каталогов исходных текстов

 

Мы используем

 

TARGET=mips-linux

PREFIX=/usr/local/mips

 

binutils - /usr/local/mips/src/binutils

gcc - /usr/local/mips/src/gcc

glibc - /usr/local/mips/src/glibc

исходные тексты ядра - /usr/local/mips/linux/

 

Всегда безопаснее создавать отдельный каталог для сборки и запуска оттуда настройки.

 

# cd /usr/local/mips/

# mkdir build

# cd build

# mkdir binutils

# mkdir gcc

# mkdir glibc

 

 

Сборка binutils

 

# cd /usr/local/mips/build/binutils/

# /usr/src/local/mips/src/binutils/configure

--target=mips-linux --prefix=/usr/local/mips

# make

# make install

 

Настройка заголовков ядра

 

#cd /usr/local/mips/linux

 

Откройте Makefile и укажите ARCH:=mips

 

#make menuconfig

 

Выберите подходящую платформу MIPS и выйдите с сохранением настроек:

 

#make dep

 

Сборка минимального GCC

 

# cd /usr/local/mips/src/gcc/gcc/config/mips

 

Откройте файл t-linux и измените строку TARGET_LIBGCC2_CFLAGS = -fomit-frame-pointer –fPIC на TARGET_LIBGCC2_CFLAGS = -fomit-frame-pointer -fPIC -Dinhibit_libc –D__gthr_posix_h.

 

# cd /usr/local/mips/build/gcc

 

#/usr/local/mips/src/gcc/configure --target=mips-linux

--host=i386-pc-linux-gnu --prefix=/usr/local/mips/

--disable-threads -–enable-languages=c

 

#make

#make install

 

Сборка glibc

 

#cd /usr/src/build/glibc/

#/usr/src/glibc/configure mips-linux --build=i386-pc-linux-gnu

--prefix=/usr/local/mips/ --enable-add-ons=linuxthreads,crypt

--with-headers=/usr/local/mips/linux/include/linux

 

#make

#make install

 

Сборка GCC с поддержкой потоков и дополнительных языков

 

#cd /usr/local/mips/src/gcc/gcc/config/mips

 

Откройте файл t-linux и верните обратно изменения, сделанные для трюка inhibit_libc. В строке TARGET_LIBGCC2_CFLAGS укажите TARGET_LIBGCC2_CFLAGS = -fomitframe-pointer –fPIC.

 

#cd /usr/local/mips/build/gcc/

#rm –rf *

 

#/usr/local/mips/src/gcc/configure --target=mips-linux

--host=i386-pc-linux-gnu --prefix=/usr/local/mips

 

#make

#make install