Как создать набор инструментов crosstool-ng для Synology DS 214 с DSM 5.1?

Я пытаюсь построить gcc 4.6, который "просто работает" на Synology DS214 с DSM 5.1 (ОС Synology, которая по сути является ужасно устаревшей Linux 3.2.x), т.е. позволяет мне компилировать приложения на коробке. У меня возникла та же следующая проблема с кросс-скомпилированным gcc, созданным с

env CC=/usr/local/arm-marvell-linux-gnueabi/bin/arm-marvell-linux-gnueabi-gcc \
LD=/usr/local/arm-marvell-linux-gnueabi/bin/arm-marvell-linux-gnueabi-ld \
RANLIB=/usr/local/arm-marvell-linux-gnueabi/bin/arm-marvell-linux-gnueabi-ranlib \
AR=/usr/local/arm-marvell-linux-gnueabi/bin/arm-marvell-linux-gnueabi-ar \
CFLAGS=" -I/usr/local/arm-marvell-linux-gnueabi/arm-marvell-linux-gnueabi/libc/include -mhard-float -mfpu=vfpv3-d16" \
LDFLAGS=" -L/usr/local/arm-marvell-linux-gnueabi/arm-marvell-linux-gnueabi/libc/lib" \
auto-apt run ./configure --host=arm-marvell-linux --target=arm-marvell-linux \
--prefix=$USER/syno-prefix --disable-shared --enable-obsolete
make 
make install

с помощью набора инструментов Synology в Ubuntu 14.10 amd64 и рекомендуемых параметров для armadaxp Процессор и crosstools-ng( сайт проекта) eglibc 2,18, gcc 4.6.4, Linux 3.2.40 а также architecture-levels armv7-a а также armadaxp (последнее не работает, ошибка "Неизвестная арка") и настройка процессора для cortex-a9 а также CFLAGS-mhard-float -mfpu=vfpv3-d16" потому что после нескольких часов поиска единственным указанием на необходимые параметры архитектуры было руководство по компиляции передачи на устройстве MyCloud с armv7l.

Оба кросс-скомпилированы gcc и цепь инструментов вызывает ошибку

/usr/local/bin/ld: unrecognised emulation mode: armelf_linux_eabi
Supported emulations: armelf_linux armelf armelfb armelfb_linux
collect2: ld returned 1 exit status

config.log) при компиляции, например binutils 2,24 и trafficserver 5.1.0 (добавление LDFLAGS=" -marmelf_linux" перед настройкой причин cc1: error: unrecognized command line option '-marmelf_linux'). Ошибка кажется систематической. Как начать выяснять конкретные аппаратные параметры для параметров цепочки инструментов в целом и в особенности для обозначенного устройства?

Некоторые сведения о цели, где gcc должен бежать:

# cat /proc/cpuinfo 
Processor   : Marvell PJ4Bv7 Processor rev 2 (v7l)
processor   : 0
BogoMIPS    : 1064.96

processor   : 1
BogoMIPS    : 1064.96

Features    : swp half thumb fastmult vfp edsp vfpv3 tls 
CPU implementer : 0x56
CPU architecture: 7
CPU variant : 0x2
CPU part    : 0x584
CPU revision    : 2

Hardware    : Marvell Armada XP Development Board
Revision    : 0000
Serial      : 0000000000000000

Я пытался начать с чтения о ARM и единицах с плавающей запятой (в основном в Википедии), но для того, чтобы угадать, какие параметры необходимы, нужно много для начала.

РЕДАКТИРОВАТЬ 1: Я просто понял, что было бы хорошо установить Toolchain type возможность Canadian скорее, чем Crossно тогда я еще crosstools-ng требует machine опция, которую нужно установить (не работает с ошибкой Invalid configuration `': machine `' not recognized), которая возвращает меня к моей проблеме отсутствия знаний о процессоре и деталях архитектуры - и, конечно, нет никакого способа выяснить, что на самом деле означает "машина"...

0 ответов

Другие вопросы по тегам