LINUX.ORG.RU

Сборка net-snmp под ARM для embedded linux

 , ,


0

1

Приветствую!
Есть некая железка, а именно “VoIP-шлюз” под управлением embended linux . Что именно там стоит я пока не определил, но есть подозрение, что slackware. Мне очень хочется мониторить эту железку по SNMP, по этому нужно как-то вкорячить туда net-snmp.
Все затрудняет то, что железка работает на ARM. Честно говоря опыта сборки под ARM я не имею, тестовой тачки на ARM нет.

Вопросы:
1) Какие есть особенности сбоки софта под embended сисемы ?
2) Как максимально точно определить, что за ОС стоит на железке ?
3) Каков процесс сборки софта под ARM?

Сейчас я развернул Slackware 14 для сборки, качаю сорцы net-snmp.

Хост:

Linux host 2.6.31 #2 Wed Nov 21 16:34:38 MSK 2012 armv5teb GNU/Linux

root@root:/bin$ ls -la
drwxr-xr-x    2 root     root             0 Nov 21  2012 .
drwxr-xr-x   13 root     root             0 Dec 25 18:25 ..
lrwxrwxrwx    1 root     root             7 Nov 21  2012 ash -> busybox
lrwxrwxrwx    1 root     root             7 Nov 21  2012 base64 -> busybox
-rwsr-sr-x    1 root     root        523152 Jun  4  2012 busybox
lrwxrwxrwx    1 root     root             7 Nov 21  2012 cat -> busybox
lrwxrwxrwx    1 root     root             7 Nov 21  2012 chgrp -> busybox
lrwxrwxrwx    1 root     root             7 Nov 21  2012 chmod -> busybox
lrwxrwxrwx    1 root     root             7 Nov 21  2012 chown -> busybox
lrwxrwxrwx    1 root     root             7 Nov 21  2012 cp -> busybox
lrwxrwxrwx    1 root     root             7 Nov 21  2012 date -> busybox
lrwxrwxrwx    1 root     root             7 Nov 21  2012 dd -> busybox
lrwxrwxrwx    1 root     root             7 Nov 21  2012 df -> busybox
lrwxrwxrwx    1 root     root             7 Nov 21  2012 dmesg -> busybox
lrwxrwxrwx    1 root     root             7 Nov 21  2012 dnsdomainname -> busybox
lrwxrwxrwx    1 root     root             7 Nov 21  2012 echo -> busybox
lrwxrwxrwx    1 root     root             7 Nov 21  2012 egrep -> busybox


но есть подозрение, что slackware

Ошибаешься, скорее всего buildroot.

для начало покажи что у тебя на железке в /etc/issue написанно, потом ls /lib посмотри, определись какая у тебя версия libc, только после этого ищи подходящий компилятор.

splinter ★★★★★
()
Ответ на: комментарий от splinter
root@10_:/bin$ cat /etc/issue
\s \n \m \v
Vendor Ltd Linc Linux (kernel 2.6.31) v4.1.0.2


