Как создать ipk пакет на Synology Diskstation

Материал из SynologyWiki

Перейти к: навигация, поиск

[править] Введение

(использованы материалы http://forum.synology.com/enu/viewtopic.php?f=92&t=9189)

Предполагается, что установлены IPKG и средства сборки(нативной компиляции) программ на DS. Для установки системы компиляции установите требуемые пакеты

ipkg install gcc svn optware-devel cvs gettext

Примечание: если вы предпочитаете кросскомпиляцию - используйте следующий материал: Как создать ipk пакет на десктопе

[править] Установка системы сборки ipk

Заходим на diskstation под рутом (ssh). Перейдем в папку, где будут храниться нужные файлы. Я использую /volume1/homes/admin:

cd /volume1/homes/admin

и выполним команду

svn co http://svn.nslu2-linux.org/svnroot/optware/trunk optware

После выполнения перейдем в созданную папку optware

cd optware

и выполним

make <имя платформы>-target

Например, для платформы Marvell Kirkwood mv6281 имя платформы cs08q1armel.

После этого все делается в папке, созданной для платформы:

cd <имя платформы>

Выполним команду

make directories ipkg-utils

После этого можно собирать свои пакеты, в том числе и вносить исправления в стандартные. Например, для сборки библиотеки zlib выполним

make zlib
make zlib-check

В результате в папке /volume1/homes/admin/optware/cs08q1armel/builds будет создан ipk пакет для библиотеки zlib.

[править] Создание собственного ipk пакета

Для создания собственного пакета "superproga" воспользуемся шаблоном "make/template.mk".

Скопируем шаблон под другим именем:

cp make/template.mk make/superpoga.mk

Заменим в файле make/superpoga.mk переменные <foo> и <FOO> на название программы

sed -i 's/<FOO>/SUPERPROGA/g' make/superproga.mk
sed -i 's/<foo>/superproga/g' make/superproga.mk

Отредактируем файл make/superproga.mk в соответвии с комментариями в этом файле и многочисленными примерами mk файлов в папке make.

Создадим директорию sources/superproga

mkdir sources/superpoga

и поместим в эту директорию, если необходимо, дополнительные файлы для ipk и патчи для исходных кодов. Теперь можно создать свой пакет:

make superproga
make superproga-check