Jump to content

    
Sign in to follow this  
KPEKEP

Linux для IP камеры на базе TI DM369

Recommended Posts

Приветствую!

Так получилось, что хочешь не хочешь, а с линуксом когда нибудь приходится знакомиться :biggrin:

 

В моём распоряжении IP камера TMDSIPCAM369X104 на базе процессора TI DaVinci TMS320DM369

имеется RDK от TI, при помощи него могу собрать ядро и файловую систему, записываю в NAND и всё это дело работает как в состоянии из коробки (выдаёт изображение через браузер с заводским интерфейсом)

Вообще задача приручить эту камеру, но пока хотелось бы добыть в ней SSH

Стоит Linux Angstrom от Arago Project, т.к. памяти у этой камеры мало (всего 45Мб, занято 16Мб), разработчики убрали из него всё что только можно включая SSH и менеджер пакетов, управляется она через com порт

 

Подскажите как быть? Как добавить SSH в штатный линукс или как собрать свой, но чтобы он дружил с матрицей и всеми наработками и алгоритмами от TI?

Share this post


Link to post
Share on other sites
Как добавить SSH в штатный линукс или как собрать свой, но чтобы он дружил с матрицей и всеми наработками и алгоритмами от TI?

Как-то вопрос у Вас поставлен мутно/непонятно. Наводит на мысль о каше в голове. Давайте будем прояснять.

Во-превых, linux - это системное ядро. Как Вы знаете, кроме линукса в вашей камере есть еще файловая система, содержащая файлы программ, библиотек и прочих необходимых для работы вещей. Протокол SSH реализуется не ядром, а внешними по отношению к ядру программами. Поэтому, строго говоря, ssh надо добавлять не в линукс, а в файловую систему. Извините за придирки к словам, но часто за этим кроется непонимание, что за что отвечает...

Во-вторых, ssh бывает клиентом и сервером. Я, конечно, догадался, что Вам нужен SSH-сервер, но лучше все-таки сразу уточнять.

В-третьих, что Вы подразумеваете под "дружбой ssh с матрицей и всеми наработками и алгоритмами от TI"? Даже предположить затрудняюсь... Для работы ssh кроме доступа к сети ничего не нужно. Ему не требуются ни матрицы, ни какие-либо наработки от TI. Уточните для понимания, что именно Вы посредством SSH собираетесь делать.

 

