Перейти к содержанию
    

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

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

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

 

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

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

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

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как добавить 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 путь к содержимому файловой системы (откуда будет сгенерирован ее образ). Это если очень кратко, в трех словах...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Во-превых, 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 путь к содержимому файловой системы (откуда будет сгенерирован ее образ). Это если очень кратко, в трех словах...

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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.) залить на камеру?

Изменено пользователем KPEKEP

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можете, пожалуйста, проконсультировать про сборку 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 - это директорий с файлами камеры, то затем генерируете образ файловой системы и залить его в камеру.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...