Как создать набор инструментов 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), которая возвращает меня к моей проблеме отсутствия знаний о процессоре и деталях архитектуры - и, конечно, нет никакого способа выяснить, что на самом деле означает "машина"...