root@10_62_0_72:/bin$ ls -la  /lib
drwxr-xr-x    3 root     root             0 Dec 25 18:25 .
drwxr-xr-x   13 root     root             0 Dec 25 18:25 ..
-r-xr-xr-x    1 root     root        117540 Apr 26  2012 ld-2.10.1.so
lrwxrwxrwx    1 root     root            12 Nov 21  2012 ld-linux.so.3 -> ld-2.10.1.so
-r-xr-xr-x    1 root     root       1189448 Apr 26  2012 libc-2.10.1.so
lrwxrwxrwx    1 root     root            14 Nov 21  2012 libc.so.6 -> libc-2.10.1.so
-r-xr-xr-x    1 root     root         34316 Apr 26  2012 libcrypt-2.10.1.so
lrwxrwxrwx    1 root     root            18 Nov 21  2012 libcrypt.so.1 -> libcrypt-2.10.1.so
-r-xr-xr-x    1 root     root          9752 Apr 26  2012 libdl-2.10.1.so
lrwxrwxrwx    1 root     root            15 Nov 21  2012 libdl.so.2 -> libdl-2.10.1.so
lrwxrwxrwx    1 root     root            13 Nov 21  2012 libgcc_s.so -> libgcc_s.so.1
-r--r--r--    1 root     root         42632 Apr 26  2012 libgcc_s.so.1
-r-xr-xr-x    1 root     root        607800 Apr 26  2012 libm-2.10.1.so
lrwxrwxrwx    1 root     root            14 Nov 21  2012 libm.so.6 -> libm-2.10.1.so
-r-xr-xr-x    1 root     root         75672 Apr 26  2012 libnsl-2.10.1.so
lrwxrwxrwx    1 root     root            16 Nov 21  2012 libnsl.so.1 -> libnsl-2.10.1.so
-r-xr-xr-x    1 root     root         17976 Apr 26  2012 libnss_dns-2.10.1.so
lrwxrwxrwx    1 root     root            20 Nov 21  2012 libnss_dns.so.2 -> libnss_dns-2.10.1.so
-r-xr-xr-x    1 root     root         42616 Apr 26  2012 libnss_files-2.10.1.so
lrwxrwxrwx    1 root     root            22 Nov 21  2012 libnss_files.so.2 -> libnss_files-2.10.1.so
lrwxrwxrwx    1 root     root            26 Dec 25 18:25 libpopt.so -> /usr/pro/lib/libpopt.so
lrwxrwxrwx    1 root     root            28 Dec 25 18:25 libpopt.so.0 -> /usr/pro/lib/libpopt.so.0
lrwxrwxrwx    1 root     root            32 Dec 25 18:25 libpopt.so.0.0.0 -> /usr/pro/lib/libpopt.so.0.0.0
lrwxrwxrwx    1 root     root            32 Dec 25 18:25 libproc-3.2.8.so -> /usr/pro/lib/libproc-3.2.8.so
-r-xr-xr-x    1 root     root         84404 Apr 26  2012 libpthread-2.10.1.so
lrwxrwxrwx    1 root     root            20 Nov 21  2012 libpthread.so.0 -> libpthread-2.10.1.so
-r-xr-xr-x    1 root     root         71464 Apr 26  2012 libresolv-2.10.1.so
lrwxrwxrwx    1 root     root            19 Nov 21  2012 libresolv.so.2 -> libresolv-2.10.1.so
lrwxrwxrwx    1 root     root            31 Dec 25 18:25 librt-2.10.1.so -> /usr/pro/lib/librt-2.10.1.so
lrwxrwxrwx    1 root     root            26 Dec 25 18:25 librt.so.1 -> /usr/pro/lib/librt.so.1
lrwxrwxrwx    1 root     root            27 Dec 25 18:25 libslang.so -> /usr/pro/lib/libslang.so
lrwxrwxrwx    1 root     root            29 Dec 25 18:25 libslang.so.2 -> /usr/pro/lib/libslang.so.2
lrwxrwxrwx    1 root     root            33 Dec 25 18:25 libslang.so.2.2.4 -> /usr/pro/lib/libslang.so.2.2.4
-r-xr-xr-x    1 root     root          9788 Apr 26  2012 libutil-2.10.1.so
lrwxrwxrwx    1 root     root            17 Nov 21  2012 libutil.so.1 -> libutil-2.10.1.so
lrwxrwxrwx    1 root     root            23 Dec 25 18:25 libz.so -> /usr/pro/lib/libz.so
lrwxrwxrwx    1 root     root            25 Dec 25 18:25 libz.so.1 -> /usr/pro/lib/libz.so.1
lrwxrwxrwx    1 root     root            29 Dec 25 18:25 libz.so.1.2.5 -> /usr/pro/lib/libz.so.1.2.5
drwxr-xr-x    3 root     root             0 Nov 21  2012 modules

Dr0id
() автор топика
Ответ на: комментарий от ymn

Да, точно..

root@10_62_0_72:/bin$ cat /proc/cpuinfo
Processor       : XScale-IXP43x Family rev 1 (v5b)
BogoMIPS        : 653.72
Features        : swp half thumb fastmult edsp
CPU implementer : 0x69
CPU architecture: 5TE
CPU variant     : 0x0
CPU part        : 0x404
CPU revision    : 1

Hardware        : Intel KIXRP435 Reference Platform
Revision        : 0000
Serial          : 0000000000000000
Dr0id
() автор топика
Ответ на: комментарий от Dr0id

ну в общем почти вся инфа у тебя есть, так как у тебя обычный libc и армовский проц, качай компилятор с sourcery или собирай через cross-ng, главное что бы компилятор основывался на libc версией не выше libc-2.10.1. И пробуй потом этим кросс-компилятором собрать net-snmp.

splinter ★★★★★
()
Ответ на: комментарий от splinter

Спасибо!

Я верно понимаю, что на sourcery я могу взять gcc собранный под ARM?
А что есть cross-ng, ?
Т.е используя gcc под x86 я могу попробовать собрать бинарник и под ARM ?
Может есть вменяемые мануалы по сборке пакетов под другую архитектуру ?
Важно ли под какой системой я буду собирать пакет ? Сейчас я настраиваю Slackware под это..

Dr0id
() автор топика
Ответ на: комментарий от Dr0id

Я верно понимаю, что на sourcery я могу взять gcc собранный под ARM?

да. (только посмотри и убедись что твоя версия арма есть в списке)

А что есть cross-ng, ?

Тулза которая сама собирает тебе кросс-компилятор, погугли инфы навалом.

Т.е используя gcc под x86 я могу попробовать собрать бинарник и под ARM ?

не gcc, а кросскомпилятор gcc (что то вроде arm-linux-gnueabi-gcc)

Может есть вменяемые мануалы по сборке пакетов под другую архитектуру ?

обычно хватает ./configure --prefix=/opt/ARMBUILD/$progs --host=arm-linux-gnueabi , смотри ./configure --help для понимания.

Важно ли под какой системой я буду собирать пакет ?

Может дистрибутив? Абсолютно не важно.

splinter ★★★★★
()
Ответ на: комментарий от splinter

Ну проц не совсем обычный, это IXP, коммуникационные процессоры от Intel (то, что Xscale но не PXA), они big endian, осторожно!

Лучше всего подсмотреть в эльфах компилера, и таким компилятором и собирать.

slapin ★★★★★
()
Ответ на: комментарий от slapin

Стянул оттуда бинарник:

file:

busybox: setuid setgid ELF 32-bit MSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), stripped

они big endian, осторожно!

Чего опасаться?

А как подглядеть компилятор?

Dr0id
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.