В прошивке Qnap'а есть встроенные пакеты, которые разворачиваются из архива каждый раз при старте системы. Если мы хотим что-то поменять в этих пакетах, то менять надо именно в этом архиве.
Так вот, прошивка, состоящая из
bzImage initrd.boot qpkg.tar rootfs2.bz rootfs_ext.tgz
и их контрольных сумм, размещается в /dev/sdx2 и /dev/sdx3, при этом сверяются контрольные суммы уже записанных в DOM файлов.
Например я хочу поменять LOGO Медиа-сервера MSV2.
Для этого мне надо попасть по SSH или telnet на кунап и внести изменения в исходный архив пакета. Он находится в двух скрытых разделах, которые надо смонтировать.
Вспоминаем про разницу в путях (MD0_DATA и MDA_DATA) в системах с рейдом и без и начинаем...
Создаем временную папку, где будем менять и паковать архивы. Например так:
mkdir /share/MD0_DATA/Public/01
Монтируем разделы с исходниками:
mkdir /share/MD0_DATA/Public/02
mkdir /share/MD0_DATA/Public/03
mount -t ext2 /dev/sdx2 /share/MD0_DATA/Public/02
mount -t ext2 /dev/sdx3 /share/MD0_DATA/Public/03
Достаем и распаковываем пакеты из архива qpkg.tar во временную папку
cp /share/MD0_DATA/Public/02/boot/qpkg.tar /share/MD0_DATA/Public/01/
cd /share/MD0_DATA/Public/01/
tar -xf qpkg.tar
rm qpkg.tar
Распаковываем MSV2.tgz
tar -xf MSV2.tgz
Я меняю лого и меня интересует /share/MD0_DATA/Public/01/MSV2/images/logo.png
Меняем и запаковываем обратно.
tar -czvf MSV2.tgz MSV2/
rm -r MSV2
После внесения правок запаковываем все обратно в новый qpkg.tar и копируем его в /share/MD0_DATA/Public/02/boot.
tar -czvf qpkg.tar *
chmod 0640 qpkg.tar
cp /share/MD0_DATA/Public/01/qpkg.tar /share/MD0_DATA/Public/02/boot/
Теперь надо создать новый файл с контрольной суммой для qpkg.tar
cksum /share/MD0_DATA/Public/01/qpkg.tar > /share/MD0_DATA/Public/01/qpkg.tar.cksum
Содержимое его примерно такое:
708656804 71208971 /root/daily_build/NasX86/Model/TS-459/build/qpkg.tar
После этого меням контрольны цифры из файла в папке /share/MD0_DATA/Public/01 в оригинальном по адресу /share/MD0_DATA/Public/02
Оригинальный путь к qpkg.tar не трогаем. В разных моделях он может меняться.
Теперь нужно скопировать обновленные qpkg.tar и qpkg.tar.cksum в /share/MD0_DATA/Public/03/boot/
cp /share/MD0_DATA/Public/02/boot/qpkg.tar.cksum /share/MD0_DATA/Public/03/boot/
cp /share/MD0_DATA/Public/01/qpkg.tar /share/MD0_DATA/Public/03/boot/
Но это ещё не все. Надо еще заменить старый пакет в папке /mnt/HDA_ROOT/update_pkg измененным из /share/MD0_DATA/Public/01
cp /share/MD0_DATA/Public/01/MSV2.tgz /mnt/HDA_ROOT/update_pkg
В конце надо отмонтировать разделы и перегрузить систему.
umount /share/MD0_DATA/Public/02
umount /share/MD0_DATA/Public/03
reboot
При ребуте системы из qpkg.tar вытаскиваются некоторые архивы в /mnt/HDA_ROOT/update_pkg и MSV2.tgz разворачивается от туда в /mnt/ext/opt/MSV2, что потом и отображается по http://altynclub/MSV2 если включен Медиа-сервер.
P.S. Таким же образом можно изменить вывод и остальных пакетов.