В качсетве ssh-сервера я рекомендую использовать dropbear (http://matt.ucc.asn.au/dropbear/dropbear.html). Собираете его как описано в документации, но на этапе установки (make install) установите в переменной DESTDIR путь к содержимому файловой системы (откуда будет сгенерирован ее образ). Это если очень кратко, в трех словах...

Share this post


Link to post
Share on other sites
Как-то вопрос у Вас поставлен мутно/непонятно. Наводит на мысль о каше в голове. Давайте будем прояснять.

Во-превых, linux - это системное ядро. Как Вы знаете, кроме линукса в вашей камере есть еще файловая система, содержащая файлы программ, библиотек и прочих необходимых для работы вещей. Протокол SSH реализуется не ядром, а внешними по отношению к ядру программами. Поэтому, строго говоря, ssh надо добавлять не в линукс, а в файловую систему. Извините за придирки к словам, но часто за этим кроется непонимание, что за что отвечает...

Под словом Linux я подразумевал ядро с файловой системой, Вы правы, с линуксом я знаком только около полугода, по этому могу что то недопонимать

 

Во-вторых, ssh бывает клиентом и сервером. Я, конечно, догадался, что Вам нужен SSH-сервер, но лучше все-таки сразу уточнять.

Вы правы, интересует SSH-сервер

 

В-третьих, что Вы подразумеваете под "дружбой ssh с матрицей и всеми наработками и алгоритмами от TI"? Даже предположить затрудняюсь... Для работы ssh кроме доступа к сети ничего не нужно. Ему не требуются ни матрицы, ни какие-либо наработки от TI. Уточните для понимания, что именно Вы посредством SSH собираетесь делать.

Перефразирую свой вопрос: подскажите как мне быть? Возможно ли добавить SSH-сервер в штатную файловую систему?

или как собрать своё ядро и свою файловую систему, может какой нибудь arch linux, но чтобы он дружил с матрицей и алгоритмами от TI, в общем, чтобы камера работала как камера но поменать в ней линукс

 

В качсетве ssh-сервера я рекомендую использовать dropbear (http://matt.ucc.asn.au/dropbear/dropbear.html). Собираете его как описано в документации, но на этапе установки (make install) установите в переменной DESTDIR путь к содержимому файловой системы (откуда будет сгенерирован ее образ). Это если очень кратко, в трех словах...

Спасибо, попробую

Share this post


Link to post
Share on other sites
В моём распоряжении IP камера TMDSIPCAM369X104 на базе процессора TI DaVinci TMS320DM369

имеется RDK от TI...

 

RDK было на диске или есть ссылка для скачивания с TI?

Share this post


Link to post
Share on other sites
Перефразирую свой вопрос: подскажите как мне быть? Возможно ли добавить SSH-сервер в штатную файловую систему?

В вашем случае, наверняка, проще всего добавить ssh-сервер в уже имеющуюся файловую систему, так как у Вас уже есть средства сборки системы. Надо только собрать и положить на файловую систему еще одну дополнительную программу. Все, что для этого нужно (тулчейн, заголовочные файлы библиотек и т.п.), у Вас должно уже быть. Также наверняка в вашем RDK можно добавить инструкции/правила для сборки ssh-сервера или чего угодно еще, надо только с ним хорошо разобраться. И тогда тот же dropbear будет собираться автоматически вместе со всем остальным...

 

Собрать свою ОС (со своим ядром и набором программ/библиотек) тоже можно. Но тогда встанет вопрос о драйверах вашей камеры. Если их нет в штатном ядре, придется портировать из ядра, поставляемого производителем. У меня есть один активный проект, в котором я вынужден сидеть на древнем 2.6.20 линуксе, так как он там довольно сильно пропатчен производителем процессора, и у меня нет времени и желания портировать все это на более свежие ядра... Для сборки собственной ОС я рекомендую посмотреть фреймворк openembedded/yocto (https://en.wikipedia.org/wiki/OpenEmbedded https://www.yoctoproject.org/).

Share this post


Link to post
Share on other sites
RDK было на диске или есть ссылка для скачивания с TI?

RDK было на FTP сервере, доступ к которому дают при покупке камеры

 

В качсетве ssh-сервера я рекомендую использовать dropbear (http://matt.ucc.asn.au/dropbear/dropbear.html). Собираете его как описано в документации, но на этапе установки (make install) установите в переменной DESTDIR путь к содержимому файловой системы (откуда будет сгенерирован ее образ). Это если очень кратко, в трех словах...

 

Можете, пожалуйста, проконсультировать про сборку Dropbear по подробнее?

Документация тут достаточно поверхностная, не для новичков или я не туда смотрю, блокноты README, INSTALL, MULTI, SMALL и TODO, как я понял мне нужны инструкции из INSTALL, но написано для систем с малым количеством памяти нужно выполнить и MULTI?

 

как именно нужно конфигурировать options.h там по дефолту всё закоментировано, и не нашёл переменную DESTDIR

 

И получается по пунктам как я должен действовать

1.) собрать Dropbear в директорию с моей файловой системой

2.) собрать файловую систему

3.) залить на камеру?

Edited by KPEKEP

Share this post


Link to post
Share on other sites
Можете, пожалуйста, проконсультировать про сборку Dropbear по подробнее?

Попробую. Как написано в файле INSTALL, сборка и установка происходит в три этапа:

1) ./configure

2) make

3) make install

 

При конфигурации вы должны указать, для какой целевой архитектуры производится сборка (параметром --target) и всякие прочие параметры. У меня, например, configure вызывается с такими аргументами:

 

./configure --target=arm-openwrt-linux --host=arm-openwrt-linux --build=i486-linux-gnu --program-prefix= --program-suffix= --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/lib --sysconfdir=/etc --datadir=/usr/share --localstatedir=/var --mandir=/usr/man --infodir=/usr/info --disable-nls --disable-ipv6 --with-shared --disable-pam --enable-openpty --enable-syslog --disable-lastlog --disable-utmp --disable-utmpx --disable-wtmp --disable-wtmpx --disable-loginfunc --disable-pututline --disable-pututxline --disable-zlib

Все опции можно вывести с помощью ./configure --help.

Перед выполнением ./configure можно в options.h раскомментарить/закомментарить макросы по вкусу. Например добавить #define DROPBEAR_SMALL_CODE. При выполнении configure наверняка возникнут какие-нибудь ошибки - их надо решать по мере возникновения. Чаще всего это отсутствие хедеров какой-нибудь библиотеки.

 

Если конфигурация завершилась без ошибок, компилируем как написано в INSTALL, например так:

 

make MULTI=1 SCPPROGRESS=1 PROGRAMS="dropbear dropbearkey dropbearconvert dbclient ssh scp"

Обратите внимание, что речь идет не о файле options.h (там определяются не переменные, а макросы), а о переменных окружения или make.

 

Если сборка закончилась успешно, выполняем установку, добавив переменную DESTDIR, например так:

 

make MULTI=1 SCPPROGRESS=1 PROGRAMS="dropbear dropbearkey dropbearconvert dbclient ssh scp" DESTDIR=/home/me/work/root install

После этого dropbear будет установлен в /home/me/work/root. И да, Вы правильно понимаете - если /home/me/work/root - это директорий с файлами камеры, то затем генерируете образ файловой системы и залить его в камеру.

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this