Skip navigation

Монтирование портала по SMB

Пример строки монтирования:

mount -t cifs //<yor_ip>/test/web /home/web -o user=user

Для монтирования портала при старте STB, необходимо добавить строку монтирования в стартовый скрипт ./test.sh

  Пример файла test.sh (в примере указана часть файла):
if [ -n "$upd_ver" ]; then
 echo "The update number version: $upd_ver"
 img_version_now=`fw_printenv Image_Version 2>/dev/null`
 img_version_now=${img_version_now#Image_Version=}
 if [ "$upd_ver" -eq "$img_version_now" ]; then
 echo "The number version's equal"
 else
 # We need update
 /usr/bin/update_img.sh $upd_ver $upd_url $upd_mode
 fi
fi
 
############### монтирование портала по SMB #####################################
 
mount -t cifs //<yor_ip>/test/web /home/web -o user=user
 
#################################################################################
 
if [ "$PORTAL_1$PORTAL_2$PORTAL_DHCP" ]; then
 echo "Loading start page..."
 /usr/share/qt-4.6.0/stbapp -qws -display directfb file:///home/web/index.html
else
 echo "Error loading portal. Service Page"
 /usr/share/qt-4.6.0/stbapp -qws -display directfb /home/web/services.html
fi

Монтирование портала по NFS

Расположить файлы портала на сервере с доступом по NFS к каталогу с файлами.

Строка монтирования (пример):

mount -o nolock <your_IP>:/srv/test/web /home/web

Для монтирования портал при старте STB, необходимо добавить соответствующую строку в стартовый скрипт ./test.sh

  Пример файла test.sh (в примере указана часть файла):
if [ -n "$upd_ver" ]; then
    echo "The update number version: $upd_ver"
    img_version_now=`fw_printenv Image_Version 2>/dev/null`
    img_version_now=${img_version_now#Image_Version=}
    if [ "$upd_ver" -eq "$img_version_now" ]; then
        echo "The number version's equal"
    else
        # We need update
        /usr/bin/update_img.sh $upd_ver $upd_url $upd_mode
    fi
fi
 
############### монтирование портала по NFS #####################################
 
mount -o nolock <your_IP>:/srv/test/web /home/web
 
#################################################################################
 
if [ "$PORTAL_1$PORTAL_2$PORTAL_DHCP" ]; then
    echo "Loading start page..."
    /usr/share/qt-4.6.0/stbapp -qws -display directfb file:///home/web/index.html
else
    echo "Error loading portal. Service Page"
    /usr/share/qt-4.6.0/stbapp -qws -display directfb /home/web/services.html
fi

Загрузка корневой файловой системы по DHCP

На примере OS Ubuntu Server 12.04 LTS x86.

Пакеты:
nfs-kernel-server
, isc-dhcp-server , openbsd-inetd , tftpd , tftp

Подробно про загрузку основного ПО по DHCP: DHCP сервер - конфигурация, загрузка и обновление ПО

  Пример файла dhcp.conf:
	option ntp-servers 10.1.1.1;
	option domain-name-servers 10.1.1.1;
	authoritative;
	option subnet-mask 255.255.255.0;
	default-lease-time 600;
	max-lease-time 7200;
	allow bootp;
 
 
#############################################################
# Option for Infomir
#############################################################
	option space Infomir;
	option Infomir.autostart         code 1 = text;
	option Infomir.bootargs          code 2 = text;
	option Infomir.mcip              code 3 = ip-address;
	option Infomir.mcport            code 4 = integer 16;
	option Infomir.oppubfile         code 9 = text;
	option Infomir.mcip_img          code 10 = ip-address;
	option Infomir.mcport_img        code 11 = integer 16;
	option Infomir.mcip_mng          code 12 = ip-address;
	option Infomir.mcport_mng        code 13 = integer 16;
	option Infomir.ip_log            code 14 = ip-address;
	option Infomir.port_log          code 15 = integer 16;
	option Infomir.logo_x            code 16 = integer 16;
	option Infomir.logo_y            code 17 = integer 16;
	option Infomir.bg_color          code 18 = integer 32;
	option Infomir.fg_color          code 19 = integer 32;
	option Infomir.VerNumber         code 20 = text;
	option Infomir.DateTime          code 21 = text;
	option Infomir.portal_dhcp       code 22 = text;
	option Infomir.timezone          code 23 = text;
	option Infomir.update_url        code 24 = text;
	option Infomir.update_sboot      code 25 = text;
	option Infomir.update_ver        code 26 = text;
	option Infomir.update_mode       code 27 = text;
	option Infomir.update_sboot_ver  code 28 = text;
 
 
############################## BOOT MAG250 ################################################
###### загрузка ядра по протоколу tftp с корневой файловой системой, подключенной через nfs
 
	class "MAG250_boot" {
	match if (( option vendor-class-identifier="InfomirMAG250boot"));
	filename "mag250/uImage_mag250"; //расположение ядра
	next-server 10.1.1.1;
	option root-path "10.1.1.1:/srv/mag250"; //расположение корневой файловой системы 
	option ntp-servers 10.1.1.1;
	vendor-option-space Infomir;
	}
 
############################## NETWORK ####################################
 
	subnet 10.1.1.0 netmask 255.255.255.0 {
        option subnet-mask 255.255.255.0;
        next-server 10.1.1.1;
        pool { 
	range 10.1.1.10 10.1.1.254;
        next-server 10.1.1.1;
        option ntp-servers 10.1.1.1;
        	}
	}

Запуск внутреннего портала из консоли на STB

  • Зайти на STB по SSH
  • Остановить основной процесс stbapp:
killall stbapp
  • Запустить встроенный портал вручную:
. /test.sh

или

/usr/share/qt-4.6.0/stbapp -qws -display directfb /home/web/services.html

Запуск портала из консоли - файлы портала доступны по HTTP

Зайти на STB по SSH

выполнить:

killall stbapp
/usr/share/qt-4.6.0/stbapp -qws -display directfb http://your_ip/you_portal/index.html

Включение дебага во внутреннем портале

Для версий до 0.2.16 - внести изменения в файл /home/web/vars.js var debug=0 заменить на var debug=1

Для версии 0.2.18 и выше - достаточно установить переменную окружения debug=1 (1 - включено, 0 или отсутствие переменной - отключено)

Need Help

Дима – эксперт по работе с приставками серии MAG и автор этой статьи.

Была ли полезна эта статья?

Да Нет

Сожалеем.
Как можно улучшить эту статью?

Мы используем cookie-файлы, чтобы оптимизировать работу сайта и предоставить вам лучший интерфейс; а также для продвижения нашей продукции. Ознакомьтесь с нашей политикой Cookie, чтобы узнать, как именно мы используем cookie-файлы, и как вы можете это контролировать.
Если вы продолжите пользоваться сайтом или закроете это сообщение — это значит, что вы согласны с нашей Политикой конфиденциальности и разрешаете использование cookie-файлов, как описано в политике Cookie.